diff --git a/.github/README-de.md b/.github/README-de.md index 106da18d2..0249567ac 100644 --- a/.github/README-de.md +++ b/.github/README-de.md @@ -24,7 +24,7 @@ PKHeX erwartet entschlüsselte Spielstände. Da diese konsolenspezifisch verschl ## Screenshots -![Main Window](https://i.imgur.com/5421hUR.png) +![Main Window](https://i.imgur.com/uXdJfRj.png) ## Erstellen diff --git a/.github/README-es.md b/.github/README-es.md index fd3f228bb..2692460ea 100644 --- a/.github/README-es.md +++ b/.github/README-es.md @@ -24,7 +24,7 @@ PKHeX espera archivos de guardado que no estén cifrados con las claves específ ## Capturas de Pantalla -![Pantalla principal](https://i.imgur.com/umit9S2.png) +![Pantalla principal](https://i.imgur.com/hN1pwQa.png) ## Building diff --git a/.github/README-fr.md b/.github/README-fr.md index 92b6a85a4..8798c0290 100644 --- a/.github/README-fr.md +++ b/.github/README-fr.md @@ -23,7 +23,7 @@ PKHeX attend des fichiers de sauvegarde qui ne sont pas chiffrés avec des clés ## Captures d'écran -![Main Window](https://i.imgur.com/EhtQ14x.png) +![Main Window](https://i.imgur.com/d63DD3I.png) ## Construction diff --git a/.github/README-it.md b/.github/README-it.md index a7b74e708..a97dbd50c 100644 --- a/.github/README-it.md +++ b/.github/README-it.md @@ -24,7 +24,7 @@ PKHeX si aspetta file di salvataggio non criptati con le chiavi specifiche della ## Screenshots -![Main Window](https://i.imgur.com/RBcUanJ.png) +![Main Window](https://i.imgur.com/QyQYtFg.png) ## Building diff --git a/.github/README-zhHK.md b/.github/README-zhHK.md index 91e90734e..e30530ede 100644 --- a/.github/README-zhHK.md +++ b/.github/README-zhHK.md @@ -24,7 +24,7 @@ PKHeX 所讀取檔案須未經主機唯一密鑰加密,因而請使用儲存 ## 螢幕擷取截圖 -![主介面](https://i.imgur.com/RBcUanJ.png) +![主介面](https://i.imgur.com/CHgFTXb.png) ## 構建 diff --git a/Directory.Build.props b/Directory.Build.props index dfeafe037..87d094600 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,6 +1,6 @@ - 22.09.13 + 22.11.24 10 enable en diff --git a/PKHeX.Core/Editing/Applicators/RibbonApplicator.cs b/PKHeX.Core/Editing/Applicators/RibbonApplicator.cs index e8a4d3093..73aeac1b0 100644 --- a/PKHeX.Core/Editing/Applicators/RibbonApplicator.cs +++ b/PKHeX.Core/Editing/Applicators/RibbonApplicator.cs @@ -62,7 +62,7 @@ private static void SetAllRibbonState(RibbonVerifierArguments args, bool desired // Skip Marks, don't set them. for (RibbonIndex r = 0; r <= RibbonIndex.MasterRank; r++) r.Fix(args, desiredState); - for (RibbonIndex r = RibbonIndex.Pioneer; r < RibbonIndex.MAX_COUNT; r++) + for (RibbonIndex r = RibbonIndex.Hisui; r < RibbonIndex.MAX_COUNT; r++) r.Fix(args, desiredState); } else diff --git a/PKHeX.Core/Editing/Applicators/TechnicalRecordApplicator.cs b/PKHeX.Core/Editing/Applicators/TechnicalRecordApplicator.cs index 81485216a..d623bcaf8 100644 --- a/PKHeX.Core/Editing/Applicators/TechnicalRecordApplicator.cs +++ b/PKHeX.Core/Editing/Applicators/TechnicalRecordApplicator.cs @@ -13,7 +13,7 @@ public static class TechnicalRecordApplicator /// Pokémon to modify. /// Value to set for the record. /// Max record to set. - public static void SetRecordFlags(this ITechRecord8 pk, bool value, int max = 100) + public static void SetRecordFlags(this ITechRecord pk, bool value, int max) { for (int i = 0; i < max; i++) pk.SetMoveRecordFlag(i, value); @@ -23,14 +23,14 @@ public static void SetRecordFlags(this ITechRecord8 pk, bool value, int max = 10 /// Clears the Technical Record flags for the . /// /// Pokémon to modify. - public static void ClearRecordFlags(this ITechRecord8 pk) => pk.SetRecordFlags(false, 112); + public static void ClearRecordFlags(this ITechRecord pk) => pk.SetRecordFlags(false, pk.RecordCountTotal); /// /// Sets the Technical Record flags for the based on the current moves. /// /// Pokémon to modify. /// Moves to set flags for. If a move is not a Technical Record, it is skipped. - public static void SetRecordFlags(this ITechRecord8 pk, ReadOnlySpan moves) + public static void SetRecordFlags(this ITechRecord pk, ReadOnlySpan moves) { var permit = pk.TechRecordPermitFlags; var moveIDs = pk.TechRecordPermitIndexes; @@ -43,7 +43,7 @@ public static void SetRecordFlags(this ITechRecord8 pk, ReadOnlySpan mov if (index == -1) continue; if (permit[index]) - pk.SetMoveRecordFlag(index, true); + pk.SetMoveRecordFlag(index); } } @@ -51,13 +51,13 @@ public static void SetRecordFlags(this ITechRecord8 pk, ReadOnlySpan mov /// Sets all the Technical Record flags for the if they are permitted to be learned in-game. /// /// Pokémon to modify. - public static void SetRecordFlags(this ITechRecord8 pk) + public static void SetRecordFlags(this ITechRecord pk) { var permit = pk.TechRecordPermitFlags; for (int i = 0; i < permit.Length; i++) { if (permit[i]) - pk.SetMoveRecordFlag(i, true); + pk.SetMoveRecordFlag(i); } } } diff --git a/PKHeX.Core/Editing/Bulk/BatchEditing.cs b/PKHeX.Core/Editing/Bulk/BatchEditing.cs index a3d4c15ae..8e6299000 100644 --- a/PKHeX.Core/Editing/Bulk/BatchEditing.cs +++ b/PKHeX.Core/Editing/Bulk/BatchEditing.cs @@ -17,6 +17,7 @@ public static class BatchEditing { public static readonly Type[] Types = { + typeof (PK9), typeof (PK8), typeof (PA8), typeof (PB8), typeof (PB7), typeof (PK7), typeof (PK6), typeof (PK5), typeof (PK4), typeof(BK4), typeof(RK4), diff --git a/PKHeX.Core/Editing/Bulk/BatchMods.cs b/PKHeX.Core/Editing/Bulk/BatchMods.cs index 754636d1f..351edd648 100644 --- a/PKHeX.Core/Editing/Bulk/BatchMods.cs +++ b/PKHeX.Core/Editing/Bulk/BatchMods.cs @@ -46,7 +46,7 @@ public static class BatchMods new ComplexSuggestion(PROP_RIBBONS, (_, value, info) => BatchModifications.SetSuggestedRibbons(info, value)), new ComplexSuggestion(nameof(PKM.Met_Location), (_, _, info) => BatchModifications.SetSuggestedMetData(info)), new ComplexSuggestion(nameof(PKM.CurrentLevel), (_, _, info) => BatchModifications.SetMinimumCurrentLevel(info)), - new ComplexSuggestion(PROP_CONTESTSTATS, p => p is IContestStatsMutable, (_, value, info) => BatchModifications.SetContestStats(info.Entity, info.Legality, value)), + new ComplexSuggestion(PROP_CONTESTSTATS, p => p is IContestStats, (_, value, info) => BatchModifications.SetContestStats(info.Entity, info.Legality, value)), new ComplexSuggestion(PROP_MOVEMASTERY, (_, value, info) => BatchModifications.SetSuggestedMasteryData(info, value)), }; diff --git a/PKHeX.Core/Editing/Bulk/Suggestion/BatchModifications.cs b/PKHeX.Core/Editing/Bulk/Suggestion/BatchModifications.cs index 79e1f3e90..a64bf453b 100644 --- a/PKHeX.Core/Editing/Bulk/Suggestion/BatchModifications.cs +++ b/PKHeX.Core/Editing/Bulk/Suggestion/BatchModifications.cs @@ -13,7 +13,7 @@ internal static class BatchModifications public static ModifyResult SetSuggestedRelearnData(BatchInfo info, string propValue) { var pk = info.Entity; - if (pk is ITechRecord8 t) + if (pk is ITechRecord t) { t.ClearRecordFlags(); if (IsAll(propValue)) diff --git a/PKHeX.Core/Editing/CommonEdits.cs b/PKHeX.Core/Editing/CommonEdits.cs index b5dc59d74..8c5993823 100644 --- a/PKHeX.Core/Editing/CommonEdits.cs +++ b/PKHeX.Core/Editing/CommonEdits.cs @@ -237,8 +237,10 @@ public static void ApplySetDetails(this PKM pk, IBattleTemplate Set) c.CanGigantamax = Set.CanGigantamax; if (pk is IDynamaxLevel d) d.DynamaxLevel = d.GetSuggestedDynamaxLevel(pk, requested: Set.DynamaxLevel); + if (pk is ITeraType tera) + tera.SetTeraType(Set.TeraType); - if (pk is ITechRecord8 t) + if (pk is ITechRecord t) { t.ClearRecordFlags(); t.SetRecordFlags(Set.Moves); diff --git a/PKHeX.Core/Editing/IBattleTemplate.cs b/PKHeX.Core/Editing/IBattleTemplate.cs index 6eff81edb..d0de644c4 100644 --- a/PKHeX.Core/Editing/IBattleTemplate.cs +++ b/PKHeX.Core/Editing/IBattleTemplate.cs @@ -3,7 +3,7 @@ namespace PKHeX.Core; /// /// Interface containing details relevant for battling. /// -public interface IBattleTemplate : ISpeciesForm, IGigantamax, IDynamaxLevel, INature +public interface IBattleTemplate : ISpeciesForm, IGigantamaxReadOnly, IDynamaxLevelReadOnly, INatureReadOnly, ITeraTypeReadOnly { /// /// of the Set entity it is specific to. diff --git a/PKHeX.Core/Editing/PKM/EntitySummary.cs b/PKHeX.Core/Editing/PKM/EntitySummary.cs index 686bb0db2..130d387e8 100644 --- a/PKHeX.Core/Editing/PKM/EntitySummary.cs +++ b/PKHeX.Core/Editing/PKM/EntitySummary.cs @@ -58,12 +58,12 @@ public class EntitySummary // do NOT seal, allow inheritance public int SPA_EV => pk.EV_SPA; public int SPD_EV => pk.EV_SPD; public int SPE_EV => pk.EV_SPE; - public int Cool => pk is IContestStats s ? s.CNT_Cool : 0; - public int Beauty => pk is IContestStats s ? s.CNT_Beauty : 0; - public int Cute => pk is IContestStats s ? s.CNT_Cute : 0; - public int Smart => pk is IContestStats s ? s.CNT_Smart : 0; - public int Tough => pk is IContestStats s ? s.CNT_Tough : 0; - public int Sheen => pk is IContestStats s ? s.CNT_Sheen : 0; + public int Cool => pk is IContestStatsReadOnly s ? s.CNT_Cool : 0; + public int Beauty => pk is IContestStatsReadOnly s ? s.CNT_Beauty : 0; + public int Cute => pk is IContestStatsReadOnly s ? s.CNT_Cute : 0; + public int Smart => pk is IContestStatsReadOnly s ? s.CNT_Smart : 0; + public int Tough => pk is IContestStatsReadOnly s ? s.CNT_Tough : 0; + public int Sheen => pk is IContestStatsReadOnly s ? s.CNT_Sheen : 0; public int Markings => pk.MarkValue; public string NotOT => pk.Format > 5 ? pk.HT_Name : "N/A"; diff --git a/PKHeX.Core/Editing/Pokerus.cs b/PKHeX.Core/Editing/Pokerus.cs index 2b3db8459..fea80b73a 100644 --- a/PKHeX.Core/Editing/Pokerus.cs +++ b/PKHeX.Core/Editing/Pokerus.cs @@ -21,6 +21,7 @@ public static class Pokerus { PA8 pa8 => HasVisitedAnother(pa8), PB7 => false, + PK9 => false, _ => true, }; diff --git a/PKHeX.Core/Editing/Saves/BoxManip/BoxManipDefaults.cs b/PKHeX.Core/Editing/Saves/BoxManip/BoxManipDefaults.cs index 933d76dcc..f03c8dfa6 100644 --- a/PKHeX.Core/Editing/Saves/BoxManip/BoxManipDefaults.cs +++ b/PKHeX.Core/Editing/Saves/BoxManip/BoxManipDefaults.cs @@ -20,7 +20,7 @@ public static class BoxManipDefaults new BoxManipSort(SortLevelReverse, EntitySorting.OrderByDescendingLevel), new BoxManipSort(SortDate, EntitySorting.OrderByDateObtained, s => s.Generation >= 4), new BoxManipSort(SortName, list => list.OrderBySpeciesName(GameInfo.Strings.Species)), - new BoxManipSort(SortFavorite, list => list.OrderByCustom(pk => pk is IFavorite {Favorite: true}), s => s.BlankPKM is IFavorite), + new BoxManipSort(SortFavorite, list => list.OrderByCustom(pk => pk is IFavorite {IsFavorite: true}), s => s.BlankPKM is IFavorite), new BoxManipSortComplex(SortParty, (list, sav, start) => list.BubbleUp(sav, i => ((SAV7b)sav).Blocks.Storage.IsParty(i), start), s => s is SAV7b), new BoxManipSort(SortShiny, list => list.OrderByCustom(pk => !pk.IsShiny)), new BoxManipSort(SortRandom, list => list.OrderByCustom(_ => Util.Rand32())), @@ -36,9 +36,11 @@ public static class BoxManipDefaults new BoxManipSort(SortTraining, list => list.OrderByCustom(pk => (pk.MaxEV * 6) - pk.EVTotal)), new BoxManipSortComplex(SortOwner, (list, sav) => list.OrderByOwnership(sav)), new BoxManipSort(SortType, list => list.OrderByCustom(pk => pk.PersonalInfo.Type1, pk => pk.PersonalInfo.Type2)), + new BoxManipSort(SortTypeTera, list => list.OrderByCustom(pk => ((ITeraTypeReadOnly)pk).TeraType, pk => pk is ITeraTypeReadOnly)), new BoxManipSort(SortVersion, list => list.OrderByCustom(pk => pk.Generation, pk => pk.Version, pk => pk.Met_Location), s => s.Generation >= 3), new BoxManipSort(SortBST, list => list.OrderByCustom(pk => pk.PersonalInfo.GetBaseStatTotal())), new BoxManipSort(SortCP, list => list.OrderByCustom(pk => pk is PB7 pb7 ? pb7.Stat_CP : 0), s => s is SAV7b), + new BoxManipSort(SortScale, list => list.OrderByCustom(pk => pk is IScaledSize3 s3 ? s3.Scale : -1), s => s.BlankPKM is IScaledSize3), new BoxManipSort(SortLegal, list => list.OrderByCustom(pk => !new LegalityAnalysis(pk).Valid)), new BoxManipSort(SortEncounterType, list => list.OrderByCustom(pk => new LegalityAnalysis(pk).Info.EncounterMatch.LongName)), }; diff --git a/PKHeX.Core/Editing/Saves/BoxManip/BoxManipType.cs b/PKHeX.Core/Editing/Saves/BoxManip/BoxManipType.cs index aa5e57e86..88944d01f 100644 --- a/PKHeX.Core/Editing/Saves/BoxManip/BoxManipType.cs +++ b/PKHeX.Core/Editing/Saves/BoxManip/BoxManipType.cs @@ -30,9 +30,11 @@ public enum BoxManipType SortTraining, SortOwner, SortType, + SortTypeTera, SortVersion, SortBST, SortCP, + SortScale, SortLegal, SortEncounterType, diff --git a/PKHeX.Core/Editing/Saves/Editors/FakeSaveFile.cs b/PKHeX.Core/Editing/Saves/Editors/FakeSaveFile.cs index 353e3b9e0..e27d8213c 100644 --- a/PKHeX.Core/Editing/Saves/Editors/FakeSaveFile.cs +++ b/PKHeX.Core/Editing/Saves/Editors/FakeSaveFile.cs @@ -20,8 +20,8 @@ public sealed class FakeSaveFile : SaveFile public override int GetBoxOffset(int box) => -1; public override string GetBoxName(int box) => $"Box {box:00}"; public override void SetBoxName(int box, string value) { } - public override int OTLength => 5; - public override int NickLength => 5; + public override int MaxStringLengthOT => 5; + public override int MaxStringLengthNickname => 5; public override ushort MaxMoveID => 5; public override ushort MaxSpeciesID => 1; public override int MaxItemID => 5; diff --git a/PKHeX.Core/Editing/Saves/Slots/Extensions.cs b/PKHeX.Core/Editing/Saves/Slots/Extensions.cs index 1d06bb142..46f463005 100644 --- a/PKHeX.Core/Editing/Saves/Slots/Extensions.cs +++ b/PKHeX.Core/Editing/Saves/Slots/Extensions.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace PKHeX.Core; @@ -56,6 +56,7 @@ public static List GetExtraSlots(this SaveFile sav, bool all = fal SAV8SWSH ss => GetExtraSlots8(ss), SAV8BS bs => GetExtraSlots8b(bs), SAV8LA la => GetExtraSlots8a(la), + SAV9SV sv => GetExtraSlots9(sv), _ => None, }; @@ -220,8 +221,17 @@ private static List GetExtraSlots8b(SAV8BS sav) }; } - private static List GetExtraSlots8a(SAV8LA sav) + private static List GetExtraSlots8a(SAV8LA _) { return new List(); } + + private static List GetExtraSlots9(SAV9SV sav) + { + var list = new List(); + var block = sav.Blocks.GetBlockSafe(SaveBlockAccessor9SV.KFusedCalyrex); + var c = new SlotInfoMisc(block.Data, 3, 0, true) { Type = StorageSlotType.Fused }; + list.Add(c); + return list; + } } diff --git a/PKHeX.Core/Editing/Showdown/ShowdownParsing.cs b/PKHeX.Core/Editing/Showdown/ShowdownParsing.cs index b883446c4..337693927 100644 --- a/PKHeX.Core/Editing/Showdown/ShowdownParsing.cs +++ b/PKHeX.Core/Editing/Showdown/ShowdownParsing.cs @@ -77,16 +77,19 @@ public static string GetShowdownFormName(ushort species, string form) return species switch { - (int)Basculin when form is "Blue" => "Blue-Striped", - (int)Vivillon when form is "Poké Ball" => "Pokeball", - (int)Zygarde => form.Replace("-C", string.Empty).Replace("50%", string.Empty), + (int)Basculin when form is "Blue" => "Blue-Striped", + (int)Vivillon when form is "Poké Ball" => "Pokeball", + (int)Zygarde => form.Replace("-C", string.Empty).Replace("50%", string.Empty), (int)Minior when form.StartsWith("M-", StringComparison.OrdinalIgnoreCase) => MiniorFormName, - (int)Minior => form.Replace("C-", string.Empty), - (int)Necrozma when form is "Dusk" => $"{form}-Mane", - (int)Necrozma when form is "Dawn" => $"{form}-Wings", - (int)Polteageist or (int)Sinistea => form == "Antique" ? form : string.Empty, + (int)Minior => form.Replace("C-", string.Empty), + (int)Necrozma when form is "Dusk" => $"{form}-Mane", + (int)Necrozma when form is "Dawn" => $"{form}-Wings", + (int)Polteageist or (int)Sinistea => form == "Antique" ? form : string.Empty, + (int)Tauros when form is "Paldea (Fire)" => "Paldea-Fire", + (int)Tauros when form is "Paldea (Water)" => "Paldea-Water", + (int)Maushold when form is "Family of Four" => "Four", - (int)Furfrou or (int)Greninja or (int)Rockruff => string.Empty, + (int)Furfrou or (int)Greninja or (int)Rockruff or (int)Tatsugiri or (int)Koraidon or (int)Miraidon => string.Empty, _ => Legal.Totem_USUM.Contains(species) && form == "Large" ? Legal.Totem_Alolan.Contains(species) && species != (int)Mimikyu ? "Alola-Totem" : "Totem" @@ -118,6 +121,9 @@ public static string SetShowdownFormName(ushort species, string form, int abilit (int)Zygarde when ability == 211 => $"{(string.IsNullOrWhiteSpace(form) ? "50%" : "10%")}-C", (int)Greninja when ability == 210 => "Ash", // Battle Bond (int)Rockruff when ability == 020 => "Dusk", // Rockruff-1 + (int)Tauros when form == "Paldea-Fire" => "Paldea (Fire)", + (int)Tauros when form == "Paldea-Water" => "Paldea (Water)", + (int)Maushold when form == "Four" => "Family of Four", (int)Urshifu or (int)Pikachu or (int)Alcremie => form.Replace('-', ' '), // Strike and Cosplay _ => Legal.Totem_USUM.Contains(species) && form.EndsWith("Totem", StringComparison.OrdinalIgnoreCase) ? "Large" : form, @@ -207,8 +213,7 @@ public static IEnumerable GetShowdownSets(IEnumerable data) public static string GetLocalizedPreviewText(PKM pk, string language) { var set = new ShowdownSet(pk); - if (pk.Format <= 2) // Nature preview from IVs - set.Nature = Experience.GetNatureVC(pk.EXP); + set.InterpretAsPreview(pk); return set.LocalizedText(language); } } diff --git a/PKHeX.Core/Editing/Showdown/ShowdownSet.cs b/PKHeX.Core/Editing/Showdown/ShowdownSet.cs index b81102f6a..f4b44ba48 100644 --- a/PKHeX.Core/Editing/Showdown/ShowdownSet.cs +++ b/PKHeX.Core/Editing/Showdown/ShowdownSet.cs @@ -15,11 +15,18 @@ public sealed class ShowdownSet : IBattleTemplate private const string LineSplit = ": "; private const string ItemSplit = " @ "; private static readonly char[] ParenJunk = { '(', ')', '[', ']' }; - private static readonly ushort[] DashedSpecies = {782, 783, 784, 250, 032, 029}; // Kommo-o, Ho-Oh, Nidoran-M, Nidoran-F private const int MAX_SPECIES = (int)MAX_COUNT - 1; internal const string DefaultLanguage = GameLanguage.DefaultLanguage; private static readonly GameStrings DefaultStrings = GameInfo.GetStrings(DefaultLanguage); + private static readonly ushort[] DashedSpecies = + { + (int)NidoranF, (int)NidoranM, + (int)HoOh, + (int)Jangmoo, (int)Hakamoo, (int)Kommoo, + (int)TingLu, (int)ChienPao, (int)WoChien, (int)ChiYu, + }; + /// public ushort Species { get; private set; } @@ -48,7 +55,7 @@ public sealed class ShowdownSet : IBattleTemplate public int Friendship { get; private set; } = 255; /// - public int Nature { get; set; } = -1; + public int Nature { get; private set; } = -1; /// public string FormName { get; private set; } = string.Empty; @@ -63,16 +70,18 @@ public sealed class ShowdownSet : IBattleTemplate public int[] IVs { get; } = {31, 31, 31, 31, 31, 31}; /// - public int HiddenPowerType { get; set; } = -1; + public int HiddenPowerType { get; private set; } = -1; + + public MoveType TeraType { get; private set; } = MoveType.Any; /// public ushort[] Moves { get; } = {0, 0, 0, 0}; /// - public bool CanGigantamax { get; set; } + public bool CanGigantamax { get; private set; } /// - public byte DynamaxLevel { get; set; } = 10; + public byte DynamaxLevel { get; private set; } = 10; /// /// Any lines that failed to be parsed. @@ -101,7 +110,7 @@ private void LoadLines(IEnumerable lines) Form = ShowdownParsing.GetFormFromString(FormName, Strings, Species, Context); // Handle edge case with fixed-gender forms. - if (Species is (int)Meowstic or (int)Indeedee or (int)Basculegion) + if (Species is (int)Meowstic or (int)Indeedee or (int)Basculegion or (int)Oinkologne) ReviseGenderedForms(); } @@ -211,6 +220,7 @@ private bool ParseSingle(string identifier) "IVs" => ParseLineIVs(value), "Level" => ParseLevel(value), "Dynamax Level" => ParseDynamax(value), + "Tera Type" => ParseTeraType(value), _ => false, }; @@ -243,6 +253,17 @@ private bool ParseDynamax(string value) return (DynamaxLevel = (byte)val) is (>= 0 and <= 10); } + private bool ParseTeraType(string value) + { + Context = EntityContext.Gen9; + var types = Strings.types; + var val = StringUtil.FindIndexIgnoreCase(types, value); + if (val < 0) + return false; + TeraType = (MoveType)val; + return true; + } + /// /// Gets the standard Text representation of the set details. /// @@ -297,6 +318,8 @@ public List GetSetLines() // Secondary Stats if ((uint)Ability < Strings.Ability.Count) result.Add($"Ability: {Strings.Ability[Ability]}"); + if (TeraType != MoveType.Any) + result.Add($"Tera Type: {Strings.Types[(int)TeraType]}"); if (Level != 100) result.Add($"Level: {Level}"); if (Shiny) @@ -399,6 +422,16 @@ private IEnumerable GetStringMoves() _ => displayIndex, }; + /// + /// Forces some properties to indicate the set for future display values. + /// + /// PKM to convert to string + public void InterpretAsPreview(PKM pk) + { + if (pk.Format <= 2) // Nature preview from IVs + Nature = Experience.GetNatureVC(pk.EXP); + } + /// /// Converts the data into an importable set format for Pokémon Showdown. /// @@ -431,6 +464,8 @@ public ShowdownSet(PKM pk) if (Array.IndexOf(Moves, (ushort)Move.HiddenPower) != -1) HiddenPowerType = HiddenPower.GetType(IVs, Context); + if (pk is ITeraType t) + TeraType = t.TeraType; if (pk is IHyperTrain h) { for (int i = 0; i < 6; i++) diff --git a/PKHeX.Core/Game/Enums/Ability.cs b/PKHeX.Core/Game/Enums/Ability.cs index 15c15673b..21db6c88c 100644 --- a/PKHeX.Core/Game/Enums/Ability.cs +++ b/PKHeX.Core/Game/Enums/Ability.cs @@ -273,5 +273,36 @@ public enum Ability GrimNeigh, AsOneI, AsOneG, + LingeringAroma, + SeedSower, + ThermalExchange, + AngerShell, + PurifyingSalt, + WellBakedBody, + WindRider, + GuardDog, + RockyPayload, + WindPower, + ZerotoHero, + Commander, + Electromorphosis, + Protosynthesis, + QuarkDrive, + GoodasGold, + VesselofRuin, + SwordofRuin, + TabletsofRuin, + BeadsofRuin, + OrichalcumPulse, + HadronEngine, + Opportunist, + CudChew, + Sharpness, + SupremeOverlord, + Costar, + ToxicDebris, + ArmorTail, + EarthEater, + MyceliumMight, MAX_COUNT, } diff --git a/PKHeX.Core/Game/Enums/GameVersion.cs b/PKHeX.Core/Game/Enums/GameVersion.cs index c4e26d771..b1429d6a7 100644 --- a/PKHeX.Core/Game/Enums/GameVersion.cs +++ b/PKHeX.Core/Game/Enums/GameVersion.cs @@ -219,6 +219,16 @@ public enum GameVersion : byte /// Pokémon Shining Pearl (NX) /// SP = 49, + + /// + /// Pokémon Scarlet (NX) + /// + SL = 50, + + /// + /// Pokémon Violet (NX) + /// + VL = 51, #endregion // The following values are not actually stored values in pk data, @@ -404,6 +414,14 @@ public enum GameVersion : byte /// BDSP, + /// + /// Pokémon Scarlet & Violet + /// + /// Used to lump data from the associated games as data assets are shared. + /// + /// + SV, + /// /// Generation 1 Games /// @@ -466,6 +484,12 @@ public enum GameVersion : byte /// Gen8, + /// + /// Generation 9 Games + /// + /// + Gen9, + /// /// Pocket Monsters Stadium data origin identifier /// diff --git a/PKHeX.Core/Game/Enums/Move.cs b/PKHeX.Core/Game/Enums/Move.cs index 8ff74850f..41120aed8 100644 --- a/PKHeX.Core/Game/Enums/Move.cs +++ b/PKHeX.Core/Game/Enums/Move.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Move IDs for the corresponding English move name. @@ -856,5 +856,55 @@ public enum Move SandsearStorm, LunarBlessing, TakeHeart, + TeraBlast, + SilkTrap, + AxeKick, + LastRespects, + LuminaCrash, + OrderUp, + JetPunch, + SpicyExtract, + SpinOut, + PopulationBomb, + IceSpinner, + GlaiveRush, + RevivalBlessing, + SaltCure, + TripleDive, + MortalSpin, + Doodle, + FilletAway, + KowtowCleave, + FlowerTrick, + TorchSong, + AquaStep, + RagingBull, + MakeItRain, + _875, + _876, + Ruination, + CollisionCourse, + ElectroDrift, + ShedTail, + ChillyReception, + TidyUp, + Snowscape, + Pounce, + Trailblaze, + ChillingWater, + HyperDrill, + TwinBeam, + RageFist, + ArmorCannon, + BitterBlade, + DoubleShock, + GigatonHammer, + Comeuppance, + AquaCutter, + BlazingTorque, + WickedTorque, + NoxiousTorque, + CombatTorque, + MagicalTorque, MAX_COUNT, } diff --git a/PKHeX.Core/Game/Enums/Species.cs b/PKHeX.Core/Game/Enums/Species.cs index de4ce3bc2..2c5299ca8 100644 --- a/PKHeX.Core/Game/Enums/Species.cs +++ b/PKHeX.Core/Game/Enums/Species.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Species IDs for the corresponding English species name. @@ -911,5 +911,110 @@ public enum Species : ushort Sneasler, Overqwil, Enamorus, + Sprigatito, + Floragato, + Meowscarada, + Fuecoco, + Crocalor, + Skeledirge, + Quaxly, + Quaxwell, + Quaquaval, + Lechonk, + Oinkologne, + Dudunsparce, + Tarountula, + Spidops, + Nymble, + Lokix, + Rellor, + Rabsca, + Greavard, + Houndstone, + Flittle, + Espathra, + Farigiraf, + Wiglett, + Wugtrio, + Dondozo, + Veluza, + Finizen, + Palafin, + Smoliv, + Dolliv, + Arboliva, + Capsakid, + Scovillain, + Tadbulb, + Bellibolt, + Varoom, + Revavroom, + Orthworm, + Tandemaus, + Maushold, + Cetoddle, + Cetitan, + Frigibax, + Arctibax, + Baxcalibur, + Tatsugiri, + Cyclizar, + Pawmi, + Pawmo, + Pawmot, + Wattrel, + Kilowattrel, + Bombirdier, + Squawkabilly, + Flamigo, + Klawf, + Nacli, + Naclstack, + Garganacl, + Glimmet, + Glimmora, + Shroodle, + Grafaiai, + Fidough, + Dachsbun, + Maschiff, + Mabosstiff, + Bramblin, + Brambleghast, + Gimmighoul, + Gholdengo, + GreatTusk, + BruteBonnet, + _980, + SandyShocks, + ScreamTail, + FlutterMane, + SlitherWing, + RoaringMoon, + IronTreads, + _987, + IronMoth, + IronHands, + IronJugulis, + IronThorns, + IronBundle, + IronValiant, + TingLu, + ChienPao, + WoChien, + ChiYu, + Koraidon, + Miraidon, + Tinkatink, + Tinkatuff, + Tinkaton, + Charcadet, + Armarouge, + Ceruledge, + Toedscool, + Toedscruel, + Kingambit, + Clodsire, + Annihilape, MAX_COUNT, } diff --git a/PKHeX.Core/Game/GameStrings/FilteredGameDataSource.cs b/PKHeX.Core/Game/GameStrings/FilteredGameDataSource.cs index bad8293cd..fbf77183e 100644 --- a/PKHeX.Core/Game/GameStrings/FilteredGameDataSource.cs +++ b/PKHeX.Core/Game/GameStrings/FilteredGameDataSource.cs @@ -26,7 +26,7 @@ public FilteredGameDataSource(SaveFile sav, GameDataSource source, bool HaX = fa } var gamelist = GameUtil.GetVersionsWithinRange(sav, sav.Generation).ToList(); - Games = Source.VersionDataSource.Where(g => gamelist.Contains((GameVersion)g.Value)).ToList(); + Games = Source.VersionDataSource.Where(g => gamelist.Contains((GameVersion)g.Value) || g.Value == 0).ToList(); Languages = GameDataSource.LanguageDataSource(sav.Generation); Balls = Source.BallDataSource.Where(b => b.Value <= sav.MaxBallID).ToList(); @@ -38,18 +38,40 @@ public FilteredGameDataSource(SaveFile sav, GameDataSource source, bool HaX = fa private static IEnumerable GetFilteredSpecies(IGameValueLimit sav, GameDataSource source, bool HaX = false) { + var all = source.SpeciesDataSource; if (HaX) - return source.SpeciesDataSource.Where(s => s.Value <= sav.MaxSpeciesID); + return FilterAbove(all, sav.MaxSpeciesID); // Some games cannot acquire every Species that exists. Some can only acquire a subset. return sav switch { - SAV7b => source.SpeciesDataSource // LGPE: Kanto 151, Meltan/Melmetal - .Where(s => s.Value is <= (int)Core.Species.Mew or (int)Core.Species.Meltan or (int)Core.Species.Melmetal), - SAV8LA => source.SpeciesDataSource - .Where(s => PersonalTable.LA.IsSpeciesInGame((ushort)s.Value)), - _ => source.SpeciesDataSource.Where(s => s.Value <= sav.MaxSpeciesID), + SAV7b gg => FilterUnavailable(all, gg.Personal), + SAV8LA la => FilterUnavailable(all, la.Personal), +#if !DEBUG // Mainline games can be useful to show all for testing. Only filter out unavailable species in release builds. + SAV8SWSH swsh => FilterUnavailable(all, swsh.Personal), + SAV9SV sv => FilterUnavailable(all, sv.Personal), +#endif + _ => FilterAbove(all, sav.MaxSpeciesID), }; + + static IEnumerable FilterAbove(IReadOnlyList species, int limit) + { + foreach (var s in species) + { + if (s.Value <= limit) + yield return s; + } + } + + static IEnumerable FilterUnavailable(IReadOnlyList source, T table) where T : IPersonalTable + { + foreach (var s in source) + { + var species = s.Value; + if (table.IsSpeciesInGame((ushort)species)) + yield return s; + } + } } private static IEnumerable GetFilteredMoves(IGameValueLimit sav, GameDataSource source, bool HaX = false) @@ -80,10 +102,10 @@ private static IEnumerable GetFilteredMoves(IGameValueLimit sav, Game public IReadOnlyList GetAbilityList(PKM pk) { - return GetAbilityList(pk.PersonalInfo, pk.Format); + return GetAbilityList(pk.PersonalInfo); } - public IReadOnlyList GetAbilityList(IPersonalAbility pi, int format) + public IReadOnlyList GetAbilityList(IPersonalAbility pi) { var list = new ComboItem[pi.AbilityCount]; @@ -92,7 +114,8 @@ public IReadOnlyList GetAbilityList(IPersonalAbility pi, int format) for (int i = 0; i < list.Length; i++) { var ability = pi.GetAbilityAtIndex(i); - list[i] = new ComboItem(alist[ability] + suffix[i], ability); + var display = alist[ability] + suffix[i]; + list[i] = new ComboItem(display, ability); } return list; diff --git a/PKHeX.Core/Game/GameStrings/GameDataSource.cs b/PKHeX.Core/Game/GameStrings/GameDataSource.cs index 57b23cc92..5fa736866 100644 --- a/PKHeX.Core/Game/GameStrings/GameDataSource.cs +++ b/PKHeX.Core/Game/GameStrings/GameDataSource.cs @@ -50,11 +50,13 @@ public GameDataSource(GameStrings s) } LegalMoveDataSource = legal; - VersionDataSource = GetVersionList(s); + var games = GetVersionList(s); + VersionDataSource = games; Met = new MetDataSource(s); Empty = new ComboItem(s.itemlist[0], 0); + games[^1] = Empty; } /// Strings that this object's lists were generated with. @@ -83,11 +85,12 @@ private static IReadOnlyList GetBalls(string[] itemList) return Util.GetVariedCBListBall(itemList, ball_nums, ball_vals); } - private static IReadOnlyList GetVersionList(GameStrings s) + private static ComboItem[] GetVersionList(GameStrings s) { var list = s.gamelist; ReadOnlySpan games = stackalloc byte[] { + 50, 51, // 9 sv 47, // 8 legends arceus 48, 49, // 8 bdsp 44, 45, // 8 swsh @@ -107,6 +110,8 @@ private static IReadOnlyList GetVersionList(GameStrings s) 39, 40, 41, // 7vc2 35, 36, 37, 38, // 7vc1 34, // 7go + + 00, }; return Util.GetUnsortedCBList(list, games); diff --git a/PKHeX.Core/Game/GameStrings/GameStrings.cs b/PKHeX.Core/Game/GameStrings/GameStrings.cs index 608b4a6ab..4f615e06a 100644 --- a/PKHeX.Core/Game/GameStrings/GameStrings.cs +++ b/PKHeX.Core/Game/GameStrings/GameStrings.cs @@ -17,15 +17,9 @@ public sealed class GameStrings : IBasicStrings private readonly string[] g4items, g3coloitems, g3xditems, g3items, g2items, g1items; // Met Locations - public readonly string[] metGSC_00000, metRSEFRLG_00000, metCXD_00000; - public readonly string[] metHGSS_00000, metHGSS_02000, metHGSS_03000; - public readonly string[] metBW2_00000, metBW2_30000, metBW2_40000, metBW2_60000; - public readonly string[] metXY_00000, metXY_30000, metXY_40000, metXY_60000; - public readonly string[] metSM_00000, metSM_30000, metSM_40000, metSM_60000; - public readonly string[] metGG_00000, metGG_30000, metGG_40000, metGG_60000; - public readonly string[] metSWSH_00000, metSWSH_30000, metSWSH_40000, metSWSH_60000; - public readonly string[] metBDSP_00000, metBDSP_30000, metBDSP_40000, metBDSP_60000; - public readonly string[] metLA_00000, metLA_30000, metLA_40000, metLA_60000; + public readonly LocationSet0 Gen2, Gen3, CXD; + public readonly LocationSet4 Gen4; + public readonly LocationSet6 Gen5, Gen6, Gen7, Gen7b, Gen8, Gen8a, Gen8b, Gen9; // Misc public readonly string[] wallpapernames, puffs, walkercourses; @@ -57,7 +51,7 @@ public sealed class GameStrings : IBasicStrings 1712, 1713, 1746, 1747, 1748, 1749, 1750, 1771, }; - public GameStrings(string l) + internal GameStrings(string l) { lang = l; LanguageIndex = GameLanguage.GetLanguageIndex(l); @@ -70,11 +64,10 @@ public GameStrings(string l) g2items = Get("ItemsG2"); g1items = Get("ItemsG1"); - metRSEFRLG_00000 = Get("rsefrlg_00000"); - metGSC_00000 = Get("gsc_00000"); - - metCXD_00000 = Get("cxd_00000"); - SanitizeMetStringsCXD(metCXD_00000); + Gen2 = new(Get("gsc_00000")); + Gen3 = new(Get("rsefrlg_00000")); + CXD = new(Get("cxd_00000")); + SanitizeMetStringsCXD(CXD.Met0); // Current Generation strings natures = Util.GetNaturesList(l); @@ -121,41 +114,16 @@ public GameStrings(string l) ugtreasures = Get("dppt_ugtreasures"); EggName = specieslist[0]; - metHGSS_00000 = Get("hgss_00000"); - metHGSS_02000 = Get("hgss_02000"); - metHGSS_03000 = Get("hgss_03000"); - metBW2_00000 = Get("bw2_00000"); - metBW2_30000 = Get("bw2_30000"); - metBW2_40000 = Get("bw2_40000"); - metBW2_60000 = Get("bw2_60000"); - metXY_00000 = Get("xy_00000"); - metXY_30000 = Get("xy_30000"); - metXY_40000 = Get("xy_40000"); - metXY_60000 = Get("xy_60000"); - metSM_00000 = Get("sm_00000"); - metSM_30000 = Get("sm_30000"); - metSM_40000 = Get("sm_40000"); - metSM_60000 = Get("sm_60000"); + Gen4 = Get4("hgss"); + Gen5 = Get6("bw2"); + Gen6 = Get6("xy"); + Gen7 = Get6("sm"); - metGG_00000 = Get("gg_00000"); - metGG_30000 = metSM_30000; - metGG_40000 = Get("gg_40000"); - metGG_60000 = metSM_60000; - - metSWSH_00000 = Get("swsh_00000"); - metSWSH_30000 = Get("swsh_30000"); - metSWSH_40000 = Get("swsh_40000"); - metSWSH_60000 = Get("swsh_60000"); - - metLA_00000 = Get("la_00000"); - metLA_30000 = Get("la_30000"); - metLA_40000 = Get("la_40000"); - metLA_60000 = Get("la_60000"); - - metBDSP_00000 = Get("bdsp_00000"); - metBDSP_30000 = Get("bdsp_30000"); - metBDSP_40000 = Get("bdsp_40000"); - metBDSP_60000 = Get("bdsp_60000"); + Gen7b = Get6("gg", Gen7.Met3, Gen7.Met6); + Gen8 = Get6("swsh"); + Gen8a = Get6("la"); + Gen8b = Get6("bdsp"); + Gen9 = Get6("sv"); Sanitize(); @@ -163,11 +131,35 @@ public GameStrings(string l) Get("mail4").CopyTo(g4items, 137); } + private LocationSet4 Get4(string ident) + { + var met0 = Get($"{ident}_00000"); + var met2 = Get($"{ident}_02000"); + var met3 = Get($"{ident}_03000"); + return new LocationSet4(met0, met2, met3); + } + + private LocationSet6 Get6(string ident) + { + var met0 = Get($"{ident}_00000"); + var met3 = Get($"{ident}_30000"); + var met4 = Get($"{ident}_40000"); + var met6 = Get($"{ident}_60000"); + return new LocationSet6(met0,met3, met4, met6); + } + + private LocationSet6 Get6(string ident, string[] met3, string[] met6) + { + var met0 = Get($"{ident}_00000"); + var met4 = Get($"{ident}_40000"); + return new LocationSet6(met0, met3, met4, met6); + } + private string[] GetG3CXD(string[] arr, string fileName) { // Concatenate the Gen3 Item list with the CXD item array; CXD items starting at index 500. // Empty slots between the two lists are marked as unused. - string[] item500 = Get(fileName); + var item500 = Get(fileName); var result = new string[500 + item500.Length]; for (int i = arr.Length; i < result.Length; i++) result[i] = $"UNUSED {i}"; @@ -178,13 +170,13 @@ private string[] GetG3CXD(string[] arr, string fileName) private static void SanitizeMetStringsCXD(string[] cxd) { - // Less than 10% of met location values are unique. + // Less than 10% of location values are unique. // Just mark them with the ID if they aren't empty. for (int i = 0; i < 227; i++) { - var str = cxd[i]; + ref var str = ref cxd[i]; if (str.Length != 0) - cxd[i] = $"{str} [{i:000}]"; + str = $"{str} [{i:000}]"; } } @@ -201,7 +193,7 @@ private void Sanitize() specieslist[0] = EmptyIndex; // Fix (None) tags var none = $"({itemlist[0]})"; - abilitylist[0] = itemlist[0] = movelist[0] = metXY_00000[0] = metBW2_00000[0] = metHGSS_00000[0] = metCXD_00000[0] = puffs[0] = none; + abilitylist[0] = itemlist[0] = movelist[0] = Gen6.Met0[0] = Gen5.Met0[0] = Gen4.Met0[0] = CXD.Met0[0] = puffs[0] = none; } private void SanitizeItemNames() @@ -268,10 +260,13 @@ private void SanitizeItemNames() g3coloitems[500 + 10] += " (COLO)"; SanitizeItemsLA(itemlist); + SanitizeItemsSV(itemlist); if (lang is "fr") { itemlist[1681] += " (LA)"; // Galet Noir dup with 617 (Dark Stone | Black Tumblestone) + itemlist[1262] += " (G8)"; // Nouilles dup with 1934 (Instant Noodles | Rice) + itemlist[1263] += " (G8)"; // Steak Haché dup with 1925 (Precooked Burger | Herbed Sausage) } else if (lang is "ja") { @@ -284,6 +279,19 @@ private void SanitizeItemNames() itemlist[1763] += " (LA)"; // Secret Medicine } + private static void SanitizeItemsSV(string[] items) + { + items[2313] += " (1)"; // Academy Bottle + items[2314] += " (2)"; // Academy Bottle + items[2318] += " (1)"; // Academy Cup + items[2319] += " (2)"; // Academy Cup + items[2323] += " (1)"; // Academy Tablecloth + items[2324] += " (2)"; // Academy Tablecloth + items[2329] += " (1)"; // Academy Ball + items[2330] += " (2)"; // Academy Ball + items[0694] += " (G6-8)"; // TM100, not held. + } + private static void SanitizeItemsLA(string[] items) { // Recipes @@ -351,209 +359,257 @@ private static void SanitizeItemsLA(string[] items) private void SanitizeMetLocations() { // Fix up some of the Location strings to make them more descriptive - SanitizeMetG4HGSS(); - SanitizeMetG5BW(); - SanitizeMetG6XY(); - SanitizeMetG7SM(); - SanitizeMetG8SWSH(); - SanitizeMetG8BDSP(); - SanitizeMetG8PLA(); + SanitizeMetGen4(Gen4); + SanitizeMetGen5(Gen5); + SanitizeMetGen6(Gen6); + SanitizeMetGen7(Gen7); + SanitizeMetGen7b(Gen7b); + SanitizeMetGen8(Gen8); + SanitizeMetGen8a(Gen8a); + SanitizeMetGen8b(Gen8b); + SanitizeMetGen9(Gen9); if (lang is "es" or "it") { // Campeonato Mundial duplicates for (int i = 28; i < 35; i++) - metXY_40000[i] += " (-)"; + Gen6.Met4[i] += " (-)"; // Evento de Videojuegos -- first as duplicate - metXY_40000[35] += " (-)"; - metSM_40000[38] += " (-)"; - metGG_40000[27] += " (-)"; + Gen6.Met4[35] += " (-)"; + Gen7.Met4[38] += " (-)"; + Gen7b.Met4[27] += " (-)"; } if (lang == "ko") { // Pokémon Ranger duplicate (should be Ranger Union) - metBW2_40000[71] += " (-)"; + Gen5.Met4[71] += " (-)"; } } - private void SanitizeMetG4HGSS() + private void SanitizeMetGen4(LocationSet4 set) { - metHGSS_00000[054] += " (DP/Pt)"; // Victory Road - metHGSS_00000[221] += " (HG/SS)"; // Victory Road + set.Met0[054] += " (DP/Pt)"; // Victory Road + set.Met0[221] += " (HG/SS)"; // Victory Road // German language duplicate; handle for all since it can be confused. - metHGSS_00000[104] += " (DP/Pt)"; // Vista Lighthouse - metHGSS_00000[212] += " (HG/SS)"; // Lighthouse + set.Met0[104] += " (DP/Pt)"; // Vista Lighthouse + set.Met0[212] += " (HG/SS)"; // Lighthouse - metHGSS_02000[1] += $" ({NPC})"; // Anything from an NPC - metHGSS_02000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met2[1] += $" ({NPC})"; // Anything from an NPC + set.Met2[2] += $" ({EggName})"; // Egg From Link Trade } - private void SanitizeMetG5BW() + private void SanitizeMetGen5(LocationSet6 set) { - metBW2_00000[36] = $"{metBW2_00000[84]}/{metBW2_00000[36]}"; // Cold Storage in BW = PWT in BW2 - metBW2_00000[40] += " (B/W)"; // Victory Road in BW - metBW2_00000[134] += " (B2/W2)"; // Victory Road in B2W2 + set.Met0[36] = $"{set.Met0[84]}/{set.Met0[36]}"; // Cold Storage in BW = PWT in BW2 + set.Met0[40] += " (B/W)"; // Victory Road in BW + set.Met0[134] += " (B2/W2)"; // Victory Road in B2W2 // BW2 Entries from 76 to 105 are for Entralink in BW for (int i = 76; i < 106; i++) - metBW2_00000[i] += "●"; + set.Met0[i] += "●"; // Collision between 40002 (legal) and 00002 (illegal) "Faraway place" - if (metBW2_00000[2] == metBW2_40000[2]) - metBW2_00000[2] += " (2)"; + if (set.Met0[2] == set.Met4[2]) + set.Met0[2] += " (2)"; for (int i = 97; i < 109; i++) - metBW2_40000[i] += $" ({i - 97})"; + set.Met4[i] += $" ({i - 97})"; // Localize the Poketransfer to the language (30001) - metBW2_30000[1] = GameLanguage.GetTransporterName(LanguageIndex); - metBW2_30000[2] += $" ({NPC})"; // Anything from an NPC - metBW2_30000[3] += $" ({EggName})"; // Link Trade (Egg) + set.Met3[1] = GameLanguage.GetTransporterName(LanguageIndex); + set.Met3[2] += $" ({NPC})"; // Anything from an NPC + set.Met3[3] += $" ({EggName})"; // Link Trade (Egg) // Zorua/Zoroark events - metBW2_30000[10] = $"{specieslist[251]} ({specieslist[570]} 1)"; // Celebi's Zorua Event - metBW2_30000[11] = $"{specieslist[251]} ({specieslist[570]} 2)"; // Celebi's Zorua Event - metBW2_30000[12] = $"{specieslist[571]} (1)"; // Zoroark - metBW2_30000[13] = $"{specieslist[571]} (2)"; // Zoroark + set.Met3[10] = $"{specieslist[251]} ({specieslist[570]} 1)"; // Celebi's Zorua Event + set.Met3[11] = $"{specieslist[251]} ({specieslist[570]} 2)"; // Celebi's Zorua Event + set.Met3[12] = $"{specieslist[571]} (1)"; // Zoroark + set.Met3[13] = $"{specieslist[571]} (2)"; // Zoroark - metBW2_60000[3] += $" ({EggName})"; // Egg Treasure Hunter/Breeder, whatever... + set.Met6[3] += $" ({EggName})"; // Egg Treasure Hunter/Breeder, whatever... } - private void SanitizeMetG6XY() + private void SanitizeMetGen6(LocationSet6 set) { // Add in the sub-location if available. for (int i = 8; i <= 136; i += 2) { - var nextLoc = metXY_00000[i + 1]; + var nextLoc = set.Met0[i + 1]; if (nextLoc.Length == 0) continue; - metXY_00000[i + 1] = string.Empty; - metXY_00000[i] += $" ({nextLoc})"; + set.Met0[i + 1] = string.Empty; + set.Met0[i] += $" ({nextLoc})"; } - metXY_00000[104] += " (X/Y)"; // Victory Road - metXY_00000[106] += " (X/Y)"; // Pokémon League - metXY_00000[202] += " (OR/AS)"; // Pokémon League - metXY_00000[298] += " (OR/AS)"; // Victory Road - metXY_30000[1] += $" ({NPC})"; // Anything from an NPC - metXY_30000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met0[104] += " (X/Y)"; // Victory Road + set.Met0[106] += " (X/Y)"; // Pokémon League + set.Met0[202] += " (OR/AS)"; // Pokémon League + set.Met0[298] += " (OR/AS)"; // Victory Road + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade for (int i = 63; i <= 69; i++) - metXY_40000[i] += $" ({i - 62})"; + set.Met4[i] += $" ({i - 62})"; } - private void SanitizeMetG7SM() + private void SanitizeMetGen7(LocationSet6 set) { // Sun/Moon duplicates -- elaborate! - for (int i = 6; i < metSM_00000.Length; i += 2) + for (int i = 6; i < set.Met0.Length; i += 2) { if (i is >= 194 and < 198) continue; // Skip Island Names (unused) - var nextLoc = metSM_00000[i + 1]; + var nextLoc = set.Met0[i + 1]; if (nextLoc.Length == 0) continue; - metSM_00000[i + 1] = string.Empty; - metSM_00000[i] += $" ({nextLoc})"; + set.Met0[i + 1] = string.Empty; + set.Met0[i] += $" ({nextLoc})"; } - metSM_00000[32] += " (2)"; - metSM_00000[102] += " (2)"; + set.Met0[32] += " (2)"; + set.Met0[102] += " (2)"; - metSM_30000[1] += $" ({NPC})"; // Anything from an NPC - metSM_30000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade for (int i = 3; i <= 6; i++) // distinguish first set of regions (unused) from second (used) - metSM_30000[i] += " (-)"; + set.Met3[i] += " (-)"; for (int i = 59; i < 66; i++) // distinguish Event year duplicates - metSM_40000[i] += " (-)"; - - for (int i = 48; i < 55; i++) // distinguish Event year duplicates - metGG_40000[i] += " (-)"; + set.Met4[i] += " (-)"; } - private void SanitizeMetG8SWSH() + private void SanitizeMetGen7b(LocationSet6 set) + { + for (int i = 48; i < 55; i++) // distinguish Event year duplicates + set.Met4[i] += " (-)"; + } + + private void SanitizeMetGen8(LocationSet6 set) { // SW/SH duplicates -- elaborate! - for (int i = 88; i < metSWSH_00000.Length; i += 2) + for (int i = 88; i < set.Met0.Length; i += 2) { - var nextLoc = metSWSH_00000[i + 1]; + var nextLoc = set.Met0[i + 1]; if (nextLoc.Length == 0) continue; - metSWSH_00000[i + 1] = string.Empty; - metSWSH_00000[i] += $" ({nextLoc})"; + set.Met0[i + 1] = string.Empty; + set.Met0[i] += $" ({nextLoc})"; } - metSWSH_30000[1] += $" ({NPC})"; // Anything from an NPC - metSWSH_30000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade for (int i = 3; i <= 6; i++) // distinguish first set of regions (unused) from second (used) - metSWSH_30000[i] += " (-)"; - metSWSH_30000[19] += " (?)"; // Kanto for the third time + set.Met3[i] += " (-)"; + set.Met3[19] += " (?)"; // Kanto for the third time for (int i = 55; i < 61; i++) // distinguish Event year duplicates - metSWSH_40000[i] += " (-)"; - metSWSH_40000[30] += " (-)"; // a Video game Event (in spanish etc) -- duplicate with line 39 - metSWSH_40000[53] += " (-)"; // a Pokémon event -- duplicate with line 37 + set.Met4[i] += " (-)"; + set.Met4[30] += " (-)"; // a Video game Event (in spanish etc) -- duplicate with line 39 + set.Met4[53] += " (-)"; // a Pokémon event -- duplicate with line 37 - metSWSH_40000[81] += " (-)"; // Pokémon GO -- duplicate with 30000's entry - metSWSH_40000[86] += " (-)"; // Pokémon HOME -- duplicate with 30000's entry - // metSWSH_30000[12] += " (-)"; // Pokémon GO -- duplicate with 40000's entry - // metSWSH_30000[18] += " (-)"; // Pokémon HOME -- duplicate with 40000's entry + set.Met4[81] += " (-)"; // Pokémon GO -- duplicate with 30000's entry + set.Met4[86] += " (-)"; // Pokémon HOME -- duplicate with 30000's entry + // set.Met3[12] += " (-)"; // Pokémon GO -- duplicate with 40000's entry + // set.Met3[18] += " (-)"; // Pokémon HOME -- duplicate with 40000's entry } - private void SanitizeMetG8BDSP() + private void SanitizeMetGen8b(LocationSet6 set) { - metBDSP_30000[1] += $" ({NPC})"; // Anything from an NPC - metBDSP_30000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade - Deduplicate(metBDSP_00000, 00000); - Deduplicate(metBDSP_30000, 30000); - Deduplicate(metBDSP_40000, 40000); - Deduplicate(metBDSP_60000, 60000); + Deduplicate(set.Met0, 00000); + Deduplicate(set.Met3, 30000); + Deduplicate(set.Met4, 40000); + Deduplicate(set.Met6, 60000); } - private void SanitizeMetG8PLA() + private void SanitizeMetGen8a(LocationSet6 set) { - metLA_00000[31] += " (2)"; // in Floaro Gardens - metLA_30000[1] += $" ({NPC})"; // Anything from an NPC - metLA_30000[2] += $" ({EggName})"; // Egg From Link Trade + set.Met0[31] += " (2)"; // in Floaro Gardens + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade for (int i = 3; i <= 6; i++) // distinguish first set of regions (unused) from second (used) - metLA_30000[i] += " (-)"; - metLA_30000[19] += " (?)"; // Kanto for the third time + set.Met3[i] += " (-)"; + set.Met3[19] += " (?)"; // Kanto for the third time - metLA_40000[30] += " (-)"; // a Video game Event (in spanish etc) -- duplicate with line 39 - metLA_40000[53] += " (-)"; // a Pokémon event -- duplicate with line 37 + set.Met4[30] += " (-)"; // a Video game Event (in spanish etc) -- duplicate with line 39 + set.Met4[53] += " (-)"; // a Pokémon event -- duplicate with line 37 - metLA_40000[81] += " (-)"; // Pokémon GO -- duplicate with 30000's entry - metLA_40000[86] += " (-)"; // Pokémon HOME -- duplicate with 30000's entry - // metLA_30000[12] += " (-)"; // Pokémon GO -- duplicate with 40000's entry - // metLA_30000[18] += " (-)"; // Pokémon HOME -- duplicate with 40000's entry + set.Met4[81] += " (-)"; // Pokémon GO -- duplicate with 30000's entry + set.Met4[86] += " (-)"; // Pokémon HOME -- duplicate with 30000's entry + // set.Met3[12] += " (-)"; // Pokémon GO -- duplicate with 40000's entry + // set.Met3[18] += " (-)"; // Pokémon HOME -- duplicate with 40000's entry for (int i = 55; i <= 60; i++) // distinguish second set of YYYY Event from the first - metLA_40000[i] += " (-)"; + set.Met4[i] += " (-)"; - if (lang is "es") - { - // en un lugar misterioso - metLA_00000[2] += " (2)"; // in a mystery zone - metLA_00000[4] += " (4)"; // in a faraway place - } - else if (lang is "ja") - { - // ひょうざんのいくさば - metLA_00000[099] += " (099)"; // along the Arena’s Approach - metLA_00000[142] += " (142)"; // at Icepeak Arena - } - else if (lang is "fr" or "it") + if (lang is "en" or "es" or "de" or "it" or "fr") { // Final four locations are not nouns, rather the same location reference (at the...) as prior entries. - metLA_00000[152] += " (152)"; // Galaxy Hall - metLA_00000[153] += " (153)"; // Front Gate - metLA_00000[154] += " (154)"; // Farm - metLA_00000[155] += " (155)"; // Training Grounds + set.Met0[152] += " (152)"; // Galaxy Hall + set.Met0[153] += " (153)"; // Front Gate + set.Met0[154] += " (154)"; // Farm + set.Met0[155] += " (155)"; // Training Grounds } } + private void SanitizeMetGen9(LocationSet6 set) + { + var m = set.Met0; + m[110] += " (1)"; // Area Zero + m[112] += " (2)"; // Area Zero + m[114] += " (3)"; // Area Zero + m[116] += " (4)"; // Area Zero + m[124] += " (5)"; // Area Zero + m[126] += " (6)"; // Area Zero + m[128] += " (7)"; // Area Zero + + m[040] += " (1)"; // Casseroya Lake + m[108] += " (2)"; // Casseroya Lake + m[034] += " (1)"; // East Province (Area One) + m[104] += " (2)"; // East Province (Area One) + m[038] += " (1)"; // Glaseado Mountain + m[042] += " (2)"; // Glaseado Mountain + m[068] += " (3)"; // Glaseado Mountain + m[008] += " (1)"; // Mesagoza + m[072] += " (2)"; // Mesagoza + m[074] += " (3)"; // Mesagoza + m[044] += " (1)"; // North Province (Area Three) + m[102] += " (2)"; // North Province (Area Three) + m[047] += " (1)"; // North Province (Area Two) + m[098] += " (2)"; // North Province (Area Two) + m[016] += " (1)"; // South Province (Area Six) + m[066] += " (2)"; // South Province (Area Six) + m[030] += " (1)"; // Tagtree Thicket + m[106] += " (2)"; // Tagtree Thicket + m[022] += " (1)"; // West Province (Area One) + m[100] += " (2)"; // West Province (Area One) + m[052] += " (1)"; // Zero Gate + m[054] += " (2)"; // Zero Gate + m[118] += " (1)"; // Zero Lab + m[120] += " (2)"; // Zero Lab + m[122] += " (3)"; // Zero Lab + + set.Met3[1] += $" ({NPC})"; // Anything from an NPC + set.Met3[2] += $" ({EggName})"; // Egg From Link Trade + for (int i = 3; i <= 6; i++) // distinguish first set of regions (unused) from second (used) + set.Met3[i] += " (-)"; + set.Met3[19] += " (?)"; // Kanto for the third time + + for (int i = 49; i <= 54; i++) // distinguish Event year duplicates + set.Met4[i] += " (-)"; + + set.Met4[27] += " (-)"; // a Video game Event (in spanish etc) -- duplicate with line 36 + set.Met4[48] += " (-)"; // a Pokémon event -- duplicate with line 34 + + set.Met4[73] += " (-)"; // Pokémon GO -- duplicate with 30000's entry + set.Met4[78] += " (-)"; // Pokémon HOME -- duplicate with 30000's entry + // set.Met3[12] += " (-)"; // Pokémon GO -- duplicate with 40000's entry + // set.Met3[18] += " (-)"; // Pokémon HOME -- duplicate with 40000's entry + } + private static void Deduplicate(string[] arr, int group) { var counts = new Dictionary(); @@ -565,40 +621,37 @@ private static void Deduplicate(string[] arr, int group) } #if !DEBUG - var maxCounts = new Dictionary(counts); + var maxCounts = new Dictionary(counts); #endif for (var i = arr.Length - 1; i >= 0; i--) { #if DEBUG arr[i] += $" ({group + i:00000})"; #else - var s = arr[i]; - var count = counts[s]--; - if (count == 1) - continue; - var format = maxCounts[s] switch - { - >= 100 => " ({0:000})", - >= 10 => " ({0:00})", - _ => " ({0})", - }; - arr[i] += string.Format(format, count); + var s = arr[i]; + var count = counts[s]--; + if (count == 1) + continue; + var format = maxCounts[s] switch + { + >= 100 => " ({0:000})", + >= 10 => " ({0:00})", + _ => " ({0})", + }; + arr[i] += string.Format(format, count); #endif } } public string[] GetItemStrings(EntityContext context, GameVersion game = GameVersion.Any) => context switch { + EntityContext.Gen1 => g1items, + EntityContext.Gen2 => g2items, + EntityContext.Gen3 => GetItemStrings3(game), + EntityContext.Gen4 => g4items, // mail names changed 4->5 EntityContext.Gen8b => GetItemStrings8b(), - _ => context.Generation() switch - { - 0 => Array.Empty(), - 1 => g1items, - 2 => g2items, - 3 => GetItemStrings3(game), - 4 => g4items, // mail names changed 4->5 - _ => itemlist, - }, + EntityContext.Gen9 => GetItemStrings9(), + _ => itemlist, }; private string[] GetItemStrings8b() @@ -620,6 +673,22 @@ private string[] GetItemStrings8b() return clone; } + private string[] GetItemStrings9() + { + // in Generation 9, TMs are padded to 3 digits; format them appropriately here + var clone = (string[])itemlist.Clone(); + var zero = lang is "ja" or "zh" or "zh2" ? "0" : "0"; + + for (int i = 328; i <= 419; i++) + clone[i] = clone[i].Insert(clone[i].Length - 2, zero); + for (int i = 618; i <= 620; i++) + clone[i] = clone[i].Insert(clone[i].Length - 2, zero); + for (int i = 690; i <= 693; i++) + clone[i] = clone[i].Insert(clone[i].Length - 2, zero); + + return clone; + } + private string[] GetItemStrings3(GameVersion game) { switch (game) @@ -649,51 +718,59 @@ private string[] GetItemStrings3(GameVersion game) /// Location name. May be an empty string if no location name is known for that location value. public string GetLocationName(bool isEggLocation, int location, int format, int generation, GameVersion version) { - int gen = -1; - int bankID = 0; - if (format == 1) { + // Legality binaries have Location IDs that were manually remapped to Gen3 location IDs. if (location == 0) return string.Empty; - format = 3; // Legality binaries have Location IDs that were manually remapped to Gen3 location IDs. + return Gen3.GetLocationName(location); } - if (format == 2) - { - gen = 2; - } - else if (format == 3) - { - gen = 3; - } - else if (generation == 4 && (isEggLocation || format == 4)) // 4 - { - const int size = 1000; - bankID = location / size; - gen = 4; - location %= size; - } - else // 5-7+ - { - const int size = 10000; - bankID = location / size; - - int g = generation; - if (g >= 5) - gen = g; - else if (format >= 5) - gen = format; - - location %= size; - } - - var bank = GetLocationNames(gen, version, bankID); - if ((uint)location >= bank.Count) + generation = GetGeneration(generation, isEggLocation, format); + var set = GetLocations(generation, version); + if (set is null) return string.Empty; - return bank[location]; + return set.GetLocationName(location); } + private static int GetGeneration(int generation, bool isEggLocation, int format) + { + if (format == 2) + return 2; + if (format == 3) + return 3; + if (generation == 4 && (isEggLocation || format == 4)) + return 4; + if (generation >= 5) + return generation; + if (format >= 5) + return format; + return -1; // Nonsensical inputs. + } + + /// + /// Gets the location names array for a specified generation. + /// + /// Generation to get location names for. + /// Version of origin + /// List of location names. + public ILocationSet? GetLocations(int gen, GameVersion version) => gen switch + { + 2 => Gen2, + 3 => GameVersion.CXD.Contains(version) ? CXD : Gen3, + 4 => Gen4, + 5 => Gen5, + 6 => Gen6, + 7 => GameVersion.Gen7b.Contains(version) ? Gen7b : Gen7, + + 8 when version is GameVersion.PLA => Gen8, + 8 when GameVersion.BDSP.Contains(version) => Gen8b, + 8 => Gen8, + 9 => Gen9, + + _ => null, + }; + /// /// Gets the location names array for a specified generation. /// @@ -701,90 +778,11 @@ public string GetLocationName(bool isEggLocation, int location, int format, int /// Version of origin /// BankID used to choose the text bank. /// List of location names. - public IReadOnlyList GetLocationNames(int gen, GameVersion version, int bankID = 0) => gen switch + public ReadOnlySpan GetLocationNames(int gen, GameVersion version, int bankID = 0) { - 2 => metGSC_00000, - 3 => GameVersion.CXD.Contains(version) ? metCXD_00000 : metRSEFRLG_00000, - 4 => GetLocationNames4(bankID), - 5 => GetLocationNames5(bankID), - 6 => GetLocationNames6(bankID), - 7 => GameVersion.Gen7b.Contains(version) ? GetLocationNames7GG(bankID) : GetLocationNames7(bankID), - - 8 when version is GameVersion.PLA => GetLocationNames8a(bankID), - 8 when GameVersion.BDSP.Contains(version) => GetLocationNames8b(bankID), - 8 => GetLocationNames8(bankID), - - _ => Array.Empty(), - }; - - private IReadOnlyList GetLocationNames4(int bankID) => bankID switch - { - 0 => metHGSS_00000, - 2 => metHGSS_02000, - 3 => metHGSS_03000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames5(int bankID) => bankID switch - { - 0 => metBW2_00000, - 3 => metBW2_30000, - 4 => metBW2_40000, - 6 => metBW2_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames6(int bankID) => bankID switch - { - 0 => metXY_00000, - 3 => metXY_30000, - 4 => metXY_40000, - 6 => metXY_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames7(int bankID) => bankID switch - { - 0 => metSM_00000, - 3 => metSM_30000, - 4 => metSM_40000, - 6 => metSM_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames7GG(int bankID) => bankID switch - { - 0 => metGG_00000, - 3 => metGG_30000, - 4 => metGG_40000, - 6 => metGG_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames8(int bankID) => bankID switch - { - 0 => metSWSH_00000, - 3 => metSWSH_30000, - 4 => metSWSH_40000, - 6 => metSWSH_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames8a(int bankID) => bankID switch - { - 0 => metLA_00000, - 3 => metLA_30000, - 4 => metLA_40000, - 6 => metLA_60000, - _ => Array.Empty(), - }; - - public IReadOnlyList GetLocationNames8b(int bankID) => bankID switch - { - 0 => metBDSP_00000, - 3 => metBDSP_30000, - 4 => metBDSP_40000, - 6 => metBDSP_60000, - _ => Array.Empty(), - }; + var set = GetLocations(gen, version); + if (set is null) + return Array.Empty(); + return set.GetLocationNames(bankID); + } } diff --git a/PKHeX.Core/Game/GameStrings/LocationSet/ILocationSet.cs b/PKHeX.Core/Game/GameStrings/LocationSet/ILocationSet.cs new file mode 100644 index 000000000..3090f9699 --- /dev/null +++ b/PKHeX.Core/Game/GameStrings/LocationSet/ILocationSet.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; + +namespace PKHeX.Core; + +/// +/// Stores location names for a given game group. +/// +public interface ILocationSet +{ + /// + /// Gets the location name group for the requested location bank group ID. + /// + ReadOnlySpan GetLocationNames(int bankID); + + /// + /// Gets the location name for the requested location ID. + /// + string GetLocationName(int locationID); + + /// + /// Gets all groups -- ONLY USE FOR UNIT TESTING. + /// + [EditorBrowsable(EditorBrowsableState.Never)] + IEnumerable<(int Bank, string[] Names)> GetAll(); +} diff --git a/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet0.cs b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet0.cs new file mode 100644 index 000000000..0c2d4b0d8 --- /dev/null +++ b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet0.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace PKHeX.Core; + +public sealed record LocationSet0(string[] Met0) : ILocationSet +{ + public ReadOnlySpan GetLocationNames(int bankID) => bankID switch + { + 0 => Met0, + _ => Array.Empty(), + }; + + public string GetLocationName(int locationID) + { + if ((uint)locationID >= Met0.Length) + return string.Empty; + return Met0[locationID]; + } + + public IEnumerable<(int Bank, string[] Names)> GetAll() + { + yield return (0, Met0); + } +} diff --git a/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs new file mode 100644 index 000000000..a4135e223 --- /dev/null +++ b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; + +namespace PKHeX.Core; + +public sealed record LocationSet4(string[] Met0, string[] Met2, string[] Met3) : ILocationSet +{ + public ReadOnlySpan GetLocationNames(int bankID) => bankID switch + { + 0 => Met0, + 2 => Met2, + 3 => Met3, + _ => Array.Empty(), + }; + + public string GetLocationName(int locationID) => locationID switch + { + >= 3000 => Get(Met3, locationID - 3000), + >= 2000 => Get(Met2, locationID - 2000), + _ => Get(Met0, locationID), + }; + + private static string Get(string[] names, int index) + { + if ((uint)index >= names.Length) + return string.Empty; + return names[index]; + } + + public IEnumerable<(int Bank, string[] Names)> GetAll() + { + yield return (0, Met0); + yield return (2, Met2); + yield return (3, Met3); + } +} diff --git a/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet6.cs b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet6.cs new file mode 100644 index 000000000..bbb26c223 --- /dev/null +++ b/PKHeX.Core/Game/GameStrings/LocationSet/LocationSet6.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; + +namespace PKHeX.Core; + +public sealed record LocationSet6(string[] Met0, string[] Met3, string[] Met4, string[] Met6) : ILocationSet +{ + public ReadOnlySpan GetLocationNames(int bankID) => bankID switch + { + 0 => Met0, + 3 => Met3, + 4 => Met4, + 6 => Met6, + _ => Array.Empty(), + }; + + public string GetLocationName(int locationID) => locationID switch + { + >= 60000 => Get(Met6, locationID - 60000), + >= 40000 => Get(Met4, locationID - 40000), + >= 30000 => Get(Met3, locationID - 30000), + _ => Get(Met0, locationID), + }; + + private static string Get(string[] names, int index) + { + if ((uint)index >= names.Length) + return string.Empty; + return names[index]; + } + + public IEnumerable<(int Bank, string[] Names)> GetAll() + { + yield return (0, Met0); + yield return (3, Met3); + yield return (4, Met4); + yield return (6, Met6); + } +} diff --git a/PKHeX.Core/Game/GameStrings/MemoryStrings.cs b/PKHeX.Core/Game/GameStrings/MemoryStrings.cs index 01338421c..a99e1e321 100644 --- a/PKHeX.Core/Game/GameStrings/MemoryStrings.cs +++ b/PKHeX.Core/Game/GameStrings/MemoryStrings.cs @@ -24,7 +24,7 @@ public MemoryStrings(GameStrings strings) item8 = new Lazy>(() => GetItems(EntityContext.Gen8)); genloc = new Lazy>(() => Util.GetCBList(s.genloc)); moves = new Lazy>(() => Util.GetCBList(s.movelist)); - specific = new Lazy>(() => Util.GetCBList(s.metXY_00000, Locations6.Met0)); + specific = new Lazy>(() => Util.GetCBList(s.Gen6.Met0, Locations6.Met0)); } private List GetItems(EntityContext context) diff --git a/PKHeX.Core/Game/GameStrings/MetDataSource.cs b/PKHeX.Core/Game/GameStrings/MetDataSource.cs index 6c145630b..a5fd3bd23 100644 --- a/PKHeX.Core/Game/GameStrings/MetDataSource.cs +++ b/PKHeX.Core/Game/GameStrings/MetDataSource.cs @@ -21,6 +21,7 @@ public sealed class MetDataSource private readonly List MetGen8; private readonly List MetGen8a; private readonly List MetGen8b; + private readonly List MetGen9; private IReadOnlyList? MetGen4Transfer; private IReadOnlyList? MetGen5Transfer; @@ -38,38 +39,39 @@ public MetDataSource(GameStrings s) MetGen8 = CreateGen8(s); MetGen8a = CreateGen8a(s); MetGen8b = CreateGen8b(s); + MetGen9 = CreateGen9(s); } private static List CreateGen2(GameStrings s) { - var locations = Util.GetCBList(s.metGSC_00000.AsSpan(0, 0x5F)); - Util.AddCBWithOffset(locations, s.metGSC_00000.AsSpan(0x7E, 2), 0x7E); + var locations = Util.GetCBList(s.Gen2.Met0.AsSpan(0, 0x5F)); + Util.AddCBWithOffset(locations, s.Gen2.Met0.AsSpan(0x7E, 2), 0x7E); return locations; } private static List CreateGen3(GameStrings s) { - var locations = Util.GetCBList(s.metRSEFRLG_00000.AsSpan(0, 213)); - Util.AddCBWithOffset(locations, s.metRSEFRLG_00000.AsSpan(253, 3), 253); + var locations = Util.GetCBList(s.Gen3.Met0.AsSpan(0, 213)); + Util.AddCBWithOffset(locations, s.Gen3.Met0.AsSpan(253, 3), 253); return locations; } private static List CreateGen3CXD(GameStrings s) { - var list = Util.GetCBList(s.metCXD_00000); + var list = Util.GetCBList(s.CXD.Met0); list.RemoveAll(z => z.Text.Length == 0); return list; } private static List CreateGen4(GameStrings s) { - var locations = Util.GetCBList(s.metHGSS_00000, 0); - Util.AddCBWithOffset(locations, s.metHGSS_02000, 2000, Locations.Daycare4); - Util.AddCBWithOffset(locations, s.metHGSS_02000, 2000, Locations.LinkTrade4); - Util.AddCBWithOffset(locations, s.metHGSS_03000, 3000, Locations.Ranger4); - Util.AddCBWithOffset(locations, s.metHGSS_00000, 0000, Locations4.Met0); - Util.AddCBWithOffset(locations, s.metHGSS_02000, 2000, Locations4.Met2); - Util.AddCBWithOffset(locations, s.metHGSS_03000, 3000, Locations4.Met3); + var locations = Util.GetCBList(s.Gen4.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen4.Met2, 2000, Locations.Daycare4); + Util.AddCBWithOffset(locations, s.Gen4.Met2, 2000, Locations.LinkTrade4); + Util.AddCBWithOffset(locations, s.Gen4.Met3, 3000, Locations.Ranger4); + Util.AddCBWithOffset(locations, s.Gen4.Met0, 0000, Locations4.Met0); + Util.AddCBWithOffset(locations, s.Gen4.Met2, 2000, Locations4.Met2); + Util.AddCBWithOffset(locations, s.Gen4.Met3, 3000, Locations4.Met3); return locations; } @@ -86,13 +88,13 @@ private IReadOnlyList CreateGen4Transfer() private static List CreateGen5(GameStrings s) { - var locations = Util.GetCBList(s.metBW2_00000, 0); - Util.AddCBWithOffset(locations, s.metBW2_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metBW2_30000, 30000, Locations.LinkTrade5); - Util.AddCBWithOffset(locations, s.metBW2_00000, 00000, Locations5.Met0); - Util.AddCBWithOffset(locations, s.metBW2_30000, 30000, Locations5.Met3); - Util.AddCBWithOffset(locations, s.metBW2_40000, 40000, Locations5.Met4); - Util.AddCBWithOffset(locations, s.metBW2_60000, 60000, Locations5.Met6); + var locations = Util.GetCBList(s.Gen5.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen5.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen5.Met3, 30000, Locations.LinkTrade5); + Util.AddCBWithOffset(locations, s.Gen5.Met0, 00000, Locations5.Met0); + Util.AddCBWithOffset(locations, s.Gen5.Met3, 30000, Locations5.Met3); + Util.AddCBWithOffset(locations, s.Gen5.Met4, 40000, Locations5.Met4); + Util.AddCBWithOffset(locations, s.Gen5.Met6, 60000, Locations5.Met6); return locations; } @@ -109,49 +111,49 @@ private IReadOnlyList CreateGen5Transfer() private static List CreateGen6(GameStrings s) { - var locations = Util.GetCBList(s.metXY_00000, 0); - Util.AddCBWithOffset(locations, s.metXY_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metXY_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metXY_00000, 00000, Locations6.Met0); - Util.AddCBWithOffset(locations, s.metXY_30000, 30000, Locations6.Met3); - Util.AddCBWithOffset(locations, s.metXY_40000, 40000, Locations6.Met4); - Util.AddCBWithOffset(locations, s.metXY_60000, 60000, Locations6.Met6); + var locations = Util.GetCBList(s.Gen6.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen6.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen6.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen6.Met0, 00000, Locations6.Met0); + Util.AddCBWithOffset(locations, s.Gen6.Met3, 30000, Locations6.Met3); + Util.AddCBWithOffset(locations, s.Gen6.Met4, 40000, Locations6.Met4); + Util.AddCBWithOffset(locations, s.Gen6.Met6, 60000, Locations6.Met6); return locations; } private static List CreateGen7(GameStrings s) { - var locations = Util.GetCBList(s.metSM_00000, 0); - Util.AddCBWithOffset(locations, s.metSM_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metSM_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metSM_00000, 00000, Locations7.Met0); - Util.AddCBWithOffset(locations, s.metSM_30000, 30000, Locations7.Met3); - Util.AddCBWithOffset(locations, s.metSM_40000, 40000, Locations7.Met4); - Util.AddCBWithOffset(locations, s.metSM_60000, 60000, Locations7.Met6); + var locations = Util.GetCBList(s.Gen7.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen7.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen7.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen7.Met0, 00000, Locations7.Met0); + Util.AddCBWithOffset(locations, s.Gen7.Met3, 30000, Locations7.Met3); + Util.AddCBWithOffset(locations, s.Gen7.Met4, 40000, Locations7.Met4); + Util.AddCBWithOffset(locations, s.Gen7.Met6, 60000, Locations7.Met6); return locations; } private static List CreateGen7GG(GameStrings s) { - var locations = Util.GetCBList(s.metGG_00000, 0); - Util.AddCBWithOffset(locations, s.metGG_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metGG_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metGG_00000, 00000, Locations7b.Met0); - Util.AddCBWithOffset(locations, s.metGG_30000, 30000, Locations7b.Met3); - Util.AddCBWithOffset(locations, s.metGG_40000, 40000, Locations7b.Met4); - Util.AddCBWithOffset(locations, s.metGG_60000, 60000, Locations7b.Met6); + var locations = Util.GetCBList(s.Gen7b.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen7b.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen7b.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen7b.Met0, 00000, Locations7b.Met0); + Util.AddCBWithOffset(locations, s.Gen7b.Met3, 30000, Locations7b.Met3); + Util.AddCBWithOffset(locations, s.Gen7b.Met4, 40000, Locations7b.Met4); + Util.AddCBWithOffset(locations, s.Gen7b.Met6, 60000, Locations7b.Met6); return locations; } private static List CreateGen8(GameStrings s) { - var locations = Util.GetCBList(s.metSWSH_00000, 0); - Util.AddCBWithOffset(locations, s.metSWSH_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metSWSH_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metSWSH_00000, 00000, Locations8.Met0); - Util.AddCBWithOffset(locations, s.metSWSH_30000, 30000, Locations8.Met3); - Util.AddCBWithOffset(locations, s.metSWSH_40000, 40000, Locations8.Met4); - Util.AddCBWithOffset(locations, s.metSWSH_60000, 60000, Locations8.Met6); + var locations = Util.GetCBList(s.Gen8.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen8.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen8.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen8.Met0, 00000, Locations8.Met0); + Util.AddCBWithOffset(locations, s.Gen8.Met3, 30000, Locations8.Met3); + Util.AddCBWithOffset(locations, s.Gen8.Met4, 40000, Locations8.Met4); + Util.AddCBWithOffset(locations, s.Gen8.Met6, 60000, Locations8.Met6); // Add in the BDSP+PLA magic met locations. locations.Add(new ComboItem($"{s.EggName} (BD/SP)", Locations.HOME_SWSHBDSPEgg)); @@ -164,12 +166,12 @@ private static List CreateGen8(GameStrings s) private static List CreateGen8a(GameStrings s) { - var locations = Util.GetCBList(s.metLA_00000, 0); - Util.AddCBWithOffset(locations, s.metLA_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metLA_00000, 00000, Locations8a.Met0); - Util.AddCBWithOffset(locations, s.metLA_30000, 30000, Locations8a.Met3); - Util.AddCBWithOffset(locations, s.metLA_40000, 40000, Locations8a.Met4); - Util.AddCBWithOffset(locations, s.metLA_60000, 60000, Locations8a.Met6); + var locations = Util.GetCBList(s.Gen8a.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen8a.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen8a.Met0, 00000, Locations8a.Met0); + Util.AddCBWithOffset(locations, s.Gen8a.Met3, 30000, Locations8a.Met3); + Util.AddCBWithOffset(locations, s.Gen8a.Met4, 40000, Locations8a.Met4); + Util.AddCBWithOffset(locations, s.Gen8a.Met6, 60000, Locations8a.Met6); // Add in the BDSP+PLA magic met locations. locations.Add(new ComboItem($"{s.EggName} (BD/SP)", Locations.HOME_SWSHBDSPEgg)); @@ -183,13 +185,25 @@ private static List CreateGen8a(GameStrings s) private static List CreateGen8b(GameStrings s) { // Manually add invalid (-1) location from SWSH as ID 65535 - var locations = new List { new(s.metSWSH_00000[0], Locations.Default8bNone) }; - Util.AddCBWithOffset(locations, s.metBDSP_60000, 60000, Locations.Daycare5); - Util.AddCBWithOffset(locations, s.metBDSP_30000, 30000, Locations.LinkTrade6); - Util.AddCBWithOffset(locations, s.metBDSP_00000, 00000, Locations8b.Met0); - Util.AddCBWithOffset(locations, s.metBDSP_30000, 30000, Locations8b.Met3); - Util.AddCBWithOffset(locations, s.metBDSP_40000, 40000, Locations8b.Met4); - Util.AddCBWithOffset(locations, s.metBDSP_60000, 60000, Locations8b.Met6); + var locations = new List { new(s.Gen8.Met0[0], Locations.Default8bNone) }; + Util.AddCBWithOffset(locations, s.Gen8b.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen8b.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen8b.Met0, 00000, Locations8b.Met0); + Util.AddCBWithOffset(locations, s.Gen8b.Met3, 30000, Locations8b.Met3); + Util.AddCBWithOffset(locations, s.Gen8b.Met4, 40000, Locations8b.Met4); + Util.AddCBWithOffset(locations, s.Gen8b.Met6, 60000, Locations8b.Met6); + return locations; + } + + private static List CreateGen9(GameStrings s) + { + var locations = Util.GetCBList(s.Gen9.Met0, 0); + Util.AddCBWithOffset(locations, s.Gen9.Met6, 60000, Locations.Daycare5); + Util.AddCBWithOffset(locations, s.Gen9.Met3, 30000, Locations.LinkTrade6); + Util.AddCBWithOffset(locations, s.Gen9.Met0, 00000, Locations9.Met0); + Util.AddCBWithOffset(locations, s.Gen9.Met3, 30000, Locations9.Met3); + Util.AddCBWithOffset(locations, s.Gen9.Met4, 40000, Locations9.Met4); + Util.AddCBWithOffset(locations, s.Gen9.Met6, 60000, Locations9.Met6); return locations; } @@ -247,6 +261,7 @@ private IReadOnlyList GetLocationListInternal(GameVersion version, En SW or SH => Partition2(MetGen8, IsMetLocation8SWSH), BD or SP => Partition2(MetGen8b, IsMetLocation8BDSP), PLA => Partition2(MetGen8a, IsMetLocation8LA), + SL or VL => Partition2(MetGen9, IsMetLocation9SV), _ => new List(GetLocationListModified(version, context)), }; diff --git a/PKHeX.Core/Game/GameUtil.cs b/PKHeX.Core/Game/GameUtil.cs index 10d32b9fc..02b67008f 100644 --- a/PKHeX.Core/Game/GameUtil.cs +++ b/PKHeX.Core/Game/GameUtil.cs @@ -77,6 +77,9 @@ private static GameVersion[] GetValidGameVersions() SW or SH => SWSH, BD or SP => BDSP, PLA => PLA, + + // Gen9 + SL or VL => SV, _ => Invalid, }; @@ -95,6 +98,7 @@ private static GameVersion[] GetValidGameVersions() 6 => AS, 7 => UM, 8 => SH, + 9 => VL, _ => Invalid, }; @@ -114,6 +118,7 @@ public static int GetGeneration(this GameVersion game) if (Gen7.Contains(game)) return 7; if (Gen7b.Contains(game)) return 7; if (Gen8.Contains(game)) return 8; + if (Gen9.Contains(game)) return 9; return -1; } @@ -142,6 +147,7 @@ public static ushort GetMaxSpeciesID(this GameVersion game) if (PLA == game) return Legal.MaxSpeciesID_8a; if (BDSP.Contains(game)) return Legal.MaxSpeciesID_8b; if (Gen8.Contains(game)) return Legal.MaxSpeciesID_8; + if (Gen9.Contains(game)) return Legal.MaxSpeciesID_9; return 0; } @@ -203,6 +209,9 @@ public static bool Contains(this GameVersion g1, GameVersion g2) SWSH => g2 is SW or SH, BDSP => g2 is BD or SP, Gen8 => SWSH.Contains(g2) || BDSP.Contains(g2) || PLA == g2, + + SV => g2 is SL or VL, + Gen9 => SV.Contains(g2), _ => false, }; } diff --git a/PKHeX.Core/Game/Locations/Locations.cs b/PKHeX.Core/Game/Locations/Locations.cs index 0dd33f82a..35fd67187 100644 --- a/PKHeX.Core/Game/Locations/Locations.cs +++ b/PKHeX.Core/Game/Locations/Locations.cs @@ -12,6 +12,8 @@ public static class Locations public const ushort Daycare4 = 2000; public const ushort Daycare5 = 60002; public const ushort Daycare8b = 60010; + public const ushort Picnic9 = 30023; + public const ushort TeraCavern9 = 30024; public const ushort LinkTrade2NPC = 126; public const ushort LinkTrade3NPC = 254; @@ -59,6 +61,9 @@ public static class Locations /// Solaceon Town in public const ushort HatchLocation8b = 446; + /// South Province (Area One) in + public const ushort HatchLocation9 = 6; + /// Generation 1 -> Generation 7 Transfer Location (Kanto) public const ushort Transfer1 = 30013; @@ -169,6 +174,7 @@ public static bool IsEggLocationBred4(int loc, GameVersion ver) public static bool IsEggLocationBred5(int loc) => loc is Daycare5 or LinkTrade5; public static bool IsEggLocationBred6(int loc) => loc is Daycare5 or LinkTrade6; public static bool IsEggLocationBred8b(int loc) => loc is Daycare8b or LinkTrade6NPC; + public static bool IsEggLocationBred9(int loc) => loc is Picnic9 or LinkTrade6; public static int GetDaycareLocation(int generation, GameVersion version) => generation switch { @@ -176,6 +182,7 @@ public static bool IsEggLocationBred4(int loc, GameVersion ver) 4 => Daycare4, 5 => Daycare5, 8 when version is GameVersion.BD or GameVersion.SP => Daycare8b, + 9 => Picnic9, _ => Daycare5, }; @@ -194,4 +201,5 @@ public static bool IsEggLocationBred4(int loc, GameVersion ver) public static bool IsMetLocation8SWSH(ushort z) => z <= 246; // at the Crown Tundra Station public static bool IsMetLocation8BDSP(ushort z) => z <= 657; // Ramanas Park (Genome Room) public static bool IsMetLocation8LA(ushort z) => z <= 155; // Training Grounds + public static bool IsMetLocation9SV(ushort z) => z <= 131; // Uva Academy } diff --git a/PKHeX.Core/Game/Locations/Locations4.cs b/PKHeX.Core/Game/Locations/Locations4.cs index dc03bf6d0..163540679 100644 --- a/PKHeX.Core/Game/Locations/Locations4.cs +++ b/PKHeX.Core/Game/Locations/Locations4.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core; internal static class Locations4 { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 000, 001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, diff --git a/PKHeX.Core/Game/Locations/Locations5.cs b/PKHeX.Core/Game/Locations/Locations5.cs index ecfd34275..9a392f89d 100644 --- a/PKHeX.Core/Game/Locations/Locations5.cs +++ b/PKHeX.Core/Game/Locations/Locations5.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core; internal static class Locations5 { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 001, 002, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, diff --git a/PKHeX.Core/Game/Locations/Locations7.cs b/PKHeX.Core/Game/Locations/Locations7.cs index ec54c2b2e..b338c7608 100644 --- a/PKHeX.Core/Game/Locations/Locations7.cs +++ b/PKHeX.Core/Game/Locations/Locations7.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core; internal static class Locations7 { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 002, 004, 006, 008, 010, 012, 014, 016, 018, diff --git a/PKHeX.Core/Game/Locations/Locations7b.cs b/PKHeX.Core/Game/Locations/Locations7b.cs index a05c3879e..b2a0c078c 100644 --- a/PKHeX.Core/Game/Locations/Locations7b.cs +++ b/PKHeX.Core/Game/Locations/Locations7b.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core; internal static class Locations7b { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, diff --git a/PKHeX.Core/Game/Locations/Locations8.cs b/PKHeX.Core/Game/Locations/Locations8.cs index 425302767..cde781681 100644 --- a/PKHeX.Core/Game/Locations/Locations8.cs +++ b/PKHeX.Core/Game/Locations/Locations8.cs @@ -2,14 +2,14 @@ namespace PKHeX.Core; internal static class Locations8 { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 002, 004, 006, 008, 012, 014, 016, 018, 020, 022, 024, 028, 030, 032, 034, 036, 040, 044, 046, 048, - 052, 054, 056, 058, + 052, 054, 056, 058, 060, 064, 066, 068, 070, 072, 076, 078, 080, 084, 086, 088, diff --git a/PKHeX.Core/Game/Locations/Locations8a.cs b/PKHeX.Core/Game/Locations/Locations8a.cs index 1593c1bf3..21c20e41f 100644 --- a/PKHeX.Core/Game/Locations/Locations8a.cs +++ b/PKHeX.Core/Game/Locations/Locations8a.cs @@ -2,7 +2,7 @@ namespace PKHeX.Core; internal static class Locations8a { - internal static readonly ushort[] Met0 = + internal static readonly byte[] Met0 = { 000, 002, 004, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, diff --git a/PKHeX.Core/Game/Locations/Locations9.cs b/PKHeX.Core/Game/Locations/Locations9.cs new file mode 100644 index 000000000..1daafef28 --- /dev/null +++ b/PKHeX.Core/Game/Locations/Locations9.cs @@ -0,0 +1,47 @@ +namespace PKHeX.Core; + +internal static class Locations9 +{ + internal static readonly byte[] Met0 = + { + 002, 004, 006, 008, + 010, 012, 014, 016, 018, + 020, 022, 024, 026, 028, + 030, 032, 034, 036, 038, + 040, 042, 044, 046, 048, + 050, 052, 054, 056, 058, + 060, 062, 064, 066, 068, + 070, 072, 074, 076, 078, + 080, 082, 084, 086, 088, + 090, 092, 094, 096, 098, + 102, 104, 106, 108, 110, + 110, 112, 114, 116, 118, + 120, 122, 124, 126, 128, + + 067, 069, + 099, 101, 103, 105, 107, 109, + 111, 113, 115, 117, + 130, 131, + }; + + internal static readonly ushort[] Met3 = + { + 30001, 30003, 30004, 30005, 30006, 30007, 30008, 30009, + 30010, 30011, 30012, 30013, 30014, 30015, 30016, 30017, 30018, 30019, + 30020, 30021, 30022, 30023, 30024, + }; + + internal static readonly ushort[] Met4 = + { + 40001, 40002, 40003, 40004, 40005, 40006, 40007, 40008, 40009, + 40010, 40011, 40012, 40013, 40014, 40015, 40016, 40017, 40018, 40019, + 40020, 40021, 40022, 40024, 40024, 40025, 40026, 40027, 40028, 40029, + 40030, 40032, 40033, 40034, 40035, 40036, 40037, 40038, 40039, 40039, + 40040, 40041, 40042, 40043, 40044, 40045, 40047, 40047, 40048, 40049, + 40050, 40051, 40052, 40053, 40054, 40055, 40056, 40057, 40058, 40059, + 40060, 40061, 40062, 40063, 40064, 40065, 40066, 40067, 40068, 40069, + 40070, 40071, 40072, 40073, 40074, 40075, 40076, 40077, 40078, + }; + + internal static readonly ushort[] Met6 = {/* XY */ 60001, 60003, /* ORAS */ 60004 }; +} diff --git a/PKHeX.Core/Legality/Areas/EncounterArea9.cs b/PKHeX.Core/Legality/Areas/EncounterArea9.cs new file mode 100644 index 000000000..949ad3344 --- /dev/null +++ b/PKHeX.Core/Legality/Areas/EncounterArea9.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// +/// encounter area +/// +public sealed record EncounterArea9 : EncounterArea +{ + public readonly EncounterSlot9[] Slots; + + protected override IReadOnlyList Raw => Slots; + + public static EncounterArea9[] GetAreas(BinLinkerAccessor input, GameVersion game) + { + var result = new EncounterArea9[input.Length]; + for (int i = 0; i < result.Length; i++) + result[i] = new EncounterArea9(input[i], game); + return result; + } + + private EncounterArea9(ReadOnlySpan areaData, GameVersion game) : base(game) + { + Location = areaData[0]; + Slots = ReadSlots(areaData[2..]); + } + + private EncounterSlot9[] ReadSlots(ReadOnlySpan areaData) + { + const int size = 6; + var result = new EncounterSlot9[areaData.Length / size]; + for (int i = 0; i < result.Length; i++) + { + var slot = areaData[(i * size)..]; + var species = ReadUInt16LittleEndian(slot); + var form = slot[2]; + var gender = (sbyte)slot[3]; + var min = slot[4]; + var max = slot[5]; + result[i] = new EncounterSlot9(this, species, form, min, max, gender); + } + return result; + } + + public override IEnumerable GetMatchingSlots(PKM pk, EvoCriteria[] chain) + { + var lvl = pk.Met_Level; + foreach (var slot in Slots) + { + foreach (var evo in chain) + { + if (slot.Species != evo.Species) + continue; + if (slot.Form != evo.Form && slot.Species is not ((int)Species.Rotom or (int)Species.Deerling or (int)Species.Sawsbuck or (int)Species.Oricorio)) + break; + if (slot.Gender != -1 && pk.Gender != slot.Gender) + break; + if (!slot.IsLevelWithinRange(lvl)) + break; + + yield return slot; + break; + } + } + } +} diff --git a/PKHeX.Core/Legality/Breeding.cs b/PKHeX.Core/Legality/Breeding.cs index d031213e1..bcb8ff1cf 100644 --- a/PKHeX.Core/Legality/Breeding.cs +++ b/PKHeX.Core/Legality/Breeding.cs @@ -25,6 +25,7 @@ public static class Breeding X, Y, OR, AS, SN, MN, US, UM, SW, SH, BD, SP, + SL, VL, GS, }; @@ -86,6 +87,7 @@ internal static bool GetCanInheritMoves(ushort species) { 3 => SplitBreed_3, 4 or 5 or 6 or 7 or 8 => SplitBreed, + // Gen9 does not have split-breed egg generation. _ => Array.Empty(), }; @@ -205,5 +207,12 @@ public static bool CanHatchAsEgg(ushort species, byte form, GameVersion game) (int)Regieleki, (int)Regidrago, (int)Glastrier, (int)Spectrier, (int)Calyrex, (int)Enamorus, + + // Gen9 + (int)Gimmighoul, (int)Gholdengo, + (int)GreatTusk, (int)BruteBonnet, (int)_980, (int)SandyShocks, (int)ScreamTail, (int)FlutterMane, (int)SlitherWing, (int)RoaringMoon, + (int)IronTreads, (int)_987, (int)IronMoth, (int)IronHands, (int)IronJugulis, (int)IronThorns, (int)IronBundle, (int)IronValiant, + (int)TingLu, (int)ChienPao, (int)WoChien, (int)ChiYu, + (int)Koraidon, (int)Miraidon, }; } diff --git a/PKHeX.Core/Legality/BulkAnalysis.cs b/PKHeX.Core/Legality/BulkAnalysis.cs index b20a96838..c13e040b6 100644 --- a/PKHeX.Core/Legality/BulkAnalysis.cs +++ b/PKHeX.Core/Legality/BulkAnalysis.cs @@ -203,6 +203,8 @@ private void CheckHandlerFlag() var withOT = tr.IsFromTrainer(pk); var flag = pk.CurrentHandler; var expect = withOT ? 0 : 1; + if (pk.Version == 0) + expect = 0; if (flag != expect) AddLine(cs, LegalityCheckStrings.LTransferCurrentHandlerInvalid, CheckIdentifier.Trainer); @@ -352,7 +354,7 @@ private bool VerifyIDReuse(SlotCache ps, LegalityAnalysis pa, SlotCache cs, Lega private static bool IsSharedVersion(PKM pp, LegalityAnalysis pa, PKM cp, LegalityAnalysis ca) { - if (pp.Version == cp.Version) + if (pp.Version == cp.Version || pp.Version == 0 || cp.Version == 0) return false; // Traded eggs retain the original version ID, only on the same generation diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 9d355ecf4..5ca915b0d 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -58,6 +58,11 @@ public static partial class Legal internal static readonly Learnset[] LevelUpLA = LearnsetReader.GetArray(Get(Util.GetBinaryResource("lvlmove_la.pkl"), "la")); internal static readonly Learnset[] MasteryLA = LearnsetReader.GetArray(Get(Util.GetBinaryResource("mastery_la.pkl"), "la")); + // Gen 9 + internal static readonly ushort[][] EggMovesSV = EggMoves9.GetArray(Get(Util.GetBinaryResource("eggmove_sv.pkl"), "sv")); + internal static readonly ushort[][] ReminderSV = EggMoves9.GetArray(Get(Util.GetBinaryResource("reminder_sv.pkl"), "sv")); + internal static readonly Learnset[] LevelUpSV = LearnsetReader.GetArray(Get(Util.GetBinaryResource("lvlmove_sv.pkl"), "sv")); + internal static int GetMaxSpeciesOrigin(PKM pk) { if (pk.Format == 1) @@ -77,6 +82,7 @@ internal static int GetMaxSpeciesOrigin(PKM pk) 6 => MaxSpeciesID_6, 7 => MaxSpeciesID_7b, 8 => MaxSpeciesID_8a, + 9 => MaxSpeciesID_9, _ => -1, }; @@ -90,6 +96,7 @@ internal static int GetMaxSpeciesOrigin(PKM pk) 6 => (int) LanguageID.Korean, 7 => (int) LanguageID.ChineseT, 8 => (int) LanguageID.ChineseT, + 9 => (int) LanguageID.ChineseT, _ => -1, }; diff --git a/PKHeX.Core/Legality/Encounters/Data/EncounterEvent.cs b/PKHeX.Core/Legality/Encounters/Data/EncounterEvent.cs index 404ecd4eb..4968fa0a9 100644 --- a/PKHeX.Core/Legality/Encounters/Data/EncounterEvent.cs +++ b/PKHeX.Core/Legality/Encounters/Data/EncounterEvent.cs @@ -32,28 +32,34 @@ public static class EncounterEvent /// Event Database for Generation 8 public static IReadOnlyList MGDB_G8 { get; private set; } = Array.Empty(); - /// Event Database for Generation 8 + /// Event Database for Generation 8 public static IReadOnlyList MGDB_G8A { get; private set; } = Array.Empty(); /// Event Database for Generation 8 public static IReadOnlyList MGDB_G8B { get; private set; } = Array.Empty(); + /// Event Database for Generation 9 + public static IReadOnlyList MGDB_G9 { get; private set; } = Array.Empty(); + /// Indicates if the databases are initialized. public static bool Initialized => MGDB_G3.Count != 0; - private static PCD[] GetPCDDB(ReadOnlySpan bin) => Get(bin, PCD.Size, d => new PCD(d)); - private static PGF[] GetPGFDB(ReadOnlySpan bin) => Get(bin, PGF.Size, d => new PGF(d)); + private static PCD[] GetPCDDB(ReadOnlySpan bin) => Get(bin, PCD.Size, static d => new PCD(d)); + private static PGF[] GetPGFDB(ReadOnlySpan bin) => Get(bin, PGF.Size, static d => new PGF(d)); private static WC6[] GetWC6DB(ReadOnlySpan wc6bin, ReadOnlySpan wc6full) => WC6Full.GetArray(wc6full, wc6bin); private static WC7[] GetWC7DB(ReadOnlySpan wc7bin, ReadOnlySpan wc7full) => WC7Full.GetArray(wc7full, wc7bin); - private static WB7[] GetWB7DB(ReadOnlySpan bin) => Get(bin, WB7.SizeFull, d => new WB7(d)); - private static WC8[] GetWC8DB(ReadOnlySpan bin) => Get(bin, WC8.Size, d => new WC8(d)); - private static WB8[] GetWB8DB(ReadOnlySpan bin) => Get(bin, WB8.Size, d => new WB8(d)); - private static WA8[] GetWA8DB(ReadOnlySpan bin) => Get(bin, WA8.Size, d => new WA8(d)); + private static WB7[] GetWB7DB(ReadOnlySpan bin) => Get(bin, WB7.SizeFull, static d => new WB7(d)); + private static WC8[] GetWC8DB(ReadOnlySpan bin) => Get(bin, WC8.Size, static d => new WC8(d)); + private static WB8[] GetWB8DB(ReadOnlySpan bin) => Get(bin, WB8.Size, static d => new WB8(d)); + private static WA8[] GetWA8DB(ReadOnlySpan bin) => Get(bin, WA8.Size, static d => new WA8(d)); + private static WC9[] GetWC9DB(ReadOnlySpan bin) => Get(bin, WC9.Size, static d => new WC9(d)); private static T[] Get(ReadOnlySpan bin, int size, Func ctor) { + // bin is a multiple of size + // bin.Length % size == 0 var result = new T[bin.Length / size]; System.Diagnostics.Debug.Assert(result.Length * size == bin.Length); for (int i = 0; i < result.Length; i++) @@ -79,7 +85,10 @@ public static void RefreshMGDB(params string[] paths) ICollection g8 = GetWC8DB(Util.GetBinaryResource("wc8.pkl")); ICollection b8 = GetWB8DB(Util.GetBinaryResource("wb8.pkl")); ICollection a8 = GetWA8DB(Util.GetBinaryResource("wa8.pkl")); + ICollection g9 = GetWC9DB(Util.GetBinaryResource("wc9.pkl")); + // Load external files + // For each file, load the gift object into the appropriate list. var gifts = GetGifts(paths); foreach (var gift in gifts) { @@ -100,6 +109,7 @@ static void AddOrExpand(ref ICollection arr, T obj) case WC8 wc8: AddOrExpand(ref g8, wc8); continue; case WB8 wb8: AddOrExpand(ref b8, wb8); continue; case WA8 wa8: AddOrExpand(ref a8, wa8); continue; + case WC9 wc9: AddOrExpand(ref g9, wc9); continue; } } @@ -123,6 +133,7 @@ static T[] SetArray(ICollection arr) MGDB_G8 = SetArray(g8); MGDB_G8A = SetArray(a8); MGDB_G8B = SetArray(b8); + MGDB_G9 = SetArray(g9); } private static IEnumerable GetGifts(IEnumerable paths) @@ -137,6 +148,10 @@ private static IEnumerable GetGifts(IEnumerable paths) } } + /// + /// Gets all event gifts. + /// + /// If true, the result will be sorted by ascending species ID. Otherwise, will be ordered by generation ascending. public static IEnumerable GetAllEvents(bool sorted = true) { var regular = new IReadOnlyList[] @@ -149,6 +164,7 @@ public static IEnumerable GetAllEvents(bool sorted = true) MGDB_G8, MGDB_G8A, MGDB_G8B, + MGDB_G9, }.SelectMany(z => z); regular = regular.Where(mg => !mg.IsItem && mg.IsEntity && mg.Species > 0); var result = MGDB_G3.Concat(regular); diff --git a/PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs b/PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs index 772405286..4f12f76cf 100644 --- a/PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs +++ b/PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; namespace PKHeX.Core; @@ -8,7 +8,8 @@ namespace PKHeX.Core; /// internal static class EncounterUtil { - internal static BinLinkerAccessor Get(string resource, string ident) => BinLinkerAccessor.Get(Util.GetBinaryResource($"encounter_{resource}.pkl"), ident); + internal static ReadOnlySpan Get(string resource) => Util.GetBinaryResource($"encounter_{resource}.pkl"); + internal static BinLinkerAccessor Get(string resource, string ident) => BinLinkerAccessor.Get(Get(resource), ident); /// /// Gets the relevant objects that appear in the relevant game. @@ -16,11 +17,37 @@ internal static class EncounterUtil /// Table of valid encounters that appear for the game pairing /// Game to filter for /// Array of encounter objects that can be encountered in the input game - internal static T[] GetEncounters(T[] source, GameVersion game) where T : EncounterStatic + internal static T[] GetEncounters(T[] source, GameVersion game) where T : IVersion { return Array.FindAll(source, s => s.Version.Contains(game)); } + /// + /// Gets the relevant objects that appear in the relevant game. + /// + /// Table of valid encounters that appear for the game pairing + /// Game to filter out + /// Array of encounter objects that can be encountered in the input game + internal static T[] GetEncounters(T[][] source, GameVersion exclude) where T : EncounterStatic + { + var count = 0; + foreach (T[] arr in source) + count += arr.Length; + + var temp = new T[count]; + count = 0; + foreach (var arr in source) + { + foreach (var enc in arr) + { + if (enc.Version != exclude) + temp[count++] = enc; + } + } + Array.Resize(ref temp, count); + return temp; + } + internal static T? GetMinByLevel(EvoCriteria[] chain, IEnumerable possible) where T : class, IEncounterTemplate { // MinBy grading: prefer species-form match, select lowest min level encounter. diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters5.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters5.cs deleted file mode 100644 index f10f6ce18..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters5.cs +++ /dev/null @@ -1,618 +0,0 @@ -using static PKHeX.Core.EncounterUtil; -using static PKHeX.Core.GameVersion; -using static PKHeX.Core.AbilityPermission; - -namespace PKHeX.Core; - -/// -/// Generation 5 Encounters -/// -public static class Encounters5 -{ - internal static readonly EncounterArea5[] SlotsB = EncounterArea5.GetAreas(Get("b", "51"), B); - internal static readonly EncounterArea5[] SlotsW = EncounterArea5.GetAreas(Get("w", "51"), W); - internal static readonly EncounterArea5[] SlotsB2 = EncounterArea5.GetAreas(Get("b2", "52"), B2); - internal static readonly EncounterArea5[] SlotsW2 = EncounterArea5.GetAreas(Get("w2", "52"), W2); - - static Encounters5() - { - MarkEncounterTradeStrings(TradeGift_BW, TradeBW); - MarkEncounterTradeStrings(TradeGift_B2W2_Regular, TradeB2W2); - } - - #region Dream Radar Tables - - private static readonly EncounterStatic5DR[] Encounter_DreamRadar = - { - new(079, 0), // Slowpoke - new(120, 0), // Staryu - new(137, 0), // Porygon - new(163, 0), // Hoothoot - new(174, 0), // Igglybuff - new(175, 0), // Togepi - new(213, 0), // Shuckle - new(238, 0), // Smoochum - new(249, 0), // Lugia (SoulSilver cart) - new(250, 0), // Ho-Oh (HeartGold cart) - new(280, 0), // Ralts - new(333, 0), // Swablu - new(374, 0), // Beldum - new(425, 0), // Drifloon - new(436, 0), // Bronzor - new(442, 0), // Spiritomb - new(447, 0), // Riolu - new(479, 0, Any12), // Rotom (no HA) - new(483, 0), // Dialga (Diamond cart) - new(484, 0), // Palkia (Pearl cart) - new(487, 0), // Giratina (Platinum cart) - new(517, 0), // Munna - new(561, 0), // Sigilyph - new(641, 1), // Therian Tornadus - new(642, 1), // Therian Thundurus - new(645, 1), // Therian Landorus - }; - - #endregion - #region DreamWorld Encounter - - public static readonly EncounterStatic5[] DreamWorld_Common = DreamWorldEntry.GetArray(Gen5, new DreamWorldEntry[] - { - // Pleasant Forest - new(019, 10, 098, 382, 231), // Rattata - new(043, 10, 230, 298, 202), // Oddish - new(069, 10, 022, 235, 402), // Bellsprout - new(077, 10, 033, 037, 257), // Ponyta - new(083, 10, 210, 355, 348), // Farfetch'd - new(084, 10, 045, 175, 355), // Doduo - new(102, 10, 140, 235, 202), // Exeggcute - new(108, 10, 122, 214, 431), // Lickitung - new(114, 10, 079, 073, 402), // Tangela - new(115, 10, 252, 068, 409), // Kangaskhan - new(161, 10, 010, 203, 343), // Sentret - new(179, 10, 084, 115, 351), // Mareep - new(191, 10, 072, 230, 414), // Sunkern - new(234, 10, 033, 050, 285), // Stantler - new(261, 10, 336, 305, 399), // Poochyena - new(283, 10, 145, 056, 202), // Surskit - new(399, 10, 033, 401, 290), // Bidoof - new(403, 10, 268, 393, 400), // Shinx - new(431, 10, 252, 372, 290), // Glameow - new(054, 10, 346, 227, 362), // Psyduck - new(058, 10, 044, 034, 203), // Growlithe - new(123, 10, 098, 226, 366), // Scyther - new(128, 10, 099, 231, 431), // Tauros - new(183, 10, 111, 453, 008), // Marill - new(185, 10, 175, 205, 272), // Sudowoodo - new(203, 10, 093, 243, 285), // Girafarig - new(241, 10, 111, 174, 231), // Miltank - new(263, 10, 033, 271, 387), // Zigzagoon - new(427, 10, 193, 252, 409), // Buneary - new(037, 10, 046, 257, 399), // Vulpix - new(060, 10, 095, 054, 214), // Poliwag - new(177, 10, 101, 297, 202), // Natu - new(239, 10, 084, 238, 393), // Elekid - new(300, 10, 193, 321, 445), // Skitty - - // Windswept Sky - new(016, 10, 016, 211, 290), // Pidgey - new(021, 10, 064, 185, 211), // Spearow - new(041, 10, 048, 095, 162), // Zubat - new(142, 10, 044, 372, 446), // Aerodactyl - new(165, 10, 004, 450, 009), // Ledyba - new(187, 10, 235, 227, 340), // Hoppip - new(193, 10, 098, 364, 202), // Yanma - new(198, 10, 064, 109, 355), // Murkrow - new(207, 10, 028, 364, 366), // Gligar - new(225, 10, 217, 420, 264), // Delibird - new(276, 10, 064, 203, 413), // Taillow - new(397, 14, 017, 297, 366), // Staravia - new(227, 10, 064, 065, 355), // Skarmory - new(357, 10, 016, 073, 318), // Tropius - - // Sparkling Sea - new(086, 10, 029, 333, 214), // Seel - new(090, 10, 110, 112, 196), // Shellder - new(116, 10, 145, 190, 362), // Horsea - new(118, 10, 064, 060, 352), // Goldeen - new(129, 10, 150, 175, 340), // Magikarp - new(138, 10, 044, 330, 196), // Omanyte - new(140, 10, 071, 175, 446), // Kabuto - new(170, 10, 086, 133, 351), // Chinchou - new(194, 10, 055, 034, 401), // Wooper - new(211, 10, 040, 453, 290), // Qwilfish - new(223, 10, 199, 350, 362), // Remoraid - new(226, 10, 048, 243, 314), // Mantine - new(320, 10, 055, 214, 340), // Wailmer - new(339, 10, 189, 214, 209), // Barboach - new(366, 10, 250, 445, 392), // Clamperl - new(369, 10, 055, 214, 414), // Relicanth - new(370, 10, 204, 300, 196), // Luvdisc - new(418, 10, 346, 163, 352), // Buizel - new(456, 10, 213, 186, 352), // Finneon - new(072, 10, 048, 367, 202), // Tentacool - new(318, 10, 044, 037, 399), // Carvanha - new(341, 10, 106, 232, 283), // Corphish - new(345, 10, 051, 243, 202), // Lileep - new(347, 10, 010, 446, 440), // Anorith - new(349, 10, 150, 445, 243), // Feebas - new(131, 10, 109, 032, 196), // Lapras - new(147, 10, 086, 352, 225), // Dratini - - // Spooky Manor - new(092, 10, 095, 050, 482), // Gastly - new(096, 10, 095, 427, 409), // Drowzee - new(122, 10, 112, 298, 285), // Mr. Mime - new(167, 10, 040, 527, 450), // Spinarak - new(200, 10, 149, 194, 517), // Misdreavus - new(228, 10, 336, 364, 399), // Houndour - new(325, 10, 149, 285, 278), // Spoink - new(353, 10, 101, 194, 220), // Shuppet - new(355, 10, 050, 220, 271), // Duskull - new(358, 10, 035, 095, 304), // Chimecho - new(434, 10, 103, 492, 389), // Stunky - new(209, 10, 204, 370, 038), // Snubbull - new(235, 10, 166, 445, 214), // Smeargle - new(313, 10, 148, 271, 366), // Volbeat - new(314, 10, 204, 313, 366), // Illumise - new(063, 10, 100, 285, 356), // Abra - - // Rugged Mountain - new(066, 10, 067, 418, 270), // Machop - new(081, 10, 319, 278, 356), // Magnemite - new(109, 10, 123, 399, 482), // Koffing - new(218, 10, 052, 517, 257), // Slugma - new(246, 10, 044, 399, 446), // Larvitar - new(324, 10, 052, 090, 446), // Torkoal - new(328, 10, 044, 324, 202), // Trapinch - new(331, 10, 071, 298, 009), // Cacnea - new(412, 10, 182, 450, 173), // Burmy - new(449, 10, 044, 254, 276), // Hippopotas - new(240, 10, 052, 009, 257), // Magby - new(322, 10, 052, 034, 257), // Numel - new(359, 10, 364, 224, 276), // Absol - new(453, 10, 040, 409, 441), // Croagunk - new(236, 10, 252, 364, 183), // Tyrogue - new(371, 10, 044, 349, 200), // Bagon - - // Icy Cave - new(027, 10, 028, 068, 162), // Sandshrew - new(074, 10, 111, 446, 431), // Geodude - new(095, 10, 020, 446, 431), // Onix - new(100, 10, 268, 324, 363), // Voltorb - new(104, 10, 125, 195, 067), // Cubone - new(293, 10, 253, 283, 428), // Whismur - new(304, 10, 106, 283, 457), // Aron - new(337, 10, 093, 414, 236), // Lunatone - new(338, 10, 093, 428, 234), // Solrock - new(343, 10, 229, 356, 428), // Baltoy - new(459, 10, 075, 419, 202), // Snover - new(050, 10, 028, 251, 446), // Diglett - new(215, 10, 269, 008, 067), // Sneasel - new(361, 10, 181, 311, 352), // Snorunt - new(220, 10, 316, 246, 333), // Swinub - new(443, 10, 082, 200, 203), // Gible - - // Dream Park - new(046, 10, 078, 440, 235), // Paras - new(204, 10, 120, 390, 356), // Pineco - new(265, 10, 040, 450, 173), // Wurmple - new(273, 10, 074, 331, 492), // Seedot - new(287, 10, 281, 400, 389), // Slakoth - new(290, 10, 141, 203, 400), // Nincada - new(311, 10, 086, 435, 324), // Plusle - new(312, 10, 086, 435, 324), // Minun - new(316, 10, 139, 151, 202), // Gulpin - new(352, 10, 185, 285, 513), // Kecleon - new(401, 10, 522, 283, 253), // Kricketot - new(420, 10, 073, 505, 331), // Cherubi - new(455, 10, 044, 476, 380), // Carnivine - new(023, 10, 040, 251, 399), // Ekans - new(175, 10, 118, 381, 253), // Togepi - new(190, 10, 010, 252, 007), // Aipom - new(285, 10, 078, 331, 264), // Shroomish - new(315, 10, 074, 079, 129), // Roselia - new(113, 10, 045, 068, 270), // Chansey - new(127, 10, 011, 370, 382), // Pinsir - new(133, 10, 028, 204, 129), // Eevee - new(143, 10, 133, 007, 278), // Snorlax - new(214, 10, 030, 175, 264), // Heracross - - // Pokémon Café Forest - new(061, 25, 240, 114, 352), // Poliwhirl - new(133, 10, 270, 204, 129), // Eevee - new(235, 10, 166, 445, 214), // Smeargle - new(412, 10, 182, 450, 173), // Burmy - - // PGL - new(212, 10, 211, Gender: 0), // Scizor - new(445, 48, Gender: 0), // Garchomp - new(149, 55, 245, Gender: 0), // Dragonite - new(248, 55, 069, Gender: 0), // Tyranitar - new(376, 45, 038, Gender: 2), // Metagross - }); - - public static readonly EncounterStatic5[] DreamWorld_BW = DreamWorldEntry.GetArray(BW, new DreamWorldEntry[] - { - // Pleasant Forest - new(029, 10, 010, 389, 162), // Nidoran♀ - new(032, 10, 064, 068, 162), // Nidoran♂ - new(174, 10, 047, 313, 270), // Igglybuff - new(187, 10, 235, 270, 331), // Hoppip - new(270, 10, 071, 073, 352), // Lotad - new(276, 10, 064, 119, 366), // Taillow - new(309, 10, 086, 423, 324), // Electrike - new(351, 10, 052, 466, 352), // Castform - new(417, 10, 098, 343, 351), // Pachirisu - - // Windswept Sky - new(012, 10, 093, 355, 314), // Butterfree - new(163, 10, 193, 101, 278), // Hoothoot - new(278, 10, 055, 239, 351), // Wingull - new(333, 10, 064, 297, 355), // Swablu - new(425, 10, 107, 095, 285), // Drifloon - new(441, 10, 119, 417, 272), // Chatot - - // Sparkling Sea - new(079, 10, 281, 335, 362), // Slowpoke - new(098, 10, 011, 133, 290), // Krabby - new(119, 33, 352, 214, 203), // Seaking - new(120, 10, 055, 278, 196), // Staryu - new(222, 10, 145, 109, 446), // Corsola - new(422, 10, 189, 281, 290, Form: 0), // Shellos-West - new(422, 10, 189, 281, 290, Form: 1), // Shellos-East - - // Spooky Manor - new(202, 15, 243, 204, 227), // Wobbuffet - new(238, 10, 186, 445, 285), // Smoochum - new(303, 10, 313, 424, 008), // Mawile - new(307, 10, 096, 409, 203), // Meditite - new(436, 10, 095, 285, 356), // Bronzor - new(052, 10, 010, 095, 290), // Meowth - new(479, 10, 086, 351, 324), // Rotom - new(280, 10, 093, 194, 270), // Ralts - new(302, 10, 193, 389, 180), // Sableye - new(442, 10, 180, 220, 196), // Spiritomb - - // Rugged Mountain - new(056, 10, 067, 179, 009), // Mankey - new(111, 10, 030, 068, 038), // Rhyhorn - new(231, 10, 175, 484, 402), // Phanpy - new(451, 10, 044, 097, 401), // Skorupi - new(216, 10, 313, 242, 264), // Teddiursa - new(296, 10, 292, 270, 008), // Makuhita - new(327, 10, 383, 252, 276), // Spinda - new(374, 10, 036, 428, 442), // Beldum - new(447, 10, 203, 418, 264), // Riolu - - // Icy Cave - new(173, 10, 227, 312, 214), // Cleffa - new(213, 10, 227, 270, 504), // Shuckle - new(299, 10, 033, 446, 246), // Nosepass - new(363, 10, 181, 090, 401), // Spheal - new(408, 10, 029, 442, 007), // Cranidos - new(206, 10, 111, 277, 446), // Dunsparce - new(410, 10, 182, 068, 090), // Shieldon - - // Dream Park - new(048, 10, 050, 226, 285), // Venonat - new(088, 10, 139, 114, 425), // Grimer - new(415, 10, 016, 366, 314), // Combee - new(015, 10, 031, 314, 210), // Beedrill - new(335, 10, 098, 458, 067), // Zangoose - new(336, 10, 044, 034, 401), // Seviper - - // PGL - new(134, 10, Gender: 0), // Vaporeon - new(135, 10, Gender: 0), // Jolteon - new(136, 10, Gender: 0), // Flareon - new(196, 10, Gender: 0), // Espeon - new(197, 10, Gender: 0), // Umbreon - new(470, 10, Gender: 0), // Leafeon - new(471, 10, Gender: 0), // Glaceon - new(001, 10, Gender: 0), // Bulbasaur - new(004, 10, Gender: 0), // Charmander - new(007, 10, Gender: 0), // Squirtle - new(453, 10, Gender: 0), // Croagunk - new(387, 10, Gender: 0), // Turtwig - new(390, 10, Gender: 0), // Chimchar - new(393, 10, Gender: 0), // Piplup - new(493, 100), // Arceus - new(252, 10, Gender: 0), // Treecko - new(255, 10, Gender: 0), // Torchic - new(258, 10, Gender: 0), // Mudkip - new(468, 10, 217, Gender: 0), // Togekiss - new(473, 34, Gender: 0), // Mamoswine - new(137, 10), // Porygon - new(384, 50), // Rayquaza - new(354, 37, 538, Gender: 1), // Banette - new(453, 10, 398, Gender: 0), // Croagunk - new(334, 35, 206, Gender: 0), // Altaria - new(242, 10), // Blissey - new(448, 10, 418, Gender: 0), // Lucario - new(189, 27, 206, Gender: 0), // Jumpluff - }); - - public static readonly EncounterStatic5[] DreamWorld_B2W2 = DreamWorldEntry.GetArray(B2W2, new DreamWorldEntry[] - { - // Pleasant Forest - new(535, 10, 496, 414, 352), // Tympole - new(546, 10, 073, 227, 388), // Cottonee - new(548, 10, 079, 204, 230), // Petilil - new(588, 10, 203, 224, 450), // Karrablast - new(616, 10, 051, 226, 227), // Shelmet - new(545, 30, 342, 390, 276), // Scolipede - - // Windswept Sky - new(519, 10, 016, 095, 234), // Pidove - new(561, 10, 095, 500, 257), // Sigilyph - new(580, 10, 432, 362, 382), // Ducklett - new(587, 10, 098, 403, 204), // Emolga - - // Sparkling Sea - new(550, 10, 029, 097, 428, Form: 0), // Basculin-Red - new(550, 10, 029, 097, 428, Form: 1), // Basculin-Blue - new(594, 10, 392, 243, 220), // Alomomola - new(618, 10, 189, 174, 281), // Stunfisk - new(564, 10, 205, 175, 334), // Tirtouga - - // Spooky Manor - new(605, 10, 377, 112, 417), // Elgyem - new(624, 10, 210, 427, 389), // Pawniard - new(596, 36, 486, 050, 228), // Galvantula - new(578, 32, 105, 286, 271), // Duosion - new(622, 10, 205, 007, 009), // Golett - - // Rugged Mountain - new(631, 10, 510, 257, 202), // Heatmor - new(632, 10, 210, 203, 422), // Durant - new(556, 10, 042, 073, 191), // Maractus - new(558, 34, 157, 068, 400), // Crustle - new(553, 40, 242, 068, 212), // Krookodile - - // Icy Cave - new(529, 10, 229, 319, 431), // Drilbur - new(621, 10, 044, 424, 389), // Druddigon - new(525, 25, 479, 174, 484), // Boldore - new(583, 35, 429, 420, 286), // Vanillish - new(600, 38, 451, 356, 393), // Klang - new(610, 10, 082, 068, 400), // Axew - - // Dream Park - new(531, 10, 270, 227, 281), // Audino - new(538, 10, 020, 008, 276), // Throh - new(539, 10, 249, 009, 530), // Sawk - new(559, 10, 067, 252, 409), // Scraggy - new(533, 25, 067, 183, 409), // Gurdurr - - // PGL - new(575, 32, 243, Gender: 0), // Gothorita - new(025, 10, 029, Gender: 0), // Pikachu - new(511, 10, 437, Gender: 0), // Pansage - new(513, 10, 257, Gender: 0), // Pansear - new(515, 10, 056, Gender: 0), // Panpour - new(387, 10, 254, Gender: 0), // Turtwig - new(390, 10, 252, Gender: 0), // Chimchar - new(393, 10, 297, Gender: 0), // Piplup - new(575, 32, 286, Gender: 0), // Gothorita - }); - - #endregion - #region Static Encounter/Gift Tables - private static readonly EncounterStatic5[] Encounter_BW = - { - // Starters @ Nuvema Town - new(BW) { Gift = true, Species = 495, Level = 05, Location = 004 }, // Snivy - new(BW) { Gift = true, Species = 498, Level = 05, Location = 004 }, // Tepig - new(BW) { Gift = true, Species = 501, Level = 05, Location = 004 }, // Oshawott - - // Fossils @ Nacrene City - new(BW) { Gift = true, Species = 138, Level = 25, Location = 007 }, // Omanyte - new(BW) { Gift = true, Species = 140, Level = 25, Location = 007 }, // Kabuto - new(BW) { Gift = true, Species = 142, Level = 25, Location = 007 }, // Aerodactyl - new(BW) { Gift = true, Species = 345, Level = 25, Location = 007 }, // Lileep - new(BW) { Gift = true, Species = 347, Level = 25, Location = 007 }, // Anorith - new(BW) { Gift = true, Species = 408, Level = 25, Location = 007 }, // Cranidos - new(BW) { Gift = true, Species = 410, Level = 25, Location = 007 }, // Shieldon - new(BW) { Gift = true, Species = 564, Level = 25, Location = 007 }, // Tirtouga - new(BW) { Gift = true, Species = 566, Level = 25, Location = 007 }, // Archen - - // Gift - new(BW) { Gift = true, Species = 511, Level = 10, Location = 032 }, // Pansage @ Dreamyard - new(BW) { Gift = true, Species = 513, Level = 10, Location = 032 }, // Pansear - new(BW) { Gift = true, Species = 515, Level = 10, Location = 032 }, // Panpour - new(BW) { Gift = true, Species = 129, Level = 05, Location = 068 }, // Magikarp @ Marvelous Bridge - new(BW) { Gift = true, Species = 636, Level = 01, EggLocation = 60003 }, // Larvesta Egg from Treasure Hunter - - // Stationary - new(BW) { Species = 518, Level = 50, Location = 032, Ability = OnlyHidden }, // Musharna @ Dreamyard Friday Only - new(BW) { Species = 590, Level = 20, Location = 019 }, // Foongus @ Route 6 - new(BW) { Species = 590, Level = 30, Location = 023 }, // Foongus @ Route 10 - new(BW) { Species = 591, Level = 40, Location = 023 }, // Amoonguss @ Route 10 - new(BW) { Species = 555, Level = 35, Location = 034, Ability = OnlyHidden }, // HA Darmanitan @ Desert Resort - new(BW) { Species = 637, Level = 70, Location = 035 }, // Volcarona @ Relic Castle - - // Stationary Legendary - new(BW) { Species = 638, Level = 42, Location = 074 }, // Cobalion @ Guidance Chamber - new(BW) { Species = 639, Level = 42, Location = 073 }, // Terrakion @ Trial Chamber - new(BW) { Species = 640, Level = 42, Location = 055 }, // Virizion @ Rumination Field - new(B ) { Species = 643, Level = 50, Location = 045, Shiny = Shiny.Never }, // Reshiram @ N's Castle - new(B ) { Species = 643, Level = 50, Location = 039, Shiny = Shiny.Never }, // Reshiram @ Dragonspiral Tower - new( W) { Species = 644, Level = 50, Location = 045, Shiny = Shiny.Never }, // Zekrom @ N's Castle - new( W) { Species = 644, Level = 50, Location = 039, Shiny = Shiny.Never }, // Zekrom @ Dragonspiral Tower - new(BW) { Species = 645, Level = 70, Location = 070 }, // Landorus @ Abundant Shrine - new(BW) { Species = 646, Level = 75, Location = 061 }, // Kyurem @ Giant Chasm - - // Event - new(BW) { Species = 494, Level = 15, Location = 062, Shiny = Shiny.Never}, // Victini @ Liberty Garden - new(BW) { Species = 570, Level = 10, Location = 008, Shiny = Shiny.Never, Gender = 0 }, // Zorua @ Castelia City - new(BW) { Species = 571, Level = 25, Location = 072, Shiny = Shiny.Never, Gender = 1 }, // Zoroark @ Lostlorn Forest - - // Roamer - new(B ) { Roaming = true, Species = 641, Level = 40, Location = 25 }, // Tornadus - new( W) { Roaming = true, Species = 642, Level = 40, Location = 25 }, // Thundurus - }; - - private static readonly EncounterStatic5[] Encounter_B2W2_Regular = - { - // Starters @ Aspertia City - new(B2W2) { Gift = true, Species = 495, Level = 05, Location = 117 }, // Snivy - new(B2W2) { Gift = true, Species = 498, Level = 05, Location = 117 }, // Tepig - new(B2W2) { Gift = true, Species = 501, Level = 05, Location = 117 }, // Oshawott - - // Fossils @ Nacrene City - new(B2W2) { Gift = true, Species = 138, Level = 25, Location = 007 }, // Omanyte - new(B2W2) { Gift = true, Species = 140, Level = 25, Location = 007 }, // Kabuto - new(B2W2) { Gift = true, Species = 142, Level = 25, Location = 007 }, // Aerodactyl - new(B2W2) { Gift = true, Species = 345, Level = 25, Location = 007 }, // Lileep - new(B2W2) { Gift = true, Species = 347, Level = 25, Location = 007 }, // Anorith - new(B2W2) { Gift = true, Species = 408, Level = 25, Location = 007 }, // Cranidos - new(B2W2) { Gift = true, Species = 410, Level = 25, Location = 007 }, // Shieldon - new(B2W2) { Gift = true, Species = 564, Level = 25, Location = 007 }, // Tirtouga - new(B2W2) { Gift = true, Species = 566, Level = 25, Location = 007 }, // Archen - - // Gift - new(B2W2) { Gift = true, Species = 133, Level = 10, Location = 008, Ability = OnlyHidden }, // HA Eevee @ Castelia City - new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 0 }, // HA Deerling @ Route 6 - new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 1 }, // HA Deerling @ Route 6 - new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 2 }, // HA Deerling @ Route 6 - new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 3 }, // HA Deerling @ Route 6 - new(B2 ) { Gift = true, Species = 443, Level = 01, Location = 122, Shiny = Shiny.Always, Gender = 0 }, // Shiny Gible @ Floccesy Town - new( W2) { Gift = true, Species = 147, Level = 01, Location = 122, Shiny = Shiny.Always, Gender = 0 }, // Shiny Dratini @ Floccesy Town - new(B2W2) { Gift = true, Species = 129, Level = 05, Location = 068 } , // Magikarp @ Marvelous Bridge - new(B2W2) { Gift = true, Species = 440, Level = 01, EggLocation = 60003 }, // Happiny Egg from PKMN Breeder - - // Stationary - new(B2W2) { Species = 590, Level = 29, Location = 019 }, // Foongus @ Route 6 - new(B2W2) { Species = 591, Level = 43, Location = 024 }, // Amoonguss @ Route 11 - new(B2W2) { Species = 591, Level = 47, Location = 127 }, // Amoonguss @ Route 22 - new(B2W2) { Species = 591, Level = 56, Location = 128 }, // Amoonguss @ Route 23 - new(B2 ) { Species = 593, Level = 40, Location = 071, Ability = OnlyHidden, Gender = 0 }, // HA Jellicent @ Undella Bay Mon Only - new( W2) { Species = 593, Level = 40, Location = 071, Ability = OnlyHidden, Gender = 1 }, // HA Jellicent @ Undella Bay Thurs Only - new(B2W2) { Species = 593, Level = 40, Location = 071 }, // HA Jellicent @ Undella Bay EncounterSlot collision - new( W2) { Species = 628, Level = 25, Location = 017, Ability = OnlyHidden, Gender = 0 }, // HA Braviary @ Route 4 Mon Only - new(B2 ) { Species = 630, Level = 25, Location = 017, Ability = OnlyHidden, Gender = 1 }, // HA Mandibuzz @ Route 4 Thurs Only - new(B2W2) { Species = 637, Level = 35, Location = 035 }, // Volcarona @ Relic Castle - new(B2W2) { Species = 637, Level = 65, Location = 035 }, // Volcarona @ Relic Castle - new(B2W2) { Species = 558, Level = 42, Location = 141 }, // Crustle @ Seaside Cave - new(B2W2) { Species = 612, Level = 60, Location = 147, Shiny = Shiny.Always}, // Haxorus @ Nature Preserve - - // Stationary Legendary - new(B2W2) { Species = 377, Level = 65, Location = 150 }, // Regirock @ Rock Peak Chamber - new(B2W2) { Species = 378, Level = 65, Location = 151 }, // Regice @ Iceberg Chamber - new(B2W2) { Species = 379, Level = 65, Location = 152 }, // Registeel @ Iron Chamber - new( W2) { Species = 380, Level = 68, Location = 032 }, // Latias @ Dreamyard - new(B2 ) { Species = 381, Level = 68, Location = 032 }, // Latios @ Dreamyard - new(B2W2) { Species = 480, Level = 65, Location = 007 }, // Uxie @ Nacrene City - new(B2W2) { Species = 481, Level = 65, Location = 056 }, // Mesprit @ Celestial Tower - new(B2W2) { Species = 482, Level = 65, Location = 128 }, // Azelf @ Route 23 - new(B2W2) { Species = 485, Level = 68, Location = 132 }, // Heatran @ Reversal Mountain - new(B2W2) { Species = 486, Level = 68, Location = 038 }, // Regigigas @ Twist Mountain - new(B2W2) { Species = 488, Level = 68, Location = 068 }, // Cresselia @ Marvelous Bridge - new(B2W2) { Species = 638, Level = 45, Location = 026 }, // Cobalion @ Route 13 - new(B2W2) { Species = 638, Level = 65, Location = 026 }, // Cobalion @ Route 13 - new(B2W2) { Species = 639, Level = 45, Location = 127 }, // Terrakion @ Route 22 - new(B2W2) { Species = 639, Level = 65, Location = 127 }, // Terrakion @ Route 22 - new(B2W2) { Species = 640, Level = 45, Location = 024 }, // Virizion @ Route 11 - new(B2W2) { Species = 640, Level = 65, Location = 024 }, // Virizion @ Route 11 - new( W2) { Species = 643, Level = 70, Location = 039, Shiny = Shiny.Never }, // Reshiram @ Dragonspiral Tower - new(B2 ) { Species = 644, Level = 70, Location = 039, Shiny = Shiny.Never }, // Zekrom @ Dragonspiral Tower - new(B2W2) { Species = 646, Level = 70, Location = 061, Form = 0 }, // Kyurem @ Giant Chasm - }; - - private static readonly EncounterStatic5N[] Encounter_B2W2_N = - { - // N's Pokemon - new(0xFF01007F) { Species = 509, Level = 07, Location = 015, Ability = OnlySecond, Nature = Nature.Timid }, // Purloin @ Route 2 - new(0xFF01007F) { Species = 519, Level = 13, Location = 033, Ability = OnlySecond, Nature = Nature.Sassy }, // Pidove @ Pinwheel Forest - new(0xFF00003F) { Species = 532, Level = 13, Location = 033, Ability = OnlyFirst, Nature = Nature.Rash }, // Timburr @ Pinwheel Forest - new(0xFF01007F) { Species = 535, Level = 13, Location = 033, Ability = OnlySecond, Nature = Nature.Modest }, // Tympole @ Pinwheel Forest - new(0xFF00007F) { Species = 527, Level = 55, Location = 053, Ability = OnlyFirst, Nature = Nature.Timid }, // Woobat @ Wellspring Cave - new(0xFF01007F) { Species = 551, Level = 22, Location = 034, Ability = OnlySecond, Nature = Nature.Docile }, // Sandile @ Desert Resort - new(0xFF00007F) { Species = 554, Level = 22, Location = 034, Ability = OnlyFirst, Nature = Nature.Naive }, // Darumaka @ Desert Resort - new(0xFF00007F) { Species = 555, Level = 35, Location = 034, Ability = OnlyHidden, Nature = Nature.Calm }, // Darmanitan @ Desert Resort - new(0xFF00007F) { Species = 559, Level = 22, Location = 034, Ability = OnlyFirst, Nature = Nature.Lax }, // Scraggy @ Desert Resort - new(0xFF01007F) { Species = 561, Level = 22, Location = 034, Ability = OnlySecond, Nature = Nature.Gentle }, // Sigilyph @ Desert Resort - new(0xFF00007F) { Species = 525, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Naive }, // Boldore @ Chargestone Cave - new(0xFF01007F) { Species = 595, Level = 28, Location = 037, Ability = OnlySecond, Nature = Nature.Docile }, // Joltik @ Chargestone Cave - new(0xFF00007F) { Species = 597, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Bashful }, // Ferroseed @ Chargestone Cave - new(0xFF000000) { Species = 599, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Rash }, // Klink @ Chargestone Cave - new(0xFF00001F) { Species = 570, Level = 25, Location = 010, Ability = OnlyFirst, Nature = Nature.Hasty, Gift = true }, // N's Zorua @ Driftveil City - }; - - private static readonly EncounterStatic5[] Encounter_B2W2 = ArrayUtil.ConcatAll(Encounter_B2W2_Regular, Encounter_B2W2_N, Encounter_DreamRadar); - - #endregion - #region Trade Tables - - internal static readonly EncounterTrade5PID[] TradeGift_BW = - { - new(B , 0x64000000) { Species = 548, Level = 15, Ability = OnlyFirst, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Petilil - new( W, 0x6400007E) { Species = 546, Level = 15, Ability = OnlyFirst, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Cottonee - new(B , 0x9400007F) { Species = 550, Level = 25, Ability = OnlyFirst, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, Form = 0 }, // Basculin-Red - new( W, 0x9400007F) { Species = 550, Level = 25, Ability = OnlyFirst, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, Form = 1 }, // Basculin-Blue - new(BW, 0xD400007F) { Species = 587, Level = 30, Ability = OnlyFirst, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,20,31,20,20,20), Nature = Nature.Lax }, // Emolga - new(BW, 0x2A000000) { Species = 479, Level = 60, Ability = OnlyFirst, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new(20,20,20,20,20,31), Nature = Nature.Gentle }, // Rotom - new(BW, 0x6200001F) { Species = 446, Level = 60, Ability = OnlySecond, TID = 40217, SID = 00000, OTGender = 0, Gender = 0, IVs = new(31,20,20,20,20,20), Nature = Nature.Serious }, // Munchlax - }; - - internal static readonly EncounterTrade5[] TradeGift_B2W2_Regular = - { - new(B2 ) { Species = 548, Level = 20, Ability = OnlySecond, TID = 65217, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Timid }, // Petilil - new( W2) { Species = 546, Level = 20, Ability = OnlyFirst, TID = 05720, SID = 00001, OTGender = 0, Gender = 0, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Cottonee - new(B2W2) { Species = 526, Level = 35, Ability = OnlyFirst, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, IsNicknamed = false }, // Gigalith - new(B2W2) { Species = 465, Level = 45, Ability = OnlyFirst, TID = 27658, SID = 00001, OTGender = 0, Gender = 0, IVs = new(31,20,20,20,20,20), Nature = Nature.Hardy }, // Tangrowth - new(B2W2) { Species = 479, Level = 60, Ability = OnlyFirst, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new(20,20,20,20,20,31), Nature = Nature.Calm }, // Rotom - new(B2W2) { Species = 424, Level = 40, Ability = OnlySecond, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new(20,20,20,31,20,20), Nature = Nature.Jolly }, // Ambipom - new(B2W2) { Species = 065, Level = 40, Ability = OnlyFirst, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new(20,20,20,31,20,20), Nature = Nature.Timid }, // Alakazam - }; - - internal const int YancyTID = 10303; - internal const int CurtisTID = 54118; - private static readonly string[] TradeOT_B2W2_F = { string.Empty, "ルリ", "Yancy", "Brenda", "Lilì", "Sabine", string.Empty, "Belinda", "루리" }; - private static readonly string[] TradeOT_B2W2_M = { string.Empty, "テツ", "Curtis", "Julien", "Dadi", "Markus", string.Empty, "Julián", "철권" }; - - private static readonly EncounterTrade5[] TradeGift_B2W2_YancyCurtis = - { - // Player is Male - new(B2W2) { Species = 052, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Meowth - new(B2W2) { Species = 202, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Wobbuffet - new(B2W2) { Species = 280, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Ralts - new(B2W2) { Species = 410, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Shieldon - new(B2W2) { Species = 111, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Rhyhorn - new(B2W2) { Species = 422, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F, Form = 0 }, // Shellos-West - new(B2W2) { Species = 303, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Mawile - new(B2W2) { Species = 442, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Spiritomb - new(B2W2) { Species = 143, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Snorlax - new(B2W2) { Species = 216, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Teddiursa - new(B2W2) { Species = 327, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Spinda - new(B2W2) { Species = 175, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Togepi - - // Player is Female - new(B2W2) { Species = 056, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Mankey - new(B2W2) { Species = 202, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Wobbuffet - new(B2W2) { Species = 280, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Ralts - new(B2W2) { Species = 408, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Cranidos - new(B2W2) { Species = 111, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Rhyhorn - new(B2W2) { Species = 422, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M, Form = 1 }, // Shellos-East - new(B2W2) { Species = 302, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Sableye - new(B2W2) { Species = 442, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Spiritomb - new(B2W2) { Species = 143, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Snorlax - new(B2W2) { Species = 231, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Phanpy - new(B2W2) { Species = 327, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Spinda - new(B2W2) { Species = 175, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Togepi - }; - - private const string tradeBW = "tradebw"; - private const string tradeB2W2 = "tradeb2w2"; - private static readonly string[][] TradeBW = Util.GetLanguageStrings8(tradeBW); - private static readonly string[][] TradeB2W2 = Util.GetLanguageStrings8(tradeB2W2); - - internal static readonly EncounterTrade5[] TradeGift_B2W2 = ArrayUtil.ConcatAll(TradeGift_B2W2_Regular, TradeGift_B2W2_YancyCurtis); - - #endregion - - internal static readonly EncounterStatic5[] StaticB = ArrayUtil.ConcatAll(GetEncounters(Encounter_BW, B), DreamWorld_Common, DreamWorld_BW); - internal static readonly EncounterStatic5[] StaticW = ArrayUtil.ConcatAll(GetEncounters(Encounter_BW, W), DreamWorld_Common, DreamWorld_BW); - internal static readonly EncounterStatic5[] StaticB2 = ArrayUtil.ConcatAll(GetEncounters(Encounter_B2W2, B2), DreamWorld_Common, DreamWorld_B2W2); - internal static readonly EncounterStatic5[] StaticW2 = ArrayUtil.ConcatAll(GetEncounters(Encounter_B2W2, W2), DreamWorld_Common, DreamWorld_B2W2); -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8Nest.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8Nest.cs deleted file mode 100644 index 2b360d6d1..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8Nest.cs +++ /dev/null @@ -1,3044 +0,0 @@ -using System; -using System.Collections.Generic; -using static PKHeX.Core.GameVersion; - -namespace PKHeX.Core; - -internal static partial class Encounters8Nest -{ - #region Nest - // Location IDs for each Nest group - private const byte Nest000 = 00; - private const byte Nest001 = 01; - private const byte Nest002 = 02; - private const byte Nest003 = 03; - private const byte Nest004 = 04; - private const byte Nest005 = 05; - private const byte Nest006 = 06; - private const byte Nest007 = 07; - private const byte Nest008 = 08; - private const byte Nest009 = 09; - private const byte Nest010 = 10; - private const byte Nest011 = 11; - private const byte Nest012 = 12; - private const byte Nest013 = 13; - private const byte Nest014 = 14; - private const byte Nest015 = 15; - private const byte Nest016 = 16; - private const byte Nest017 = 17; - private const byte Nest018 = 18; - private const byte Nest019 = 19; - private const byte Nest020 = 20; - private const byte Nest021 = 21; - private const byte Nest022 = 22; - private const byte Nest023 = 23; - private const byte Nest024 = 24; - private const byte Nest025 = 25; - private const byte Nest026 = 26; - private const byte Nest027 = 27; - private const byte Nest028 = 28; - private const byte Nest029 = 29; - private const byte Nest030 = 30; - private const byte Nest031 = 31; - private const byte Nest032 = 32; - private const byte Nest033 = 33; - private const byte Nest034 = 34; - private const byte Nest035 = 35; - private const byte Nest036 = 36; - private const byte Nest037 = 37; - private const byte Nest038 = 38; - private const byte Nest039 = 39; - private const byte Nest040 = 40; - private const byte Nest041 = 41; - private const byte Nest042 = 42; - private const byte Nest043 = 43; - private const byte Nest044 = 44; - private const byte Nest045 = 45; - private const byte Nest046 = 46; - private const byte Nest047 = 47; - private const byte Nest048 = 48; - private const byte Nest049 = 49; - private const byte Nest050 = 50; - private const byte Nest051 = 51; - private const byte Nest052 = 52; - private const byte Nest053 = 53; - private const byte Nest054 = 54; - private const byte Nest055 = 55; - private const byte Nest056 = 56; - private const byte Nest057 = 57; - private const byte Nest058 = 58; - private const byte Nest059 = 59; - private const byte Nest060 = 60; - private const byte Nest061 = 61; - private const byte Nest062 = 62; - private const byte Nest063 = 63; - private const byte Nest064 = 64; - private const byte Nest065 = 65; - private const byte Nest066 = 66; - private const byte Nest067 = 67; - private const byte Nest068 = 68; - private const byte Nest069 = 69; - private const byte Nest070 = 70; - private const byte Nest071 = 71; - private const byte Nest072 = 72; - private const byte Nest073 = 73; - private const byte Nest074 = 74; - private const byte Nest075 = 75; - private const byte Nest076 = 76; - private const byte Nest077 = 77; - private const byte Nest078 = 78; - private const byte Nest079 = 79; - private const byte Nest080 = 80; - private const byte Nest081 = 81; - private const byte Nest082 = 82; - private const byte Nest083 = 83; - private const byte Nest084 = 84; - private const byte Nest085 = 85; - private const byte Nest086 = 86; - private const byte Nest087 = 87; - private const byte Nest088 = 88; - private const byte Nest089 = 89; - private const byte Nest090 = 90; - private const byte Nest091 = 91; - private const byte Nest092 = 92; - //private const byte Nest093 = 93; - //private const byte Nest094 = 94; - //private const byte Nest095 = 95; - //private const byte Nest096 = 96; - //private const byte Nest097 = 97; - private const byte Nest098 = 98; - private const byte Nest099 = 99; - private const byte Nest100 = 100; - private const byte Nest101 = 101; - private const byte Nest102 = 102; - private const byte Nest103 = 103; - private const byte Nest104 = 104; - private const byte Nest105 = 105; - private const byte Nest106 = 106; - private const byte Nest107 = 107; - private const byte Nest108 = 108; - private const byte Nest109 = 109; - private const byte Nest110 = 110; - private const byte Nest111 = 111; - private const byte Nest112 = 112; - private const byte Nest113 = 113; - private const byte Nest114 = 114; - private const byte Nest115 = 115; - private const byte Nest116 = 116; - private const byte Nest117 = 117; - private const byte Nest118 = 118; - private const byte Nest119 = 119; - private const byte Nest120 = 120; - private const byte Nest121 = 121; - private const byte Nest122 = 122; - private const byte Nest123 = 123; - private const byte Nest124 = 124; - private const byte Nest125 = 125; - private const byte Nest126 = 126; - private const byte Nest127 = 127; - private const byte Nest128 = 128; - private const byte Nest129 = 129; - private const byte Nest130 = 130; - private const byte Nest131 = 131; - private const byte Nest132 = 132; - private const byte Nest133 = 133; - private const byte Nest134 = 134; - private const byte Nest135 = 135; - private const byte Nest136 = 136; - private const byte Nest137 = 137; - private const byte Nest138 = 138; - private const byte Nest139 = 139; - private const byte Nest140 = 140; - private const byte Nest141 = 141; - private const byte Nest142 = 142; - private const byte Nest143 = 143; - private const byte Nest144 = 144; - private const byte Nest145 = 145; - private const byte Nest146 = 146; - private const byte Nest147 = 147; - private const byte Nest148 = 148; - private const byte Nest149 = 149; - private const byte Nest150 = 150; - private const byte Nest151 = 151; - private const byte Nest152 = 152; - private const byte Nest153 = 153; - private const byte Nest154 = 154; - private const byte Nest155 = 155; - private const byte Nest156 = 156; - private const byte Nest157 = 157; - private const byte Nest158 = 158; - private const byte Nest159 = 159; - private const byte Nest160 = 160; - private const byte Nest161 = 161; - private const byte Nest162 = 162; - private const byte Nest163 = 163; - private const byte Nest164 = 164; - private const byte Nest165 = 165; - private const byte Nest166 = 166; - private const byte Nest167 = 167; - private const byte Nest168 = 168; - private const byte Nest169 = 169; - private const byte Nest170 = 170; - private const byte Nest171 = 171; - private const byte Nest172 = 172; - private const byte Nest173 = 173; - private const byte Nest174 = 174; - private const byte Nest175 = 175; - private const byte Nest176 = 176; - private const byte Nest177 = 177; - private const byte Nest178 = 178; - private const byte Nest179 = 179; - private const byte Nest180 = 180; - private const byte Nest181 = 181; - private const byte Nest182 = 182; - private const byte Nest183 = 183; - private const byte Nest184 = 184; - private const byte Nest185 = 185; - private const byte Nest186 = 186; - private const byte Nest187 = 187; - private const byte Nest188 = 188; - private const byte Nest189 = 189; - private const byte Nest190 = 190; - private const byte Nest191 = 191; - private const byte Nest192 = 192; - private const byte Nest193 = 193; - private const byte Nest194 = 194; - private const byte Nest195 = 195; - private const byte Nest196 = 196; - - internal static readonly IReadOnlyList NestLocations = new [] - { - new byte[] {144, 134, 122}, // 000 : Stony Wilderness, South Lake Miloch, Rolling Fields - new byte[] {144, 126}, // 001 : Stony Wilderness, Watchtower Ruins - new byte[] {144, 122}, // 002 : Stony Wilderness, Rolling Fields - new byte[] {142, 124, 122}, // 003 : Bridge Field, Dappled Grove, Rolling Fields - new byte[] {142, 134}, // 004 : Bridge Field, South Lake Miloch - new byte[] {144, 126}, // 005 : Stony Wilderness, Watchtower Ruins - new byte[] {128, 130}, // 006 : East Lake Axewell, West Lake Axewell - new byte[] {154, 142, 134}, // 007 : Lake of Outrage, Bridge Field, South Lake Miloch - new byte[] {146, 130}, // 008 : Dusty Bowl, West Lake Axewell - new byte[] {146, 138}, // 009 : Dusty Bowl, North Lake Miloch - new byte[] {146, 136}, // 010 : Dusty Bowl, Giants Seat - new byte[] {150, 144, 136}, // 011 : Hammerlocke Hills, Stony Wilderness, Giants Seat - new byte[] {142}, // 012 : Bridge Field - new byte[] {150, 144, 140}, // 013 : Hammerlocke Hills, Stony Wilderness, Motostoke Riverbank - new byte[] {146, 136}, // 014 : Dusty Bowl, Giants Seat - new byte[] {142, 122}, // 015 : Bridge Field, Rolling Fields - new byte[] {146}, // 016 : Dusty Bowl - new byte[] {154, 152, 144}, // 017 : Lake of Outrage, Giants Cap, Stony Wilderness - new byte[] {150, 144}, // 018 : Hammerlocke Hills, Stony Wilderness - new byte[] {146}, // 019 : Dusty Bowl - new byte[] {146}, // 020 : Dusty Bowl - new byte[] {144}, // 021 : Stony Wilderness - new byte[] {150, 152}, // 022 : Hammerlocke Hills, Giants Cap - new byte[] {152, 140}, // 023 : Giants Cap, Motostoke Riverbank - new byte[] {154, 148}, // 024 : Lake of Outrage, Giants Mirror - new byte[] {124}, // 025 : Dappled Grove - new byte[] {148, 144, 142}, // 026 : Giants Mirror, Stony Wilderness, Bridge Field - new byte[] {148, 124, 146}, // 027 : Giants Mirror, Dappled Grove AND Dusty Bowl (Giant's Mirror load-line overlap) - new byte[] {138, 128}, // 028 : North Lake Miloch, East Lake Axewell - new byte[] {150, 152, 140}, // 029 : Hammerlocke Hills, Giants Cap, Motostoke Riverbank - new byte[] {128, 122}, // 030 : East Lake Axewell, Rolling Fields - new byte[] {150, 152}, // 031 : Hammerlocke Hills, Giants Cap - new byte[] {150, 122}, // 032 : Hammerlocke Hills, Rolling Fields - new byte[] {154, 142}, // 033 : Lake of Outrage, Bridge Field - new byte[] {144, 130}, // 034 : Stony Wilderness, West Lake Axewell - new byte[] {142, 146, 148}, // 035 : Bridge Field, Dusty Bowl, Giants Mirror - new byte[] {122}, // 036 : Rolling Fields - new byte[] {132}, // 037 : Axew's Eye - new byte[] {128, 122}, // 038 : East Lake Axewell, Rolling Fields - new byte[] {144, 142, 140}, // 039 : Stony Wilderness, Bridge Field, Motostoke Riverbank - new byte[] {134, 138}, // 040 : South Lake Miloch, North Lake Miloch - new byte[] {148, 130}, // 041 : Giants Mirror, West Lake Axewell - new byte[] {148, 144, 134, 146}, // 042 : Giants Mirror, Stony Wilderness, South Lake Miloch AND Dusty Bowl (Giant's Mirror load-line overlap) - new byte[] {154, 142, 128, 130}, // 043 : Lake of Outrage, Bridge Field, East Lake Axewell, West Lake Axewell - new byte[] {150, 136}, // 044 : Hammerlocke Hills, Giants Seat - new byte[] {142, 134, 122}, // 045 : Bridge Field, South Lake Miloch, Rolling Fields - new byte[] {126}, // 046 : Watchtower Ruins - new byte[] {146, 138, 122, 134}, // 047 : Dusty Bowl, North Lake Miloch, Rolling Fields, South Lake Miloch - new byte[] {146, 136}, // 048 : Dusty Bowl, Giants Seat - new byte[] {144, 140, 126}, // 049 : Stony Wilderness, Motostoke Riverbank, Watchtower Ruins - new byte[] {144, 136, 122}, // 050 : Stony Wilderness, Giants Seat, Rolling Fields - new byte[] {146, 142, 122}, // 051 : Dusty Bowl, Bridge Field, Rolling Fields - new byte[] {150}, // 052 : Hammerlocke Hills - new byte[] {146, 144}, // 053 : Dusty Bowl, Stony Wilderness - new byte[] {152, 146, 144}, // 054 : Giants Cap, Dusty Bowl, Stony Wilderness - new byte[] {154, 140}, // 055 : Lake of Outrage, Motostoke Riverbank - new byte[] {150}, // 056 : Hammerlocke Hills - new byte[] {124}, // 057 : Dappled Grove - new byte[] {144, 142, 124}, // 058 : Stony Wilderness, Bridge Field, Dappled Grove - new byte[] {152, 140, 138}, // 059 : Giants Cap, Motostoke Riverbank, North Lake Miloch - new byte[] {150, 128}, // 060 : Hammerlocke Hills, East Lake Axewell - new byte[] {150, 122}, // 061 : Hammerlocke Hills, Rolling Fields - new byte[] {144, 142, 130}, // 062 : Stony Wilderness, Bridge Field, West Lake Axewell - new byte[] {132, 122}, // 063 : Axew's Eye, Rolling Fields - new byte[] {142, 140, 128, 122}, // 064 : Bridge Field, Motostoke Riverbank, East Lake Axewell, Rolling Fields - new byte[] {144}, // 065 : Stony Wilderness - new byte[] {148}, // 066 : Giants Mirror - new byte[] {150}, // 067 : Hammerlocke Hills - new byte[] {148}, // 068 : Giants Mirror - new byte[] {148}, // 069 : Giants Mirror - new byte[] {152}, // 070 : Giants Cap - new byte[] {148}, // 071 : Giants Mirror - new byte[] {150}, // 072 : Hammerlocke Hills - new byte[] {154}, // 073 : Lake of Outrage - new byte[] {146, 130}, // 074 : Dusty Bowl, West Lake Axewell - new byte[] {138, 134}, // 075 : North Lake Miloch, South Lake Miloch - new byte[] {154}, // 076 : Lake of Outrage - new byte[] {152}, // 077 : Giants Cap - new byte[] {124}, // 078 : Dappled Grove - new byte[] {144}, // 079 : Stony Wilderness - new byte[] {144}, // 080 : Stony Wilderness - new byte[] {142}, // 081 : Bridge Field - new byte[] {136}, // 082 : Giants Seat - new byte[] {136}, // 083 : Giants Seat - new byte[] {144}, // 084 : Stony Wilderness - new byte[] {128}, // 085 : East Lake Axewell - new byte[] {142}, // 086 : Bridge Field - new byte[] {146}, // 087 : Dusty Bowl - new byte[] {152}, // 088 : Giants Cap - new byte[] {122}, // 089 : Rolling Fields - new byte[] {130, 134}, // 090 : West Lake Axewell, South Lake Miloch - new byte[] {142, 124}, // 091 : Bridge Field, Dappled Grove - new byte[] {146}, // 092 : Dusty Bowl - Array.Empty(), // 093 : None - Array.Empty(), // 094 : None - Array.Empty(), // 095 : None - Array.Empty(), // 096 : None - Array.Empty(), // 097 : None - new byte[] {164, 166, 188, 190}, // 098 : Fields of Honor, Soothing Wetlands, Stepping-Stone Sea, Insular Sea - new byte[] {164, 166, 188, 190}, // 099 : Fields of Honor, Soothing Wetlands, Stepping-Stone Sea, Insular Sea - new byte[] {166, 176, 180}, // 100 : Soothing Wetlands, Courageous Cavern, Training Lowlands - new byte[] {166, 176, 180}, // 101 : Soothing Wetlands, Courageous Cavern, Training Lowlands - new byte[] {170, 176, 184, 188}, // 102 : Challenge Beach, Courageous Cavern, Potbottom Desert, Stepping-Stone Sea - new byte[] {170, 176, 188}, // 103 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea - new byte[] {164, 168, 170, 192}, // 104 : Fields of Honor, Forest of Focus, Challenge Beach, Honeycalm Sea - new byte[] {164, 168, 170, 192}, // 105 : Fields of Honor, Forest of Focus, Challenge Beach, Honeycalm Sea - new byte[] {174, 178, 186, 188}, // 106 : Challenge Road, Loop Lagoon, Workout Sea, Stepping-Stone Sea - new byte[] {174, 178, 186, 188}, // 107 : Challenge Road, Loop Lagoon, Workout Sea, Stepping-Stone Sea - new byte[] {164, 168, 180, 186}, // 108 : Fields of Honor, Forest of Focus, Training Lowlands, Workout Sea - new byte[] {164, 168, 186}, // 109 : Fields of Honor, Forest of Focus, Workout Sea - new byte[] {164, 166, 180, 190}, // 110 : Fields of Honor, Soothing Wetlands, Training Lowlands, Insular Sea - new byte[] {164, 166, 180, 190}, // 111 : Fields of Honor, Soothing Wetlands, Training Lowlands, Insular Sea - new byte[] {164, 170, 178, 184}, // 112 : Fields of Honor, Challenge Beach, Loop Lagoon, Potbottom Desert - new byte[] {164, 170, 178, 184}, // 113 : Fields of Honor, Challenge Beach, Loop Lagoon, Potbottom Desert - new byte[] {164, 180, 184}, // 114 : Fields of Honor, Training Lowlands, Potbottom Desert - new byte[] {164, 180, 184}, // 115 : Fields of Honor, Training Lowlands, Potbottom Desert - new byte[] {166, 170, 180, 188}, // 116 : Soothing Wetlands, Challenge Beach, Training Lowlands, Stepping-Stone Sea - new byte[] {166, 170, 180, 188}, // 117 : Soothing Wetlands, Challenge Beach, Training Lowlands, Stepping-Stone Sea - new byte[] {166, 168, 180, 188}, // 118 : Soothing Wetlands, Forest of Focus, Training Lowlands, Stepping-Stone Sea - new byte[] {166, 168, 180, 188}, // 119 : Soothing Wetlands, Forest of Focus, Training Lowlands, Stepping-Stone Sea - new byte[] {166, 174, 186, 192}, // 120 : Soothing Wetlands, Challenge Road, Workout Sea, Honeycalm Sea - new byte[] {166, 174, 186, 192}, // 121 : Soothing Wetlands, Challenge Road, Workout Sea, Honeycalm Sea - new byte[] {164, 170, 174, 192}, // 122 : Fields of Honor, Challenge Beach, Challenge Road, Honeycalm Sea - new byte[] {164, 170, 174, 192}, // 123 : Fields of Honor, Challenge Beach, Challenge Road, Honeycalm Sea - new byte[] {164, 166, 168, 190}, // 124 : Fields of Honor, Soothing Wetlands, Forest of Focus, Insular Sea - new byte[] {164, 166, 168, 190}, // 125 : Fields of Honor, Soothing Wetlands, Forest of Focus, Insular Sea - new byte[] {170, 176, 188}, // 126 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea - new byte[] {170, 176, 188}, // 127 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea - new byte[] {172, 176, 188}, // 128 : Brawlers' Cave, Courageous Cavern, Stepping-Stone Sea - new byte[] {172, 176, 188}, // 129 : Brawlers' Cave, Courageous Cavern, Stepping-Stone Sea - new byte[] {178, 186, 192}, // 130 : Loop Lagoon, Workout Sea, Honeycalm Sea - new byte[] {186, 192}, // 131 : Workout Sea, Honeycalm Sea - new byte[] {164, 166, 176}, // 132 : Fields of Honor, Soothing Wetlands, Courageous Cavern - new byte[] {164, 166, 176}, // 133 : Fields of Honor, Soothing Wetlands, Courageous Cavern - new byte[] {166, 168, 170, 176}, // 134 : Soothing Wetlands, Forest of Focus, Challenge Beach, Courageous Cavern - new byte[] {166, 168, 170}, // 135 : Soothing Wetlands, Forest of Focus, Challenge Beach - new byte[] {164, 170, 178, 190}, // 136 : Fields of Honor, Challenge Beach, Loop Lagoon, Insular Sea - new byte[] {164, 170, 178}, // 137 : Fields of Honor, Challenge Beach, Loop Lagoon - new byte[] {186, 188, 190, 192}, // 138 : Workout Sea, Stepping-Stone Sea, Insular Sea, Honeycalm Sea - new byte[] {186, 188, 190, 192}, // 139 : Workout Sea, Stepping-Stone Sea, Insular Sea, Honeycalm Sea - Array.Empty(), // 140 : None - Array.Empty(), // 141 : None - new byte[] {194}, // 142 : Honeycalm Island - new byte[] {194}, // 143 : Honeycalm Island - new byte[] {168, 180}, // 144 : Forest of Focus, Training Lowlands - new byte[] {186, 188}, // 145 : Workout Sea, Stepping-Stone Sea - new byte[] {190}, // 146 : Insular Sea - new byte[] {176}, // 147 : Courageous Cavern - new byte[] {180}, // 148 : Training Lowlands - new byte[] {184}, // 149 : Potbottom Desert - new byte[] {178}, // 150 : Loop Lagoon - new byte[] {186}, // 151 : Workout Sea - new byte[] {186}, // 152 : Workout Sea - new byte[] {168, 180}, // 153 : Forest of Focus, Training Lowlands - new byte[] {186, 188}, // 154 : Workout Sea, Stepping-Stone Sea - new byte[] {174}, // 155 : Challenge Road - new byte[] {174}, // 156 : Challenge Road - - new byte[] {204,210,222,230}, // 157 : Slippery Slope, Giant's Bed, Giant's Foot, Ballimere Lake - new byte[] {204,210,222,230}, // 158 : Slippery Slope, Giant's Bed, Giant's Foot, Ballimere Lake - new byte[] {210,214,222,230}, // 159 : Giant's Bed, Snowslide Slope, Giant's Foot, Ballimere Lake - new byte[] {210,214,222,230}, // 160 : Giant's Bed, Snowslide Slope, Giant's Foot, Ballimere Lake - new byte[] {210,222,226,230}, // 161 : Giant's Bed, Giant's Foot, Frigid Sea, Ballimere Lake - new byte[] {210,222,226,230}, // 162 : Giant's Bed, Giant's Foot, Frigid Sea, Ballimere Lake - new byte[] {208,210,226,228,230},// 163 : Frostpoint Field, Giant's Bed, Frigid Sea, Three-Point Pass, Ballimere Lake - new byte[] {208,210,226,228,230},// 164 : Frostpoint Field, Giant's Bed, Frigid Sea, Three-Point Pass, Ballimere Lake - new byte[] {204,210,220,222,230},// 165 : Slippery Slope, Giant's Bed, Crown Shrine, Giant's Foot, Ballimere Lake - new byte[] {204,210,220,222,230},// 166 : Slippery Slope, Giant's Bed, Crown Shrine, Giant's Foot, Ballimere Lake - new byte[] {204,214,226}, // 167 : Slippery Slope, Snowslide Slope, Frigid Sea - new byte[] {204,214,226}, // 168 : Slippery Slope, Snowslide Slope, Frigid Sea - new byte[] {210,226}, // 169 : Giant's Bed, Frigid Sea - new byte[] {210,226}, // 170 : Giant's Bed, Frigid Sea - new byte[] {208,210,214,226,230},// 171 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake - new byte[] {208,210,214,226,230},// 172 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake - new byte[] {210,226,230}, // 173 : Giant's Bed, Frigid Sea, Ballimere Lake - new byte[] {210,226,230}, // 174 : Giant's Bed, Frigid Sea, Ballimere Lake - new byte[] {208,210,226,230,234},// 175 : Frostpoint Field, Giant's Bed, Frigid Sea, Ballimere Lake, Dyna Tree Hill - new byte[] {208,210,226,230,234},// 176 : Frostpoint Field, Giant's Bed, Frigid Sea, Ballimere Lake, Dyna Tree Hill - new byte[] {210,214,218,230}, // 177 : Giant's Bed, Snowslide Slope, Path to the Peak, Ballimere Lake - new byte[] {210,214,218,230}, // 178 : Giant's Bed, Snowslide Slope, Path to the Peak, Ballimere Lake - new byte[] {204,210,214,230}, // 179 : Slippery Slope, Giant's Bed, Snowslide Slope, Ballimere Lake - new byte[] {204,210,214,230}, // 180 : Slippery Slope, Giant's Bed, Snowslide Slope, Ballimere Lake - new byte[] {204,212,222,226,230},// 181 : Slippery Slope, Old Cemetery, Giant's Foot, Frigid Sea, Ballimere Lake - new byte[] {204,212,222,226,230},// 182 : Slippery Slope, Old Cemetery, Giant's Foot, Frigid Sea, Ballimere Lake - new byte[] {210,218,226,228,230},// 183 : Giant's Bed, Path to the Peak, Frigid Sea, Three-Point Pass, Ballimere Lake - new byte[] {210,218,226,228,230},// 184 : Giant's Bed, Path to the Peak, Frigid Sea, Three-Point Pass, Ballimere Lake - new byte[] {208,210,214,222,226},// 185 : Frostpoint Field, Giant's Bed, Snowslide Slope, Giant's Foot, Frigid Sea - new byte[] {208,210,214,222,226},// 186 : Frostpoint Field, Giant's Bed, Snowslide Slope, Giant's Foot, Frigid Sea - new byte[] {210,214,218,226}, // 187 : Giant's Bed, Snowslide Slope, Path to the Peak, Frigid Sea - new byte[] {210,214,218,226}, // 188 : Giant's Bed, Snowslide Slope, Path to the Peak, Frigid Sea - new byte[] {208,210,214,226,230},// 189 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake - new byte[] {208,210,214,226,230},// 190 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake - new byte[] {210,212,230}, // 191 : Giant's Bed, Old Cemetery, Ballimere Lake - new byte[] {210,212,230}, // 192 : Giant's Bed, Old Cemetery, Ballimere Lake - new byte[] {230}, // 193 : Ballimere Lake - new byte[] {230}, // 194 : Ballimere Lake - new byte[] {214}, // 195 : Snowslide Slope - new byte[] {214}, // 196 : Snowslide Slope - }; - - /// - /// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode. - /// - internal static readonly HashSet InaccessibleRank12DistributionLocations = new() {154,178,186,188,190,192,194,226,228,230,234}; // Areas that are entirely restricted to water - - /// - /// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode. - /// - internal static readonly Dictionary InaccessibleRank12Nests = new() - { - {128, new byte[] {6,43}}, // East Lake Axewell - {130, new byte[] {6,41,43}}, // West Lake Axewell - {132, new byte[] {37,63}}, // Axew's Eye - {134, new byte[] {7,40,75,90}}, // South Lake Miloch - {138, new byte[] {40,75}}, // North Lake Miloch - {142, new byte[] {7,43}}, // Bridge Field - {146, new byte[] {8,74}}, // Dusty Bowl - {148, new byte[] {41,66}}, // Giant's Mirror - {154, new byte[] {7,17,24,33,43,55,73,76}}, // Lake of Outrage - {164, new byte[] {136,137}}, // Fields of Honor - {168, new byte[] {124,125,134,135,144,153}}, // Forest of Focus - {170, new byte[] {126,127}}, // Challenge Beach - {176, new byte[] {132,133}}, // Courageous Cavern - {178, new byte[] {106,107,112,113,130,136,137,150}}, // Loop Lagoon - {180, new byte[] {116,117}}, // Training Lowlands - {186, new byte[] {106,107,108,109,120,121,130,131,138,139,145,151,152,154}}, // Workout Sea - {188, new byte[] {98,99,102,103,106,107,116,117,118,119,126,127,128,129,138,139,145,154}}, // Stepping-Stone Sea - {190, new byte[] {98,99,110,111,124,125,136,138,139,146}}, // Insular Sea - {192, new byte[] {104,105,120,121,122,123,130,131,138,139}}, // Honeycalm Sea - {194, new byte[] {142,143}}, // Honeycalm Island - {210, new byte[] {169,170,183,184}}, // Giant's Bed - {222, new byte[] {181,182,185,186}}, // Giant's Foot - {226, new byte[] {161,162,163,164,167,168,169,170,171,172,173,174,175,176,181,182,183,184,185,186,187,188,189,190}}, // Frigid Sea - {228, new byte[] {163,164,183,184}}, // Three-Point Pass - {230, new byte[] {157,158,159,160,161,162,163,164,165,166,171,172,173,174,175,176,177,178,179,180,181,182,183,184,189,190,191,192,193,194}}, // Ballimere Lake - {234, new byte[] {175,176}}, // Dyna Tree Hill - - {162, new byte[] {6,7,37,40,41,43,66,73,75,76,130,131,138,139,142,143,145,146,150,151,152,154,169,170,193,194}}, // Completely inaccessible - }; - - // Abilities Allowed - private const AbilityPermission A0 = AbilityPermission.OnlyFirst; - private const AbilityPermission A1 = AbilityPermission.OnlySecond; - private const AbilityPermission A2 = AbilityPermission.OnlyHidden; - private const AbilityPermission A3 = AbilityPermission.Any12; - private const AbilityPermission A4 = AbilityPermission.Any12H; - - internal const int SharedNest = 162; - internal const int Watchtower = 126; - internal const int MaxLair = 244; - - internal static readonly EncounterStatic8N[] Nest_Common = - { - new(Nest000,0,0,1,SWSH) { Species = 236, Ability = A3 }, // Tyrogue - new(Nest000,0,0,1,SWSH) { Species = 066, Ability = A3 }, // Machop - new(Nest000,0,1,1,SWSH) { Species = 532, Ability = A3 }, // Timburr - new(Nest000,1,2,2,SWSH) { Species = 067, Ability = A3 }, // Machoke - new(Nest000,1,2,2,SWSH) { Species = 533, Ability = A3 }, // Gurdurr - new(Nest000,4,4,4,SWSH) { Species = 068, Ability = A4 }, // Machamp - new(Nest001,0,0,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest001,0,0,1,SWSH) { Species = 517, Ability = A3 }, // Munna - new(Nest001,0,1,1,SWSH) { Species = 677, Ability = A3 }, // Espurr - new(Nest001,0,1,1,SWSH) { Species = 605, Ability = A3 }, // Elgyem - new(Nest001,1,2,2,SWSH) { Species = 281, Ability = A3 }, // Kirlia - new(Nest001,2,4,4,SWSH) { Species = 518, Ability = A3 }, // Musharna - new(Nest001,4,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest002,0,0,1,SWSH) { Species = 438, Ability = A3 }, // Bonsly - new(Nest002,0,1,1,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest002,1,2,2,SWSH) { Species = 111, Ability = A3 }, // Rhyhorn - new(Nest002,1,2,2,SWSH) { Species = 525, Ability = A3 }, // Boldore - new(Nest002,2,3,3,SWSH) { Species = 689, Ability = A3 }, // Barbaracle - new(Nest002,2,4,4,SWSH) { Species = 112, Ability = A3 }, // Rhydon - new(Nest002,2,4,4,SWSH) { Species = 185, Ability = A3 }, // Sudowoodo - new(Nest002,4,4,4,SWSH) { Species = 213, Ability = A4 }, // Shuckle - new(Nest003,0,0,1,SWSH) { Species = 010, Ability = A3 }, // Caterpie - new(Nest003,0,0,1,SWSH) { Species = 736, Ability = A3 }, // Grubbin - new(Nest003,0,1,1,SWSH) { Species = 290, Ability = A3 }, // Nincada - new(Nest003,0,1,1,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest003,1,2,2,SWSH) { Species = 011, Ability = A3 }, // Metapod - new(Nest003,1,2,2,SWSH) { Species = 632, Ability = A3 }, // Durant - new(Nest003,2,3,3,SWSH) { Species = 737, Ability = A3 }, // Charjabug - new(Nest003,2,4,4,SWSH) { Species = 291, Ability = A3 }, // Ninjask - new(Nest003,2,4,4,SWSH) { Species = 012, Ability = A3 }, // Butterfree - new(Nest003,3,4,4,SWSH) { Species = 596, Ability = A4 }, // Galvantula - new(Nest003,4,4,4,SWSH) { Species = 738, Ability = A4 }, // Vikavolt - new(Nest003,4,4,4,SWSH) { Species = 632, Ability = A4 }, // Durant - new(Nest004,0,0,1,SWSH) { Species = 010, Ability = A3 }, // Caterpie - new(Nest004,0,0,1,SWSH) { Species = 415, Ability = A3 }, // Combee - new(Nest004,0,1,1,SWSH) { Species = 742, Ability = A3 }, // Cutiefly - new(Nest004,0,1,1,SWSH) { Species = 824, Ability = A3 }, // Blipbug - new(Nest004,1,2,2,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest004,1,2,2,SWSH) { Species = 011, Ability = A3 }, // Metapod - new(Nest004,2,3,3,SWSH) { Species = 825, Ability = A3 }, // Dottler - new(Nest004,2,4,4,SWSH) { Species = 596, Ability = A3 }, // Galvantula - new(Nest004,2,4,4,SWSH) { Species = 012, Ability = A3 }, // Butterfree - new(Nest004,3,4,4,SWSH) { Species = 743, Ability = A4 }, // Ribombee - new(Nest004,4,4,4,SWSH) { Species = 416, Ability = A4 }, // Vespiquen - new(Nest004,4,4,4,SWSH) { Species = 826, Ability = A4 }, // Orbeetle - new(Nest005,0,0,1,SWSH) { Species = 092, Ability = A3 }, // Gastly - new(Nest005,0,0,1,SWSH) { Species = 355, Ability = A3 }, // Duskull - new(Nest005,0,1,1,SWSH) { Species = 425, Ability = A3 }, // Drifloon - new(Nest005,0,1,1,SWSH) { Species = 708, Ability = A3 }, // Phantump - new(Nest005,0,1,1,SWSH) { Species = 592, Ability = A3 }, // Frillish - new(Nest005,1,2,2,SWSH) { Species = 710, Ability = A3 }, // Pumpkaboo - new(Nest005,2,3,3,SWSH) { Species = 093, Ability = A3 }, // Haunter - new(Nest005,2,4,4,SWSH) { Species = 356, Ability = A3 }, // Dusclops - new(Nest005,2,4,4,SWSH) { Species = 426, Ability = A3 }, // Drifblim - new(Nest005,3,4,4,SWSH) { Species = 709, Ability = A4 }, // Trevenant - new(Nest005,4,4,4,SWSH) { Species = 711, Ability = A4 }, // Gourgeist - new(Nest005,4,4,4,SWSH) { Species = 593, Ability = A4 }, // Jellicent - //new(Nest006,0,0,1,SWSH) { Species = 129, Ability = A3 }, // Magikarp - //new(Nest006,0,0,1,SWSH) { Species = 458, Ability = A3 }, // Mantyke - new(Nest006,2,2,2,SWSH) { Species = 320, Ability = A3 }, // Wailmer - new(Nest006,2,3,3,SWSH) { Species = 224, Ability = A3 }, // Octillery - new(Nest006,2,4,4,SWSH) { Species = 226, Ability = A3 }, // Mantine - new(Nest006,2,4,4,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest006,3,4,4,SWSH) { Species = 321, Ability = A4 }, // Wailord - new(Nest006,4,4,4,SWSH) { Species = 746, Ability = A4 }, // Wishiwashi - new(Nest006,4,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - //new(Nest007,0,0,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - //new(Nest007,0,0,1,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - //new(Nest007,0,1,1,SWSH) { Species = 422, Ability = A3, Form = 1 }, // Shellos-1 - //new(Nest007,0,1,1,SWSH) { Species = 751, Ability = A3 }, // Dewpider - new(Nest007,2,2,2,SWSH) { Species = 320, Ability = A3 }, // Wailmer - new(Nest007,2,3,3,SWSH) { Species = 746, Ability = A3 }, // Wishiwashi - new(Nest007,2,4,4,SWSH) { Species = 834, Ability = A3 }, // Drednaw - new(Nest007,2,4,4,SWSH) { Species = 847, Ability = A3 }, // Barraskewda - new(Nest007,3,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest007,4,4,4,SWSH) { Species = 423, Ability = A4, Form = 1 }, // Gastrodon-1 - new(Nest007,4,4,4,SWSH) { Species = 321, Ability = A4 }, // Wailord - new(Nest008,0,0,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest008,0,0,1,SWSH) { Species = 194, Ability = A3 }, // Wooper - new(Nest008,0,1,1,SWSH) { Species = 535, Ability = A3 }, // Tympole - new(Nest008,0,1,1,SWSH) { Species = 341, Ability = A3 }, // Corphish - new(Nest008,1,2,2,SWSH) { Species = 536, Ability = A3 }, // Palpitoad - new(Nest008,2,3,3,SWSH) { Species = 834, Ability = A3 }, // Drednaw - new(Nest008,2,4,4,SWSH) { Species = 195, Ability = A3 }, // Quagsire - new(Nest008,2,4,4,SWSH) { Species = 771, Ability = A3 }, // Pyukumuku - new(Nest008,3,4,4,SWSH) { Species = 091, Ability = A4 }, // Cloyster - new(Nest008,4,4,4,SWSH) { Species = 537, Ability = A4 }, // Seismitoad - new(Nest008,4,4,4,SWSH) { Species = 342, Ability = A4 }, // Crawdaunt - new(Nest009,0,0,1,SWSH) { Species = 236, Ability = A3 }, // Tyrogue - new(Nest009,0,0,1,SWSH) { Species = 759, Ability = A3 }, // Stufful - new(Nest009,0,1,1,SWSH) { Species = 852, Ability = A3 }, // Clobbopus - new(Nest009,0,1,1,SWSH) { Species = 674, Ability = A3 }, // Pancham - new(Nest009,2,4,4,SWSH) { Species = 760, Ability = A3 }, // Bewear - new(Nest009,2,4,4,SWSH) { Species = 675, Ability = A3 }, // Pangoro - new(Nest009,2,4,4,SWSH) { Species = 701, Ability = A3 }, // Hawlucha - new(Nest009,4,4,4,SWSH) { Species = 853, Ability = A4 }, // Grapploct - new(Nest009,4,4,4,SWSH) { Species = 870, Ability = A4 }, // Falinks - new(Nest010,0,0,1,SWSH) { Species = 599, Ability = A3 }, // Klink - new(Nest010,0,0,1,SWSH) { Species = 052, Ability = A3, Form = 2 }, // Meowth-2 - new(Nest010,0,1,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest010,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest010,1,1,2,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest010,1,2,2,SWSH) { Species = 878, Ability = A3 }, // Cufant - new(Nest010,2,4,4,SWSH) { Species = 600, Ability = A3 }, // Klang - new(Nest010,2,4,4,SWSH) { Species = 863, Ability = A3 }, // Perrserker - new(Nest010,2,4,4,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest010,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest010,4,4,4,SWSH) { Species = 601, Ability = A4 }, // Klinklang - new(Nest010,4,4,4,SWSH) { Species = 879, Ability = A4 }, // Copperajah - new(Nest011,0,0,1,SWSH) { Species = 599, Ability = A3 }, // Klink - new(Nest011,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest011,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest011,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest011,1,1,2,SWSH) { Species = 599, Ability = A3 }, // Klink - new(Nest011,1,2,2,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest011,2,4,4,SWSH) { Species = 208, Ability = A3 }, // Steelix - new(Nest011,2,4,4,SWSH) { Species = 598, Ability = A3 }, // Ferrothorn - new(Nest011,2,4,4,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest011,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest011,4,4,4,SWSH) { Species = 777, Ability = A4 }, // Togedemaru - new(Nest012,0,0,1,SWSH) { Species = 439, Ability = A3 }, // Mime Jr. - new(Nest012,0,0,1,SWSH) { Species = 824, Ability = A3 }, // Blipbug - new(Nest012,2,3,3,SWSH) { Species = 561, Ability = A3 }, // Sigilyph - new(Nest012,2,3,3,SWSH) { Species = 178, Ability = A3 }, // Xatu - new(Nest012,4,4,4,SWSH) { Species = 858, Ability = A4 }, // Hatterene - new(Nest013,0,0,1,SWSH) { Species = 439, Ability = A3 }, // Mime Jr. - new(Nest013,0,0,1,SWSH) { Species = 360, Ability = A3 }, // Wynaut - new(Nest013,0,1,1,SWSH) { Species = 177, Ability = A3 }, // Natu - new(Nest013,0,1,1,SWSH) { Species = 343, Ability = A3 }, // Baltoy - new(Nest013,1,1,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest013,1,3,3,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest013,2,3,3,SWSH) { Species = 561, Ability = A3 }, // Sigilyph - new(Nest013,2,3,3,SWSH) { Species = 178, Ability = A3 }, // Xatu - new(Nest013,3,4,4,SWSH) { Species = 344, Ability = A4 }, // Claydol - new(Nest013,4,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest013,4,4,4,SWSH) { Species = 202, Ability = A4 }, // Wobbuffet - new(Nest014,0,0,1,SWSH) { Species = 837, Ability = A3 }, // Rolycoly - new(Nest014,0,1,1,SWSH) { Species = 688, Ability = A3 }, // Binacle - new(Nest014,1,1,1,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest014,1,2,2,SWSH) { Species = 525, Ability = A3 }, // Boldore - new(Nest014,2,3,3,SWSH) { Species = 558, Ability = A3 }, // Crustle - new(Nest014,2,4,4,SWSH) { Species = 689, Ability = A3 }, // Barbaracle - new(Nest014,4,4,4,SWSH) { Species = 464, Ability = A4 }, // Rhyperior - new(Nest015,0,0,1,SWSH) { Species = 050, Ability = A3 }, // Diglett - new(Nest015,0,0,1,SWSH) { Species = 749, Ability = A3 }, // Mudbray - new(Nest015,0,1,1,SWSH) { Species = 290, Ability = A3 }, // Nincada - new(Nest015,0,1,1,SWSH) { Species = 529, Ability = A3 }, // Drilbur - new(Nest015,1,1,1,SWSH) { Species = 095, Ability = A3 }, // Onix - new(Nest015,1,2,2,SWSH) { Species = 339, Ability = A3 }, // Barboach - new(Nest015,2,3,3,SWSH) { Species = 208, Ability = A3 }, // Steelix - new(Nest015,2,4,4,SWSH) { Species = 340, Ability = A3 }, // Whiscash - new(Nest015,2,4,4,SWSH) { Species = 660, Ability = A3 }, // Diggersby - new(Nest015,3,4,4,SWSH) { Species = 051, Ability = A4 }, // Dugtrio - new(Nest015,4,4,4,SWSH) { Species = 530, Ability = A4 }, // Excadrill - new(Nest015,4,4,4,SWSH) { Species = 750, Ability = A4 }, // Mudsdale - new(Nest016,0,0,1,SWSH) { Species = 843, Ability = A3 }, // Silicobra - new(Nest016,0,0,1,SWSH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest016,0,1,1,SWSH) { Species = 449, Ability = A3 }, // Hippopotas - new(Nest016,1,2,2,SWSH) { Species = 221, Ability = A3 }, // Piloswine - new(Nest016,4,4,4,SWSH) { Species = 867, Ability = A3 }, // Runerigus - new(Nest016,4,4,4,SWSH) { Species = 844, Ability = A4 }, // Sandaconda - new(Nest017,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest017,0,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest017,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest017,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest018,0,0,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest018,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest018,1,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest018,4,4,4,SWSH) { Species = 609, Ability = A4 }, // Chandelure - new(Nest019,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest019,0,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest019,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest019,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest019,3,4,4,SWSH) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest019,4,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest020,0,0,1,SWSH) { Species = 582, Ability = A3 }, // Vanillite - new(Nest020,0,0,1,SWSH) { Species = 220, Ability = A3 }, // Swinub - new(Nest020,0,1,1,SWSH) { Species = 459, Ability = A3 }, // Snover - new(Nest020,0,1,1,SWSH) { Species = 712, Ability = A3 }, // Bergmite - new(Nest020,1,1,1,SWSH) { Species = 225, Ability = A3 }, // Delibird - new(Nest020,1,2,2,SWSH) { Species = 583, Ability = A3 }, // Vanillish - new(Nest020,2,3,3,SWSH) { Species = 221, Ability = A3 }, // Piloswine - new(Nest020,2,4,4,SWSH) { Species = 713, Ability = A3 }, // Avalugg - new(Nest020,2,4,4,SWSH) { Species = 460, Ability = A3 }, // Abomasnow - new(Nest020,3,4,4,SWSH) { Species = 091, Ability = A4 }, // Cloyster - new(Nest020,4,4,4,SWSH) { Species = 584, Ability = A4 }, // Vanilluxe - new(Nest020,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest021,0,0,1,SWSH) { Species = 220, Ability = A3 }, // Swinub - new(Nest021,0,0,1,SWSH) { Species = 613, Ability = A3 }, // Cubchoo - new(Nest021,0,1,1,SWSH) { Species = 872, Ability = A3 }, // Snom - new(Nest021,0,1,1,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest021,1,1,1,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest021,1,2,2,SWSH) { Species = 221, Ability = A3 }, // Piloswine - new(Nest021,2,3,3,SWSH) { Species = 091, Ability = A3 }, // Cloyster - new(Nest021,2,4,4,SWSH) { Species = 614, Ability = A3 }, // Beartic - new(Nest021,2,4,4,SWSH) { Species = 866, Ability = A3 }, // Mr. Rime - new(Nest021,3,4,4,SWSH) { Species = 473, Ability = A4 }, // Mamoswine - new(Nest021,4,4,4,SWSH) { Species = 873, Ability = A4 }, // Frosmoth - new(Nest021,4,4,4,SWSH) { Species = 461, Ability = A4 }, // Weavile - new(Nest022,0,0,1,SWSH) { Species = 361, Ability = A3 }, // Snorunt - new(Nest022,0,0,1,SWSH) { Species = 872, Ability = A3 }, // Snom - new(Nest022,0,1,1,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest022,1,1,2,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest022,1,2,3,SWSH) { Species = 459, Ability = A3 }, // Snover - new(Nest022,2,3,3,SWSH) { Species = 460, Ability = A3 }, // Abomasnow - new(Nest022,2,4,4,SWSH) { Species = 362, Ability = A3 }, // Glalie - new(Nest022,2,4,4,SWSH) { Species = 866, Ability = A3 }, // Mr. Rime - new(Nest022,3,4,4,SWSH) { Species = 873, Ability = A4 }, // Frosmoth - new(Nest022,4,4,4,SWSH) { Species = 478, Ability = A4 }, // Froslass - new(Nest023,0,0,1,SWSH) { Species = 172, Ability = A3 }, // Pichu - new(Nest023,0,0,1,SWSH) { Species = 309, Ability = A3 }, // Electrike - new(Nest023,0,1,1,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest023,0,1,1,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest023,1,1,2,SWSH) { Species = 737, Ability = A3 }, // Charjabug - new(Nest023,1,2,3,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest023,2,3,3,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest023,2,4,4,SWSH) { Species = 310, Ability = A3 }, // Manectric - new(Nest023,2,4,4,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest023,3,4,4,SWSH) { Species = 596, Ability = A4 }, // Galvantula - new(Nest023,4,4,4,SWSH) { Species = 738, Ability = A4 }, // Vikavolt - new(Nest023,4,4,4,SWSH) { Species = 026, Ability = A4 }, // Raichu - new(Nest024,0,0,1,SWSH) { Species = 835, Ability = A3 }, // Yamper - new(Nest024,0,0,1,SWSH) { Species = 694, Ability = A3 }, // Helioptile - new(Nest024,0,1,1,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest024,0,1,1,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest024,1,1,2,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest024,1,2,3,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest024,2,3,3,SWSH) { Species = 836, Ability = A3 }, // Boltund - new(Nest024,2,4,4,SWSH) { Species = 695, Ability = A3 }, // Heliolisk - new(Nest024,2,4,4,SWSH) { Species = 849, Ability = A3 }, // Toxtricity - new(Nest024,3,4,4,SWSH) { Species = 871, Ability = A4 }, // Pincurchin - new(Nest024,4,4,4,SWSH) { Species = 777, Ability = A4 }, // Togedemaru - new(Nest024,4,4,4,SWSH) { Species = 877, Ability = A4 }, // Morpeko - new(Nest025,0,0,1,SWSH) { Species = 406, Ability = A3 }, // Budew - new(Nest025,0,1,1,SWSH) { Species = 761, Ability = A3 }, // Bounsweet - new(Nest025,0,1,1,SWSH) { Species = 043, Ability = A3 }, // Oddish - new(Nest025,1,2,3,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest025,2,3,3,SWSH) { Species = 044, Ability = A3 }, // Gloom - new(Nest025,2,4,4,SWSH) { Species = 762, Ability = A3 }, // Steenee - new(Nest025,3,4,4,SWSH) { Species = 763, Ability = A4 }, // Tsareena - new(Nest025,4,4,4,SWSH) { Species = 045, Ability = A4 }, // Vileplume - new(Nest025,4,4,4,SWSH) { Species = 182, Ability = A4 }, // Bellossom - new(Nest026,0,0,1,SWSH) { Species = 406, Ability = A3 }, // Budew - new(Nest026,0,0,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest026,0,1,1,SWSH) { Species = 546, Ability = A3 }, // Cottonee - new(Nest026,0,1,1,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest026,1,1,2,SWSH) { Species = 420, Ability = A3 }, // Cherubi - new(Nest026,1,2,2,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest026,2,3,3,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest026,2,4,4,SWSH) { Species = 598, Ability = A3 }, // Ferrothorn - new(Nest026,2,4,4,SWSH) { Species = 421, Ability = A3 }, // Cherrim - new(Nest026,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest026,4,4,4,SWSH) { Species = 547, Ability = A4 }, // Whimsicott - new(Nest027,0,0,1,SWSH) { Species = 710, Ability = A3, Form = 1 }, // Pumpkaboo-1 - new(Nest027,0,0,1,SWSH) { Species = 708, Ability = A3 }, // Phantump - new(Nest027,0,1,1,SWSH) { Species = 710, Ability = A3 }, // Pumpkaboo - new(Nest027,0,1,1,SWSH) { Species = 755, Ability = A3 }, // Morelull - new(Nest027,1,1,2,SWSH) { Species = 710, Ability = A3, Form = 2 }, // Pumpkaboo-2 - new(Nest027,1,2,2,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest027,2,3,3,SWSH) { Species = 756, Ability = A3 }, // Shiinotic - new(Nest027,2,4,4,SWSH) { Species = 556, Ability = A3 }, // Maractus - new(Nest027,2,4,4,SWSH) { Species = 709, Ability = A3 }, // Trevenant - new(Nest027,3,4,4,SWSH) { Species = 711, Ability = A4 }, // Gourgeist - new(Nest027,4,4,4,SWSH) { Species = 781, Ability = A4 }, // Dhelmise - new(Nest027,4,4,4,SWSH) { Species = 710, Ability = A4, Form = 3 }, // Pumpkaboo-3 - new(Nest028,0,0,1,SWSH) { Species = 434, Ability = A3 }, // Stunky - new(Nest028,0,0,1,SWSH) { Species = 568, Ability = A3 }, // Trubbish - new(Nest028,0,1,1,SWSH) { Species = 451, Ability = A3 }, // Skorupi - new(Nest028,1,2,2,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest028,2,3,3,SWSH) { Species = 211, Ability = A3 }, // Qwilfish - new(Nest028,2,4,4,SWSH) { Species = 452, Ability = A3 }, // Drapion - new(Nest028,2,4,4,SWSH) { Species = 045, Ability = A3 }, // Vileplume - new(Nest028,4,4,4,SWSH) { Species = 569, Ability = A4 }, // Garbodor - new(Nest029,0,0,1,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest029,0,0,1,SWSH) { Species = 092, Ability = A3 }, // Gastly - new(Nest029,0,1,1,SWSH) { Species = 451, Ability = A3 }, // Skorupi - new(Nest029,0,1,1,SWSH) { Species = 043, Ability = A3 }, // Oddish - new(Nest029,1,1,2,SWSH) { Species = 044, Ability = A3 }, // Gloom - new(Nest029,1,2,2,SWSH) { Species = 093, Ability = A3 }, // Haunter - new(Nest029,2,3,3,SWSH) { Species = 109, Ability = A3 }, // Koffing - new(Nest029,2,4,4,SWSH) { Species = 211, Ability = A3 }, // Qwilfish - new(Nest029,2,4,4,SWSH) { Species = 045, Ability = A3 }, // Vileplume - new(Nest029,3,4,4,SWSH) { Species = 315, Ability = A4 }, // Roselia - new(Nest029,4,4,4,SWSH) { Species = 849, Ability = A4 }, // Toxtricity - new(Nest029,4,4,4,SWSH) { Species = 110, Ability = A4, Form = 1 }, // Weezing-1 - new(Nest030,0,0,1,SWSH) { Species = 519, Ability = A3 }, // Pidove - new(Nest030,0,0,1,SWSH) { Species = 163, Ability = A3 }, // Hoothoot - new(Nest030,0,1,1,SWSH) { Species = 177, Ability = A3 }, // Natu - new(Nest030,1,1,2,SWSH) { Species = 527, Ability = A3 }, // Woobat - new(Nest030,1,2,2,SWSH) { Species = 520, Ability = A3 }, // Tranquill - new(Nest030,2,3,3,SWSH) { Species = 521, Ability = A3 }, // Unfezant - new(Nest030,2,4,4,SWSH) { Species = 164, Ability = A3 }, // Noctowl - new(Nest030,2,4,4,SWSH) { Species = 528, Ability = A3 }, // Swoobat - new(Nest030,3,4,4,SWSH) { Species = 178, Ability = A4 }, // Xatu - new(Nest030,4,4,4,SWSH) { Species = 561, Ability = A4 }, // Sigilyph - new(Nest031,0,0,1,SWSH) { Species = 821, Ability = A3 }, // Rookidee - new(Nest031,0,0,1,SWSH) { Species = 714, Ability = A3 }, // Noibat - new(Nest031,0,1,1,SWSH) { Species = 278, Ability = A3 }, // Wingull - new(Nest031,0,1,1,SWSH) { Species = 177, Ability = A3 }, // Natu - new(Nest031,1,1,2,SWSH) { Species = 425, Ability = A3 }, // Drifloon - new(Nest031,1,2,2,SWSH) { Species = 822, Ability = A3 }, // Corvisquire - new(Nest031,2,3,3,SWSH) { Species = 426, Ability = A3 }, // Drifblim - new(Nest031,2,4,4,SWSH) { Species = 279, Ability = A3 }, // Pelipper - new(Nest031,2,4,4,SWSH) { Species = 178, Ability = A3 }, // Xatu - new(Nest031,3,4,4,SWSH) { Species = 823, Ability = A4 }, // Corviknight - new(Nest031,4,4,4,SWSH) { Species = 701, Ability = A4 }, // Hawlucha - new(Nest031,4,4,4,SWSH) { Species = 845, Ability = A4 }, // Cramorant - new(Nest032,0,0,1,SWSH) { Species = 173, Ability = A3 }, // Cleffa - new(Nest032,0,0,1,SWSH) { Species = 175, Ability = A3 }, // Togepi - new(Nest032,0,1,1,SWSH) { Species = 742, Ability = A3 }, // Cutiefly - new(Nest032,1,1,2,SWSH) { Species = 035, Ability = A3 }, // Clefairy - new(Nest032,1,2,2,SWSH) { Species = 755, Ability = A3 }, // Morelull - new(Nest032,2,3,3,SWSH) { Species = 176, Ability = A3 }, // Togetic - new(Nest032,2,4,4,SWSH) { Species = 036, Ability = A3 }, // Clefable - new(Nest032,2,4,4,SWSH) { Species = 743, Ability = A3 }, // Ribombee - new(Nest032,3,4,4,SWSH) { Species = 756, Ability = A4 }, // Shiinotic - new(Nest032,4,4,4,SWSH) { Species = 468, Ability = A4 }, // Togekiss - new(Nest033,0,0,1,SWSH) { Species = 439, Ability = A3 }, // Mime Jr. - new(Nest033,0,0,1,SWSH) { Species = 868, Ability = A3 }, // Milcery - new(Nest033,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest033,0,1,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest033,1,1,2,SWSH) { Species = 035, Ability = A3 }, // Clefairy - new(Nest033,1,2,2,SWSH) { Species = 281, Ability = A3 }, // Kirlia - new(Nest033,2,3,3,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest033,2,4,4,SWSH) { Species = 036, Ability = A3 }, // Clefable - new(Nest033,2,4,4,SWSH) { Species = 282, Ability = A3 }, // Gardevoir - new(Nest033,3,4,4,SWSH) { Species = 869, Ability = A4 }, // Alcremie - new(Nest033,4,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest034,0,0,1,SWSH) { Species = 509, Ability = A3 }, // Purrloin - new(Nest034,0,0,1,SWSH) { Species = 434, Ability = A3 }, // Stunky - new(Nest034,0,1,1,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest034,0,1,1,SWSH) { Species = 686, Ability = A3 }, // Inkay - new(Nest034,1,1,2,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest034,1,2,2,SWSH) { Species = 510, Ability = A3 }, // Liepard - new(Nest034,2,3,3,SWSH) { Species = 435, Ability = A3 }, // Skuntank - new(Nest034,2,4,4,SWSH) { Species = 461, Ability = A3 }, // Weavile - new(Nest034,2,4,4,SWSH) { Species = 687, Ability = A3 }, // Malamar - new(Nest034,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest034,4,4,4,SWSH) { Species = 342, Ability = A4 }, // Crawdaunt - new(Nest035,0,0,1,SWSH) { Species = 827, Ability = A3 }, // Nickit - new(Nest035,0,0,1,SWSH) { Species = 263, Ability = A3, Form = 1 }, // Zigzagoon-1 - new(Nest035,0,1,1,SWSH) { Species = 509, Ability = A3 }, // Purrloin - new(Nest035,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest035,1,2,2,SWSH) { Species = 828, Ability = A3 }, // Thievul - new(Nest035,2,3,3,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest035,2,4,4,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest035,2,4,4,SWSH) { Species = 861, Ability = A3 }, // Grimmsnarl - new(Nest035,4,4,4,SWSH) { Species = 862, Ability = A4 }, // Obstagoon - new(Nest036,0,0,1,SWSH) { Species = 714, Ability = A3 }, // Noibat - new(Nest036,0,1,1,SWSH) { Species = 714, Ability = A3 }, // Noibat - new(Nest036,1,2,2,SWSH) { Species = 329, Ability = A3 }, // Vibrava - //new(Nest037,0,0,1,SWSH) { Species = 714, Ability = A3 }, // Noibat - //new(Nest037,0,0,1,SWSH) { Species = 840, Ability = A3 }, // Applin - //new(Nest037,0,1,1,SWSH) { Species = 885, Ability = A3 }, // Dreepy - //new(Nest037,1,1,2,SWSH) { Species = 714, Ability = A3 }, // Noibat - new(Nest037,2,2,2,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest037,2,3,3,SWSH) { Species = 886, Ability = A3 }, // Drakloak - new(Nest037,2,4,4,SWSH) { Species = 715, Ability = A3 }, // Noivern - new(Nest037,4,4,4,SWSH) { Species = 887, Ability = A4 }, // Dragapult - new(Nest038,0,0,1,SWSH) { Species = 659, Ability = A3 }, // Bunnelby - new(Nest038,0,0,1,SWSH) { Species = 163, Ability = A3 }, // Hoothoot - new(Nest038,0,1,1,SWSH) { Species = 519, Ability = A3 }, // Pidove - new(Nest038,0,1,1,SWSH) { Species = 572, Ability = A3 }, // Minccino - new(Nest038,1,1,2,SWSH) { Species = 694, Ability = A3 }, // Helioptile - new(Nest038,1,2,2,SWSH) { Species = 759, Ability = A3 }, // Stufful - new(Nest038,2,3,3,SWSH) { Species = 660, Ability = A3 }, // Diggersby - new(Nest038,2,4,4,SWSH) { Species = 164, Ability = A3 }, // Noctowl - new(Nest038,2,4,4,SWSH) { Species = 521, Ability = A3 }, // Unfezant - new(Nest038,3,4,4,SWSH) { Species = 695, Ability = A4 }, // Heliolisk - new(Nest038,4,4,4,SWSH) { Species = 573, Ability = A4 }, // Cinccino - new(Nest038,4,4,4,SWSH) { Species = 760, Ability = A4 }, // Bewear - new(Nest039,0,0,1,SWSH) { Species = 819, Ability = A3 }, // Skwovet - new(Nest039,0,0,1,SWSH) { Species = 831, Ability = A3 }, // Wooloo - new(Nest039,0,1,1,SWSH) { Species = 263, Ability = A3, Form = 1 }, // Zigzagoon-1 - new(Nest039,0,1,1,SWSH) { Species = 446, Ability = A3 }, // Munchlax - new(Nest039,1,2,2,SWSH) { Species = 820, Ability = A3 }, // Greedent - new(Nest039,2,3,3,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest039,2,4,4,SWSH) { Species = 820, Ability = A3 }, // Greedent - new(Nest039,2,4,4,SWSH) { Species = 832, Ability = A3 }, // Dubwool - new(Nest039,3,4,4,SWSH) { Species = 660, Ability = A4 }, // Diggersby - new(Nest039,4,4,4,SWSH) { Species = 143, Ability = A4 }, // Snorlax - //new(Nest040,0,0,1,SWSH) { Species = 535, Ability = A3 }, // Tympole - //new(Nest040,0,0,1,SWSH) { Species = 090, Ability = A3 }, // Shellder - //new(Nest040,0,1,1,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest040,2,2,2,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - new(Nest040,2,4,4,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest040,4,4,4,SWSH) { Species = 847, Ability = A4 }, // Barraskewda - //new(Nest041,0,0,1,SWSH) { Species = 422, Ability = A3, Form = 1 }, // Shellos-1 - //new(Nest041,0,0,1,SWSH) { Species = 098, Ability = A3 }, // Krabby - //new(Nest041,0,1,1,SWSH) { Species = 341, Ability = A3 }, // Corphish - //new(Nest041,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - //new(Nest041,1,1,2,SWSH) { Species = 688, Ability = A3 }, // Binacle - new(Nest041,2,2,2,SWSH) { Species = 771, Ability = A3 }, // Pyukumuku - new(Nest041,2,3,3,SWSH) { Species = 099, Ability = A3 }, // Kingler - new(Nest041,2,4,4,SWSH) { Species = 342, Ability = A3 }, // Crawdaunt - new(Nest041,2,4,4,SWSH) { Species = 689, Ability = A3 }, // Barbaracle - new(Nest041,3,4,4,SWSH) { Species = 423, Ability = A4, Form = 1 }, // Gastrodon-1 - new(Nest041,4,4,4,SWSH) { Species = 593, Ability = A4 }, // Jellicent - new(Nest041,4,4,4,SWSH) { Species = 834, Ability = A4 }, // Drednaw - new(Nest042,0,0,1,SWSH) { Species = 092, Ability = A3 }, // Gastly - new(Nest042,0,0,1,SWSH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest042,0,1,1,SWSH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest042,0,1,1,SWSH) { Species = 355, Ability = A3 }, // Duskull - new(Nest042,1,2,2,SWSH) { Species = 093, Ability = A3 }, // Haunter - new(Nest042,2,3,3,SWSH) { Species = 356, Ability = A3 }, // Dusclops - new(Nest042,4,4,4,SWSH) { Species = 477, Ability = A4 }, // Dusknoir - new(Nest042,4,4,4,SWSH) { Species = 094, Ability = A4 }, // Gengar - //new(Nest043,0,0,1,SWSH) { Species = 129, Ability = A3 }, // Magikarp - //new(Nest043,0,0,1,SWSH) { Species = 349, Ability = A3 }, // Feebas - //new(Nest043,0,1,1,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - //new(Nest043,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest043,2,2,2,SWSH) { Species = 747, Ability = A3 }, // Mareanie - new(Nest043,2,3,3,SWSH) { Species = 211, Ability = A3 }, // Qwilfish - new(Nest043,2,4,4,SWSH) { Species = 748, Ability = A3 }, // Toxapex - new(Nest043,3,4,4,SWSH) { Species = 771, Ability = A4 }, // Pyukumuku - new(Nest043,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest043,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest043,4,4,4,SWSH) { Species = 350, Ability = A4 }, // Milotic - new(Nest044,0,0,1,SWSH) { Species = 447, Ability = A3 }, // Riolu - new(Nest044,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest044,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest044,0,1,1,SWSH) { Species = 599, Ability = A3 }, // Klink - new(Nest044,1,2,2,SWSH) { Species = 095, Ability = A3 }, // Onix - new(Nest044,2,4,4,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest044,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest044,3,4,4,SWSH) { Species = 208, Ability = A4 }, // Steelix - new(Nest044,4,4,4,SWSH) { Species = 601, Ability = A4 }, // Klinklang - new(Nest044,4,4,4,SWSH) { Species = 448, Ability = A4 }, // Lucario - new(Nest045,0,0,1,SWSH) { Species = 767, Ability = A3 }, // Wimpod - new(Nest045,0,0,1,SWSH) { Species = 824, Ability = A3 }, // Blipbug - new(Nest045,0,1,1,SWSH) { Species = 751, Ability = A3 }, // Dewpider - new(Nest045,1,2,2,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest045,2,3,3,SWSH) { Species = 825, Ability = A3 }, // Dottler - new(Nest045,2,4,4,SWSH) { Species = 826, Ability = A3 }, // Orbeetle - new(Nest045,3,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest045,3,4,4,SWSH) { Species = 768, Ability = A4 }, // Golisopod - new(Nest045,4,4,4,SWSH) { Species = 292, Ability = A4 }, // Shedinja - new(Nest046,0,0,1,SWSH) { Species = 679, Ability = A3 }, // Honedge - new(Nest046,0,0,1,SWSH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest046,0,1,1,SWSH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest046,0,1,1,SWSH) { Species = 425, Ability = A3 }, // Drifloon - new(Nest046,1,2,2,SWSH) { Species = 680, Ability = A3 }, // Doublade - new(Nest046,2,3,3,SWSH) { Species = 426, Ability = A3 }, // Drifblim - new(Nest046,3,4,4,SWSH) { Species = 855, Ability = A4 }, // Polteageist - new(Nest046,4,4,4,SWSH) { Species = 867, Ability = A4 }, // Runerigus - new(Nest046,4,4,4,SWSH) { Species = 681, Ability = A4 }, // Aegislash - new(Nest047,0,0,1,SWSH) { Species = 447, Ability = A3 }, // Riolu - new(Nest047,0,0,1,SWSH) { Species = 066, Ability = A3 }, // Machop - new(Nest047,0,1,1,SWSH) { Species = 759, Ability = A3 }, // Stufful - new(Nest047,1,2,2,SWSH) { Species = 760, Ability = A3 }, // Bewear - new(Nest047,1,3,3,SWSH) { Species = 870, Ability = A3 }, // Falinks - new(Nest047,2,3,3,SWSH) { Species = 067, Ability = A3 }, // Machoke - new(Nest047,3,4,4,SWSH) { Species = 068, Ability = A4 }, // Machamp - new(Nest047,4,4,4,SWSH) { Species = 448, Ability = A4 }, // Lucario - new(Nest047,4,4,4,SWSH) { Species = 475, Ability = A4 }, // Gallade - new(Nest048,0,0,1,SWSH) { Species = 052, Ability = A3, Form = 2 }, // Meowth-2 - new(Nest048,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest048,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest048,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest048,1,2,2,SWSH) { Species = 679, Ability = A3 }, // Honedge - new(Nest048,1,2,2,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest048,3,4,4,SWSH) { Species = 863, Ability = A4 }, // Perrserker - new(Nest048,2,4,4,SWSH) { Species = 598, Ability = A3 }, // Ferrothorn - new(Nest048,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest048,3,4,4,SWSH) { Species = 618, Ability = A4, Form = 1 }, // Stunfisk-1 - new(Nest048,4,4,4,SWSH) { Species = 879, Ability = A4 }, // Copperajah - new(Nest048,4,4,4,SWSH) { Species = 884, Ability = A4 }, // Duraludon - new(Nest049,0,0,1,SWSH) { Species = 686, Ability = A3 }, // Inkay - new(Nest049,0,0,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest049,0,1,1,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest049,0,1,1,SWSH) { Species = 527, Ability = A3 }, // Woobat - new(Nest049,1,2,2,SWSH) { Species = 856, Ability = A3 }, // Hatenna - new(Nest049,1,2,2,SWSH) { Species = 857, Ability = A3 }, // Hattrem - new(Nest049,2,3,3,SWSH) { Species = 281, Ability = A3 }, // Kirlia - new(Nest049,2,4,4,SWSH) { Species = 528, Ability = A3 }, // Swoobat - new(Nest049,3,4,4,SWSH) { Species = 858, Ability = A4 }, // Hatterene - new(Nest049,3,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest049,4,4,4,SWSH) { Species = 687, Ability = A4 }, // Malamar - new(Nest049,4,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest050,0,0,1,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest050,0,0,1,SWSH) { Species = 438, Ability = A3 }, // Bonsly - new(Nest050,0,1,1,SWSH) { Species = 837, Ability = A3 }, // Rolycoly - new(Nest050,1,2,2,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest050,2,4,4,SWSH) { Species = 095, Ability = A3 }, // Onix - new(Nest050,3,4,4,SWSH) { Species = 558, Ability = A4 }, // Crustle - new(Nest050,3,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest050,4,4,4,SWSH) { Species = 208, Ability = A4 }, // Steelix - new(Nest051,0,0,1,SWSH) { Species = 194, Ability = A3 }, // Wooper - new(Nest051,0,0,1,SWSH) { Species = 339, Ability = A3 }, // Barboach - new(Nest051,0,1,1,SWSH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest051,0,1,1,SWSH) { Species = 622, Ability = A3 }, // Golett - new(Nest051,1,2,2,SWSH) { Species = 536, Ability = A3 }, // Palpitoad - new(Nest051,1,2,2,SWSH) { Species = 195, Ability = A3 }, // Quagsire - new(Nest051,2,3,3,SWSH) { Species = 618, Ability = A3, Form = 1 }, // Stunfisk-1 - new(Nest051,2,4,4,SWSH) { Species = 623, Ability = A3 }, // Golurk - new(Nest051,3,4,4,SWSH) { Species = 423, Ability = A4, Form = 1 }, // Gastrodon-1 - new(Nest051,3,4,4,SWSH) { Species = 537, Ability = A4 }, // Seismitoad - new(Nest051,4,4,4,SWSH) { Species = 867, Ability = A4 }, // Runerigus - new(Nest051,4,4,4,SWSH) { Species = 464, Ability = A4 }, // Rhyperior - new(Nest052,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest052,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest052,0,1,1,SWSH) { Species = 004, Ability = A3 }, // Charmander - new(Nest052,1,2,2,SWSH) { Species = 005, Ability = A3 }, // Charmeleon - new(Nest052,2,3,3,SWSH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest052,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest052,3,4,4,SWSH) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest052,4,4,4,SWSH) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest052,4,4,4,SWSH) { Species = 006, Ability = A4 }, // Charizard - new(Nest053,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest053,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest053,0,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest053,1,2,2,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest053,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest053,3,4,4,SWSH) { Species = 609, Ability = A4 }, // Chandelure - new(Nest053,4,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest054,0,0,1,SWSH) { Species = 582, Ability = A3 }, // Vanillite - new(Nest054,0,1,1,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest054,0,1,1,SWSH) { Species = 712, Ability = A3 }, // Bergmite - new(Nest054,1,2,2,SWSH) { Species = 361, Ability = A3 }, // Snorunt - new(Nest054,1,2,2,SWSH) { Species = 225, Ability = A3 }, // Delibird - new(Nest054,2,3,3,SWSH) { Species = 713, Ability = A3 }, // Avalugg - new(Nest054,2,4,4,SWSH) { Species = 362, Ability = A3 }, // Glalie - new(Nest054,3,4,4,SWSH) { Species = 584, Ability = A4 }, // Vanilluxe - new(Nest054,3,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest054,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest055,0,0,1,SWSH) { Species = 835, Ability = A3 }, // Yamper - new(Nest055,0,0,1,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest055,0,1,1,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest055,0,1,1,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest055,1,2,2,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest055,1,2,2,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest055,2,4,4,SWSH) { Species = 836, Ability = A3 }, // Boltund - new(Nest055,2,4,4,SWSH) { Species = 849, Ability = A3 }, // Toxtricity - new(Nest055,3,4,4,SWSH) { Species = 871, Ability = A4 }, // Pincurchin - new(Nest055,3,4,4,SWSH) { Species = 596, Ability = A4 }, // Galvantula - new(Nest055,4,4,4,SWSH) { Species = 777, Ability = A4 }, // Togedemaru - new(Nest055,4,4,4,SWSH) { Species = 877, Ability = A4 }, // Morpeko - new(Nest056,0,0,1,SWSH) { Species = 172, Ability = A3 }, // Pichu - new(Nest056,0,0,1,SWSH) { Species = 309, Ability = A3 }, // Electrike - new(Nest056,0,1,1,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest056,0,1,1,SWSH) { Species = 694, Ability = A3 }, // Helioptile - new(Nest056,1,2,2,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest056,1,2,2,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest056,2,4,4,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest056,2,4,4,SWSH) { Species = 479, Ability = A3, Form = 5 }, // Rotom-5 - new(Nest056,3,4,4,SWSH) { Species = 479, Ability = A4, Form = 4 }, // Rotom-4 - new(Nest056,3,4,4,SWSH) { Species = 479, Ability = A4, Form = 3 }, // Rotom-3 - new(Nest056,4,4,4,SWSH) { Species = 479, Ability = A4, Form = 2 }, // Rotom-2 - new(Nest056,4,4,4,SWSH) { Species = 479, Ability = A4, Form = 1 }, // Rotom-1 - new(Nest057,0,0,1,SWSH) { Species = 406, Ability = A3 }, // Budew - new(Nest057,0,1,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest057,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest057,1,2,2,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest057,2,4,4,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest057,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest057,3,4,4,SWSH) { Species = 598, Ability = A4 }, // Ferrothorn - new(Nest057,4,4,4,SWSH) { Species = 407, Ability = A4 }, // Roserade - new(Nest058,0,0,1,SWSH) { Species = 420, Ability = A3 }, // Cherubi - new(Nest058,0,1,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest058,0,1,1,SWSH) { Species = 546, Ability = A3 }, // Cottonee - new(Nest058,1,2,2,SWSH) { Species = 755, Ability = A3 }, // Morelull - new(Nest058,2,4,4,SWSH) { Species = 421, Ability = A3 }, // Cherrim - new(Nest058,2,4,4,SWSH) { Species = 756, Ability = A3 }, // Shiinotic - new(Nest058,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest058,3,4,4,SWSH) { Species = 547, Ability = A4 }, // Whimsicott - new(Nest058,4,4,4,SWSH) { Species = 781, Ability = A4 }, // Dhelmise - new(Nest059,0,0,1,SWSH) { Species = 434, Ability = A3 }, // Stunky - new(Nest059,0,0,1,SWSH) { Species = 568, Ability = A3 }, // Trubbish - new(Nest059,0,1,1,SWSH) { Species = 451, Ability = A3 }, // Skorupi - new(Nest059,0,1,1,SWSH) { Species = 109, Ability = A3 }, // Koffing - new(Nest059,1,2,2,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest059,2,4,4,SWSH) { Species = 569, Ability = A3 }, // Garbodor - new(Nest059,2,4,4,SWSH) { Species = 452, Ability = A3 }, // Drapion - new(Nest059,3,4,4,SWSH) { Species = 849, Ability = A4 }, // Toxtricity - new(Nest059,3,4,4,SWSH) { Species = 435, Ability = A4 }, // Skuntank - new(Nest059,4,4,4,SWSH) { Species = 110, Ability = A4, Form = 1 }, // Weezing-1 - new(Nest060,0,0,1,SWSH) { Species = 177, Ability = A3 }, // Natu - new(Nest060,0,0,1,SWSH) { Species = 163, Ability = A3 }, // Hoothoot - new(Nest060,0,1,1,SWSH) { Species = 821, Ability = A3 }, // Rookidee - new(Nest060,0,1,1,SWSH) { Species = 278, Ability = A3 }, // Wingull - new(Nest060,1,2,2,SWSH) { Species = 012, Ability = A3 }, // Butterfree - new(Nest060,1,2,2,SWSH) { Species = 822, Ability = A3 }, // Corvisquire - new(Nest060,2,4,4,SWSH) { Species = 164, Ability = A3 }, // Noctowl - new(Nest060,2,4,4,SWSH) { Species = 279, Ability = A3 }, // Pelipper - new(Nest060,3,4,4,SWSH) { Species = 178, Ability = A4 }, // Xatu - new(Nest060,3,4,4,SWSH) { Species = 701, Ability = A4 }, // Hawlucha - new(Nest060,4,4,4,SWSH) { Species = 823, Ability = A4 }, // Corviknight - new(Nest060,4,4,4,SWSH) { Species = 225, Ability = A4 }, // Delibird - new(Nest061,0,0,1,SWSH) { Species = 175, Ability = A3 }, // Togepi - new(Nest061,0,0,1,SWSH) { Species = 755, Ability = A3 }, // Morelull - new(Nest061,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest061,0,1,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest061,1,2,2,SWSH) { Species = 176, Ability = A3 }, // Togetic - new(Nest061,1,2,2,SWSH) { Species = 756, Ability = A3 }, // Shiinotic - new(Nest061,2,4,4,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest061,3,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest061,3,4,4,SWSH) { Species = 468, Ability = A4 }, // Togekiss - new(Nest061,4,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest061,4,4,4,SWSH) { Species = 778, Ability = A4 }, // Mimikyu - new(Nest062,0,0,1,SWSH) { Species = 827, Ability = A3 }, // Nickit - new(Nest062,0,0,1,SWSH) { Species = 263, Ability = A3, Form = 1 }, // Zigzagoon-1 - new(Nest062,0,1,1,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest062,1,2,2,SWSH) { Species = 510, Ability = A3 }, // Liepard - new(Nest062,1,2,2,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest062,2,4,4,SWSH) { Species = 828, Ability = A3 }, // Thievul - new(Nest062,2,4,4,SWSH) { Species = 675, Ability = A3 }, // Pangoro - new(Nest062,3,4,4,SWSH) { Species = 461, Ability = A4 }, // Weavile - new(Nest062,4,4,4,SWSH) { Species = 862, Ability = A4 }, // Obstagoon - new(Nest063,0,0,1,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest063,1,2,2,SWSH) { Species = 885, Ability = A3 }, // Dreepy - new(Nest063,3,4,4,SWSH) { Species = 886, Ability = A4 }, // Drakloak - new(Nest063,4,4,4,SWSH) { Species = 887, Ability = A4 }, // Dragapult - new(Nest064,0,0,1,SWSH) { Species = 659, Ability = A3 }, // Bunnelby - new(Nest064,0,0,1,SWSH) { Species = 519, Ability = A3 }, // Pidove - new(Nest064,0,1,1,SWSH) { Species = 819, Ability = A3 }, // Skwovet - new(Nest064,0,1,1,SWSH) { Species = 133, Ability = A3 }, // Eevee - new(Nest064,1,2,2,SWSH) { Species = 520, Ability = A3 }, // Tranquill - new(Nest064,1,2,2,SWSH) { Species = 831, Ability = A3 }, // Wooloo - new(Nest064,2,4,4,SWSH) { Species = 521, Ability = A3 }, // Unfezant - new(Nest064,2,4,4,SWSH) { Species = 832, Ability = A3 }, // Dubwool - new(Nest064,4,4,4,SWSH) { Species = 133, Ability = A4 }, // Eevee - new(Nest064,4,4,4,SWSH) { Species = 143, Ability = A4 }, // Snorlax - new(Nest065,0,0,1,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest065,0,1,2,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest065,1,2,3,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest065,2,3,3,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest065,3,4,4,SWSH) { Species = 132, Ability = A4 }, // Ditto - new(Nest065,4,4,4,SWSH) { Species = 132, Ability = A4 }, // Ditto - //new(Nest066,0,0,1,SWSH) { Species = 458, Ability = A3 }, // Mantyke - //new(Nest066,0,0,1,SWSH) { Species = 341, Ability = A3 }, // Corphish - //new(Nest066,0,1,1,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - //new(Nest066,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest066,2,2,2,SWSH) { Species = 747, Ability = A3 }, // Mareanie - new(Nest066,2,3,3,SWSH) { Species = 342, Ability = A3 }, // Crawdaunt - new(Nest066,2,4,4,SWSH) { Species = 748, Ability = A3 }, // Toxapex - new(Nest066,3,4,4,SWSH) { Species = 771, Ability = A4 }, // Pyukumuku - new(Nest066,3,4,4,SWSH) { Species = 226, Ability = A4 }, // Mantine - new(Nest066,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest066,4,4,4,SWSH) { Species = 134, Ability = A4 }, // Vaporeon - new(Nest067,0,0,1,SWSH) { Species = 686, Ability = A3 }, // Inkay - new(Nest067,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest067,0,1,1,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest067,0,1,1,SWSH) { Species = 527, Ability = A3 }, // Woobat - new(Nest067,1,2,2,SWSH) { Species = 856, Ability = A3 }, // Hatenna - new(Nest067,1,2,2,SWSH) { Species = 857, Ability = A3 }, // Hattrem - new(Nest067,2,3,3,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest067,2,4,4,SWSH) { Species = 528, Ability = A3 }, // Swoobat - new(Nest067,3,4,4,SWSH) { Species = 687, Ability = A4 }, // Malamar - new(Nest067,3,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest067,4,4,4,SWSH) { Species = 858, Ability = A4 }, // Hatterene - new(Nest067,4,4,4,SWSH) { Species = 196, Ability = A4 }, // Espeon - new(Nest068,0,0,1,SWSH) { Species = 827, Ability = A3 }, // Nickit - new(Nest068,0,0,1,SWSH) { Species = 263, Ability = A3, Form = 1 }, // Zigzagoon-1 - new(Nest068,0,1,1,SWSH) { Species = 686, Ability = A3 }, // Inkay - new(Nest068,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest068,1,2,2,SWSH) { Species = 510, Ability = A3 }, // Liepard - new(Nest068,1,2,2,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest068,2,4,4,SWSH) { Species = 828, Ability = A3 }, // Thievul - new(Nest068,2,4,4,SWSH) { Species = 675, Ability = A3 }, // Pangoro - new(Nest068,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest068,3,4,4,SWSH) { Species = 687, Ability = A4 }, // Malamar - new(Nest068,4,4,4,SWSH) { Species = 862, Ability = A4 }, // Obstagoon - new(Nest068,4,4,4,SWSH) { Species = 197, Ability = A4 }, // Umbreon - new(Nest069,0,0,1,SWSH) { Species = 420, Ability = A3 }, // Cherubi - new(Nest069,0,0,1,SWSH) { Species = 761, Ability = A3 }, // Bounsweet - new(Nest069,0,1,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest069,0,1,1,SWSH) { Species = 546, Ability = A3 }, // Cottonee - new(Nest069,1,2,2,SWSH) { Species = 762, Ability = A3 }, // Steenee - new(Nest069,1,2,2,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest069,2,4,4,SWSH) { Species = 421, Ability = A3 }, // Cherrim - new(Nest069,2,4,4,SWSH) { Species = 598, Ability = A3 }, // Ferrothorn - new(Nest069,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest069,3,4,4,SWSH) { Species = 763, Ability = A4 }, // Tsareena - new(Nest069,4,4,4,SWSH) { Species = 547, Ability = A4 }, // Whimsicott - new(Nest069,4,4,4,SWSH) { Species = 470, Ability = A4 }, // Leafeon - new(Nest070,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest070,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest070,1,2,2,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest070,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest070,3,4,4,SWSH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest070,3,4,4,SWSH) { Species = 038, Ability = A4 }, // Ninetales - new(Nest070,4,4,4,SWSH) { Species = 609, Ability = A4 }, // Chandelure - new(Nest070,4,4,4,SWSH) { Species = 136, Ability = A4 }, // Flareon - new(Nest071,0,0,1,SWSH) { Species = 835, Ability = A3 }, // Yamper - new(Nest071,0,0,1,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest071,0,1,1,SWSH) { Species = 025, Ability = A3 }, // Pikachu - new(Nest071,0,1,1,SWSH) { Species = 694, Ability = A3 }, // Helioptile - new(Nest071,1,2,2,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest071,1,2,2,SWSH) { Species = 171, Ability = A3 }, // Lanturn - new(Nest071,2,4,4,SWSH) { Species = 836, Ability = A3 }, // Boltund - new(Nest071,2,4,4,SWSH) { Species = 849, Ability = A3 }, // Toxtricity - new(Nest071,3,4,4,SWSH) { Species = 695, Ability = A4 }, // Heliolisk - new(Nest071,3,4,4,SWSH) { Species = 738, Ability = A4 }, // Vikavolt - new(Nest071,4,4,4,SWSH) { Species = 025, Ability = A4 }, // Pikachu - new(Nest071,4,4,4,SWSH) { Species = 135, Ability = A4 }, // Jolteon - new(Nest072,0,0,1,SWSH) { Species = 582, Ability = A3 }, // Vanillite - new(Nest072,0,0,1,SWSH) { Species = 872, Ability = A3 }, // Snom - new(Nest072,0,1,1,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest072,0,1,1,SWSH) { Species = 712, Ability = A3 }, // Bergmite - new(Nest072,1,2,2,SWSH) { Species = 361, Ability = A3 }, // Snorunt - new(Nest072,1,2,2,SWSH) { Species = 583, Ability = A3 }, // Vanillish - new(Nest072,2,3,3,SWSH) { Species = 713, Ability = A3 }, // Avalugg - new(Nest072,2,4,4,SWSH) { Species = 873, Ability = A3 }, // Frosmoth - new(Nest072,3,4,4,SWSH) { Species = 584, Ability = A4 }, // Vanilluxe - new(Nest072,3,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest072,4,4,4,SWSH) { Species = 478, Ability = A4 }, // Froslass - new(Nest072,4,4,4,SWSH) { Species = 471, Ability = A4 }, // Glaceon - //new(Nest073,0,0,1,SWSH) { Species = 175, Ability = A3 }, // Togepi - //new(Nest073,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - //new(Nest073,0,1,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest073,2,2,2,SWSH) { Species = 176, Ability = A3 }, // Togetic - new(Nest073,2,2,2,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest073,2,4,4,SWSH) { Species = 868, Ability = A3 }, // Milcery - new(Nest073,3,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest073,3,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest073,4,4,4,SWSH) { Species = 468, Ability = A4 }, // Togekiss - new(Nest073,4,4,4,SWSH) { Species = 700, Ability = A4 }, // Sylveon - new(Nest074,0,0,1,SWSH) { Species = 129, Ability = A3 }, // Magikarp - new(Nest074,0,0,1,SWSH) { Species = 751, Ability = A3 }, // Dewpider - new(Nest074,0,1,1,SWSH) { Species = 194, Ability = A3 }, // Wooper - new(Nest074,0,1,1,SWSH) { Species = 339, Ability = A3 }, // Barboach - new(Nest074,1,2,2,SWSH) { Species = 098, Ability = A3 }, // Krabby - new(Nest074,1,2,2,SWSH) { Species = 746, Ability = A3 }, // Wishiwashi - new(Nest074,2,3,3,SWSH) { Species = 099, Ability = A3 }, // Kingler - new(Nest074,2,4,4,SWSH) { Species = 340, Ability = A3 }, // Whiscash - new(Nest074,3,4,4,SWSH) { Species = 211, Ability = A4 }, // Qwilfish - new(Nest074,3,4,4,SWSH) { Species = 195, Ability = A4 }, // Quagsire - new(Nest074,4,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest074,4,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - //new(Nest075,0,0,1,SWSH) { Species = 458, Ability = A3 }, // Mantyke - //new(Nest075,0,0,1,SWSH) { Species = 223, Ability = A3 }, // Remoraid - //new(Nest075,0,1,1,SWSH) { Species = 320, Ability = A3 }, // Wailmer - //new(Nest075,0,1,1,SWSH) { Species = 688, Ability = A3 }, // Binacle - new(Nest075,2,2,2,SWSH) { Species = 098, Ability = A3 }, // Krabby - new(Nest075,2,2,2,SWSH) { Species = 771, Ability = A3 }, // Pyukumuku - new(Nest075,2,3,3,SWSH) { Species = 099, Ability = A3 }, // Kingler - new(Nest075,3,4,4,SWSH) { Species = 211, Ability = A4 }, // Qwilfish - new(Nest075,3,4,4,SWSH) { Species = 224, Ability = A4 }, // Octillery - new(Nest075,4,4,4,SWSH) { Species = 321, Ability = A4 }, // Wailord - new(Nest075,4,4,4,SWSH) { Species = 226, Ability = A4 }, // Mantine - //new(Nest076,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - //new(Nest076,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - //new(Nest076,0,1,1,SWSH) { Species = 004, Ability = A3 }, // Charmander - new(Nest076,2,2,2,SWSH) { Species = 005, Ability = A3 }, // Charmeleon - new(Nest076,2,3,3,SWSH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest076,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest076,3,4,4,SWSH) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest076,4,4,4,SWSH) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest076,4,4,4,SWSH) { Species = 006, Ability = A4, CanGigantamax = true }, // Charizard - new(Nest077,0,0,1,SWSH) { Species = 129, Ability = A3 }, // Magikarp - new(Nest077,0,0,1,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - new(Nest077,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest077,0,1,1,SWSH) { Species = 098, Ability = A3 }, // Krabby - new(Nest077,1,2,2,SWSH) { Species = 771, Ability = A3 }, // Pyukumuku - new(Nest077,2,3,3,SWSH) { Species = 211, Ability = A3 }, // Qwilfish - new(Nest077,2,4,4,SWSH) { Species = 099, Ability = A3 }, // Kingler - new(Nest077,3,4,4,SWSH) { Species = 746, Ability = A4 }, // Wishiwashi - new(Nest077,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest077,4,4,4,SWSH) { Species = 423, Ability = A4, Form = 1 }, // Gastrodon-1 - new(Nest077,4,4,4,SWSH) { Species = 834, Ability = A4, CanGigantamax = true }, // Drednaw - new(Nest078,0,0,1,SWSH) { Species = 406, Ability = A3 }, // Budew - new(Nest078,0,1,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest078,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest078,1,2,2,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest078,2,4,4,SWSH) { Species = 315, Ability = A3 }, // Roselia - new(Nest078,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest078,3,4,4,SWSH) { Species = 598, Ability = A4 }, // Ferrothorn - new(Nest078,4,4,4,SWSH) { Species = 407, Ability = A4 }, // Roserade - new(Nest079,0,0,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest079,0,1,1,SWSH) { Species = 607, Ability = A3 }, // Litwick - new(Nest079,0,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest079,1,2,2,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest079,1,2,2,SWSH) { Species = 608, Ability = A3 }, // Lampent - new(Nest079,2,3,3,SWSH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest079,2,4,4,SWSH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest079,3,4,4,SWSH) { Species = 609, Ability = A4 }, // Chandelure - new(Nest079,4,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest079,4,4,4,SWSH) { Species = 851, Ability = A4, CanGigantamax = true }, // Centiskorch - new(Nest081,0,0,1,SWSH) { Species = 175, Ability = A3 }, // Togepi - new(Nest081,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest081,0,1,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest081,1,2,2,SWSH) { Species = 176, Ability = A3 }, // Togetic - new(Nest081,1,2,2,SWSH) { Species = 756, Ability = A3 }, // Shiinotic - new(Nest081,2,3,3,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest081,3,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest081,3,4,4,SWSH) { Species = 468, Ability = A4 }, // Togekiss - new(Nest081,4,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest081,4,4,4,SWSH) { Species = 869, Ability = A4, CanGigantamax = true }, // Alcremie - new(Nest083,0,0,1,SWSH) { Species = 447, Ability = A3 }, // Riolu - new(Nest083,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest083,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest083,0,1,1,SWSH) { Species = 599, Ability = A3 }, // Klink - new(Nest083,1,2,2,SWSH) { Species = 095, Ability = A3 }, // Onix - new(Nest083,2,4,4,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest083,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest083,3,4,4,SWSH) { Species = 208, Ability = A4 }, // Steelix - new(Nest083,4,4,4,SWSH) { Species = 601, Ability = A4 }, // Klinklang - new(Nest083,4,4,4,SWSH) { Species = 884, Ability = A4, CanGigantamax = true }, // Duraludon - new(Nest084,0,0,1,SWSH) { Species = 052, Ability = A3, Form = 2 }, // Meowth-2 - new(Nest084,0,0,1,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest084,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest084,0,1,1,SWSH) { Species = 597, Ability = A3 }, // Ferroseed - new(Nest084,1,2,2,SWSH) { Species = 679, Ability = A3 }, // Honedge - new(Nest084,1,2,2,SWSH) { Species = 437, Ability = A3 }, // Bronzong - new(Nest084,2,3,3,SWSH) { Species = 863, Ability = A3 }, // Perrserker - new(Nest084,2,4,4,SWSH) { Species = 598, Ability = A3 }, // Ferrothorn - new(Nest084,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest084,3,4,4,SWSH) { Species = 618, Ability = A4, Form = 1 }, // Stunfisk-1 - new(Nest084,4,4,4,SWSH) { Species = 884, Ability = A4 }, // Duraludon - new(Nest084,4,4,4,SWSH) { Species = 879, Ability = A4, CanGigantamax = true }, // Copperajah - new(Nest085,0,0,1,SWSH) { Species = 434, Ability = A3 }, // Stunky - new(Nest085,0,0,1,SWSH) { Species = 568, Ability = A3 }, // Trubbish - new(Nest085,0,1,1,SWSH) { Species = 451, Ability = A3 }, // Skorupi - new(Nest085,0,1,1,SWSH) { Species = 109, Ability = A3 }, // Koffing - new(Nest085,1,2,2,SWSH) { Species = 848, Ability = A3 }, // Toxel - new(Nest085,2,3,3,SWSH) { Species = 452, Ability = A3 }, // Drapion - new(Nest085,2,4,4,SWSH) { Species = 849, Ability = A3 }, // Toxtricity - new(Nest085,3,4,4,SWSH) { Species = 435, Ability = A4 }, // Skuntank - new(Nest085,3,4,4,SWSH) { Species = 110, Ability = A4, Form = 1 }, // Weezing-1 - new(Nest085,4,4,4,SWSH) { Species = 569, Ability = A4, CanGigantamax = true }, // Garbodor - new(Nest086,0,0,1,SWSH) { Species = 175, Ability = A3 }, // Togepi - new(Nest086,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest086,0,1,1,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest086,1,2,2,SWSH) { Species = 176, Ability = A3 }, // Togetic - new(Nest086,1,2,2,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest086,2,4,4,SWSH) { Species = 868, Ability = A3 }, // Milcery - new(Nest086,3,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest086,3,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest086,4,4,4,SWSH) { Species = 468, Ability = A4 }, // Togekiss - new(Nest086,4,4,4,SWSH) { Species = 858, Ability = A4, CanGigantamax = true }, // Hatterene - new(Nest087,0,0,1,SWSH) { Species = 827, Ability = A3 }, // Nickit - new(Nest087,0,0,1,SWSH) { Species = 263, Ability = A3, Form = 1 }, // Zigzagoon-1 - new(Nest087,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest087,1,2,2,SWSH) { Species = 510, Ability = A3 }, // Liepard - new(Nest087,1,2,2,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest087,2,3,3,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest087,2,4,4,SWSH) { Species = 828, Ability = A3 }, // Thievul - new(Nest087,3,4,4,SWSH) { Species = 675, Ability = A4 }, // Pangoro - new(Nest087,4,4,4,SWSH) { Species = 861, Ability = A4, CanGigantamax = true }, // Grimmsnarl - new(Nest088,0,0,1,SWSH) { Species = 177, Ability = A3 }, // Natu - new(Nest088,0,0,1,SWSH) { Species = 163, Ability = A3 }, // Hoothoot - new(Nest088,0,1,1,SWSH) { Species = 821, Ability = A3 }, // Rookidee - new(Nest088,0,1,1,SWSH) { Species = 278, Ability = A3 }, // Wingull - new(Nest088,1,2,2,SWSH) { Species = 012, Ability = A3 }, // Butterfree - new(Nest088,1,2,2,SWSH) { Species = 822, Ability = A3 }, // Corvisquire - new(Nest088,2,3,3,SWSH) { Species = 164, Ability = A3 }, // Noctowl - new(Nest088,2,4,4,SWSH) { Species = 279, Ability = A3 }, // Pelipper - new(Nest088,3,4,4,SWSH) { Species = 178, Ability = A4 }, // Xatu - new(Nest088,3,4,4,SWSH) { Species = 701, Ability = A4 }, // Hawlucha - new(Nest088,4,4,4,SWSH) { Species = 561, Ability = A4 }, // Sigilyph - new(Nest088,4,4,4,SWSH) { Species = 823, Ability = A4, CanGigantamax = true }, // Corviknight - new(Nest089,0,0,1,SWSH) { Species = 767, Ability = A3 }, // Wimpod - new(Nest089,0,0,1,SWSH) { Species = 824, Ability = A3 }, // Blipbug - new(Nest089,0,1,1,SWSH) { Species = 751, Ability = A3 }, // Dewpider - new(Nest089,1,2,2,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest089,2,3,3,SWSH) { Species = 825, Ability = A3 }, // Dottler - new(Nest089,2,4,4,SWSH) { Species = 826, Ability = A3 }, // Orbeetle - new(Nest089,3,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest089,3,4,4,SWSH) { Species = 768, Ability = A4 }, // Golisopod - new(Nest089,0,4,4,SWSH) { Species = 012, Ability = A4, CanGigantamax = true }, // Butterfree - new(Nest090,0,0,1,SWSH) { Species = 341, Ability = A3 }, // Corphish - new(Nest090,0,0,1,SWSH) { Species = 098, Ability = A3 }, // Krabby - new(Nest090,0,1,1,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - new(Nest090,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest090,1,2,2,SWSH) { Species = 747, Ability = A3 }, // Mareanie - new(Nest090,2,3,3,SWSH) { Species = 342, Ability = A3 }, // Crawdaunt - new(Nest090,2,4,4,SWSH) { Species = 748, Ability = A3 }, // Toxapex - new(Nest090,3,4,4,SWSH) { Species = 771, Ability = A4 }, // Pyukumuku - new(Nest090,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest090,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest090,1,4,4,SWSH) { Species = 099, Ability = A4, CanGigantamax = true }, // Kingler - new(Nest091,0,0,1,SWSH) { Species = 767, Ability = A3 }, // Wimpod - new(Nest091,0,0,1,SWSH) { Species = 824, Ability = A3 }, // Blipbug - new(Nest091,0,1,1,SWSH) { Species = 751, Ability = A3 }, // Dewpider - new(Nest091,1,2,2,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest091,2,3,3,SWSH) { Species = 825, Ability = A3 }, // Dottler - new(Nest091,2,4,4,SWSH) { Species = 826, Ability = A3 }, // Orbeetle - new(Nest091,3,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest091,3,4,4,SWSH) { Species = 768, Ability = A4 }, // Golisopod - new(Nest091,2,4,4,SWSH) { Species = 826, Ability = A4, CanGigantamax = true }, // Orbeetle - new(Nest092,0,0,1,SWSH) { Species = 194, Ability = A3 }, // Wooper - new(Nest092,0,0,1,SWSH) { Species = 339, Ability = A3 }, // Barboach - new(Nest092,0,1,1,SWSH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest092,0,1,1,SWSH) { Species = 622, Ability = A3 }, // Golett - new(Nest092,1,2,2,SWSH) { Species = 536, Ability = A3 }, // Palpitoad - new(Nest092,1,2,2,SWSH) { Species = 195, Ability = A3 }, // Quagsire - new(Nest092,2,3,3,SWSH) { Species = 618, Ability = A3, Form = 1 }, // Stunfisk-1 - new(Nest092,2,4,4,SWSH) { Species = 623, Ability = A3 }, // Golurk - new(Nest092,3,4,4,SWSH) { Species = 423, Ability = A4, Form = 1 }, // Gastrodon-1 - new(Nest092,3,4,4,SWSH) { Species = 537, Ability = A4 }, // Seismitoad - new(Nest092,4,4,4,SWSH) { Species = 464, Ability = A4 }, // Rhyperior - new(Nest092,3,4,4,SWSH) { Species = 844, Ability = A4, CanGigantamax = true }, // Sandaconda - new(Nest098,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest098,0,1,1,SWSH) { Species = 174, Ability = A3 }, // Igglybuff - new(Nest098,0,1,1,SWSH) { Species = 506, Ability = A3 }, // Lillipup - new(Nest098,1,2,2,SWSH) { Species = 427, Ability = A3 }, // Buneary - new(Nest098,1,2,2,SWSH) { Species = 039, Ability = A3 }, // Jigglypuff - new(Nest098,2,3,3,SWSH) { Species = 039, Ability = A3 }, // Jigglypuff - new(Nest098,2,3,3,SWSH) { Species = 507, Ability = A3 }, // Herdier - new(Nest098,3,4,4,SWSH) { Species = 428, Ability = A4 }, // Lopunny - new(Nest098,3,4,4,SWSH) { Species = 040, Ability = A4 }, // Wigglytuff - new(Nest098,4,4,4,SWSH) { Species = 206, Ability = A4 }, // Dunsparce - new(Nest098,4,4,4,SWSH) { Species = 508, Ability = A4 }, // Stoutland - new(Nest099,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest099,0,1,1,SWSH) { Species = 506, Ability = A2 }, // Lillipup - new(Nest099,0,1,1,SWSH) { Species = 759, Ability = A2 }, // Stufful - new(Nest099,1,2,2,SWSH) { Species = 039, Ability = A2 }, // Jigglypuff - new(Nest099,1,2,2,SWSH) { Species = 427, Ability = A2 }, // Buneary - new(Nest099,2,3,3,SWSH) { Species = 039, Ability = A2 }, // Jigglypuff - new(Nest099,2,3,3,SWSH) { Species = 206, Ability = A2 }, // Dunsparce - new(Nest099,3,4,4,SWSH) { Species = 832, Ability = A2 }, // Dubwool - new(Nest099,3,4,4,SWSH) { Species = 428, Ability = A2 }, // Lopunny - new(Nest099,3,4,4,SWSH) { Species = 508, Ability = A2 }, // Stoutland - new(Nest099,4,4,4,SWSH) { Species = 760, Ability = A2 }, // Bewear - new(Nest099,4,4,4,SWSH) { Species = 040, Ability = A2 }, // Wigglytuff - new(Nest100,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest100,0,1,1,SWSH) { Species = 293, Ability = A3 }, // Whismur - new(Nest100,0,1,1,SWSH) { Species = 108, Ability = A3 }, // Lickitung - new(Nest100,1,2,2,SWSH) { Species = 241, Ability = A3 }, // Miltank - new(Nest100,1,2,2,SWSH) { Species = 294, Ability = A3 }, // Loudred - new(Nest100,2,3,3,SWSH) { Species = 294, Ability = A3 }, // Loudred - new(Nest100,2,3,3,SWSH) { Species = 108, Ability = A3 }, // Lickitung - new(Nest100,3,4,4,SWSH) { Species = 241, Ability = A4 }, // Miltank - new(Nest100,3,4,4,SWSH) { Species = 626, Ability = A4 }, // Bouffalant - new(Nest100,3,4,4,SWSH) { Species = 128, Ability = A4 }, // Tauros - new(Nest100,4,4,4,SWSH) { Species = 295, Ability = A4 }, // Exploud - new(Nest100,4,4,4,SWSH) { Species = 463, Ability = A4 }, // Lickilicky - new(Nest101,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest101,0,1,1,SWSH) { Species = 293, Ability = A2 }, // Whismur - new(Nest101,0,1,1,SWSH) { Species = 128, Ability = A2 }, // Tauros - new(Nest101,1,2,2,SWSH) { Species = 108, Ability = A2 }, // Lickitung - new(Nest101,1,2,2,SWSH) { Species = 241, Ability = A2 }, // Miltank - new(Nest101,2,3,3,SWSH) { Species = 241, Ability = A2 }, // Miltank - new(Nest101,2,3,3,SWSH) { Species = 626, Ability = A2 }, // Bouffalant - new(Nest101,3,4,4,SWSH) { Species = 128, Ability = A2 }, // Tauros - new(Nest101,3,4,4,SWSH) { Species = 295, Ability = A2 }, // Exploud - new(Nest101,3,4,4,SWSH) { Species = 573, Ability = A2 }, // Cinccino - new(Nest101,4,4,4,SWSH) { Species = 295, Ability = A2 }, // Exploud - new(Nest101,4,4,4,SWSH) { Species = 463, Ability = A2 }, // Lickilicky - new(Nest102,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest102,0,1,1,SWSH) { Species = 027, Ability = A3 }, // Sandshrew - new(Nest102,0,1,1,SWSH) { Species = 551, Ability = A3 }, // Sandile - new(Nest102,1,2,2,SWSH) { Species = 104, Ability = A3 }, // Cubone - new(Nest102,1,2,2,SWSH) { Species = 027, Ability = A3 }, // Sandshrew - new(Nest102,2,3,3,SWSH) { Species = 552, Ability = A3 }, // Krokorok - new(Nest102,2,3,3,SWSH) { Species = 028, Ability = A3 }, // Sandslash - new(Nest102,3,4,4,SWSH) { Species = 844, Ability = A4 }, // Sandaconda - new(Nest102,3,4,4,SWSH) { Species = 028, Ability = A4 }, // Sandslash - new(Nest102,3,4,4,SWSH) { Species = 105, Ability = A4 }, // Marowak - new(Nest102,4,4,4,SWSH) { Species = 553, Ability = A4 }, // Krookodile - new(Nest102,4,4,4,SWSH) { Species = 115, Ability = A4 }, // Kangaskhan - new(Nest103,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest103,0,1,1,SWSH) { Species = 027, Ability = A2 }, // Sandshrew - new(Nest103,0,1,1,SWSH) { Species = 104, Ability = A2 }, // Cubone - new(Nest103,1,2,2,SWSH) { Species = 328, Ability = A2 }, // Trapinch - new(Nest103,2,3,3,SWSH) { Species = 552, Ability = A2 }, // Krokorok - new(Nest103,2,3,3,SWSH) { Species = 028, Ability = A2 }, // Sandslash - new(Nest103,3,4,4,SWSH) { Species = 105, Ability = A2 }, // Marowak - new(Nest103,3,4,4,SWSH) { Species = 553, Ability = A2 }, // Krookodile - new(Nest103,3,4,4,SWSH) { Species = 115, Ability = A2 }, // Kangaskhan - new(Nest103,4,4,4,SWSH) { Species = 330, Ability = A2 }, // Flygon - new(Nest103,4,4,4,SWSH) { Species = 623, Ability = A2 }, // Golurk - new(Nest104,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest104,0,1,1,SWSH) { Species = 702, Ability = A3 }, // Dedenne - new(Nest104,0,1,1,SWSH) { Species = 081, Ability = A3 }, // Magnemite - new(Nest104,1,2,2,SWSH) { Species = 403, Ability = A3 }, // Shinx - new(Nest104,1,2,2,SWSH) { Species = 877, Ability = A3 }, // Morpeko - new(Nest104,2,3,3,SWSH) { Species = 702, Ability = A3 }, // Dedenne - new(Nest104,2,3,3,SWSH) { Species = 404, Ability = A3 }, // Luxio - new(Nest104,3,4,4,SWSH) { Species = 702, Ability = A4 }, // Dedenne - new(Nest104,3,4,4,SWSH) { Species = 082, Ability = A4 }, // Magneton - new(Nest104,3,4,4,SWSH) { Species = 871, Ability = A4 }, // Pincurchin - new(Nest104,4,4,4,SWSH) { Species = 405, Ability = A4 }, // Luxray - new(Nest104,4,4,4,SWSH) { Species = 462, Ability = A4 }, // Magnezone - new(Nest105,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest105,0,1,1,SWSH) { Species = 403, Ability = A2 }, // Shinx - new(Nest105,0,1,1,SWSH) { Species = 172, Ability = A2 }, // Pichu - new(Nest105,1,2,2,SWSH) { Species = 025, Ability = A2 }, // Pikachu - new(Nest105,1,2,2,SWSH) { Species = 871, Ability = A2 }, // Pincurchin - new(Nest105,2,3,3,SWSH) { Species = 404, Ability = A2 }, // Luxio - new(Nest105,2,3,3,SWSH) { Species = 026, Ability = A2 }, // Raichu - new(Nest105,3,4,4,SWSH) { Species = 836, Ability = A2 }, // Boltund - new(Nest105,3,4,4,SWSH) { Species = 702, Ability = A2 }, // Dedenne - new(Nest105,3,4,4,SWSH) { Species = 310, Ability = A2 }, // Manectric - new(Nest105,4,4,4,SWSH) { Species = 405, Ability = A2 }, // Luxray - new(Nest105,4,4,4,SWSH) { Species = 462, Ability = A2 }, // Magnezone - new(Nest106,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest106,0,1,1,SWSH) { Species = 661, Ability = A3 }, // Fletchling - new(Nest106,0,1,1,SWSH) { Species = 527, Ability = A3 }, // Woobat - new(Nest106,1,2,2,SWSH) { Species = 587, Ability = A3 }, // Emolga - new(Nest106,2,3,3,SWSH) { Species = 662, Ability = A3 }, // Fletchinder - new(Nest106,3,4,4,SWSH) { Species = 587, Ability = A4 }, // Emolga - new(Nest106,3,4,4,SWSH) { Species = 528, Ability = A4 }, // Swoobat - new(Nest106,4,4,4,SWSH) { Species = 663, Ability = A4 }, // Talonflame - new(Nest107,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest107,0,1,1,SWSH) { Species = 163, Ability = A2 }, // Hoothoot - new(Nest107,0,1,1,SWSH) { Species = 519, Ability = A2 }, // Pidove - new(Nest107,1,2,2,SWSH) { Species = 520, Ability = A2 }, // Tranquill - new(Nest107,2,3,3,SWSH) { Species = 528, Ability = A2 }, // Swoobat - new(Nest107,2,3,3,SWSH) { Species = 164, Ability = A2 }, // Noctowl - new(Nest107,3,4,4,SWSH) { Species = 521, Ability = A2 }, // Unfezant - new(Nest107,3,4,4,SWSH) { Species = 663, Ability = A2 }, // Talonflame - new(Nest107,3,4,4,SWSH) { Species = 587, Ability = A2 }, // Emolga - new(Nest107,4,4,4,SWSH) { Species = 663, Ability = A2 }, // Talonflame - new(Nest108,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest108,0,1,1,SWSH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest108,1,2,2,SWSH) { Species = 825, Ability = A3 }, // Dottler - new(Nest108,2,3,3,SWSH) { Species = 558, Ability = A3 }, // Crustle - new(Nest108,3,4,4,SWSH) { Species = 123, Ability = A4 }, // Scyther - new(Nest108,4,4,4,SWSH) { Species = 826, Ability = A4 }, // Orbeetle - new(Nest108,4,4,4,SWSH) { Species = 212, Ability = A4 }, // Scizor - new(Nest109,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest109,0,1,1,SWSH) { Species = 123, Ability = A2 }, // Scyther - new(Nest109,1,2,2,SWSH) { Species = 213, Ability = A2 }, // Shuckle - new(Nest109,1,2,2,SWSH) { Species = 544, Ability = A2 }, // Whirlipede - new(Nest109,2,3,3,SWSH) { Species = 123, Ability = A2 }, // Scyther - new(Nest109,2,3,3,SWSH) { Species = 558, Ability = A2 }, // Crustle - new(Nest109,3,4,4,SWSH) { Species = 545, Ability = A2 }, // Scolipede - new(Nest109,3,4,4,SWSH) { Species = 617, Ability = A2 }, // Accelgor - new(Nest109,3,4,4,SWSH) { Species = 589, Ability = A2 }, // Escavalier - new(Nest109,4,4,4,SWSH) { Species = 212, Ability = A2 }, // Scizor - new(Nest110,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest110,0,1,1,SWSH) { Species = 590, Ability = A3 }, // Foongus - new(Nest110,0,1,1,SWSH) { Species = 753, Ability = A3 }, // Fomantis - new(Nest110,1,2,2,SWSH) { Species = 548, Ability = A3 }, // Petilil - new(Nest110,1,2,2,SWSH) { Species = 754, Ability = A3 }, // Lurantis - new(Nest110,2,3,3,SWSH) { Species = 591, Ability = A3 }, // Amoonguss - new(Nest110,2,3,3,SWSH) { Species = 114, Ability = A3 }, // Tangela - new(Nest110,3,4,4,SWSH) { Species = 549, Ability = A4 }, // Lilligant - new(Nest110,3,4,4,SWSH) { Species = 754, Ability = A4 }, // Lurantis - new(Nest110,4,4,4,SWSH) { Species = 591, Ability = A4 }, // Amoonguss - new(Nest110,4,4,4,SWSH) { Species = 465, Ability = A4 }, // Tangrowth - new(Nest111,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest111,0,1,1,SWSH) { Species = 114, Ability = A2 }, // Tangela - new(Nest111,0,1,1,SWSH) { Species = 753, Ability = A2 }, // Fomantis - new(Nest111,1,2,2,SWSH) { Species = 590, Ability = A2 }, // Foongus - new(Nest111,1,2,2,SWSH) { Species = 754, Ability = A2 }, // Lurantis - new(Nest111,2,3,3,SWSH) { Species = 556, Ability = A2 }, // Maractus - new(Nest111,2,3,3,SWSH) { Species = 549, Ability = A2 }, // Lilligant - new(Nest111,3,4,4,SWSH) { Species = 754, Ability = A2 }, // Lurantis - new(Nest111,3,4,4,SWSH) { Species = 591, Ability = A2 }, // Amoonguss - new(Nest111,3,4,4,SWSH) { Species = 465, Ability = A2 }, // Tangrowth - new(Nest111,4,4,4,SWSH) { Species = 549, Ability = A2 }, // Lilligant - new(Nest111,4,4,4,SWSH) { Species = 460, Ability = A2 }, // Abomasnow - new(Nest112,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest112,0,1,1,SWSH) { Species = 661, Ability = A3 }, // Fletchling - new(Nest112,0,1,1,SWSH) { Species = 757, Ability = A3 }, // Salandit - new(Nest112,1,2,2,SWSH) { Species = 636, Ability = A3 }, // Larvesta - new(Nest112,1,2,2,SWSH) { Species = 757, Ability = A3, Gender = 1 }, // Salandit - new(Nest112,2,3,3,SWSH) { Species = 662, Ability = A3 }, // Fletchinder - new(Nest112,2,3,3,SWSH) { Species = 636, Ability = A3 }, // Larvesta - new(Nest112,3,4,4,SWSH) { Species = 324, Ability = A4 }, // Torkoal - new(Nest112,3,4,4,SWSH) { Species = 663, Ability = A4 }, // Talonflame - new(Nest112,3,4,4,SWSH) { Species = 758, Ability = A4 }, // Salazzle - new(Nest112,4,4,4,SWSH) { Species = 324, Ability = A4 }, // Torkoal - new(Nest112,4,4,4,SWSH) { Species = 637, Ability = A4 }, // Volcarona - new(Nest113,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest113,0,1,1,SWSH) { Species = 636, Ability = A2 }, // Larvesta - new(Nest113,0,1,1,SWSH) { Species = 607, Ability = A2 }, // Litwick - new(Nest113,1,2,2,SWSH) { Species = 636, Ability = A2 }, // Larvesta - new(Nest113,1,2,2,SWSH) { Species = 757, Ability = A2, Gender = 1 }, // Salandit - new(Nest113,2,3,3,SWSH) { Species = 324, Ability = A2 }, // Torkoal - new(Nest113,2,3,3,SWSH) { Species = 758, Ability = A2 }, // Salazzle - new(Nest113,3,4,4,SWSH) { Species = 663, Ability = A2 }, // Talonflame - new(Nest113,3,4,4,SWSH) { Species = 609, Ability = A2 }, // Chandelure - new(Nest113,3,4,4,SWSH) { Species = 637, Ability = A2 }, // Volcarona - new(Nest113,4,4,4,SWSH) { Species = 006, Ability = A2 }, // Charizard - new(Nest114,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest114,0,1,1,SWSH) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest114,0,1,1,SWSH) { Species = 111, Ability = A3 }, // Rhyhorn - new(Nest114,1,2,2,SWSH) { Species = 744, Ability = A3 }, // Rockruff - new(Nest114,1,2,2,SWSH) { Species = 525, Ability = A3 }, // Boldore - new(Nest114,2,3,3,SWSH) { Species = 112, Ability = A3 }, // Rhydon - new(Nest114,2,3,3,SWSH) { Species = 558, Ability = A3 }, // Crustle - new(Nest114,3,4,4,SWSH) { Species = 112, Ability = A4 }, // Rhydon - new(Nest114,3,4,4,SWSH) { Species = 526, Ability = A4 }, // Gigalith - new(Nest114,3,4,4,SWSH) { Species = 558, Ability = A4 }, // Crustle - new(Nest114,4,4,4,SWSH) { Species = 464, Ability = A4 }, // Rhyperior - new(Nest115,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest115,0,1,1,SWSH) { Species = 744, Ability = A2 }, // Rockruff - new(Nest115,0,1,1,SWSH) { Species = 438, Ability = A2 }, // Bonsly - new(Nest115,1,2,2,SWSH) { Species = 111, Ability = A2 }, // Rhyhorn - new(Nest115,1,2,2,SWSH) { Species = 744, Ability = A2 }, // Rockruff - new(Nest115,2,3,3,SWSH) { Species = 112, Ability = A2 }, // Rhydon - new(Nest115,2,3,3,SWSH) { Species = 213, Ability = A2 }, // Shuckle - new(Nest115,3,4,4,SWSH) { Species = 185, Ability = A2 }, // Sudowoodo - new(Nest115,3,4,4,SWSH) { Species = 526, Ability = A2 }, // Gigalith - new(Nest115,4,4,4,SWSH) { Species = 558, Ability = A2 }, // Crustle - new(Nest115,4,4,4,SWSH) { Species = 464, Ability = A2 }, // Rhyperior - new(Nest116,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest116,0,1,1,SWSH) { Species = 102, Ability = A3 }, // Exeggcute - new(Nest116,0,1,1,SWSH) { Species = 063, Ability = A3 }, // Abra - new(Nest116,1,2,2,SWSH) { Species = 280, Ability = A3 }, // Ralts - new(Nest116,1,2,2,SWSH) { Species = 064, Ability = A3 }, // Kadabra - new(Nest116,2,3,3,SWSH) { Species = 281, Ability = A3 }, // Kirlia - new(Nest116,3,4,4,SWSH) { Species = 103, Ability = A4 }, // Exeggutor - new(Nest116,3,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest116,4,4,4,SWSH) { Species = 065, Ability = A4 }, // Alakazam - new(Nest116,4,4,4,SWSH) { Species = 121, Ability = A4 }, // Starmie - new(Nest117,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest117,0,1,1,SWSH) { Species = 605, Ability = A2 }, // Elgyem - new(Nest117,0,1,1,SWSH) { Species = 063, Ability = A2 }, // Abra - new(Nest117,1,2,2,SWSH) { Species = 079, Ability = A2, Form = 1 }, // Slowpoke-1 - new(Nest117,1,2,2,SWSH) { Species = 605, Ability = A2 }, // Elgyem - new(Nest117,2,3,3,SWSH) { Species = 079, Ability = A2, Form = 1 }, // Slowpoke-1 - new(Nest117,3,4,4,SWSH) { Species = 518, Ability = A2 }, // Musharna - new(Nest117,3,4,4,SWSH) { Species = 606, Ability = A2 }, // Beheeyem - new(Nest117,4,4,4,SWSH) { Species = 065, Ability = A2 }, // Alakazam - new(Nest118,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest118,0,1,1,SWSH) { Species = 543, Ability = A3 }, // Venipede - new(Nest118,0,1,1,SWSH) { Species = 451, Ability = A3 }, // Skorupi - new(Nest118,1,2,2,SWSH) { Species = 072, Ability = A3 }, // Tentacool - new(Nest118,2,3,3,SWSH) { Species = 544, Ability = A3 }, // Whirlipede - new(Nest118,3,4,4,SWSH) { Species = 452, Ability = A4 }, // Drapion - new(Nest118,3,4,4,SWSH) { Species = 073, Ability = A4 }, // Tentacruel - new(Nest118,4,4,4,SWSH) { Species = 073, Ability = A4 }, // Tentacruel - new(Nest118,4,4,4,SWSH) { Species = 545, Ability = A4 }, // Scolipede - new(Nest119,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest119,0,1,1,SWSH) { Species = 747, Ability = A2 }, // Mareanie - new(Nest119,0,1,1,SWSH) { Species = 211, Ability = A2 }, // Qwilfish - new(Nest119,1,2,2,SWSH) { Species = 544, Ability = A2 }, // Whirlipede - new(Nest119,2,3,3,SWSH) { Species = 211, Ability = A2 }, // Qwilfish - new(Nest119,2,3,3,SWSH) { Species = 591, Ability = A2 }, // Amoonguss - new(Nest119,3,4,4,SWSH) { Species = 748, Ability = A2 }, // Toxapex - new(Nest119,3,4,4,SWSH) { Species = 545, Ability = A2 }, // Scolipede - new(Nest119,3,4,4,SWSH) { Species = 452, Ability = A2 }, // Drapion - new(Nest119,4,4,4,SWSH) { Species = 110, Ability = A2, Form = 1 }, // Weezing-1 - new(Nest119,4,4,4,SWSH) { Species = 545, Ability = A2 }, // Scolipede - new(Nest120,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest120,0,1,1,SWSH) { Species = 318, Ability = A3 }, // Carvanha - new(Nest120,0,1,1,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest120,1,2,2,SWSH) { Species = 318, Ability = A3 }, // Carvanha - new(Nest120,1,2,2,SWSH) { Species = 570, Ability = A3 }, // Zorua - new(Nest120,2,3,3,SWSH) { Species = 319, Ability = A3 }, // Sharpedo - new(Nest120,2,3,3,SWSH) { Species = 687, Ability = A3 }, // Malamar - new(Nest120,3,4,4,SWSH) { Species = 452, Ability = A4 }, // Drapion - new(Nest120,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest120,3,4,4,SWSH) { Species = 687, Ability = A4 }, // Malamar - new(Nest120,4,4,4,SWSH) { Species = 319, Ability = A4 }, // Sharpedo - new(Nest120,4,4,4,SWSH) { Species = 571, Ability = A4 }, // Zoroark - new(Nest121,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest121,0,1,1,SWSH) { Species = 570, Ability = A2 }, // Zorua - new(Nest121,0,1,1,SWSH) { Species = 318, Ability = A2 }, // Carvanha - new(Nest121,1,2,2,SWSH) { Species = 570, Ability = A2 }, // Zorua - new(Nest121,1,2,2,SWSH) { Species = 686, Ability = A2 }, // Inkay - new(Nest121,2,3,3,SWSH) { Species = 552, Ability = A2 }, // Krokorok - new(Nest121,2,3,3,SWSH) { Species = 687, Ability = A2 }, // Malamar - new(Nest121,3,4,4,SWSH) { Species = 828, Ability = A2 }, // Thievul - new(Nest121,3,4,4,SWSH) { Species = 571, Ability = A2 }, // Zoroark - new(Nest121,3,4,4,SWSH) { Species = 319, Ability = A2 }, // Sharpedo - new(Nest121,4,4,4,SWSH) { Species = 510, Ability = A2 }, // Liepard - new(Nest121,4,4,4,SWSH) { Species = 553, Ability = A2 }, // Krookodile - new(Nest122,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest122,0,1,1,SWSH) { Species = 619, Ability = A3 }, // Mienfoo - new(Nest122,0,1,1,SWSH) { Species = 852, Ability = A3 }, // Clobbopus - new(Nest122,1,2,2,SWSH) { Species = 619, Ability = A3 }, // Mienfoo - new(Nest122,3,4,4,SWSH) { Species = 620, Ability = A4 }, // Mienshao - new(Nest122,4,4,4,SWSH) { Species = 853, Ability = A4 }, // Grapploct - new(Nest122,4,4,4,SWSH) { Species = 620, Ability = A4 }, // Mienshao - new(Nest123,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest123,0,1,1,SWSH) { Species = 619, Ability = A2 }, // Mienfoo - new(Nest123,1,2,2,SWSH) { Species = 620, Ability = A2 }, // Mienshao - new(Nest123,2,3,3,SWSH) { Species = 870, Ability = A2 }, // Falinks - new(Nest123,3,4,4,SWSH) { Species = 620, Ability = A2 }, // Mienshao - new(Nest123,4,4,4,SWSH) { Species = 853, Ability = A2 }, // Grapploct - new(Nest124,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest124,0,1,1,SWSH) { Species = 174, Ability = A3 }, // Igglybuff - new(Nest124,0,1,1,SWSH) { Species = 298, Ability = A3 }, // Azurill - new(Nest124,1,2,2,SWSH) { Species = 764, Ability = A3 }, // Comfey - new(Nest124,1,2,2,SWSH) { Species = 039, Ability = A3 }, // Jigglypuff - new(Nest124,2,3,3,SWSH) { Species = 183, Ability = A3 }, // Marill - new(Nest124,2,3,3,SWSH) { Species = 764, Ability = A3 }, // Comfey - new(Nest124,3,4,4,SWSH) { Species = 707, Ability = A4 }, // Klefki - new(Nest124,3,4,4,SWSH) { Species = 184, Ability = A4 }, // Azumarill - new(Nest124,3,4,4,SWSH) { Species = 040, Ability = A4 }, // Wigglytuff - new(Nest124,4,4,4,SWSH) { Species = 282, Ability = A4 }, // Gardevoir - new(Nest124,4,4,4,SWSH) { Species = 764, Ability = A4 }, // Comfey - new(Nest125,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest125,0,1,1,SWSH) { Species = 173, Ability = A2 }, // Cleffa - new(Nest125,0,1,1,SWSH) { Species = 755, Ability = A2 }, // Morelull - new(Nest125,1,2,2,SWSH) { Species = 183, Ability = A2 }, // Marill - new(Nest125,1,2,2,SWSH) { Species = 035, Ability = A2 }, // Clefairy - new(Nest125,2,3,3,SWSH) { Species = 281, Ability = A2 }, // Kirlia - new(Nest125,2,3,3,SWSH) { Species = 707, Ability = A2 }, // Klefki - new(Nest125,3,4,4,SWSH) { Species = 764, Ability = A2 }, // Comfey - new(Nest125,3,4,4,SWSH) { Species = 036, Ability = A2 }, // Clefable - new(Nest125,3,4,4,SWSH) { Species = 282, Ability = A2 }, // Gardevoir - new(Nest125,4,4,4,SWSH) { Species = 756, Ability = A2 }, // Shiinotic - new(Nest125,4,4,4,SWSH) { Species = 184, Ability = A2 }, // Azumarill - new(Nest126,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest126,0,1,1,SWSH) { Species = 769, Ability = A3 }, // Sandygast - new(Nest126,0,1,1,SWSH) { Species = 592, Ability = A3 }, // Frillish - new(Nest126,1,2,2,SWSH) { Species = 104, Ability = A3 }, // Cubone - new(Nest126,1,2,2,SWSH) { Species = 425, Ability = A3 }, // Drifloon - new(Nest126,2,3,3,SWSH) { Species = 593, Ability = A3 }, // Jellicent - new(Nest126,2,3,3,SWSH) { Species = 426, Ability = A3 }, // Drifblim - new(Nest126,3,4,4,SWSH) { Species = 770, Ability = A4 }, // Palossand - new(Nest126,3,4,4,SWSH) { Species = 593, Ability = A4 }, // Jellicent - new(Nest126,3,4,4,SWSH) { Species = 426, Ability = A4 }, // Drifblim - new(Nest126,4,4,4,SWSH) { Species = 105, Ability = A4 }, // Marowak - new(Nest126,4,4,4,SWSH) { Species = 770, Ability = A4 }, // Palossand - new(Nest127,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest127,0,1,1,SWSH) { Species = 769, Ability = A2 }, // Sandygast - new(Nest127,0,1,1,SWSH) { Species = 592, Ability = A2 }, // Frillish - new(Nest127,1,2,2,SWSH) { Species = 769, Ability = A2 }, // Sandygast - new(Nest127,1,2,2,SWSH) { Species = 425, Ability = A2 }, // Drifloon - new(Nest127,2,3,3,SWSH) { Species = 593, Ability = A2 }, // Jellicent - new(Nest127,2,3,3,SWSH) { Species = 426, Ability = A2 }, // Drifblim - new(Nest127,3,4,4,SWSH) { Species = 711, Ability = A2 }, // Gourgeist - new(Nest127,3,4,4,SWSH) { Species = 711, Ability = A2, Form = 1 }, // Gourgeist-1 - new(Nest127,3,4,4,SWSH) { Species = 711, Ability = A2, Form = 2 }, // Gourgeist-2 - new(Nest127,4,4,4,SWSH) { Species = 711, Ability = A2, Form = 3 }, // Gourgeist-3 - new(Nest128,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest128,0,1,1,SWSH) { Species = 707, Ability = A3 }, // Klefki - new(Nest128,0,1,1,SWSH) { Species = 081, Ability = A3 }, // Magnemite - new(Nest128,1,2,2,SWSH) { Species = 624, Ability = A3 }, // Pawniard - new(Nest128,1,2,2,SWSH) { Species = 081, Ability = A3 }, // Magnemite - new(Nest128,2,3,3,SWSH) { Species = 227, Ability = A3 }, // Skarmory - new(Nest128,2,3,3,SWSH) { Species = 082, Ability = A3 }, // Magneton - new(Nest128,3,4,4,SWSH) { Species = 082, Ability = A4 }, // Magneton - new(Nest128,3,4,4,SWSH) { Species = 707, Ability = A4 }, // Klefki - new(Nest128,3,4,4,SWSH) { Species = 625, Ability = A4 }, // Bisharp - new(Nest128,4,4,4,SWSH) { Species = 462, Ability = A4 }, // Magnezone - new(Nest128,4,4,4,SWSH) { Species = 227, Ability = A4 }, // Skarmory - new(Nest129,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest129,0,1,1,SWSH) { Species = 081, Ability = A2 }, // Magnemite - new(Nest129,0,1,1,SWSH) { Species = 227, Ability = A2 }, // Skarmory - new(Nest129,1,2,2,SWSH) { Species = 436, Ability = A2 }, // Bronzor - new(Nest129,1,2,2,SWSH) { Species = 052, Ability = A2, Form = 2 }, // Meowth-2 - new(Nest129,2,3,3,SWSH) { Species = 082, Ability = A2 }, // Magneton - new(Nest129,2,3,3,SWSH) { Species = 601, Ability = A2 }, // Klinklang - new(Nest129,3,4,4,SWSH) { Species = 227, Ability = A2 }, // Skarmory - new(Nest129,3,4,4,SWSH) { Species = 437, Ability = A2 }, // Bronzong - new(Nest129,3,4,4,SWSH) { Species = 863, Ability = A2 }, // Perrserker - new(Nest129,4,4,4,SWSH) { Species = 448, Ability = A2 }, // Lucario - new(Nest129,4,4,4,SWSH) { Species = 625, Ability = A2 }, // Bisharp - new(Nest130,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - //new(Nest130,0,1,1,SWSH) { Species = 116, Ability = A3 }, // Horsea - new(Nest130,2,2,2,SWSH) { Species = 840, Ability = A3 }, // Applin - new(Nest130,1,2,2,SWSH) { Species = 117, Ability = A3 }, // Seadra - new(Nest130,2,3,3,SWSH) { Species = 621, Ability = A3 }, // Druddigon - new(Nest130,3,4,4,SWSH) { Species = 621, Ability = A4 }, // Druddigon - new(Nest130,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest130,4,4,4,SWSH) { Species = 230, Ability = A4 }, // Kingdra - new(Nest131,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest131,0,1,1,SWSH) { Species = 116, Ability = A2 }, // Horsea - //new(Nest131,0,1,1,SWSH) { Species = 621, Ability = A2 }, // Druddigon - new(Nest131,2,3,3,SWSH) { Species = 117, Ability = A2 }, // Seadra - new(Nest131,3,4,4,SWSH) { Species = 621, Ability = A2 }, // Druddigon - new(Nest131,3,4,4,SWSH) { Species = 715, Ability = A2 }, // Noivern - new(Nest131,4,4,4,SWSH) { Species = 230, Ability = A2 }, // Kingdra - new(Nest132,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest132,0,1,1,SWSH) { Species = 060, Ability = A3 }, // Poliwag - new(Nest132,0,1,1,SWSH) { Species = 194, Ability = A3 }, // Wooper - new(Nest132,1,2,2,SWSH) { Species = 118, Ability = A3 }, // Goldeen - new(Nest132,1,2,2,SWSH) { Species = 061, Ability = A3 }, // Poliwhirl - new(Nest132,2,3,3,SWSH) { Species = 342, Ability = A3 }, // Crawdaunt - new(Nest132,2,3,3,SWSH) { Species = 061, Ability = A3 }, // Poliwhirl - new(Nest132,3,4,4,SWSH) { Species = 119, Ability = A4 }, // Seaking - new(Nest132,3,4,4,SWSH) { Species = 342, Ability = A4 }, // Crawdaunt - new(Nest132,3,4,4,SWSH) { Species = 195, Ability = A4 }, // Quagsire - new(Nest132,4,4,4,SWSH) { Species = 062, Ability = A4 }, // Poliwrath - new(Nest132,4,4,4,SWSH) { Species = 186, Ability = A4 }, // Politoed - new(Nest133,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest133,0,1,1,SWSH) { Species = 341, Ability = A2 }, // Corphish - new(Nest133,0,1,1,SWSH) { Species = 751, Ability = A2 }, // Dewpider - new(Nest133,1,2,2,SWSH) { Species = 118, Ability = A2 }, // Goldeen - new(Nest133,1,2,2,SWSH) { Species = 061, Ability = A2 }, // Poliwhirl - new(Nest133,2,3,3,SWSH) { Species = 342, Ability = A2 }, // Crawdaunt - new(Nest133,2,3,3,SWSH) { Species = 195, Ability = A2 }, // Quagsire - new(Nest133,3,4,4,SWSH) { Species = 119, Ability = A2 }, // Seaking - new(Nest133,3,4,4,SWSH) { Species = 062, Ability = A2 }, // Poliwrath - new(Nest133,3,4,4,SWSH) { Species = 342, Ability = A2 }, // Crawdaunt - new(Nest133,4,4,4,SWSH) { Species = 752, Ability = A2 }, // Araquanid - new(Nest133,4,4,4,SWSH) { Species = 186, Ability = A2 }, // Politoed - new(Nest134,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest134,0,1,1,SWSH) { Species = 054, Ability = A3 }, // Psyduck - new(Nest134,0,1,1,SWSH) { Species = 833, Ability = A3 }, // Chewtle - new(Nest134,1,2,2,SWSH) { Species = 846, Ability = A3 }, // Arrokuda - new(Nest134,1,2,2,SWSH) { Species = 339, Ability = A3 }, // Barboach - new(Nest134,2,3,3,SWSH) { Species = 055, Ability = A3 }, // Golduck - new(Nest134,2,3,3,SWSH) { Species = 845, Ability = A3 }, // Cramorant - new(Nest134,3,4,4,SWSH) { Species = 055, Ability = A4 }, // Golduck - new(Nest134,3,4,4,SWSH) { Species = 847, Ability = A4 }, // Barraskewda - new(Nest134,3,4,4,SWSH) { Species = 834, Ability = A4 }, // Drednaw - new(Nest134,4,4,4,SWSH) { Species = 340, Ability = A4 }, // Whiscash - new(Nest134,4,4,4,SWSH) { Species = 055, Ability = A4 }, // Golduck - new(Nest135,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest135,0,1,1,SWSH) { Species = 846, Ability = A2 }, // Arrokuda - new(Nest135,0,1,1,SWSH) { Species = 535, Ability = A2 }, // Tympole - new(Nest135,1,2,2,SWSH) { Species = 054, Ability = A2 }, // Psyduck - new(Nest135,1,2,2,SWSH) { Species = 536, Ability = A2 }, // Palpitoad - new(Nest135,2,3,3,SWSH) { Species = 055, Ability = A2 }, // Golduck - new(Nest135,2,3,3,SWSH) { Species = 340, Ability = A2 }, // Whiscash - new(Nest135,3,4,4,SWSH) { Species = 055, Ability = A2 }, // Golduck - new(Nest135,3,4,4,SWSH) { Species = 847, Ability = A2 }, // Barraskewda - new(Nest135,3,4,4,SWSH) { Species = 537, Ability = A2 }, // Seismitoad - new(Nest135,4,4,4,SWSH) { Species = 130, Ability = A2 }, // Gyarados - new(Nest136,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest136,0,1,1,SWSH) { Species = 072, Ability = A3 }, // Tentacool - new(Nest136,0,1,1,SWSH) { Species = 098, Ability = A3 }, // Krabby - new(Nest136,1,2,2,SWSH) { Species = 072, Ability = A3 }, // Tentacool - new(Nest136,1,2,2,SWSH) { Species = 223, Ability = A3 }, // Remoraid - new(Nest136,2,3,3,SWSH) { Species = 073, Ability = A3 }, // Tentacruel - new(Nest136,2,3,3,SWSH) { Species = 746, Ability = A3 }, // Wishiwashi - new(Nest136,3,4,4,SWSH) { Species = 224, Ability = A4 }, // Octillery - new(Nest136,3,4,4,SWSH) { Species = 226, Ability = A4 }, // Mantine - new(Nest136,3,4,4,SWSH) { Species = 099, Ability = A4 }, // Kingler - new(Nest136,4,4,4,SWSH) { Species = 091, Ability = A4 }, // Cloyster - new(Nest136,4,4,4,SWSH) { Species = 073, Ability = A4 }, // Tentacruel - new(Nest137,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest137,0,1,1,SWSH) { Species = 090, Ability = A2 }, // Shellder - new(Nest137,0,1,1,SWSH) { Species = 688, Ability = A2 }, // Binacle - new(Nest137,1,2,2,SWSH) { Species = 747, Ability = A2 }, // Mareanie - new(Nest137,1,2,2,SWSH) { Species = 223, Ability = A2 }, // Remoraid - new(Nest137,2,3,3,SWSH) { Species = 073, Ability = A2 }, // Tentacruel - new(Nest137,2,3,3,SWSH) { Species = 771, Ability = A2 }, // Pyukumuku - new(Nest137,3,4,4,SWSH) { Species = 224, Ability = A2 }, // Octillery - new(Nest137,3,4,4,SWSH) { Species = 226, Ability = A2 }, // Mantine - new(Nest137,3,4,4,SWSH) { Species = 689, Ability = A2 }, // Barbaracle - new(Nest137,4,4,4,SWSH) { Species = 091, Ability = A2 }, // Cloyster - new(Nest137,4,4,4,SWSH) { Species = 748, Ability = A2 }, // Toxapex - new(Nest138,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - //new(Nest138,0,1,1,SWSH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest138,2,2,2,SWSH) { Species = 120, Ability = A3 }, // Staryu - new(Nest138,2,3,3,SWSH) { Species = 320, Ability = A3 }, // Wailmer - new(Nest138,2,3,3,SWSH) { Species = 746, Ability = A3 }, // Wishiwashi - new(Nest138,3,4,4,SWSH) { Species = 321, Ability = A4 }, // Wailord - new(Nest138,3,4,4,SWSH) { Species = 171, Ability = A4 }, // Lanturn - new(Nest138,3,4,4,SWSH) { Species = 121, Ability = A4 }, // Starmie - new(Nest138,4,4,4,SWSH) { Species = 319, Ability = A4 }, // Sharpedo - new(Nest139,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest139,0,1,1,SWSH) { Species = 120, Ability = A2 }, // Staryu - new(Nest139,2,2,2,SWSH) { Species = 320, Ability = A2 }, // Wailmer - new(Nest139,2,2,2,SWSH) { Species = 279, Ability = A2 }, // Pelipper - new(Nest139,2,3,3,SWSH) { Species = 171, Ability = A2 }, // Lanturn - new(Nest139,2,3,3,SWSH) { Species = 117, Ability = A2 }, // Seadra - new(Nest139,3,4,4,SWSH) { Species = 171, Ability = A2 }, // Lanturn - new(Nest139,3,4,4,SWSH) { Species = 121, Ability = A2 }, // Starmie - new(Nest139,4,4,4,SWSH) { Species = 319, Ability = A2 }, // Sharpedo - new(Nest140,0,0,1,SWSH) { Species = 440, Ability = A3 }, // Happiny - new(Nest140,0,1,1,SWSH) { Species = 440, Ability = A3 }, // Happiny - new(Nest140,1,2,2,SWSH) { Species = 440, Ability = A3 }, // Happiny - new(Nest140,2,3,3,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest140,3,4,4,SWSH) { Species = 113, Ability = A4 }, // Chansey - new(Nest140,4,4,4,SWSH) { Species = 242, Ability = A4 }, // Blissey - new(Nest141,0,0,1,SWSH) { Species = 113, Ability = A2 }, // Chansey - new(Nest141,0,1,1,SWSH) { Species = 113, Ability = A2 }, // Chansey - new(Nest141,1,2,2,SWSH) { Species = 113, Ability = A2 }, // Chansey - new(Nest141,2,3,3,SWSH) { Species = 113, Ability = A2 }, // Chansey - new(Nest141,3,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest141,4,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest142,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - //new(Nest142,0,1,1,SWSH) { Species = 415, Ability = A3 }, // Combee - new(Nest142,2,2,2,SWSH) { Species = 415, Ability = A3 }, // Combee - new(Nest142,2,3,3,SWSH) { Species = 415, Ability = A3 }, // Combee - new(Nest142,3,4,4,SWSH) { Species = 416, Ability = A4 }, // Vespiquen - new(Nest142,4,4,4,SWSH) { Species = 416, Ability = A4 }, // Vespiquen - new(Nest143,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest143,0,1,1,SWSH) { Species = 415, Ability = A2, Gender = 1 }, // Combee - new(Nest143,2,2,2,SWSH) { Species = 415, Ability = A2, Gender = 1 }, // Combee - new(Nest143,2,3,3,SWSH) { Species = 416, Ability = A2 }, // Vespiquen - new(Nest143,3,4,4,SWSH) { Species = 416, Ability = A2 }, // Vespiquen - new(Nest143,4,4,4,SWSH) { Species = 416, Ability = A2 }, // Vespiquen - new(Nest144,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest144,0,1,1,SWSH) { Species = 590, Ability = A2 }, // Foongus - new(Nest144,0,1,1,SWSH) { Species = 102, Ability = A2 }, // Exeggcute - new(Nest144,1,2,2,SWSH) { Species = 114, Ability = A2 }, // Tangela - new(Nest144,1,2,2,SWSH) { Species = 315, Ability = A2 }, // Roselia - new(Nest144,2,3,3,SWSH) { Species = 114, Ability = A2 }, // Tangela - new(Nest144,2,3,3,SWSH) { Species = 315, Ability = A2 }, // Roselia - new(Nest144,3,4,4,SWSH) { Species = 103, Ability = A2 }, // Exeggutor - new(Nest144,3,4,4,SWSH) { Species = 003, Ability = A2 }, // Venusaur - new(Nest144,3,4,4,SWSH) { Species = 465, Ability = A2 }, // Tangrowth - new(Nest144,4,4,4,SWSH) { Species = 407, Ability = A2 }, // Roserade - new(Nest144,4,4,4,SWSH) { Species = 003, Ability = A2, CanGigantamax = true }, // Venusaur - new(Nest145,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest145,0,1,1,SWSH) { Species = 129, Ability = A2 }, // Magikarp - //new(Nest145,0,1,1,SWSH) { Species = 072, Ability = A2 }, // Tentacool - new(Nest145,2,2,2,SWSH) { Species = 120, Ability = A2 }, // Staryu - new(Nest145,2,2,2,SWSH) { Species = 688, Ability = A2 }, // Binacle - new(Nest145,2,3,3,SWSH) { Species = 073, Ability = A2 }, // Tentacruel - new(Nest145,2,3,3,SWSH) { Species = 130, Ability = A2 }, // Gyarados - new(Nest145,3,4,4,SWSH) { Species = 073, Ability = A2 }, // Tentacruel - new(Nest145,3,4,4,SWSH) { Species = 130, Ability = A2 }, // Gyarados - new(Nest145,3,4,4,SWSH) { Species = 121, Ability = A2 }, // Starmie - new(Nest145,4,4,4,SWSH) { Species = 689, Ability = A2 }, // Barbaracle - new(Nest145,4,4,4,SWSH) { Species = 009, Ability = A2, CanGigantamax = true }, // Blastoise - new(Nest146,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest146,0,1,1,SWSH) { Species = 098, Ability = A2 }, // Krabby - //new(Nest146,0,1,1,SWSH) { Species = 688, Ability = A2 }, // Binacle - new(Nest146,2,2,2,SWSH) { Species = 072, Ability = A2 }, // Tentacool - new(Nest146,2,2,2,SWSH) { Species = 223, Ability = A2 }, // Remoraid - new(Nest146,2,3,3,SWSH) { Species = 073, Ability = A2 }, // Tentacruel - new(Nest146,2,3,3,SWSH) { Species = 224, Ability = A2 }, // Octillery - new(Nest146,3,4,4,SWSH) { Species = 713, Ability = A2 }, // Avalugg - new(Nest146,3,4,4,SWSH) { Species = 614, Ability = A2 }, // Beartic - new(Nest146,3,4,4,SWSH) { Species = 099, Ability = A2 }, // Kingler - new(Nest146,4,4,4,SWSH) { Species = 091, Ability = A2 }, // Cloyster - new(Nest146,4,4,4,SWSH) { Species = 099, Ability = A2, CanGigantamax = true }, // Kingler - new(Nest147,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest147,0,1,1,SWSH) { Species = 833, Ability = A2 }, // Chewtle - new(Nest147,0,1,1,SWSH) { Species = 054, Ability = A2 }, // Psyduck - new(Nest147,1,2,2,SWSH) { Species = 339, Ability = A2 }, // Barboach - new(Nest147,2,3,3,SWSH) { Species = 055, Ability = A2 }, // Golduck - new(Nest147,2,3,3,SWSH) { Species = 845, Ability = A2 }, // Cramorant - new(Nest147,3,4,4,SWSH) { Species = 055, Ability = A2 }, // Golduck - new(Nest147,3,4,4,SWSH) { Species = 847, Ability = A2 }, // Barraskewda - new(Nest147,4,4,4,SWSH) { Species = 340, Ability = A2 }, // Whiscash - new(Nest147,4,4,4,SWSH) { Species = 834, Ability = A2, CanGigantamax = true }, // Drednaw - new(Nest148,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest148,0,1,1,SWSH) { Species = 824, Ability = A2 }, // Blipbug - new(Nest148,0,1,1,SWSH) { Species = 742, Ability = A2 }, // Cutiefly - new(Nest148,1,2,2,SWSH) { Species = 595, Ability = A2 }, // Joltik - new(Nest148,2,3,3,SWSH) { Species = 825, Ability = A2 }, // Dottler - new(Nest148,2,3,3,SWSH) { Species = 291, Ability = A2 }, // Ninjask - new(Nest148,3,4,4,SWSH) { Species = 826, Ability = A2 }, // Orbeetle - new(Nest148,3,4,4,SWSH) { Species = 596, Ability = A2 }, // Galvantula - new(Nest148,3,4,4,SWSH) { Species = 743, Ability = A2 }, // Ribombee - new(Nest148,4,4,4,SWSH) { Species = 291, Ability = A2 }, // Ninjask - new(Nest148,4,4,4,SWSH) { Species = 826, Ability = A2, CanGigantamax = true }, // Orbeetle - new(Nest149,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest149,0,1,1,SWSH) { Species = 843, Ability = A2 }, // Silicobra - new(Nest149,0,1,1,SWSH) { Species = 529, Ability = A2 }, // Drilbur - new(Nest149,1,2,2,SWSH) { Species = 843, Ability = A2 }, // Silicobra - new(Nest149,1,2,2,SWSH) { Species = 529, Ability = A2 }, // Drilbur - new(Nest149,2,3,3,SWSH) { Species = 028, Ability = A2 }, // Sandslash - new(Nest149,2,3,3,SWSH) { Species = 552, Ability = A2 }, // Krokorok - new(Nest149,3,4,4,SWSH) { Species = 844, Ability = A2 }, // Sandaconda - new(Nest149,3,4,4,SWSH) { Species = 553, Ability = A2 }, // Krookodile - new(Nest149,3,4,4,SWSH) { Species = 530, Ability = A2 }, // Excadrill - new(Nest149,4,4,4,SWSH) { Species = 553, Ability = A2 }, // Krookodile - new(Nest149,4,4,4,SWSH) { Species = 844, Ability = A2, CanGigantamax = true }, // Sandaconda - new(Nest150,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest150,0,1,1,SWSH) { Species = 840, Ability = A2 }, // Applin - //new(Nest150,0,1,1,SWSH) { Species = 420, Ability = A2 }, // Cherubi (DLC1) - //new(Nest150,0,1,1,SWSH) { Species = 761, Ability = A2 }, // Bounsweet (DLC2) - new(Nest150,2,2,2,SWSH) { Species = 420, Ability = A2 }, // Cherubi - new(Nest150,2,2,2,SWSH) { Species = 840, Ability = A2 }, // Applin - new(Nest150,2,3,3,SWSH) { Species = 762, Ability = A2 }, // Steenee - new(Nest150,3,4,4,SWSH) { Species = 820, Ability = A2 }, // Greedent - new(Nest150,4,4,4,SWSH) { Species = 763, Ability = A2 }, // Tsareena - new(Nest151,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - //new(Nest151,0,0,1,SWSH) { Species = 132, Ability = A3 }, // Ditto - //new(Nest151,0,1,2,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest151,2,2,3,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest151,2,3,3,SWSH) { Species = 132, Ability = A3 }, // Ditto - new(Nest151,2,3,3,SWSH) { Species = 132, Ability = A4 }, // Ditto - new(Nest151,3,4,4,SWSH) { Species = 132, Ability = A4 }, // Ditto - new(Nest151,4,4,4,SWSH) { Species = 132, Ability = A4 }, // Ditto - new(Nest152,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - //new(Nest152,0,0,1,SWSH) { Species = 132, Ability = A2 }, // Ditto - //new(Nest152,0,1,2,SWSH) { Species = 132, Ability = A2 }, // Ditto - new(Nest152,2,2,3,SWSH) { Species = 132, Ability = A2 }, // Ditto - new(Nest152,2,3,3,SWSH) { Species = 132, Ability = A2 }, // Ditto - new(Nest152,3,4,4,SWSH) { Species = 132, Ability = A2 }, // Ditto - new(Nest152,4,4,4,SWSH) { Species = 132, Ability = A2 }, // Ditto - new(Nest153,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest153,0,1,1,SWSH) { Species = 590, Ability = A3 }, // Foongus - new(Nest153,0,1,1,SWSH) { Species = 102, Ability = A3 }, // Exeggcute - new(Nest153,1,2,2,SWSH) { Species = 753, Ability = A3 }, // Fomantis - new(Nest153,1,2,2,SWSH) { Species = 114, Ability = A3 }, // Tangela - new(Nest153,2,3,3,SWSH) { Species = 754, Ability = A3 }, // Lurantis - new(Nest153,2,3,3,SWSH) { Species = 102, Ability = A3 }, // Exeggcute - new(Nest153,3,4,4,SWSH) { Species = 103, Ability = A4 }, // Exeggutor - new(Nest153,3,4,4,SWSH) { Species = 591, Ability = A4 }, // Amoonguss - new(Nest153,3,4,4,SWSH) { Species = 754, Ability = A4 }, // Lurantis - new(Nest153,4,4,4,SWSH) { Species = 465, Ability = A4 }, // Tangrowth - new(Nest153,4,4,4,SWSH) { Species = 003, Ability = A4 }, // Venusaur - new(Nest154,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - //new(Nest154,0,1,1,SWSH) { Species = 129, Ability = A3 }, // Magikarp - //new(Nest154,0,1,1,SWSH) { Species = 072, Ability = A3 }, // Tentacool - new(Nest154,2,2,2,SWSH) { Species = 120, Ability = A3 }, // Staryu - new(Nest154,1,2,2,SWSH) { Species = 090, Ability = A3 }, // Shellder - new(Nest154,2,3,3,SWSH) { Species = 073, Ability = A3 }, // Tentacruel - new(Nest154,2,3,3,SWSH) { Species = 130, Ability = A3 }, // Gyarados - new(Nest154,3,4,4,SWSH) { Species = 073, Ability = A4 }, // Tentacruel - new(Nest154,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest154,3,4,4,SWSH) { Species = 121, Ability = A4 }, // Starmie - new(Nest154,4,4,4,SWSH) { Species = 091, Ability = A4 }, // Cloyster - new(Nest154,4,4,4,SWSH) { Species = 009, Ability = A4 }, // Blastoise - new(Nest155,2,4,4,SWSH) { Species = 113, Ability = A3 }, // Chansey - new(Nest155,0,1,1,SWSH) { Species = 744, Ability = A3 }, // Rockruff - new(Nest155,1,2,2,SWSH) { Species = 744, Ability = A3 }, // Rockruff - new(Nest155,2,3,3,SWSH) { Species = 744, Ability = A3 }, // Rockruff - new(Nest155,2,3,3,SWSH) { Species = 744, Ability = A3, Form = 1 }, // Rockruff-1 - new(Nest155,3,4,4,SWSH) { Species = 745, Ability = A4 }, // Lycanroc - new(Nest155,3,4,4,SWSH) { Species = 745, Ability = A4, Form = 1 }, // Lycanroc-1 - new(Nest155,4,4,4,SWSH) { Species = 745, Ability = A4, Form = 2 }, // Lycanroc-2 - new(Nest156,2,4,4,SWSH) { Species = 242, Ability = A2 }, // Blissey - new(Nest156,0,1,1,SWSH) { Species = 744, Ability = A2 }, // Rockruff - new(Nest156,1,2,2,SWSH) { Species = 744, Ability = A2 }, // Rockruff - new(Nest156,2,3,3,SWSH) { Species = 744, Ability = A2 }, // Rockruff - new(Nest156,2,3,3,SWSH) { Species = 744, Ability = A2, Form = 1 }, // Rockruff-1 - new(Nest156,3,3,4,SWSH) { Species = 745, Ability = A2 }, // Lycanroc - new(Nest156,3,3,4,SWSH) { Species = 745, Ability = A2, Form = 1 }, // Lycanroc-1 - new(Nest156,4,4,4,SWSH) { Species = 745, Ability = A2 }, // Lycanroc - new(Nest156,4,4,4,SWSH) { Species = 745, Ability = A2, Form = 1 }, // Lycanroc-1 - new(Nest156,3,4,4,SWSH) { Species = 745, Ability = A2, Form = 2 }, // Lycanroc-2 - new(Nest157,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest157,0,1,1,SWSH) { Species = 333, Ability = A3 }, // Swablu - new(Nest157,0,1,1,SWSH) { Species = 831, Ability = A3 }, // Wooloo - new(Nest157,1,2,2,SWSH) { Species = 333, Ability = A3 }, // Swablu - new(Nest157,1,2,2,SWSH) { Species = 446, Ability = A3 }, // Munchlax - new(Nest157,2,3,3,SWSH) { Species = 820, Ability = A3 }, // Greedent - new(Nest157,2,3,3,SWSH) { Species = 832, Ability = A3 }, // Dubwool - new(Nest157,3,4,4,SWSH) { Species = 334, Ability = A4 }, // Altaria - new(Nest157,3,4,4,SWSH) { Species = 832, Ability = A4 }, // Dubwool - new(Nest157,4,4,4,SWSH) { Species = 143, Ability = A4 }, // Snorlax - new(Nest158,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest158,0,1,2,SWSH) { Species = 333, Ability = A2 }, // Swablu - new(Nest158,0,1,2,SWSH) { Species = 819, Ability = A2 }, // Skwovet - new(Nest158,1,2,3,SWSH) { Species = 333, Ability = A2 }, // Swablu - new(Nest158,1,2,3,SWSH) { Species = 820, Ability = A2 }, // Greedent - new(Nest158,2,3,4,SWSH) { Species = 820, Ability = A2 }, // Greedent - new(Nest158,2,3,4,SWSH) { Species = 832, Ability = A2 }, // Dubwool - new(Nest158,3,4,5,SWSH) { Species = 334, Ability = A2 }, // Altaria - new(Nest158,3,4,5,SWSH) { Species = 832, Ability = A2 }, // Dubwool - new(Nest158,4,4,5,SWSH) { Species = 143, Ability = A2 }, // Snorlax - new(Nest158,4,4,5,SWSH) { Species = 143, Ability = A2, CanGigantamax = true }, // Snorlax - new(Nest159,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest159,0,1,1,SWSH) { Species = 240, Ability = A3 }, // Magby - new(Nest159,0,1,1,SWSH) { Species = 850, Ability = A3 }, // Sizzlipede - new(Nest159,1,2,2,SWSH) { Species = 240, Ability = A3 }, // Magby - new(Nest159,1,2,2,SWSH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest159,2,3,3,SWSH) { Species = 608, Ability = A3 }, // Lampent - new(Nest159,2,3,3,SWSH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest159,3,4,4,SWSH) { Species = 126, Ability = A4 }, // Magmar - new(Nest159,3,4,4,SWSH) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest159,3,4,4,SWSH) { Species = 609, Ability = A4 }, // Chandelure - new(Nest159,4,4,4,SWSH) { Species = 126, Ability = A4 }, // Magmar - new(Nest159,4,4,4,SWSH) { Species = 467, Ability = A4 }, // Magmortar - new(Nest160,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest160,0,1,2,SWSH) { Species = 240, Ability = A2 }, // Magby - new(Nest160,1,2,3,SWSH) { Species = 126, Ability = A2 }, // Magmar - new(Nest160,1,2,3,SWSH) { Species = 631, Ability = A2 }, // Heatmor - new(Nest160,2,3,4,SWSH) { Species = 126, Ability = A2 }, // Magmar - new(Nest160,2,3,4,SWSH) { Species = 851, Ability = A2 }, // Centiskorch - new(Nest160,3,4,5,SWSH) { Species = 609, Ability = A2 }, // Chandelure - new(Nest160,3,4,5,SWSH) { Species = 467, Ability = A2 }, // Magmortar - new(Nest160,4,4,5,SWSH) { Species = 467, Ability = A2 }, // Magmortar - new(Nest160,4,4,5,SWSH) { Species = 851, Ability = A2, CanGigantamax = true }, // Centiskorch - new(Nest161,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest161,0,1,1,SWSH) { Species = 349, Ability = A3 }, // Feebas - new(Nest161,1,2,2,SWSH) { Species = 349, Ability = A3 }, // Feebas - new(Nest161,2,3,3,SWSH) { Species = 340, Ability = A3 }, // Whiscash - new(Nest161,3,4,4,SWSH) { Species = 130, Ability = A4 }, // Gyarados - new(Nest161,4,4,4,SWSH) { Species = 350, Ability = A4 }, // Milotic - new(Nest161,4,4,4,SWSH) { Species = 369, Ability = A4 }, // Relicanth - new(Nest162,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest162,0,1,2,SWSH) { Species = 349, Ability = A2 }, // Feebas - new(Nest162,1,2,3,SWSH) { Species = 349, Ability = A2 }, // Feebas - new(Nest162,1,2,3,SWSH) { Species = 369, Ability = A2 }, // Relicanth - new(Nest162,2,3,4,SWSH) { Species = 099, Ability = A2 }, // Kingler - new(Nest162,3,4,5,SWSH) { Species = 369, Ability = A2 }, // Relicanth - new(Nest162,3,4,5,SWSH) { Species = 350, Ability = A2 }, // Milotic - new(Nest162,4,4,5,SWSH) { Species = 130, Ability = A2 }, // Gyarados - new(Nest162,4,4,5,SWSH) { Species = 099, Ability = A2, CanGigantamax = true }, // Kingler - new(Nest163,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest163,0,1,1,SWSH) { Species = 239, Ability = A3 }, // Elekid - new(Nest163,0,1,1,SWSH) { Species = 595, Ability = A3 }, // Joltik - new(Nest163,1,2,2,SWSH) { Species = 239, Ability = A3 }, // Elekid - new(Nest163,1,2,2,SWSH) { Species = 871, Ability = A3 }, // Pincurchin - new(Nest163,2,3,3,SWSH) { Species = 125, Ability = A3 }, // Electabuzz - new(Nest163,2,3,3,SWSH) { Species = 778, Ability = A3 }, // Mimikyu - new(Nest163,3,4,4,SWSH) { Species = 596, Ability = A4 }, // Galvantula - new(Nest163,3,4,4,SWSH) { Species = 871, Ability = A4 }, // Pincurchin - new(Nest163,3,4,4,SWSH) { Species = 836, Ability = A4 }, // Boltund - new(Nest163,4,4,4,SWSH) { Species = 125, Ability = A4 }, // Electabuzz - new(Nest163,4,4,4,SWSH) { Species = 466, Ability = A4 }, // Electivire - new(Nest164,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest164,0,1,2,SWSH) { Species = 239, Ability = A2 }, // Elekid - new(Nest164,1,2,3,SWSH) { Species = 702, Ability = A2 }, // Dedenne - new(Nest164,1,2,3,SWSH) { Species = 596, Ability = A2 }, // Galvantula - new(Nest164,2,3,4,SWSH) { Species = 125, Ability = A2 }, // Electabuzz - new(Nest164,2,3,4,SWSH) { Species = 836, Ability = A2 }, // Boltund - new(Nest164,3,4,5,SWSH) { Species = 871, Ability = A2 }, // Pincurchin - new(Nest164,3,4,5,SWSH) { Species = 466, Ability = A2 }, // Electivire - new(Nest164,4,4,5,SWSH) { Species = 466, Ability = A2 }, // Electivire - new(Nest165,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest165,0,1,1,SWSH) { Species = 829, Ability = A3 }, // Gossifleur - new(Nest165,1,2,2,SWSH) { Species = 347, Ability = A3 }, // Anorith - new(Nest165,1,2,2,SWSH) { Species = 345, Ability = A3 }, // Lileep - new(Nest165,2,3,3,SWSH) { Species = 830, Ability = A3 }, // Eldegoss - new(Nest165,3,4,4,SWSH) { Species = 752, Ability = A4 }, // Araquanid - new(Nest165,3,4,4,SWSH) { Species = 830, Ability = A4 }, // Eldegoss - new(Nest165,4,4,4,SWSH) { Species = 598, Ability = A4 }, // Ferrothorn - new(Nest166,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest166,0,1,2,SWSH) { Species = 347, Ability = A2 }, // Anorith - new(Nest166,0,1,2,SWSH) { Species = 345, Ability = A2 }, // Lileep - new(Nest166,1,2,3,SWSH) { Species = 347, Ability = A2 }, // Anorith - new(Nest166,1,2,3,SWSH) { Species = 345, Ability = A2 }, // Lileep - new(Nest166,2,3,4,SWSH) { Species = 752, Ability = A2 }, // Araquanid - new(Nest166,2,3,4,SWSH) { Species = 012, Ability = A2 }, // Butterfree - new(Nest166,3,4,5,SWSH) { Species = 348, Ability = A2 }, // Armaldo - new(Nest166,3,4,5,SWSH) { Species = 346, Ability = A2 }, // Cradily - new(Nest166,3,4,5,SWSH) { Species = 830, Ability = A2 }, // Eldegoss - new(Nest166,4,4,5,SWSH) { Species = 012, Ability = A2, CanGigantamax = true }, // Butterfree - new(Nest167,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest167,0,1,1,SWSH) { Species = 238, Ability = A3 }, // Smoochum - new(Nest167,1,2,2,SWSH) { Species = 238, Ability = A3 }, // Smoochum - new(Nest167,1,2,2,SWSH) { Species = 698, Ability = A3 }, // Amaura - new(Nest167,2,3,3,SWSH) { Species = 221, Ability = A3 }, // Piloswine - new(Nest167,2,3,3,SWSH) { Species = 460, Ability = A3 }, // Abomasnow - new(Nest167,3,4,4,SWSH) { Species = 124, Ability = A4 }, // Jynx - new(Nest167,3,4,4,SWSH) { Species = 873, Ability = A4 }, // Frosmoth - new(Nest167,4,4,4,SWSH) { Species = 699, Ability = A4 }, // Aurorus - new(Nest167,4,4,4,SWSH) { Species = 362, Ability = A4 }, // Glalie - new(Nest168,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest168,0,1,2,SWSH) { Species = 361, Ability = A2 }, // Snorunt - new(Nest168,1,2,3,SWSH) { Species = 238, Ability = A2 }, // Smoochum - new(Nest168,1,2,3,SWSH) { Species = 698, Ability = A2 }, // Amaura - new(Nest168,2,3,4,SWSH) { Species = 362, Ability = A2 }, // Glalie - new(Nest168,2,3,4,SWSH) { Species = 460, Ability = A2 }, // Abomasnow - new(Nest168,3,4,5,SWSH) { Species = 124, Ability = A2 }, // Jynx - new(Nest168,3,4,5,SWSH) { Species = 873, Ability = A2 }, // Frosmoth - new(Nest168,4,4,5,SWSH) { Species = 699, Ability = A2 }, // Aurorus - new(Nest168,4,4,5,SWSH) { Species = 473, Ability = A2 }, // Mamoswine - new(Nest169,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - //new(Nest169,0,1,1,SWSH) { Species = 363, Ability = A3 }, // Spheal - new(Nest169,2,2,2,SWSH) { Species = 363, Ability = A3 }, // Spheal - new(Nest169,2,3,3,SWSH) { Species = 364, Ability = A3 }, // Sealeo - new(Nest169,2,3,3,SWSH) { Species = 615, Ability = A3 }, // Cryogonal - new(Nest169,3,4,4,SWSH) { Species = 584, Ability = A4 }, // Vanilluxe - new(Nest169,3,4,4,SWSH) { Species = 614, Ability = A4 }, // Beartic - new(Nest169,3,4,4,SWSH) { Species = 365, Ability = A4 }, // Walrein - new(Nest169,4,4,4,SWSH) { Species = 713, Ability = A4 }, // Avalugg - new(Nest169,4,4,4,SWSH) { Species = 131, Ability = A4 }, // Lapras - new(Nest170,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - //new(Nest170,0,1,2,SWSH) { Species = 131, Ability = A2 }, // Lapras - //new(Nest170,0,1,2,SWSH) { Species = 363, Ability = A2 }, // Spheal - new(Nest170,2,2,3,SWSH) { Species = 364, Ability = A2 }, // Sealeo - new(Nest170,2,3,4,SWSH) { Species = 713, Ability = A2 }, // Avalugg - new(Nest170,2,3,4,SWSH) { Species = 615, Ability = A2 }, // Cryogonal - new(Nest170,3,4,5,SWSH) { Species = 365, Ability = A2 }, // Walrein - new(Nest170,3,4,5,SWSH) { Species = 131, Ability = A2 }, // Lapras - new(Nest170,3,4,5,SWSH) { Species = 584, Ability = A2 }, // Vanilluxe - new(Nest170,4,4,5,SWSH) { Species = 365, Ability = A2 }, // Walrein - new(Nest171,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest171,0,1,1,SWSH) { Species = 532, Ability = A3 }, // Timburr - new(Nest171,0,1,1,SWSH) { Species = 622, Ability = A3 }, // Golett - new(Nest171,1,2,2,SWSH) { Species = 622, Ability = A3 }, // Golett - new(Nest171,1,2,2,SWSH) { Species = 838, Ability = A3 }, // Carkol - new(Nest171,2,3,3,SWSH) { Species = 533, Ability = A3 }, // Gurdurr - new(Nest171,2,3,3,SWSH) { Species = 623, Ability = A3 }, // Golurk - new(Nest171,3,4,4,SWSH) { Species = 534, Ability = A4 }, // Conkeldurr - new(Nest171,3,4,4,SWSH) { Species = 623, Ability = A4 }, // Golurk - new(Nest171,3,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest171,4,4,4,SWSH) { Species = 623, Ability = A4 }, // Golurk - new(Nest171,4,4,4,SWSH) { Species = 534, Ability = A4 }, // Conkeldurr - new(Nest172,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest172,0,1,2,SWSH) { Species = 870, Ability = A2 }, // Falinks - new(Nest172,0,1,2,SWSH) { Species = 236, Ability = A2 }, // Tyrogue - new(Nest172,1,2,3,SWSH) { Species = 533, Ability = A2 }, // Gurdurr - new(Nest172,2,3,4,SWSH) { Species = 870, Ability = A2 }, // Falinks - new(Nest172,2,3,4,SWSH) { Species = 623, Ability = A2 }, // Golurk - new(Nest172,3,4,5,SWSH) { Species = 534, Ability = A2 }, // Conkeldurr - new(Nest172,4,4,5,SWSH) { Species = 237, Ability = A2 }, // Hitmontop - new(Nest173,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest173,0,1,1,SWSH) { Species = 041, Ability = A3 }, // Zubat - new(Nest173,1,2,2,SWSH) { Species = 029, Ability = A3 }, // Nidoran♀ - new(Nest173,1,2,2,SWSH) { Species = 032, Ability = A3 }, // Nidoran♂ - new(Nest173,2,3,3,SWSH) { Species = 030, Ability = A3 }, // Nidorina - new(Nest173,2,3,3,SWSH) { Species = 033, Ability = A3 }, // Nidorino - new(Nest173,3,4,4,SWSH) { Species = 042, Ability = A4 }, // Golbat - new(Nest173,4,4,4,SWSH) { Species = 031, Ability = A4 }, // Nidoqueen - new(Nest173,4,4,4,SWSH) { Species = 034, Ability = A4 }, // Nidoking - new(Nest174,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest174,0,1,2,SWSH) { Species = 041, Ability = A2 }, // Zubat - new(Nest174,0,1,2,SWSH) { Species = 568, Ability = A2 }, // Trubbish - new(Nest174,1,2,3,SWSH) { Species = 079, Ability = A2, Form = 1 }, // Slowpoke-1 - new(Nest174,2,3,4,SWSH) { Species = 042, Ability = A2 }, // Golbat - new(Nest174,2,3,4,SWSH) { Species = 569, Ability = A2 }, // Garbodor - new(Nest174,3,4,5,SWSH) { Species = 031, Ability = A2 }, // Nidoqueen - new(Nest174,3,4,5,SWSH) { Species = 034, Ability = A2 }, // Nidoking - new(Nest174,4,4,5,SWSH) { Species = 169, Ability = A2 }, // Crobat - new(Nest174,4,4,5,SWSH) { Species = 569, Ability = A2, CanGigantamax = true }, // Garbodor - new(Nest175,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest175,0,1,1,SWSH) { Species = 041, Ability = A3 }, // Zubat - new(Nest175,0,1,1,SWSH) { Species = 714, Ability = A3 }, // Noibat - new(Nest175,1,2,2,SWSH) { Species = 333, Ability = A3 }, // Swablu - new(Nest175,1,2,2,SWSH) { Species = 042, Ability = A3 }, // Golbat - new(Nest175,2,3,3,SWSH) { Species = 042, Ability = A3 }, // Golbat - new(Nest175,2,3,3,SWSH) { Species = 822, Ability = A3 }, // Corvisquire - new(Nest175,3,4,4,SWSH) { Species = 042, Ability = A4 }, // Golbat - new(Nest175,3,4,4,SWSH) { Species = 334, Ability = A4 }, // Altaria - new(Nest175,3,4,4,SWSH) { Species = 715, Ability = A4 }, // Noivern - new(Nest175,4,4,4,SWSH) { Species = 823, Ability = A4 }, // Corviknight - new(Nest175,4,4,4,SWSH) { Species = 169, Ability = A4 }, // Crobat - new(Nest176,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest176,0,1,2,SWSH) { Species = 041, Ability = A2 }, // Zubat - new(Nest176,0,1,2,SWSH) { Species = 527, Ability = A2 }, // Woobat - new(Nest176,1,2,3,SWSH) { Species = 822, Ability = A2 }, // Corvisquire - new(Nest176,1,2,3,SWSH) { Species = 042, Ability = A2 }, // Golbat - new(Nest176,2,3,4,SWSH) { Species = 528, Ability = A2 }, // Swoobat - new(Nest176,2,3,4,SWSH) { Species = 823, Ability = A2 }, // Corviknight - new(Nest176,3,4,5,SWSH) { Species = 142, Ability = A2 }, // Aerodactyl - new(Nest176,3,4,5,SWSH) { Species = 334, Ability = A2 }, // Altaria - new(Nest176,3,4,5,SWSH) { Species = 169, Ability = A2 }, // Crobat - new(Nest176,4,4,5,SWSH) { Species = 715, Ability = A2 }, // Noivern - new(Nest176,4,4,5,SWSH) { Species = 823, Ability = A2, CanGigantamax = true }, // Corviknight - new(Nest177,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest177,0,1,1,SWSH) { Species = 439, Ability = A3 }, // Mime Jr. - new(Nest177,1,2,2,SWSH) { Species = 436, Ability = A3 }, // Bronzor - new(Nest177,1,2,2,SWSH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest177,2,3,3,SWSH) { Species = 344, Ability = A3 }, // Claydol - new(Nest177,4,4,4,SWSH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest177,4,4,4,SWSH) { Species = 437, Ability = A4 }, // Bronzong - new(Nest178,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest178,1,2,3,SWSH) { Species = 122, Ability = A2, Form = 1 }, // Mr. Mime-1 - new(Nest178,1,2,3,SWSH) { Species = 079, Ability = A2, Form = 1 }, // Slowpoke-1 - new(Nest178,2,3,4,SWSH) { Species = 375, Ability = A2 }, // Metang - new(Nest178,3,4,5,SWSH) { Species = 866, Ability = A2 }, // Mr. Rime - new(Nest178,4,4,5,SWSH) { Species = 376, Ability = A2 }, // Metagross - new(Nest179,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest179,0,1,1,SWSH) { Species = 304, Ability = A3 }, // Aron - new(Nest179,1,2,2,SWSH) { Species = 304, Ability = A3 }, // Aron - new(Nest179,2,3,3,SWSH) { Species = 305, Ability = A3 }, // Lairon - new(Nest179,3,4,4,SWSH) { Species = 305, Ability = A4 }, // Lairon - new(Nest179,3,4,4,SWSH) { Species = 703, Ability = A4 }, // Carbink - new(Nest179,4,4,4,SWSH) { Species = 306, Ability = A4 }, // Aggron - new(Nest179,4,4,4,SWSH) { Species = 839, Ability = A4 }, // Coalossal - new(Nest180,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest180,0,1,2,SWSH) { Species = 304, Ability = A2 }, // Aron - new(Nest180,1,2,3,SWSH) { Species = 305, Ability = A2 }, // Lairon - new(Nest180,2,3,4,SWSH) { Species = 213, Ability = A2 }, // Shuckle - new(Nest180,3,4,5,SWSH) { Species = 839, Ability = A2 }, // Coalossal - new(Nest180,3,4,5,SWSH) { Species = 306, Ability = A2 }, // Aggron - new(Nest180,4,4,5,SWSH) { Species = 306, Ability = A2 }, // Aggron - new(Nest181,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest181,0,1,1,SWSH) { Species = 885, Ability = A3 }, // Dreepy - new(Nest181,0,1,1,SWSH) { Species = 708, Ability = A3 }, // Phantump - new(Nest181,1,2,2,SWSH) { Species = 778, Ability = A3 }, // Mimikyu - new(Nest181,1,2,2,SWSH) { Species = 361, Ability = A3 }, // Snorunt - new(Nest181,2,3,3,SWSH) { Species = 886, Ability = A3 }, // Drakloak - new(Nest181,2,3,3,SWSH) { Species = 778, Ability = A3 }, // Mimikyu - new(Nest181,3,4,4,SWSH) { Species = 362, Ability = A4 }, // Glalie - new(Nest181,3,4,4,SWSH) { Species = 478, Ability = A4 }, // Froslass - new(Nest181,4,4,4,SWSH) { Species = 709, Ability = A4 }, // Trevenant - new(Nest181,4,4,4,SWSH) { Species = 778, Ability = A4 }, // Mimikyu - new(Nest182,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest182,0,1,2,SWSH) { Species = 885, Ability = A2 }, // Dreepy - new(Nest182,1,2,3,SWSH) { Species = 885, Ability = A2 }, // Dreepy - new(Nest182,2,3,4,SWSH) { Species = 709, Ability = A2 }, // Trevenant - new(Nest182,3,4,5,SWSH) { Species = 887, Ability = A2 }, // Dragapult - new(Nest182,4,4,5,SWSH) { Species = 887, Ability = A2 }, // Dragapult - new(Nest183,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest183,0,1,1,SWSH) { Species = 621, Ability = A3 }, // Druddigon - new(Nest183,1,2,2,SWSH) { Species = 696, Ability = A3 }, // Tyrunt - new(Nest183,2,3,3,SWSH) { Species = 147, Ability = A3 }, // Dratini - new(Nest183,3,4,4,SWSH) { Species = 621, Ability = A4 }, // Druddigon - new(Nest183,3,4,4,SWSH) { Species = 697, Ability = A4 }, // Tyrantrum - new(Nest184,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest184,0,1,2,SWSH) { Species = 884, Ability = A2 }, // Duraludon - new(Nest184,1,2,3,SWSH) { Species = 696, Ability = A2 }, // Tyrunt - new(Nest184,2,3,4,SWSH) { Species = 884, Ability = A2 }, // Duraludon - new(Nest184,3,4,5,SWSH) { Species = 149, Ability = A2 }, // Dragonite - new(Nest184,3,4,5,SWSH) { Species = 697, Ability = A2 }, // Tyrantrum - new(Nest184,4,4,5,SWSH) { Species = 884, Ability = A2, CanGigantamax = true }, // Duraludon - new(Nest185,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest185,0,1,1,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest185,0,1,1,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest185,1,2,2,SWSH) { Species = 859, Ability = A3 }, // Impidimp - new(Nest185,1,2,2,SWSH) { Species = 860, Ability = A3 }, // Morgrem - new(Nest185,2,3,3,SWSH) { Species = 215, Ability = A3 }, // Sneasel - new(Nest185,2,3,3,SWSH) { Species = 264, Ability = A3, Form = 1 }, // Linoone-1 - new(Nest185,3,4,4,SWSH) { Species = 861, Ability = A4 }, // Grimmsnarl - new(Nest185,3,4,4,SWSH) { Species = 359, Ability = A4 }, // Absol - new(Nest185,3,4,4,SWSH) { Species = 862, Ability = A4 }, // Obstagoon - new(Nest185,4,4,4,SWSH) { Species = 359, Ability = A4 }, // Absol - new(Nest185,4,4,4,SWSH) { Species = 461, Ability = A4 }, // Weavile - new(Nest186,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest186,0,1,2,SWSH) { Species = 859, Ability = A2 }, // Impidimp - new(Nest186,0,1,2,SWSH) { Species = 359, Ability = A2 }, // Absol - new(Nest186,1,2,3,SWSH) { Species = 215, Ability = A2 }, // Sneasel - new(Nest186,2,3,4,SWSH) { Species = 828, Ability = A2 }, // Thievul - new(Nest186,2,3,4,SWSH) { Species = 510, Ability = A2 }, // Liepard - new(Nest186,3,4,5,SWSH) { Species = 359, Ability = A2 }, // Absol - new(Nest186,3,4,5,SWSH) { Species = 861, Ability = A2 }, // Grimmsnarl - new(Nest186,3,4,5,SWSH) { Species = 461, Ability = A2 }, // Weavile - new(Nest186,4,4,5,SWSH) { Species = 359, Ability = A2 }, // Absol - new(Nest186,4,4,5,SWSH) { Species = 861, Ability = A2, CanGigantamax = true }, // Grimmsnarl - new(Nest187,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest187,0,1,1,SWSH) { Species = 304, Ability = A3 }, // Aron - new(Nest187,0,1,1,SWSH) { Species = 632, Ability = A3 }, // Durant - new(Nest187,1,2,2,SWSH) { Species = 304, Ability = A3 }, // Aron - new(Nest187,1,2,2,SWSH) { Species = 374, Ability = A3 }, // Beldum - new(Nest187,2,3,3,SWSH) { Species = 305, Ability = A3 }, // Lairon - new(Nest187,2,3,3,SWSH) { Species = 375, Ability = A3 }, // Metang - new(Nest187,3,4,4,SWSH) { Species = 823, Ability = A4 }, // Corviknight - new(Nest187,3,4,4,SWSH) { Species = 632, Ability = A4 }, // Durant - new(Nest187,3,4,4,SWSH) { Species = 879, Ability = A4 }, // Copperajah - new(Nest187,4,4,4,SWSH) { Species = 306, Ability = A4 }, // Aggron - new(Nest188,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest188,0,1,2,SWSH) { Species = 304, Ability = A2 }, // Aron - new(Nest188,0,1,2,SWSH) { Species = 052, Ability = A2, Form = 2 }, // Meowth-2 - new(Nest188,1,2,3,SWSH) { Species = 632, Ability = A2 }, // Durant - new(Nest188,1,2,3,SWSH) { Species = 305, Ability = A2 }, // Lairon - new(Nest188,2,3,4,SWSH) { Species = 863, Ability = A2 }, // Perrserker - new(Nest188,3,4,5,SWSH) { Species = 879, Ability = A2 }, // Copperajah - new(Nest188,3,4,5,SWSH) { Species = 306, Ability = A2 }, // Aggron - new(Nest188,3,4,5,SWSH) { Species = 376, Ability = A2 }, // Metagross - new(Nest188,4,4,5,SWSH) { Species = 376, Ability = A2 }, // Metagross - new(Nest188,4,4,5,SWSH) { Species = 879, Ability = A2, CanGigantamax = true }, // Copperajah - new(Nest189,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest189,0,1,1,SWSH) { Species = 173, Ability = A3 }, // Cleffa - new(Nest189,0,1,1,SWSH) { Species = 703, Ability = A3 }, // Carbink - new(Nest189,1,2,2,SWSH) { Species = 856, Ability = A3 }, // Hatenna - new(Nest189,1,2,2,SWSH) { Species = 173, Ability = A3 }, // Cleffa - new(Nest189,2,3,3,SWSH) { Species = 857, Ability = A3 }, // Hattrem - new(Nest189,2,3,3,SWSH) { Species = 035, Ability = A3 }, // Clefairy - new(Nest189,3,4,4,SWSH) { Species = 703, Ability = A4 }, // Carbink - new(Nest189,3,4,4,SWSH) { Species = 036, Ability = A4 }, // Clefable - new(Nest189,4,4,4,SWSH) { Species = 547, Ability = A4 }, // Whimsicott - new(Nest189,4,4,4,SWSH) { Species = 858, Ability = A4 }, // Hatterene - new(Nest190,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest190,0,1,2,SWSH) { Species = 703, Ability = A2 }, // Carbink - new(Nest190,0,1,2,SWSH) { Species = 546, Ability = A2 }, // Cottonee - new(Nest190,1,2,3,SWSH) { Species = 035, Ability = A2 }, // Clefairy - new(Nest190,1,2,3,SWSH) { Species = 703, Ability = A2 }, // Carbink - new(Nest190,2,3,4,SWSH) { Species = 703, Ability = A2 }, // Carbink - new(Nest190,2,3,4,SWSH) { Species = 547, Ability = A2 }, // Whimsicott - new(Nest190,3,4,5,SWSH) { Species = 110, Ability = A2, Form = 1 }, // Weezing-1 - new(Nest190,3,4,5,SWSH) { Species = 858, Ability = A2 }, // Hatterene - new(Nest190,3,4,5,SWSH) { Species = 036, Ability = A2 }, // Clefable - new(Nest190,4,4,5,SWSH) { Species = 110, Ability = A2, Form = 1 }, // Weezing-1 - new(Nest190,4,4,5,SWSH) { Species = 858, Ability = A2, CanGigantamax = true }, // Hatterene - new(Nest191,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest191,0,1,1,SWSH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest191,1,2,2,SWSH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest191,2,3,3,SWSH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest191,3,4,4,SWSH) { Species = 854, Ability = A4 }, // Sinistea - new(Nest191,4,4,4,SWSH) { Species = 854, Ability = A4 }, // Sinistea - new(Nest191,2,4,4,SWSH) { Species = 854, Ability = A4, Form = 1 }, // Sinistea-1 - new(Nest192,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest192,0,0,2,SWSH) { Species = 854, Ability = A2 }, // Sinistea - new(Nest192,1,1,2,SWSH) { Species = 854, Ability = A2 }, // Sinistea - new(Nest192,1,1,3,SWSH) { Species = 854, Ability = A2 }, // Sinistea - new(Nest192,2,2,4,SWSH) { Species = 854, Ability = A2 }, // Sinistea - new(Nest192,3,3,4,SWSH) { Species = 854, Ability = A2 }, // Sinistea - new(Nest192,0,3,5,SWSH) { Species = 854, Ability = A2, Form = 1 }, // Sinistea-1 - new(Nest192,4,4,5,SWSH) { Species = 855, Ability = A2 }, // Polteageist - new(Nest192,4,4,5,SWSH) { Species = 855, Ability = A2, Form = 1 }, // Polteageist-1 - new(Nest192,4,4,5,SWSH) { Species = 869, Ability = A2, CanGigantamax = true }, // Alcremie - new(Nest193,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - //new(Nest193,0,1,1,SWSH) { Species = 133, Ability = A3 }, // Eevee - new(Nest193,2,4,2,SWSH) { Species = 133, Ability = A3 }, // Eevee - new(Nest193,2,4,3,SWSH) { Species = 133, Ability = A3 }, // Eevee - new(Nest193,2,4,4,SWSH) { Species = 136, Ability = A3 }, // Flareon - new(Nest193,2,4,4,SWSH) { Species = 135, Ability = A3 }, // Jolteon - new(Nest193,2,4,4,SWSH) { Species = 134, Ability = A3 }, // Vaporeon - new(Nest193,2,4,4,SWSH) { Species = 196, Ability = A4 }, // Espeon - new(Nest193,2,4,4,SWSH) { Species = 197, Ability = A4 }, // Umbreon - new(Nest193,2,4,4,SWSH) { Species = 470, Ability = A4 }, // Leafeon - new(Nest193,2,4,4,SWSH) { Species = 471, Ability = A4 }, // Glaceon - new(Nest193,2,4,4,SWSH) { Species = 700, Ability = A4 }, // Sylveon - new(Nest194,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - //new(Nest194,0,1,2,SWSH) { Species = 133, Ability = A2 }, // Eevee - new(Nest194,2,4,3,SWSH) { Species = 133, Ability = A2 }, // Eevee - new(Nest194,2,4,4,SWSH) { Species = 133, Ability = A2, Gender = 1 }, // Eevee - new(Nest194,2,4,5,SWSH) { Species = 136, Ability = A2 }, // Flareon - new(Nest194,2,4,5,SWSH) { Species = 135, Ability = A2 }, // Jolteon - new(Nest194,2,4,5,SWSH) { Species = 134, Ability = A2 }, // Vaporeon - new(Nest194,2,4,5,SWSH) { Species = 196, Ability = A2 }, // Espeon - new(Nest194,2,4,5,SWSH) { Species = 197, Ability = A2 }, // Umbreon - new(Nest194,2,4,5,SWSH) { Species = 470, Ability = A2 }, // Leafeon - new(Nest194,2,4,5,SWSH) { Species = 471, Ability = A2 }, // Glaceon - new(Nest194,2,4,5,SWSH) { Species = 700, Ability = A2 }, // Sylveon - new(Nest195,2,4,4,SWSH) { Species = 531, Ability = A4 }, // Audino - new(Nest195,1,2,2,SWSH) { Species = 696, Ability = A3 }, // Tyrunt - new(Nest195,1,2,2,SWSH) { Species = 698, Ability = A3 }, // Amaura - new(Nest195,2,3,3,SWSH) { Species = 348, Ability = A3 }, // Armaldo - new(Nest195,2,3,3,SWSH) { Species = 346, Ability = A3 }, // Cradily - new(Nest195,4,4,4,SWSH) { Species = 142, Ability = A4 }, // Aerodactyl - new(Nest196,2,4,5,SWSH) { Species = 225, Ability = A2 }, // Delibird - new(Nest196,2,2,3,SWSH) { Species = 142, Ability = A2 }, // Aerodactyl - new(Nest196,3,4,5,SWSH) { Species = 142, Ability = A2 }, // Aerodactyl - new(Nest196,4,4,5,SWSH) { Species = 880, Ability = A2 }, // Dracozolt - new(Nest196,4,4,5,SWSH) { Species = 882, Ability = A2 }, // Dracovish - new(Nest196,3,4,5,SWSH) { Species = 881, Ability = A2 }, // Arctozolt - new(Nest196,3,4,5,SWSH) { Species = 883, Ability = A2 }, // Arctovish - }; - - internal static readonly EncounterStatic8N[] Nest_SW = - { - new(Nest000,0,1,1,SW) { Species = 559, Ability = A3 }, // Scraggy - new(Nest000,2,3,3,SW) { Species = 106, Ability = A3 }, // Hitmonlee - new(Nest000,2,4,4,SW) { Species = 107, Ability = A3 }, // Hitmonchan - new(Nest000,2,4,4,SW) { Species = 560, Ability = A3 }, // Scrafty - new(Nest000,3,4,4,SW) { Species = 534, Ability = A4 }, // Conkeldurr - new(Nest000,4,4,4,SW) { Species = 237, Ability = A4 }, // Hitmontop - new(Nest001,0,1,1,SW) { Species = 574, Ability = A3 }, // Gothita - new(Nest001,2,3,3,SW) { Species = 678, Ability = A3, Gender = 0 }, // Meowstic - new(Nest001,2,3,3,SW) { Species = 575, Ability = A3 }, // Gothorita - new(Nest001,3,4,4,SW) { Species = 576, Ability = A4 }, // Gothitelle - new(Nest001,4,4,4,SW) { Species = 338, Ability = A4 }, // Solrock - new(Nest002,0,0,1,SW) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest002,0,1,1,SW) { Species = 688, Ability = A3 }, // Binacle - new(Nest002,3,4,4,SW) { Species = 558, Ability = A4 }, // Crustle - new(Nest002,4,4,4,SW) { Species = 526, Ability = A4 }, // Gigalith - //new(Nest006,0,1,1,SW) { Species = 223, Ability = A3 }, // Remoraid - //new(Nest006,0,1,1,SW) { Species = 170, Ability = A3 }, // Chinchou - new(Nest006,2,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest007,2,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest008,1,1,2,SW) { Species = 090, Ability = A3 }, // Shellder - new(Nest009,1,1,2,SW) { Species = 083, Ability = A3, Form = 1 }, // Farfetch’d-1 - new(Nest009,1,2,2,SW) { Species = 539, Ability = A3 }, // Sawk - new(Nest009,3,4,4,SW) { Species = 865, Ability = A4 }, // Sirfetch’d - new(Nest011,4,4,4,SW) { Species = 303, Ability = A4 }, // Mawile - new(Nest012,0,1,1,SW) { Species = 177, Ability = A3 }, // Natu - new(Nest012,0,1,1,SW) { Species = 856, Ability = A3 }, // Hatenna - new(Nest012,1,1,2,SW) { Species = 825, Ability = A3 }, // Dottler - new(Nest012,1,3,2,SW) { Species = 857, Ability = A3 }, // Hattrem - new(Nest012,2,4,4,SW) { Species = 876, Ability = A3, Gender = 0 }, // Indeedee - new(Nest012,3,4,4,SW) { Species = 561, Ability = A4 }, // Sigilyph - new(Nest012,4,4,4,SW) { Species = 826, Ability = A4 }, // Orbeetle - new(Nest013,2,4,4,SW) { Species = 876, Ability = A3, Gender = 0 }, // Indeedee - new(Nest014,0,0,1,SW) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest014,0,1,1,SW) { Species = 557, Ability = A3 }, // Dwebble - new(Nest014,2,4,4,SW) { Species = 095, Ability = A3 }, // Onix - new(Nest014,3,4,4,SW) { Species = 839, Ability = A4 }, // Coalossal - new(Nest014,4,4,4,SW) { Species = 526, Ability = A4 }, // Gigalith - new(Nest016,0,1,1,SW) { Species = 220, Ability = A3 }, // Swinub - new(Nest016,1,1,1,SW) { Species = 328, Ability = A3 }, // Trapinch - new(Nest016,2,3,3,SW) { Species = 329, Ability = A3 }, // Vibrava - new(Nest016,2,4,4,SW) { Species = 618, Ability = A3, Form = 1 }, // Stunfisk-1 - new(Nest016,3,4,4,SW) { Species = 450, Ability = A4 }, // Hippowdon - new(Nest016,4,4,4,SW) { Species = 330, Ability = A4 }, // Flygon - new(Nest017,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest017,1,1,1,SW) { Species = 554, Ability = A3, Form = 1 }, // Darumaka-1 - new(Nest017,1,2,2,SW) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest017,2,3,3,SW) { Species = 608, Ability = A3 }, // Lampent - new(Nest017,2,4,4,SW) { Species = 038, Ability = A3 }, // Ninetales - new(Nest017,3,4,4,SW) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest017,4,4,4,SW) { Species = 631, Ability = A4 }, // Heatmor - new(Nest017,4,4,4,SW) { Species = 555, Ability = A4, Form = 2 }, // Darmanitan-2 - new(Nest018,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest018,0,1,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest018,1,2,2,SW) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest018,2,3,3,SW) { Species = 608, Ability = A3 }, // Lampent - new(Nest018,2,4,4,SW) { Species = 038, Ability = A3 }, // Ninetales - new(Nest018,2,4,4,SW) { Species = 324, Ability = A3 }, // Torkoal - new(Nest018,3,4,4,SW) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest018,4,4,4,SW) { Species = 776, Ability = A4 }, // Turtonator - new(Nest019,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest019,1,1,1,SW) { Species = 554, Ability = A3, Form = 1 }, // Darumaka-1 - new(Nest019,1,2,2,SW) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest019,2,3,3,SW) { Species = 838, Ability = A3 }, // Carkol - new(Nest019,2,4,4,SW) { Species = 038, Ability = A3 }, // Ninetales - new(Nest019,4,4,4,SW) { Species = 555, Ability = A4, Form = 2 }, // Darmanitan-2 - new(Nest022,0,1,1,SW) { Species = 554, Ability = A3, Form = 1 }, // Darumaka-1 - new(Nest022,4,4,4,SW) { Species = 555, Ability = A4, Form = 2 }, // Darmanitan-2 - new(Nest025,0,0,1,SW) { Species = 273, Ability = A3 }, // Seedot - new(Nest025,1,1,2,SW) { Species = 274, Ability = A3 }, // Nuzleaf - new(Nest025,2,4,4,SW) { Species = 275, Ability = A3 }, // Shiftry - new(Nest026,4,4,4,SW) { Species = 841, Ability = A4 }, // Flapple - new(Nest028,0,1,1,SW) { Species = 747, Ability = A3 }, // Mareanie - new(Nest028,1,1,2,SW) { Species = 043, Ability = A3 }, // Oddish - new(Nest028,3,4,4,SW) { Species = 748, Ability = A4 }, // Toxapex - new(Nest028,4,4,4,SW) { Species = 435, Ability = A4 }, // Skuntank - new(Nest030,0,1,1,SW) { Species = 627, Ability = A3 }, // Rufflet - new(Nest030,4,4,4,SW) { Species = 628, Ability = A4 }, // Braviary - new(Nest032,0,1,1,SW) { Species = 684, Ability = A3 }, // Swirlix - new(Nest032,4,4,4,SW) { Species = 685, Ability = A4 }, // Slurpuff - new(Nest033,4,4,4,SW) { Species = 303, Ability = A4 }, // Mawile - new(Nest034,4,4,4,SW) { Species = 275, Ability = A4 }, // Shiftry - new(Nest035,1,1,2,SW) { Species = 633, Ability = A3 }, // Deino - new(Nest035,3,4,4,SW) { Species = 634, Ability = A4 }, // Zweilous - new(Nest035,4,4,4,SW) { Species = 635, Ability = A4 }, // Hydreigon - new(Nest036,0,0,1,SW) { Species = 328, Ability = A3 }, // Trapinch - new(Nest036,0,1,1,SW) { Species = 610, Ability = A3 }, // Axew - new(Nest036,1,1,2,SW) { Species = 782, Ability = A3 }, // Jangmo-o - new(Nest036,2,3,3,SW) { Species = 783, Ability = A3 }, // Hakamo-o - new(Nest036,2,4,4,SW) { Species = 611, Ability = A3 }, // Fraxure - new(Nest036,2,4,4,SW) { Species = 612, Ability = A3 }, // Haxorus - new(Nest036,3,4,4,SW) { Species = 330, Ability = A4 }, // Flygon - new(Nest036,4,4,4,SW) { Species = 776, Ability = A4 }, // Turtonator - new(Nest036,4,4,4,SW) { Species = 784, Ability = A4 }, // Kommo-o - //new(Nest037,0,1,1,SW) { Species = 782, Ability = A3 }, // Jangmo-o - new(Nest037,2,4,4,SW) { Species = 783, Ability = A3 }, // Hakamo-o - new(Nest037,3,4,4,SW) { Species = 784, Ability = A4 }, // Kommo-o - new(Nest037,4,4,4,SW) { Species = 841, Ability = A4 }, // Flapple - new(Nest039,1,1,2,SW) { Species = 876, Ability = A3, Gender = 0 }, // Indeedee - new(Nest039,4,4,4,SW) { Species = 628, Ability = A4 }, // Braviary - //new(Nest040,0,1,1,SW) { Species = 747, Ability = A3 }, // Mareanie - //new(Nest040,1,1,2,SW) { Species = 536, Ability = A3 }, // Palpitoad - new(Nest040,2,3,3,SW) { Species = 091, Ability = A3 }, // Cloyster - new(Nest040,2,4,4,SW) { Species = 746, Ability = A3 }, // Wishiwashi - new(Nest040,3,4,4,SW) { Species = 537, Ability = A4 }, // Seismitoad - new(Nest040,4,4,4,SW) { Species = 748, Ability = A4 }, // Toxapex - new(Nest042,1,3,2,SW) { Species = 710, Ability = A3 }, // Pumpkaboo - new(Nest042,4,4,4,SW) { Species = 867, Ability = A3 }, // Runerigus - new(Nest042,3,4,4,SW) { Species = 855, Ability = A4 }, // Polteageist - new(Nest042,3,4,4,SW) { Species = 711, Ability = A4 }, // Gourgeist - new(Nest043,2,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest044,1,2,2,SW) { Species = 632, Ability = A3 }, // Durant - new(Nest044,2,3,3,SW) { Species = 600, Ability = A3 }, // Klang - new(Nest045,0,1,1,SW) { Species = 588, Ability = A3 }, // Karrablast - new(Nest045,1,2,2,SW) { Species = 616, Ability = A3 }, // Shelmet - new(Nest045,4,4,4,SW) { Species = 589, Ability = A4 }, // Escavalier - new(Nest046,1,3,3,SW) { Species = 710, Ability = A3 }, // Pumpkaboo - new(Nest046,2,4,4,SW) { Species = 711, Ability = A3 }, // Gourgeist - new(Nest046,3,4,4,SW) { Species = 711, Ability = A4 }, // Gourgeist - new(Nest047,0,1,1,SW) { Species = 559, Ability = A3 }, // Scraggy - new(Nest047,2,4,4,SW) { Species = 560, Ability = A3 }, // Scrafty - new(Nest047,3,4,4,SW) { Species = 766, Ability = A4 }, // Passimian - new(Nest050,0,1,1,SW) { Species = 688, Ability = A3 }, // Binacle - new(Nest050,1,2,2,SW) { Species = 185, Ability = A3 }, // Sudowoodo - new(Nest050,2,3,3,SW) { Species = 689, Ability = A3 }, // Barbaracle - new(Nest050,4,4,4,SW) { Species = 874, Ability = A4 }, // Stonjourner - new(Nest052,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest052,1,2,2,SW) { Species = 038, Ability = A3 }, // Ninetales - new(Nest052,3,4,4,SW) { Species = 038, Ability = A4 }, // Ninetales - new(Nest053,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest053,1,2,2,SW) { Species = 608, Ability = A3 }, // Lampent - new(Nest053,2,3,3,SW) { Species = 631, Ability = A3 }, // Heatmor - new(Nest053,3,4,4,SW) { Species = 038, Ability = A4 }, // Ninetales - new(Nest053,4,4,4,SW) { Species = 776, Ability = A4 }, // Turtonator - new(Nest054,0,0,1,SW) { Species = 554, Ability = A3, Form = 1 }, // Darumaka-1 - new(Nest054,4,4,4,SW) { Species = 555, Ability = A4, Form = 2 }, // Darmanitan-2 - new(Nest057,0,0,1,SW) { Species = 273, Ability = A3 }, // Seedot - new(Nest057,1,2,2,SW) { Species = 274, Ability = A3 }, // Nuzleaf - new(Nest057,2,4,4,SW) { Species = 275, Ability = A3 }, // Shiftry - new(Nest057,4,4,4,SW) { Species = 841, Ability = A4 }, // Flapple - new(Nest058,0,0,1,SW) { Species = 273, Ability = A3 }, // Seedot - new(Nest058,1,2,2,SW) { Species = 274, Ability = A3 }, // Nuzleaf - new(Nest058,4,4,4,SW) { Species = 275, Ability = A4 }, // Shiftry - new(Nest059,1,2,2,SW) { Species = 747, Ability = A3 }, // Mareanie - new(Nest059,4,4,4,SW) { Species = 748, Ability = A4 }, // Toxapex - new(Nest061,2,4,4,SW) { Species = 303, Ability = A3 }, // Mawile - new(Nest062,0,1,1,SW) { Species = 559, Ability = A3 }, // Scraggy - new(Nest062,3,4,4,SW) { Species = 560, Ability = A4 }, // Scrafty - new(Nest062,4,4,4,SW) { Species = 635, Ability = A4 }, // Hydreigon - new(Nest063,0,0,1,SW) { Species = 328, Ability = A3 }, // Trapinch - new(Nest063,0,1,1,SW) { Species = 610, Ability = A3 }, // Axew - new(Nest063,0,1,1,SW) { Species = 782, Ability = A3 }, // Jangmo-o - new(Nest063,1,2,2,SW) { Species = 611, Ability = A3 }, // Fraxure - new(Nest063,2,4,4,SW) { Species = 783, Ability = A3 }, // Hakamo-o - new(Nest063,2,4,4,SW) { Species = 776, Ability = A3 }, // Turtonator - new(Nest063,3,4,4,SW) { Species = 784, Ability = A4 }, // Kommo-o - new(Nest063,4,4,4,SW) { Species = 612, Ability = A4 }, // Haxorus - new(Nest064,3,4,4,SW) { Species = 628, Ability = A4 }, // Braviary - new(Nest064,3,4,4,SW) { Species = 876, Ability = A4, Gender = 0 }, // Indeedee - new(Nest066,2,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest070,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest070,0,1,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest070,1,2,2,SW) { Species = 608, Ability = A3 }, // Lampent - new(Nest070,2,3,3,SW) { Species = 631, Ability = A3 }, // Heatmor - //new(Nest073,0,0,1,SW) { Species = 684, Ability = A3 }, // Swirlix - new(Nest073,2,4,4,SW) { Species = 685, Ability = A3 }, // Slurpuff - new(Nest075,2,4,4,SW) { Species = 550, Ability = A3 }, // Basculin - //new(Nest076,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest076,2,2,2,SW) { Species = 038, Ability = A3 }, // Ninetales - new(Nest076,3,4,4,SW) { Species = 038, Ability = A4 }, // Ninetales - new(Nest077,1,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest078,0,0,1,SW) { Species = 273, Ability = A3 }, // Seedot - new(Nest078,1,2,2,SW) { Species = 274, Ability = A3 }, // Nuzleaf - new(Nest078,2,4,4,SW) { Species = 275, Ability = A3 }, // Shiftry - new(Nest078,4,4,4,SW) { Species = 841, Ability = A4, CanGigantamax = true }, // Flapple - new(Nest079,0,0,1,SW) { Species = 037, Ability = A3 }, // Vulpix - new(Nest079,3,4,4,SW) { Species = 038, Ability = A4 }, // Ninetales - new(Nest080,0,0,1,SW) { Species = 447, Ability = A3 }, // Riolu - new(Nest080,0,0,1,SW) { Species = 066, Ability = A3 }, // Machop - new(Nest080,0,1,1,SW) { Species = 759, Ability = A3 }, // Stufful - new(Nest080,0,1,1,SW) { Species = 083, Ability = A3, Form = 1 }, // Farfetch’d-1 - new(Nest080,1,2,2,SW) { Species = 760, Ability = A3 }, // Bewear - new(Nest080,1,3,3,SW) { Species = 067, Ability = A3 }, // Machoke - new(Nest080,2,3,3,SW) { Species = 870, Ability = A3 }, // Falinks - new(Nest080,2,4,4,SW) { Species = 701, Ability = A3 }, // Hawlucha - new(Nest080,3,4,4,SW) { Species = 448, Ability = A4 }, // Lucario - new(Nest080,3,4,4,SW) { Species = 475, Ability = A4 }, // Gallade - new(Nest080,4,4,4,SW) { Species = 865, Ability = A4 }, // Sirfetch’d - new(Nest080,4,4,4,SW) { Species = 068, Ability = A4, CanGigantamax = true }, // Machamp - new(Nest081,0,0,1,SW) { Species = 755, Ability = A3 }, // Morelull - new(Nest081,2,4,4,SW) { Species = 303, Ability = A3 }, // Mawile - new(Nest082,0,0,1,SW) { Species = 557, Ability = A3 }, // Dwebble - new(Nest082,0,0,1,SW) { Species = 438, Ability = A3 }, // Bonsly - new(Nest082,0,1,1,SW) { Species = 837, Ability = A3 }, // Rolycoly - new(Nest082,0,1,1,SW) { Species = 688, Ability = A3 }, // Binacle - new(Nest082,1,2,2,SW) { Species = 838, Ability = A3 }, // Carkol - new(Nest082,1,2,2,SW) { Species = 185, Ability = A3 }, // Sudowoodo - new(Nest082,2,3,3,SW) { Species = 689, Ability = A3 }, // Barbaracle - new(Nest082,2,4,4,SW) { Species = 095, Ability = A3 }, // Onix - new(Nest082,3,4,4,SW) { Species = 558, Ability = A4 }, // Crustle - new(Nest082,3,4,4,SW) { Species = 208, Ability = A4 }, // Steelix - new(Nest082,4,4,4,SW) { Species = 874, Ability = A4 }, // Stonjourner - new(Nest082,4,4,4,SW) { Species = 839, Ability = A4, CanGigantamax = true }, // Coalossal - new(Nest083,1,2,2,SW) { Species = 632, Ability = A3 }, // Durant - new(Nest083,2,3,3,SW) { Species = 600, Ability = A3 }, // Klang - new(Nest085,1,2,2,SW) { Species = 747, Ability = A3 }, // Mareanie - new(Nest085,4,4,4,SW) { Species = 748, Ability = A4 }, // Toxapex - new(Nest086,0,0,1,SW) { Species = 684, Ability = A3 }, // Swirlix - new(Nest086,2,3,3,SW) { Species = 685, Ability = A3 }, // Slurpuff - new(Nest087,0,1,1,SW) { Species = 559, Ability = A3 }, // Scraggy - new(Nest087,3,4,4,SW) { Species = 560, Ability = A4 }, // Scrafty - new(Nest087,4,4,4,SW) { Species = 635, Ability = A4 }, // Hydreigon - new(Nest089,0,1,1,SW) { Species = 588, Ability = A3 }, // Karrablast - new(Nest089,1,2,2,SW) { Species = 616, Ability = A3 }, // Shelmet - new(Nest089,4,4,4,SW) { Species = 589, Ability = A4 }, // Escavalier - new(Nest090,1,2,2,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest091,0,1,1,SW) { Species = 588, Ability = A3 }, // Karrablast - new(Nest091,1,2,2,SW) { Species = 616, Ability = A3 }, // Shelmet - new(Nest091,4,4,4,SW) { Species = 589, Ability = A4 }, // Escavalier - new(Nest106,1,2,2,SW) { Species = 627, Ability = A3 }, // Rufflet - new(Nest106,3,4,4,SW) { Species = 628, Ability = A4 }, // Braviary - new(Nest106,4,4,4,SW) { Species = 628, Ability = A4 }, // Braviary - new(Nest107,1,2,2,SW) { Species = 627, Ability = A2 }, // Rufflet - new(Nest107,4,4,4,SW) { Species = 628, Ability = A2 }, // Braviary - new(Nest108,0,1,1,SW) { Species = 127, Ability = A3 }, // Pinsir - new(Nest108,1,2,2,SW) { Species = 127, Ability = A3 }, // Pinsir - new(Nest108,2,3,3,SW) { Species = 127, Ability = A3 }, // Pinsir - new(Nest108,3,4,4,SW) { Species = 127, Ability = A4 }, // Pinsir - new(Nest109,0,1,1,SW) { Species = 127, Ability = A2 }, // Pinsir - new(Nest109,4,4,4,SW) { Species = 127, Ability = A2 }, // Pinsir - new(Nest113,4,4,4,SW) { Species = 038, Ability = A2 }, // Ninetales - new(Nest114,4,4,4,SW) { Species = 745, Ability = A4 }, // Lycanroc - new(Nest115,3,4,4,SW) { Species = 745, Ability = A2 }, // Lycanroc - new(Nest116,2,3,3,SW) { Species = 064, Ability = A3 }, // Kadabra - new(Nest117,2,3,3,SW) { Species = 064, Ability = A2 }, // Kadabra - new(Nest117,3,4,4,SW) { Species = 876, Ability = A2, Gender = 0 }, // Indeedee - new(Nest117,4,4,4,SW) { Species = 678, Ability = A2, Gender = 0 }, // Meowstic - new(Nest122,1,2,2,SW) { Species = 559, Ability = A3 }, // Scraggy - new(Nest122,2,3,3,SW) { Species = 766, Ability = A3 }, // Passimian - new(Nest122,2,3,3,SW) { Species = 560, Ability = A3 }, // Scrafty - new(Nest122,3,4,4,SW) { Species = 560, Ability = A4 }, // Scrafty - new(Nest123,0,1,1,SW) { Species = 559, Ability = A2 }, // Scraggy - new(Nest123,1,2,2,SW) { Species = 539, Ability = A2 }, // Sawk - new(Nest123,2,3,3,SW) { Species = 766, Ability = A2 }, // Passimian - new(Nest123,3,4,4,SW) { Species = 539, Ability = A2 }, // Sawk - new(Nest123,3,4,4,SW) { Species = 560, Ability = A2 }, // Scrafty - new(Nest123,4,4,4,SW) { Species = 865, Ability = A2 }, // Sirfetch’d - new(Nest127,4,4,4,SW) { Species = 770, Ability = A2 }, // Palossand - //new(Nest130,0,1,1,SW) { Species = 782, Ability = A3 }, // Jangmo-o - new(Nest130,2,3,3,SW) { Species = 783, Ability = A3 }, // Hakamo-o - new(Nest130,3,4,4,SW) { Species = 841, Ability = A4 }, // Flapple - new(Nest130,4,4,4,SW) { Species = 784, Ability = A4 }, // Kommo-o - new(Nest131,2,2,2,SW) { Species = 776, Ability = A2 }, // Turtonator - new(Nest131,2,2,2,SW) { Species = 782, Ability = A2 }, // Jangmo-o - new(Nest131,2,3,3,SW) { Species = 783, Ability = A2 }, // Hakamo-o - new(Nest131,3,4,4,SW) { Species = 776, Ability = A2 }, // Turtonator - new(Nest131,4,4,4,SW) { Species = 784, Ability = A2 }, // Kommo-o - new(Nest135,4,4,4,SW) { Species = 550, Ability = A2 }, // Basculin - //new(Nest138,0,1,1,SW) { Species = 692, Ability = A3 }, // Clauncher - new(Nest138,2,2,2,SW) { Species = 692, Ability = A3 }, // Clauncher - new(Nest138,4,4,4,SW) { Species = 693, Ability = A4 }, // Clawitzer - //new(Nest139,0,1,1,SW) { Species = 692, Ability = A2 }, // Clauncher - new(Nest139,3,4,4,SW) { Species = 693, Ability = A2 }, // Clawitzer - new(Nest139,4,4,4,SW) { Species = 693, Ability = A2 }, // Clawitzer - new(Nest147,1,2,2,SW) { Species = 550, Ability = A2 }, // Basculin - new(Nest147,3,4,4,SW) { Species = 550, Ability = A2 }, // Basculin - new(Nest148,1,2,2,SW) { Species = 127, Ability = A2 }, // Pinsir - new(Nest150,2,3,3,SW) { Species = 841, Ability = A2 }, // Flapple - new(Nest150,3,4,4,SW) { Species = 841, Ability = A2 }, // Flapple - new(Nest150,4,4,4,SW) { Species = 841, Ability = A2, CanGigantamax = true }, // Flapple - new(Nest155,4,4,4,SW) { Species = 745, Ability = A4 }, // Lycanroc - new(Nest160,3,4,5,SW) { Species = 038, Ability = A2 }, // Ninetales - new(Nest161,0,1,1,SW) { Species = 138, Ability = A3 }, // Omanyte - new(Nest161,1,2,2,SW) { Species = 138, Ability = A3 }, // Omanyte - new(Nest161,2,3,3,SW) { Species = 550, Ability = A3 }, // Basculin - new(Nest161,3,4,4,SW) { Species = 139, Ability = A4 }, // Omastar - new(Nest161,3,4,4,SW) { Species = 550, Ability = A4 }, // Basculin - new(Nest162,0,1,2,SW) { Species = 138, Ability = A2 }, // Omanyte - new(Nest162,2,3,4,SW) { Species = 550, Ability = A2 }, // Basculin - new(Nest162,3,4,5,SW) { Species = 139, Ability = A2 }, // Omastar - new(Nest164,3,4,5,SW) { Species = 849, Ability = A2 }, // Toxtricity - new(Nest164,4,4,5,SW) { Species = 849, Ability = A2, CanGigantamax = true }, // Toxtricity - new(Nest165,0,1,1,SW) { Species = 347, Ability = A3 }, // Anorith - new(Nest165,2,3,3,SW) { Species = 347, Ability = A3 }, // Anorith - new(Nest165,3,4,4,SW) { Species = 348, Ability = A4 }, // Armaldo - new(Nest165,4,4,4,SW) { Species = 346, Ability = A4 }, // Cradily - new(Nest166,4,4,5,SW) { Species = 348, Ability = A2 }, // Armaldo - new(Nest167,0,1,1,SW) { Species = 554, Ability = A3, Form = 1 }, // Darumaka-1 - new(Nest167,3,4,4,SW) { Species = 555, Ability = A4, Form = 2 }, // Darmanitan-2 - new(Nest168,0,1,2,SW) { Species = 554, Ability = A2, Form = 1 }, // Darumaka-1 - new(Nest168,3,4,5,SW) { Species = 555, Ability = A2, Form = 2 }, // Darmanitan-2 - //new(Nest169,0,1,1,SW) { Species = 613, Ability = A3 }, // Cubchoo - new(Nest169,2,2,2,SW) { Species = 712, Ability = A3 }, // Bergmite - new(Nest170,4,4,5,SW) { Species = 131, Ability = A2 }, // Lapras - new(Nest172,1,2,3,SW) { Species = 083, Ability = A2, Form = 1 }, // Farfetch’d-1 - new(Nest172,3,4,5,SW) { Species = 865, Ability = A2 }, // Sirfetch’d - new(Nest172,3,4,5,SW) { Species = 106, Ability = A2 }, // Hitmonlee - new(Nest172,4,4,5,SW) { Species = 068, Ability = A2, CanGigantamax = true }, // Machamp - new(Nest173,0,1,1,SW) { Species = 029, Ability = A3 }, // Nidoran♀ - new(Nest173,3,4,4,SW) { Species = 031, Ability = A4 }, // Nidoqueen - new(Nest174,1,2,3,SW) { Species = 030, Ability = A2 }, // Nidorina - new(Nest177,0,1,1,SW) { Species = 343, Ability = A3 }, // Baltoy - new(Nest177,2,3,3,SW) { Species = 575, Ability = A3 }, // Gothorita - new(Nest177,3,4,4,SW) { Species = 876, Ability = A4, Gender = 0 }, // Indeedee - new(Nest177,3,4,4,SW) { Species = 576, Ability = A4 }, // Gothitelle - new(Nest177,3,4,4,SW) { Species = 344, Ability = A4 }, // Claydol - new(Nest178,0,1,2,SW) { Species = 876, Ability = A2, Gender = 0 }, // Indeedee - new(Nest178,0,1,2,SW) { Species = 574, Ability = A2 }, // Gothita - new(Nest178,2,3,4,SW) { Species = 876, Ability = A2, Gender = 0 }, // Indeedee - new(Nest178,3,4,5,SW) { Species = 876, Ability = A2, Gender = 0 }, // Indeedee - new(Nest178,3,4,5,SW) { Species = 576, Ability = A2 }, // Gothitelle - new(Nest178,4,4,5,SW) { Species = 576, Ability = A2 }, // Gothitelle - new(Nest179,0,1,1,SW) { Species = 874, Ability = A3 }, // Stonjourner - new(Nest179,1,2,2,SW) { Species = 874, Ability = A3 }, // Stonjourner - new(Nest179,2,3,3,SW) { Species = 874, Ability = A3 }, // Stonjourner - new(Nest179,3,4,4,SW) { Species = 303, Ability = A4 }, // Mawile - new(Nest180,0,1,2,SW) { Species = 303, Ability = A2 }, // Mawile - new(Nest180,2,3,4,SW) { Species = 303, Ability = A2 }, // Mawile - new(Nest180,3,4,5,SW) { Species = 303, Ability = A2 }, // Mawile - new(Nest180,4,4,5,SW) { Species = 839, Ability = A2, CanGigantamax = true }, // Coalossal - new(Nest181,3,4,4,SW) { Species = 303, Ability = A4 }, // Mawile - new(Nest182,1,2,3,SW) { Species = 093, Ability = A2 }, // Haunter - new(Nest182,2,3,4,SW) { Species = 303, Ability = A2 }, // Mawile - new(Nest182,3,4,5,SW) { Species = 709, Ability = A2 }, // Trevenant - new(Nest182,3,4,5,SW) { Species = 303, Ability = A2 }, // Mawile - new(Nest182,4,4,5,SW) { Species = 094, Ability = A2 }, // Gengar - new(Nest183,0,1,1,SW) { Species = 371, Ability = A3 }, // Bagon - new(Nest183,1,2,2,SW) { Species = 371, Ability = A3 }, // Bagon - new(Nest183,2,3,3,SW) { Species = 372, Ability = A3 }, // Shelgon - new(Nest183,3,4,4,SW) { Species = 372, Ability = A4 }, // Shelgon - new(Nest183,4,4,4,SW) { Species = 373, Ability = A4 }, // Salamence - new(Nest184,0,1,2,SW) { Species = 371, Ability = A2 }, // Bagon - new(Nest184,1,2,3,SW) { Species = 776, Ability = A2 }, // Turtonator - new(Nest184,2,3,4,SW) { Species = 372, Ability = A2 }, // Shelgon - new(Nest184,3,4,5,SW) { Species = 373, Ability = A2 }, // Salamence - new(Nest184,4,4,5,SW) { Species = 373, Ability = A2 }, // Salamence - new(Nest192,3,4,5,SW) { Species = 854, Ability = A2 }, // Sinistea - new(Nest195,0,1,1,SW) { Species = 138, Ability = A3 }, // Omanyte - new(Nest195,0,1,1,SW) { Species = 347, Ability = A3 }, // Anorith - new(Nest195,3,4,4,SW) { Species = 139, Ability = A4 }, // Omastar - new(Nest195,3,4,4,SW) { Species = 348, Ability = A4 }, // Armaldo - new(Nest195,3,4,4,SW) { Species = 697, Ability = A4 }, // Tyrantrum - new(Nest195,4,4,4,SW) { Species = 699, Ability = A4 }, // Aurorus - new(Nest196,0,1,2,SW) { Species = 138, Ability = A2 }, // Omanyte - new(Nest196,2,2,2,SW) { Species = 139, Ability = A2 }, // Omastar - new(Nest196,2,2,3,SW) { Species = 881, Ability = A2 }, // Arctozolt - new(Nest196,2,3,4,SW) { Species = 880, Ability = A2 }, // Dracozolt - new(Nest196,3,3,4,SW) { Species = 882, Ability = A2 }, // Dracovish - }; - - internal static readonly EncounterStatic8N[] Nest_SH = - { - new(Nest000,0,1,1,SH) { Species = 453, Ability = A3 }, // Croagunk - new(Nest000,2,3,3,SH) { Species = 107, Ability = A3 }, // Hitmonchan - new(Nest000,2,4,4,SH) { Species = 106, Ability = A3 }, // Hitmonlee - new(Nest000,2,4,4,SH) { Species = 454, Ability = A3 }, // Toxicroak - new(Nest000,3,4,4,SH) { Species = 237, Ability = A4 }, // Hitmontop - new(Nest000,4,4,4,SH) { Species = 534, Ability = A4 }, // Conkeldurr - new(Nest001,0,1,1,SH) { Species = 577, Ability = A3 }, // Solosis - new(Nest001,2,3,3,SH) { Species = 678, Ability = A3, Gender = 1, Form = 1 }, // Meowstic-1 - new(Nest001,2,3,3,SH) { Species = 578, Ability = A3 }, // Duosion - new(Nest001,3,4,4,SH) { Species = 579, Ability = A4 }, // Reuniclus - new(Nest001,4,4,4,SH) { Species = 337, Ability = A4 }, // Lunatone - new(Nest002,0,0,1,SH) { Species = 688, Ability = A3 }, // Binacle - new(Nest002,0,1,1,SH) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest002,3,4,4,SH) { Species = 526, Ability = A4 }, // Gigalith - new(Nest002,4,4,4,SH) { Species = 558, Ability = A4 }, // Crustle - //new(Nest006,0,1,2,SH) { Species = 223, Ability = A3 }, // Remoraid - //new(Nest006,0,1,2,SH) { Species = 170, Ability = A3 }, // Chinchou - new(Nest006,2,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest007,2,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest008,1,1,1,SH) { Species = 090, Ability = A3 }, // Shellder - new(Nest009,1,1,2,SH) { Species = 759, Ability = A3 }, // Stufful - new(Nest009,1,2,2,SH) { Species = 538, Ability = A3 }, // Throh - new(Nest009,3,4,4,SH) { Species = 760, Ability = A4 }, // Bewear - new(Nest011,4,4,4,SH) { Species = 208, Ability = A4 }, // Steelix - new(Nest012,0,1,2,SH) { Species = 177, Ability = A3 }, // Natu - new(Nest012,0,1,2,SH) { Species = 856, Ability = A3 }, // Hatenna - new(Nest012,1,1,2,SH) { Species = 077, Ability = A3, Form = 1 }, // Ponyta-1 - new(Nest012,1,3,3,SH) { Species = 857, Ability = A3 }, // Hattrem - new(Nest012,2,4,4,SH) { Species = 876, Ability = A3, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest012,3,4,4,SH) { Species = 765, Ability = A4 }, // Oranguru - new(Nest012,4,4,4,SH) { Species = 078, Ability = A4, Form = 1 }, // Rapidash-1 - new(Nest013,2,4,4,SH) { Species = 876, Ability = A3, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest014,0,0,1,SH) { Species = 557, Ability = A3 }, // Dwebble - new(Nest014,0,1,1,SH) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest014,2,4,4,SH) { Species = 839, Ability = A3 }, // Coalossal - new(Nest014,3,4,4,SH) { Species = 526, Ability = A4 }, // Gigalith - new(Nest014,4,4,4,SH) { Species = 095, Ability = A4 }, // Onix - new(Nest016,0,1,1,SH) { Species = 328, Ability = A3 }, // Trapinch - new(Nest016,1,1,1,SH) { Species = 220, Ability = A3 }, // Swinub - new(Nest016,2,3,3,SH) { Species = 618, Ability = A3, Form = 1 }, // Stunfisk-1 - new(Nest016,2,4,4,SH) { Species = 329, Ability = A3 }, // Vibrava - new(Nest016,3,4,4,SH) { Species = 330, Ability = A4 }, // Flygon - new(Nest016,4,4,4,SH) { Species = 450, Ability = A4 }, // Hippowdon - new(Nest017,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest017,1,1,1,SH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest017,1,2,2,SH) { Species = 608, Ability = A3 }, // Lampent - new(Nest017,2,3,3,SH) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest017,2,4,4,SH) { Species = 059, Ability = A3 }, // Arcanine - new(Nest017,3,4,4,SH) { Species = 631, Ability = A4 }, // Heatmor - new(Nest017,4,4,4,SH) { Species = 851, Ability = A4 }, // Centiskorch - new(Nest017,4,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest018,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest018,0,1,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest018,1,2,2,SH) { Species = 608, Ability = A3 }, // Lampent - new(Nest018,2,3,3,SH) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest018,2,4,4,SH) { Species = 059, Ability = A3 }, // Arcanine - new(Nest018,2,4,4,SH) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest018,3,4,4,SH) { Species = 324, Ability = A4 }, // Torkoal - new(Nest018,4,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest019,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest019,1,1,1,SH) { Species = 324, Ability = A3 }, // Torkoal - new(Nest019,1,2,2,SH) { Species = 838, Ability = A3 }, // Carkol - new(Nest019,2,3,3,SH) { Species = 758, Ability = A3, Gender = 1 }, // Salazzle - new(Nest019,2,4,4,SH) { Species = 059, Ability = A3 }, // Arcanine - new(Nest019,4,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest022,0,1,1,SH) { Species = 225, Ability = A3 }, // Delibird - new(Nest022,4,4,4,SH) { Species = 875, Ability = A4 }, // Eiscue - new(Nest025,0,0,1,SH) { Species = 270, Ability = A3 }, // Lotad - new(Nest025,1,1,2,SH) { Species = 271, Ability = A3 }, // Lombre - new(Nest025,2,4,4,SH) { Species = 272, Ability = A3 }, // Ludicolo - new(Nest026,4,4,4,SH) { Species = 842, Ability = A4 }, // Appletun - new(Nest028,0,1,1,SH) { Species = 043, Ability = A3 }, // Oddish - new(Nest028,1,1,1,SH) { Species = 747, Ability = A3 }, // Mareanie - new(Nest028,3,4,4,SH) { Species = 435, Ability = A4 }, // Skuntank - new(Nest028,4,4,4,SH) { Species = 748, Ability = A4 }, // Toxapex - new(Nest030,0,1,1,SH) { Species = 629, Ability = A3 }, // Vullaby - new(Nest030,4,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest032,0,1,1,SH) { Species = 682, Ability = A3 }, // Spritzee - new(Nest032,4,4,4,SH) { Species = 683, Ability = A4 }, // Aromatisse - new(Nest033,4,4,4,SH) { Species = 078, Ability = A4, Form = 1 }, // Rapidash-1 - new(Nest034,4,4,4,SH) { Species = 302, Ability = A4 }, // Sableye - new(Nest035,1,1,2,SH) { Species = 629, Ability = A3 }, // Vullaby - new(Nest035,3,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest035,4,4,4,SH) { Species = 248, Ability = A4 }, // Tyranitar - new(Nest036,0,0,1,SH) { Species = 610, Ability = A3 }, // Axew - new(Nest036,0,1,1,SH) { Species = 328, Ability = A3 }, // Trapinch - new(Nest036,1,1,2,SH) { Species = 704, Ability = A3 }, // Goomy - new(Nest036,2,3,3,SH) { Species = 611, Ability = A3 }, // Fraxure - new(Nest036,2,4,4,SH) { Species = 705, Ability = A3 }, // Sliggoo - new(Nest036,2,4,4,SH) { Species = 330, Ability = A3 }, // Flygon - new(Nest036,3,4,4,SH) { Species = 612, Ability = A4 }, // Haxorus - new(Nest036,4,4,4,SH) { Species = 780, Ability = A4 }, // Drampa - new(Nest036,4,4,4,SH) { Species = 706, Ability = A4 }, // Goodra - //new(Nest037,0,1,1,SH) { Species = 704, Ability = A3 }, // Goomy - new(Nest037,2,4,4,SH) { Species = 705, Ability = A3 }, // Sliggoo - new(Nest037,3,4,4,SH) { Species = 706, Ability = A4 }, // Goodra - new(Nest037,4,4,4,SH) { Species = 842, Ability = A4 }, // Appletun - new(Nest039,1,1,2,SH) { Species = 876, Ability = A3, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest039,4,4,4,SH) { Species = 765, Ability = A4 }, // Oranguru - //new(Nest040,0,1,1,SH) { Species = 536, Ability = A3 }, // Palpitoad - //new(Nest040,1,1,2,SH) { Species = 747, Ability = A3 }, // Mareanie - new(Nest040,2,3,3,SH) { Species = 748, Ability = A3 }, // Toxapex - new(Nest040,2,4,4,SH) { Species = 091, Ability = A3 }, // Cloyster - new(Nest040,3,4,4,SH) { Species = 746, Ability = A4 }, // Wishiwashi - new(Nest040,4,4,4,SH) { Species = 537, Ability = A4 }, // Seismitoad - new(Nest042,1,3,3,SH) { Species = 222, Ability = A3, Form = 1 }, // Corsola-1 - new(Nest042,4,4,4,SH) { Species = 302, Ability = A3 }, // Sableye - new(Nest042,3,4,4,SH) { Species = 867, Ability = A4 }, // Runerigus - new(Nest042,3,4,4,SH) { Species = 864, Ability = A4 }, // Cursola - new(Nest043,2,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest044,1,2,2,SH) { Species = 600, Ability = A3 }, // Klang - new(Nest044,2,3,3,SH) { Species = 632, Ability = A3 }, // Durant - new(Nest045,0,1,1,SH) { Species = 616, Ability = A3 }, // Shelmet - new(Nest045,1,2,2,SH) { Species = 588, Ability = A3 }, // Karrablast - new(Nest045,4,4,4,SH) { Species = 617, Ability = A4 }, // Accelgor - new(Nest046,1,3,3,SH) { Species = 222, Ability = A3, Form = 1 }, // Corsola-1 - new(Nest046,2,4,4,SH) { Species = 302, Ability = A3 }, // Sableye - new(Nest046,3,4,4,SH) { Species = 864, Ability = A4 }, // Cursola - new(Nest047,0,1,1,SH) { Species = 453, Ability = A3 }, // Croagunk - new(Nest047,2,4,4,SH) { Species = 454, Ability = A3 }, // Toxicroak - new(Nest047,3,4,4,SH) { Species = 701, Ability = A4 }, // Hawlucha - new(Nest050,0,1,1,SH) { Species = 524, Ability = A3 }, // Roggenrola - new(Nest050,1,2,2,SH) { Species = 246, Ability = A3 }, // Larvitar - new(Nest050,2,3,3,SH) { Species = 247, Ability = A3 }, // Pupitar - new(Nest050,4,4,4,SH) { Species = 248, Ability = A4 }, // Tyranitar - new(Nest052,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest052,1,2,2,SH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest052,3,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest053,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest053,1,2,2,SH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest053,2,3,3,SH) { Species = 608, Ability = A3 }, // Lampent - new(Nest053,3,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest053,4,4,4,SH) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest054,0,0,1,SH) { Species = 613, Ability = A3 }, // Cubchoo - new(Nest054,4,4,4,SH) { Species = 875, Ability = A4 }, // Eiscue - new(Nest057,0,0,1,SH) { Species = 270, Ability = A3 }, // Lotad - new(Nest057,1,2,2,SH) { Species = 271, Ability = A3 }, // Lombre - new(Nest057,2,4,4,SH) { Species = 272, Ability = A3 }, // Ludicolo - new(Nest057,4,4,4,SH) { Species = 842, Ability = A4 }, // Appletun - new(Nest058,0,0,1,SH) { Species = 270, Ability = A3 }, // Lotad - new(Nest058,1,2,2,SH) { Species = 271, Ability = A3 }, // Lombre - new(Nest058,4,4,4,SH) { Species = 272, Ability = A4 }, // Ludicolo - new(Nest059,1,2,2,SH) { Species = 757, Ability = A3 }, // Salandit - new(Nest059,4,4,4,SH) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest061,2,4,4,SH) { Species = 078, Ability = A3, Form = 1 }, // Rapidash-1 - new(Nest062,0,1,1,SH) { Species = 629, Ability = A3 }, // Vullaby - new(Nest062,3,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest062,4,4,4,SH) { Species = 248, Ability = A4 }, // Tyranitar - new(Nest063,0,0,1,SH) { Species = 610, Ability = A3 }, // Axew - new(Nest063,0,1,1,SH) { Species = 328, Ability = A3 }, // Trapinch - new(Nest063,0,1,1,SH) { Species = 704, Ability = A3 }, // Goomy - new(Nest063,1,2,2,SH) { Species = 329, Ability = A3 }, // Vibrava - new(Nest063,2,4,4,SH) { Species = 705, Ability = A3 }, // Sliggoo - new(Nest063,2,4,4,SH) { Species = 780, Ability = A3 }, // Drampa - new(Nest063,3,4,4,SH) { Species = 706, Ability = A4 }, // Goodra - new(Nest063,4,4,4,SH) { Species = 330, Ability = A4 }, // Flygon - new(Nest064,3,4,4,SH) { Species = 765, Ability = A4 }, // Oranguru - new(Nest064,3,4,4,SH) { Species = 876, Ability = A4, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest066,2,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest070,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest070,0,1,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest070,1,2,2,SH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest070,2,3,3,SH) { Species = 608, Ability = A3 }, // Lampent - //new(Nest073,0,0,1,SH) { Species = 682, Ability = A3 }, // Spritzee - new(Nest073,2,4,4,SH) { Species = 683, Ability = A3 }, // Aromatisse - new(Nest075,2,4,4,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - //new(Nest076,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest076,2,2,2,SH) { Species = 631, Ability = A3 }, // Heatmor - new(Nest076,3,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest077,1,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest078,0,0,1,SH) { Species = 270, Ability = A3 }, // Lotad - new(Nest078,1,2,2,SH) { Species = 271, Ability = A3 }, // Lombre - new(Nest078,2,4,4,SH) { Species = 272, Ability = A3 }, // Ludicolo - new(Nest078,4,4,4,SH) { Species = 842, Ability = A4, CanGigantamax = true }, // Appletun - new(Nest079,0,0,1,SH) { Species = 058, Ability = A3 }, // Growlithe - new(Nest079,3,4,4,SH) { Species = 059, Ability = A4 }, // Arcanine - new(Nest080,0,0,1,SH) { Species = 679, Ability = A3 }, // Honedge - new(Nest080,0,0,1,SH) { Species = 562, Ability = A3, Form = 1 }, // Yamask-1 - new(Nest080,0,1,1,SH) { Species = 854, Ability = A3 }, // Sinistea - new(Nest080,0,1,1,SH) { Species = 092, Ability = A3 }, // Gastly - new(Nest080,1,2,2,SH) { Species = 680, Ability = A3 }, // Doublade - new(Nest080,1,3,3,SH) { Species = 222, Ability = A3, Form = 1 }, // Corsola-1 - new(Nest080,2,3,3,SH) { Species = 093, Ability = A3 }, // Haunter - new(Nest080,2,4,4,SH) { Species = 302, Ability = A3 }, // Sableye - new(Nest080,3,4,4,SH) { Species = 855, Ability = A4 }, // Polteageist - new(Nest080,3,4,4,SH) { Species = 864, Ability = A4 }, // Cursola - new(Nest080,4,4,4,SH) { Species = 867, Ability = A4 }, // Runerigus - new(Nest080,4,4,4,SH) { Species = 094, Ability = A4, CanGigantamax = true }, // Gengar - new(Nest081,0,0,1,SH) { Species = 077, Ability = A3, Form = 1 }, // Ponyta-1 - new(Nest081,2,4,4,SH) { Species = 078, Ability = A3, Form = 1 }, // Rapidash-1 - new(Nest082,0,0,1,SH) { Species = 582, Ability = A3 }, // Vanillite - new(Nest082,0,0,1,SH) { Species = 613, Ability = A3 }, // Cubchoo - new(Nest082,0,1,1,SH) { Species = 122, Ability = A3, Form = 1 }, // Mr. Mime-1 - new(Nest082,0,1,1,SH) { Species = 712, Ability = A3 }, // Bergmite - new(Nest082,1,2,2,SH) { Species = 361, Ability = A3 }, // Snorunt - new(Nest082,1,2,2,SH) { Species = 225, Ability = A3 }, // Delibird - new(Nest082,2,3,3,SH) { Species = 713, Ability = A3 }, // Avalugg - new(Nest082,2,4,4,SH) { Species = 362, Ability = A3 }, // Glalie - new(Nest082,3,4,4,SH) { Species = 584, Ability = A4 }, // Vanilluxe - new(Nest082,3,4,4,SH) { Species = 866, Ability = A4 }, // Mr. Rime - new(Nest082,4,4,4,SH) { Species = 875, Ability = A4 }, // Eiscue - new(Nest082,4,4,4,SH) { Species = 131, Ability = A4, CanGigantamax = true }, // Lapras - new(Nest083,1,2,2,SH) { Species = 600, Ability = A3 }, // Klang - new(Nest083,2,3,3,SH) { Species = 632, Ability = A3 }, // Durant - new(Nest085,1,2,2,SH) { Species = 757, Ability = A3 }, // Salandit - new(Nest085,4,4,4,SH) { Species = 758, Ability = A4, Gender = 1 }, // Salazzle - new(Nest086,0,0,1,SH) { Species = 682, Ability = A3 }, // Spritzee - new(Nest086,2,3,3,SH) { Species = 683, Ability = A3 }, // Aromatisse - new(Nest087,0,1,1,SH) { Species = 629, Ability = A3 }, // Vullaby - new(Nest087,3,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest087,4,4,4,SH) { Species = 248, Ability = A4 }, // Tyranitar - new(Nest089,0,1,1,SH) { Species = 616, Ability = A3 }, // Shelmet - new(Nest089,1,2,2,SH) { Species = 588, Ability = A3 }, // Karrablast - new(Nest089,4,4,4,SH) { Species = 617, Ability = A4 }, // Accelgor - new(Nest090,1,2,2,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest091,0,1,1,SH) { Species = 616, Ability = A3 }, // Shelmet - new(Nest091,1,2,2,SH) { Species = 588, Ability = A3 }, // Karrablast - new(Nest091,4,4,4,SH) { Species = 617, Ability = A4 }, // Accelgor - new(Nest106,1,2,2,SH) { Species = 629, Ability = A3 }, // Vullaby - new(Nest106,3,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest106,4,4,4,SH) { Species = 630, Ability = A4 }, // Mandibuzz - new(Nest107,1,2,2,SH) { Species = 629, Ability = A2 }, // Vullaby - new(Nest107,4,4,4,SH) { Species = 630, Ability = A2 }, // Mandibuzz - new(Nest108,0,1,1,SH) { Species = 214, Ability = A3 }, // Heracross - new(Nest108,1,2,2,SH) { Species = 214, Ability = A3 }, // Heracross - new(Nest108,2,3,3,SH) { Species = 214, Ability = A3 }, // Heracross - new(Nest108,3,4,4,SH) { Species = 214, Ability = A4 }, // Heracross - new(Nest109,0,1,1,SH) { Species = 214, Ability = A2 }, // Heracross - new(Nest109,4,4,4,SH) { Species = 214, Ability = A2 }, // Heracross - new(Nest113,4,4,4,SH) { Species = 059, Ability = A2 }, // Arcanine - new(Nest114,4,4,4,SH) { Species = 745, Ability = A4, Form = 1 }, // Lycanroc-1 - new(Nest115,3,4,4,SH) { Species = 745, Ability = A2, Form = 1 }, // Lycanroc-1 - new(Nest116,2,3,3,SH) { Species = 765, Ability = A3 }, // Oranguru - new(Nest117,2,3,3,SH) { Species = 765, Ability = A2 }, // Oranguru - new(Nest117,3,4,4,SH) { Species = 876, Ability = A2, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest117,4,4,4,SH) { Species = 678, Ability = A2, Gender = 1, Form = 1 }, // Meowstic-1 - new(Nest122,1,2,2,SH) { Species = 453, Ability = A3 }, // Croagunk - new(Nest122,2,3,3,SH) { Species = 853, Ability = A3 }, // Grapploct - new(Nest122,2,3,3,SH) { Species = 454, Ability = A3 }, // Toxicroak - new(Nest122,3,4,4,SH) { Species = 454, Ability = A4 }, // Toxicroak - new(Nest123,0,1,1,SH) { Species = 453, Ability = A2 }, // Croagunk - new(Nest123,1,2,2,SH) { Species = 538, Ability = A2 }, // Throh - new(Nest123,2,3,3,SH) { Species = 620, Ability = A2 }, // Mienshao - new(Nest123,3,4,4,SH) { Species = 538, Ability = A2 }, // Throh - new(Nest123,3,4,4,SH) { Species = 454, Ability = A2 }, // Toxicroak - new(Nest123,4,4,4,SH) { Species = 870, Ability = A2 }, // Falinks - new(Nest127,4,4,4,SH) { Species = 864, Ability = A2 }, // Cursola - //new(Nest130,0,1,1,SH) { Species = 704, Ability = A3 }, // Goomy - new(Nest130,2,3,3,SH) { Species = 705, Ability = A3 }, // Sliggoo - new(Nest130,3,4,4,SH) { Species = 842, Ability = A4 }, // Appletun - new(Nest130,4,4,4,SH) { Species = 706, Ability = A4 }, // Goodra - new(Nest131,2,2,2,SH) { Species = 780, Ability = A2 }, // Drampa - new(Nest131,2,2,2,SH) { Species = 704, Ability = A2 }, // Goomy - new(Nest131,2,3,3,SH) { Species = 705, Ability = A2 }, // Sliggoo - new(Nest131,3,4,4,SH) { Species = 780, Ability = A2 }, // Drampa - new(Nest131,4,4,4,SH) { Species = 706, Ability = A2 }, // Goodra - new(Nest135,4,4,4,SH) { Species = 550, Ability = A2, Form = 1 }, // Basculin-1 - //new(Nest138,0,1,1,SH) { Species = 690, Ability = A3 }, // Skrelp - new(Nest138,2,2,2,SH) { Species = 690, Ability = A3 }, // Skrelp - new(Nest138,4,4,4,SH) { Species = 691, Ability = A4 }, // Dragalge - //new(Nest139,0,1,1,SH) { Species = 690, Ability = A2 }, // Skrelp - new(Nest139,3,4,4,SH) { Species = 691, Ability = A2 }, // Dragalge - new(Nest139,4,4,4,SH) { Species = 691, Ability = A2 }, // Dragalge - new(Nest147,1,2,2,SH) { Species = 550, Ability = A2, Form = 1 }, // Basculin-1 - new(Nest147,3,4,4,SH) { Species = 550, Ability = A2, Form = 1 }, // Basculin-1 - new(Nest148,1,2,2,SH) { Species = 214, Ability = A2 }, // Heracross - new(Nest150,2,3,3,SH) { Species = 842, Ability = A2 }, // Appletun - new(Nest150,3,4,4,SH) { Species = 842, Ability = A2 }, // Appletun - new(Nest150,4,4,4,SH) { Species = 842, Ability = A2, CanGigantamax = true }, // Appletun - new(Nest155,4,4,4,SH) { Species = 745, Ability = A4, Form = 1 }, // Lycanroc-1 - new(Nest160,3,4,5,SH) { Species = 059, Ability = A2 }, // Arcanine - new(Nest161,0,1,1,SH) { Species = 140, Ability = A3 }, // Kabuto - new(Nest161,1,2,2,SH) { Species = 140, Ability = A3 }, // Kabuto - new(Nest161,2,3,3,SH) { Species = 550, Ability = A3, Form = 1 }, // Basculin-1 - new(Nest161,3,4,4,SH) { Species = 141, Ability = A4 }, // Kabutops - new(Nest161,3,4,4,SH) { Species = 550, Ability = A4, Form = 1 }, // Basculin-1 - new(Nest162,0,1,2,SH) { Species = 140, Ability = A2 }, // Kabuto - new(Nest162,2,3,4,SH) { Species = 550, Ability = A2, Form = 1 }, // Basculin-1 - new(Nest162,3,4,5,SH) { Species = 141, Ability = A2 }, // Kabutops - new(Nest164,3,4,5,SH) { Species = 849, Ability = A2, Form = 1 }, // Toxtricity-1 - new(Nest164,4,4,5,SH) { Species = 849, Ability = A2, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(Nest165,0,1,1,SH) { Species = 345, Ability = A3 }, // Lileep - new(Nest165,2,3,3,SH) { Species = 345, Ability = A3 }, // Lileep - new(Nest165,3,4,4,SH) { Species = 346, Ability = A4 }, // Cradily - new(Nest165,4,4,4,SH) { Species = 348, Ability = A4 }, // Armaldo - new(Nest166,4,4,5,SH) { Species = 346, Ability = A2 }, // Cradily - new(Nest167,0,1,1,SH) { Species = 220, Ability = A3 }, // Swinub - //new(Nest169,0,1,1,SH) { Species = 875, Ability = A3 }, // Eiscue - new(Nest169,2,2,2,SH) { Species = 875, Ability = A3 }, // Eiscue - new(Nest170,4,4,5,SH) { Species = 131, Ability = A2, CanGigantamax = true }, // Lapras - new(Nest172,3,4,5,SH) { Species = 107, Ability = A2 }, // Hitmonchan - new(Nest172,4,4,5,SH) { Species = 068, Ability = A2 }, // Machamp - new(Nest173,0,1,1,SH) { Species = 032, Ability = A3 }, // Nidoran♂ - new(Nest173,3,4,4,SH) { Species = 034, Ability = A4 }, // Nidoking - new(Nest174,1,2,3,SH) { Species = 033, Ability = A2 }, // Nidorino - new(Nest177,0,1,1,SH) { Species = 077, Ability = A3, Form = 1 }, // Ponyta-1 - new(Nest177,2,3,3,SH) { Species = 578, Ability = A3 }, // Duosion - new(Nest177,3,4,4,SH) { Species = 876, Ability = A4, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest177,3,4,4,SH) { Species = 579, Ability = A4 }, // Reuniclus - new(Nest177,3,4,4,SH) { Species = 078, Ability = A4, Form = 1 }, // Rapidash-1 - new(Nest178,0,1,2,SH) { Species = 876, Ability = A2, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest178,0,1,2,SH) { Species = 577, Ability = A2 }, // Solosis - new(Nest178,2,3,4,SH) { Species = 876, Ability = A2, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest178,3,4,5,SH) { Species = 876, Ability = A2, Gender = 1, Form = 1 }, // Indeedee-1 - new(Nest178,3,4,5,SH) { Species = 579, Ability = A2 }, // Reuniclus - new(Nest178,4,4,5,SH) { Species = 579, Ability = A2 }, // Reuniclus - new(Nest179,0,1,1,SH) { Species = 837, Ability = A3 }, // Rolycoly - new(Nest179,1,2,2,SH) { Species = 838, Ability = A3 }, // Carkol - new(Nest179,2,3,3,SH) { Species = 838, Ability = A3 }, // Carkol - new(Nest179,3,4,4,SH) { Species = 302, Ability = A4 }, // Sableye - new(Nest180,0,1,2,SH) { Species = 302, Ability = A2 }, // Sableye - new(Nest180,2,3,4,SH) { Species = 302, Ability = A2 }, // Sableye - new(Nest180,3,4,5,SH) { Species = 302, Ability = A2 }, // Sableye - new(Nest180,4,4,5,SH) { Species = 839, Ability = A2 }, // Coalossal - new(Nest181,3,4,4,SH) { Species = 302, Ability = A4 }, // Sableye - new(Nest182,1,2,3,SH) { Species = 222, Ability = A2, Form = 1 }, // Corsola-1 - new(Nest182,2,3,4,SH) { Species = 302, Ability = A2 }, // Sableye - new(Nest182,3,4,5,SH) { Species = 864, Ability = A2 }, // Cursola - new(Nest182,3,4,5,SH) { Species = 302, Ability = A2 }, // Sableye - new(Nest182,4,4,5,SH) { Species = 094, Ability = A2, CanGigantamax = true }, // Gengar - new(Nest183,0,1,1,SH) { Species = 443, Ability = A3 }, // Gible - new(Nest183,1,2,2,SH) { Species = 443, Ability = A3 }, // Gible - new(Nest183,2,3,3,SH) { Species = 444, Ability = A3 }, // Gabite - new(Nest183,3,4,4,SH) { Species = 444, Ability = A4 }, // Gabite - new(Nest183,4,4,4,SH) { Species = 445, Ability = A4 }, // Garchomp - new(Nest184,0,1,2,SH) { Species = 443, Ability = A2 }, // Gible - new(Nest184,1,2,3,SH) { Species = 780, Ability = A2 }, // Drampa - new(Nest184,2,3,4,SH) { Species = 444, Ability = A2 }, // Gabite - new(Nest184,3,4,5,SH) { Species = 445, Ability = A2 }, // Garchomp - new(Nest184,4,4,5,SH) { Species = 445, Ability = A2 }, // Garchomp - new(Nest192,3,4,5,SH) { Species = 869, Ability = A2 }, // Alcremie - new(Nest195,0,1,1,SH) { Species = 140, Ability = A3 }, // Kabuto - new(Nest195,0,1,1,SH) { Species = 345, Ability = A3 }, // Lileep - new(Nest195,3,4,4,SH) { Species = 141, Ability = A4 }, // Kabutops - new(Nest195,3,4,4,SH) { Species = 346, Ability = A4 }, // Cradily - new(Nest195,3,4,4,SH) { Species = 699, Ability = A4 }, // Aurorus - new(Nest195,4,4,4,SH) { Species = 697, Ability = A4 }, // Tyrantrum - new(Nest196,0,1,2,SH) { Species = 140, Ability = A2 }, // Kabuto - new(Nest196,2,2,2,SH) { Species = 141, Ability = A2 }, // Kabutops - new(Nest196,2,2,3,SH) { Species = 883, Ability = A2 }, // Arctovish - new(Nest196,2,3,4,SH) { Species = 882, Ability = A2 }, // Dracovish - new(Nest196,3,3,4,SH) { Species = 880, Ability = A2 }, // Dracozolt - }; - #endregion -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestCrystal.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8NestCrystal.cs deleted file mode 100644 index 403b814a6..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestCrystal.cs +++ /dev/null @@ -1,26 +0,0 @@ -using static PKHeX.Core.GameVersion; - -namespace PKHeX.Core; - -// Dynamax Crystal Distribution Nest Encounters (BCAT) -internal static partial class Encounters8Nest -{ - #region Dynamax Crystal Distributions - internal static readonly EncounterStatic8NC[] Crystal_SWSH = - { - new(SWSH) { Species = 782, Level = 16, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(033,029,525,043) }, // ★And458 Jangmo-o - new(SWSH) { Species = 246, Level = 16, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(033,157,371,044) }, // ★And15 Larvitar - new(SWSH) { Species = 823, Level = 50, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,31), DynamaxLevel = 5, Moves = new(065,442,034,796), CanGigantamax = true }, // ★And337 Gigantamax Corviknight - new(SWSH) { Species = 875, Level = 15, Ability = A3, Location = 126, IVs = new(31,31,-1,31,-1,-1), DynamaxLevel = 2, Moves = new(181,311,054,556) }, // ★And603 Eiscue - new(SWSH) { Species = 874, Level = 15, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(397,317,335,157) }, // ★And390 Stonjourner - new(SWSH) { Species = 879, Level = 35, Ability = A3, Location = 126, IVs = new(31,31,-1, 0,31,-1), DynamaxLevel = 4, Moves = new(484,174,776,583), CanGigantamax = true }, // ★Sgr6879 Gigantamax Copperajah - new(SWSH) { Species = 851, Level = 35, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(680,679,489,438), CanGigantamax = true }, // ★Sgr6859 Gigantamax Centiskorch - new(SW ) { Species = 842, Level = 40, Ability = A0, Location = 126, IVs = new(31,-1,31,-1,31,-1), DynamaxLevel = 5, Moves = new(787,412,406,076), CanGigantamax = true }, // ★Sgr6913 Gigantamax Appletun - new( SH) { Species = 841, Level = 40, Ability = A0, Location = 126, IVs = new(31,31,-1,31,-1,-1), DynamaxLevel = 5, Moves = new(788,491,412,406), CanGigantamax = true }, // ★Sgr6913 Gigantamax Flapple - new(SWSH) { Species = 844, Level = 40, Ability = A0, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(523,776,489,157), CanGigantamax = true }, // ★Sgr7348 Gigantamax Sandaconda - new(SWSH) { Species = 884, Level = 40, Ability = A2, Location = 126, IVs = new(31,-1,-1,31,31,-1), DynamaxLevel = 5, Moves = new(796,063,784,319), CanGigantamax = true }, // ★Sgr7121 Gigantamax Duraludon - new(SWSH) { Species = 025, Level = 25, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(606,273,104,085), CanGigantamax = true }, // ★Sgr6746 Gigantamax Pikachu - new(SWSH) { Species = 133, Level = 25, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(606,273,038,129), CanGigantamax = true }, // ★Sgr7194 Gigantamax Eevee - }; - #endregion -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistBase.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistBase.cs deleted file mode 100644 index 175fe8b13..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistBase.cs +++ /dev/null @@ -1,664 +0,0 @@ -using static PKHeX.Core.GameVersion; - -namespace PKHeX.Core; - -// Distribution Nest Encounters (BCAT) -internal static partial class Encounters8Nest -{ - /// - /// Nest distribution raids for available during base game era. - /// - internal static readonly EncounterStatic8ND[] Dist_Base = - { - new(17,01,1) { Species = 052, Ability = A4, Moves = new(252, 044, 010, 364), Index = 23, CanGigantamax = true }, // Meowth - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 044, 010, 364), Index = 23, CanGigantamax = true }, // Meowth - new(30,03,2) { Species = 052, Ability = A4, Moves = new(252, 044, 269, 154), Index = 23, CanGigantamax = true }, // Meowth - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 044, 269, 154), Index = 23, CanGigantamax = true }, // Meowth - new(40,05,3) { Species = 052, Ability = A4, Moves = new(252, 044, 417, 163), Index = 23, CanGigantamax = true }, // Meowth - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 044, 417, 163), Index = 23, CanGigantamax = true }, // Meowth - new(50,08,4) { Species = 052, Ability = A4, Moves = new(252, 583, 417, 163), Index = 23, CanGigantamax = true }, // Meowth - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 583, 417, 163), Index = 23, CanGigantamax = true }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(252, 583, 417, 034), Index = 23, CanGigantamax = true }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 583, 417, 034), Index = 23, CanGigantamax = true }, // Meowth - - new(17,01,1) { Species = 133, Ability = A4, Moves = new(098, 270, 608, 028), Index = 22, CanGigantamax = true }, // Eevee - new(30,03,2) { Species = 133, Ability = A4, Moves = new(129, 270, 608, 044), Index = 22, CanGigantamax = true }, // Eevee - new(40,05,3) { Species = 133, Ability = A4, Moves = new(036, 270, 608, 044), Index = 22, CanGigantamax = true }, // Eevee - new(40,05,3) { Species = 133, Ability = A4, Moves = new(036, 270, 608, 231), Index = 22, CanGigantamax = true }, // Eevee - new(50,08,4) { Species = 133, Ability = A4, Moves = new(038, 270, 204, 044), Index = 22, CanGigantamax = true }, // Eevee - new(50,08,4) { Species = 133, Ability = A4, Moves = new(038, 203, 204, 231), Index = 22, CanGigantamax = true }, // Eevee - new(60,10,5) { Species = 133, Ability = A4, Moves = new(038, 270, 204, 231), Index = 22, CanGigantamax = true }, // Eevee - new(60,10,5) { Species = 133, Ability = A4, Moves = new(387, 203, 204, 231), Index = 22, CanGigantamax = true }, // Eevee - - new(17,01,1) { Species = 025, Ability = A4, Moves = new(084, 104, 486, 364), Index = 21, CanGigantamax = true }, // Pikachu - new(30,03,2) { Species = 025, Ability = A4, Moves = new(021, 209, 097, 364), Index = 21, CanGigantamax = true }, // Pikachu - new(40,05,3) { Species = 025, Ability = A4, Moves = new(021, 113, 085, 364), Index = 21, CanGigantamax = true }, // Pikachu - new(50,08,4) { Species = 025, Ability = A4, Moves = new(087, 113, 085, 364), Index = 21, CanGigantamax = true }, // Pikachu - new(50,08,4) { Species = 025, Ability = A4, Moves = new(087, 113, 057, 085), Index = 21, CanGigantamax = true }, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(087, 113, 057, 364), Index = 21, CanGigantamax = true }, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(087, 113, 057, 344), Index = 21, CanGigantamax = true }, // Pikachu - - new(17,01,1) { Species = 246, Ability = A4, Moves = new(157, 044, 184, 033), Index = 20 }, // Larvitar - new(17,01,1) { Species = 529, Ability = A4, Moves = new(189, 232, 010, 468), Index = 20 }, // Drilbur - new(17,01,1) { Species = 546, Ability = A4, Moves = new(584, 078, 075, 071), Index = 20 }, // Cottonee - new(17,01,1) { Species = 885, Ability = A4, Moves = new(611, 098, 310, 044), Index = 20 }, // Dreepy - new(17,01,1) { Species = 175, Ability = A4, Moves = new(204, 577, 113, 791), Index = 20 }, // Togepi - new(30,03,2) { Species = 247, Ability = A4, Moves = new(157, 242, 334, 707), Index = 20 }, // Pupitar - new(30,03,2) { Species = 529, Ability = A4, Moves = new(189, 232, 157, 306), Index = 20 }, // Drilbur - new(30,03,2) { Species = 546, Ability = A4, Moves = new(202, 075, 204, 077), Index = 20 }, // Cottonee - new(30,03,2) { Species = 886, Ability = A4, Moves = new(097, 506, 372, 458), Index = 20 }, // Drakloak - new(30,03,2) { Species = 176, Ability = A4, Moves = new(584, 038, 113, 791), Index = 20 }, // Togetic - new(40,05,3) { Species = 248, Ability = A4, Moves = new(444, 242, 334, 089), Index = 20 }, // Tyranitar - new(40,05,3) { Species = 530, Ability = A4, Moves = new(529, 232, 157, 032), Index = 20 }, // Excadrill - new(40,05,3) { Species = 547, Ability = A4, Moves = new(283, 585, 077, 366), Index = 20 }, // Whimsicott - new(40,05,3) { Species = 887, Ability = A4, Moves = new(751, 506, 349, 458), Index = 20 }, // Dragapult - new(40,05,3) { Species = 468, Ability = A4, Moves = new(605, 038, 246, 403), Index = 20 }, // Togekiss - new(50,08,4) { Species = 248, Ability = A4, Moves = new(444, 242, 442, 089), Index = 20 }, // Tyranitar - new(50,08,4) { Species = 530, Ability = A4, Moves = new(529, 442, 157, 032), Index = 20 }, // Excadrill - new(50,08,4) { Species = 547, Ability = A4, Moves = new(283, 585, 073, 366), Index = 20 }, // Whimsicott - new(50,08,4) { Species = 887, Ability = A4, Moves = new(751, 506, 349, 211), Index = 20 }, // Dragapult - new(50,08,4) { Species = 468, Ability = A4, Moves = new(605, 219, 246, 403), Index = 20 }, // Togekiss - new(60,10,5) { Species = 248, Ability = A4, Moves = new(444, 242, 442, 276), Index = 20 }, // Tyranitar - new(60,10,5) { Species = 530, Ability = A4, Moves = new(089, 442, 157, 032), Index = 20 }, // Excadrill - new(60,10,5) { Species = 547, Ability = A4, Moves = new(538, 585, 073, 366), Index = 20 }, // Whimsicott - new(60,10,5) { Species = 887, Ability = A4, Moves = new(751, 566, 349, 211), Index = 20 }, // Dragapult - new(60,10,5) { Species = 468, Ability = A4, Moves = new(605, 219, 246, 053), Index = 20 }, // Togekiss - new(17,01,1,SW) { Species = 479, Ability = A4, Moves = new(104, 315, 084, 109), Index = 20, Form = 1 }, // Rotom-1 - new(30,03,2,SW) { Species = 479, Ability = A4, Moves = new(104, 315, 085, 109), Index = 20, Form = 1 }, // Rotom-1 - new(40,05,3,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 085, 506), Index = 20, Form = 1 }, // Rotom-1 - new(50,08,4,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 085, 261), Index = 20, Form = 1 }, // Rotom-1 - new(60,10,5,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 435, 261), Index = 20, Form = 1 }, // Rotom-1 - new(17,01,1,SH) { Species = 479, Ability = A4, Moves = new(104, 056, 084, 109), Index = 20, Form = 2 }, // Rotom-2 - new(30,03,2,SH) { Species = 479, Ability = A4, Moves = new(104, 056, 085, 109), Index = 20, Form = 2 }, // Rotom-2 - new(40,05,3,SH) { Species = 479, Ability = A4, Moves = new(521, 435, 085, 056), Index = 20, Form = 2 }, // Rotom-2 - new(50,08,4,SH) { Species = 479, Ability = A4, Moves = new(521, 435, 247, 056), Index = 20, Form = 2 }, // Rotom-2 - new(60,10,5,SH) { Species = 479, Ability = A4, Moves = new(521, 056, 247, 261), Index = 20, Form = 2 }, // Rotom-2 - - new(17,01,1) { Species = 246, Ability = A4, Moves = new(157, 044, 184, 033), Index = 19 }, // Larvitar - new(17,01,1) { Species = 546, Ability = A4, Moves = new(584, 078, 075, 071), Index = 19 }, // Cottonee - new(17,01,1) { Species = 885, Ability = A4, Moves = new(611, 098, 310, 044), Index = 19 }, // Dreepy - new(17,01,1) { Species = 175, Ability = A4, Moves = new(204, 577, 113, 791), Index = 19 }, // Togepi - new(30,03,2) { Species = 247, Ability = A4, Moves = new(157, 242, 334, 707), Index = 19 }, // Pupitar - new(30,03,2) { Species = 529, Ability = A4, Moves = new(189, 232, 157, 306), Index = 19 }, // Drilbur - new(30,03,2) { Species = 546, Ability = A4, Moves = new(202, 075, 204, 077), Index = 19 }, // Cottonee - new(30,03,2) { Species = 886, Ability = A4, Moves = new(097, 506, 372, 458), Index = 19 }, // Drakloak - new(30,03,2) { Species = 176, Ability = A4, Moves = new(584, 038, 113, 791), Index = 19 }, // Togetic - new(40,05,3) { Species = 248, Ability = A4, Moves = new(444, 242, 334, 089), Index = 19 }, // Tyranitar - new(40,05,3) { Species = 530, Ability = A4, Moves = new(529, 232, 157, 032), Index = 19 }, // Excadrill - new(40,05,3) { Species = 547, Ability = A4, Moves = new(283, 585, 077, 366), Index = 19 }, // Whimsicott - new(40,05,3) { Species = 887, Ability = A4, Moves = new(751, 506, 349, 458), Index = 19 }, // Dragapult - new(40,05,3) { Species = 468, Ability = A4, Moves = new(605, 038, 246, 403), Index = 19 }, // Togekiss - new(50,08,4) { Species = 248, Ability = A4, Moves = new(444, 242, 442, 089), Index = 19 }, // Tyranitar - new(50,08,4) { Species = 530, Ability = A4, Moves = new(529, 442, 157, 032), Index = 19 }, // Excadrill - new(50,08,4) { Species = 547, Ability = A4, Moves = new(283, 585, 073, 366), Index = 19 }, // Whimsicott - new(50,08,4) { Species = 887, Ability = A4, Moves = new(751, 506, 349, 211), Index = 19 }, // Dragapult - new(50,08,4) { Species = 468, Ability = A4, Moves = new(605, 219, 246, 403), Index = 19 }, // Togekiss - new(60,10,5) { Species = 248, Ability = A4, Moves = new(444, 242, 442, 276), Index = 19 }, // Tyranitar - new(60,10,5) { Species = 530, Ability = A4, Moves = new(089, 442, 157, 032), Index = 19 }, // Excadrill - new(60,10,5) { Species = 547, Ability = A4, Moves = new(538, 585, 073, 366), Index = 19 }, // Whimsicott - new(60,10,5) { Species = 887, Ability = A4, Moves = new(751, 566, 349, 211), Index = 19 }, // Dragapult - new(60,10,5) { Species = 468, Ability = A4, Moves = new(605, 219, 246, 053), Index = 19 }, // Togekiss - new(17,01,1,SW) { Species = 479, Ability = A4, Moves = new(104, 315, 084, 109), Index = 19, Form = 1 }, // Rotom-1 - new(17,01,1,SW) { Species = 529, Ability = A4, Moves = new(189, 232, 010, 468), Index = 19 }, // Drilbur - new(30,03,2,SW) { Species = 479, Ability = A4, Moves = new(104, 315, 085, 109), Index = 19, Form = 1 }, // Rotom-1 - new(40,05,3,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 085, 506), Index = 19, Form = 1 }, // Rotom-1 - new(50,08,4,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 085, 261), Index = 19, Form = 1 }, // Rotom-1 - new(60,10,5,SW) { Species = 479, Ability = A4, Moves = new(521, 315, 435, 261), Index = 19, Form = 1 }, // Rotom-1 - new(17,01,1,SH) { Species = 479, Ability = A4, Moves = new(104, 435, 084, 109), Index = 19, Form = 2 }, // Rotom-2 - //new(17,01,1,SH) { Species = 529, Ability = A4, Moves = new(189, 232, 056, 468), Index = 19 }, // Drilbur - From initial revision: treat this as illegal. - new(30,03,2,SH) { Species = 479, Ability = A4, Moves = new(104, 056, 085, 109), Index = 19, Form = 2 }, // Rotom-2 - new(40,05,3,SH) { Species = 479, Ability = A4, Moves = new(521, 435, 085, 056), Index = 19, Form = 2 }, // Rotom-2 - new(50,08,4,SH) { Species = 479, Ability = A4, Moves = new(521, 435, 247, 056), Index = 19, Form = 2 }, // Rotom-2 - new(60,10,5,SH) { Species = 479, Ability = A4, Moves = new(521, 056, 247, 261), Index = 19, Form = 2 }, // Rotom-2 - - new(17,01,1) { Species = 878, Ability = A4, Moves = new(091, 249, 205, 523), Index = 17 }, // Cufant - new(17,01,1) { Species = 568, Ability = A4, Moves = new(001, 499, 491, 133), Index = 17 }, // Trubbish - new(17,01,1) { Species = 004, Ability = A4, Moves = new(424, 052, 108, 225), Index = 17 }, // Charmander - new(17,01,1) { Species = 884, Ability = A4, Moves = new(468, 249, 043, 232), Index = 17 }, // Duraludon - new(30,03,2) { Species = 878, Ability = A4, Moves = new(334, 091, 205, 523), Index = 17 }, // Cufant - new(30,03,2) { Species = 568, Ability = A4, Moves = new(036, 499, 124, 133), Index = 17 }, // Trubbish - new(30,03,2) { Species = 884, Ability = A4, Moves = new(468, 249, 784, 232), Index = 17 }, // Duraludon - new(30,03,2) { Species = 005, Ability = A4, Moves = new(053, 163, 108, 225), Index = 17 }, // Charmeleon - new(40,05,2) { Species = 848, Ability = A4, Moves = new(609, 051, 175, 715), Index = 17 }, // Toxel - new(40,05,2) { Species = 458, Ability = A4, Moves = new(403, 061, 469, 503), Index = 17 }, // Mantyke - new(40,05,3) { Species = 406, Ability = A4, Moves = new(071, 074, 078, 188), Index = 17 }, // Budew - new(40,05,3) { Species = 236, Ability = A4, Moves = new(280, 157, 252, 116), Index = 17 }, // Tyrogue - new(40,05,3) { Species = 438, Ability = A4, Moves = new(317, 389, 157, 313), Index = 17 }, // Bonsly - new(40,05,3) { Species = 447, Ability = A4, Moves = new(014, 009, 232, 249), Index = 17 }, // Riolu - new(40,05,3) { Species = 446, Ability = A4, Moves = new(034, 089, 044, 122), Index = 17 }, // Munchlax - new(40,05,3) { Species = 439, Ability = A4, Moves = new(389, 060, 182, 085), Index = 17 }, // Mime Jr. - new(50,08,4) { Species = 175, Ability = A4, Moves = new(605, 219, 246, 053), Index = 17 }, // Togepi - new(50,08,4) { Species = 360, Ability = A4, Moves = new(068, 243, 204, 133), Index = 17 }, // Wynaut - new(50,08,4) { Species = 173, Ability = A4, Moves = new(574, 005, 113, 034), Index = 17 }, // Cleffa - new(50,08,4) { Species = 006, Ability = A4, Moves = new(053, 403, 076, 257), Index = 17, CanGigantamax = true }, // Charizard - new(50,08,4) { Species = 172, Ability = A4, Moves = new(583, 417, 085, 186), Index = 17 }, // Pichu - new(50,08,4) { Species = 884, Ability = A4, Moves = new(337, 430, 784, 776), Index = 17, CanGigantamax = true }, // Duraludon - new(60,10,5) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 17 }, // Ditto - new(60,10,5,SW) { Species = 879, Ability = A4, Moves = new(442, 583, 438, 089), Index = 17, CanGigantamax = true }, // Copperajah - new(60,10,5,SW) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 334), Index = 17, CanGigantamax = true }, // Duraludon - new(60,10,5,SH) { Species = 569, Ability = A4, Moves = new(441, 499, 402, 707), Index = 17, CanGigantamax = true }, // Garbodor - new(60,10,5,SH) { Species = 006, Ability = A4, Moves = new(053, 403, 019, 411), Index = 17, CanGigantamax = true }, // Charizard - - new(17,01,1) { Species = 878, Ability = A4, Moves = new(091, 249, 205, 523), Index = 16 }, // Cufant - new(17,01,1) { Species = 568, Ability = A4, Moves = new(001, 499, 491, 133), Index = 16 }, // Trubbish - new(17,01,1) { Species = 004, Ability = A4, Moves = new(424, 052, 108, 225), Index = 16 }, // Charmander - new(17,01,1) { Species = 884, Ability = A4, Moves = new(468, 249, 043, 232), Index = 16 }, // Duraludon - new(30,03,2) { Species = 878, Ability = A4, Moves = new(334, 091, 205, 523), Index = 16 }, // Cufant - new(30,03,2) { Species = 568, Ability = A4, Moves = new(036, 499, 124, 133), Index = 16 }, // Trubbish - new(30,03,2) { Species = 005, Ability = A4, Moves = new(053, 163, 108, 225), Index = 16 }, // Charmeleon - new(30,03,2) { Species = 884, Ability = A4, Moves = new(468, 249, 784, 232), Index = 16 }, // Duraludon - new(40,05,3) { Species = 879, Ability = A4, Moves = new(334, 070, 442, 523), Index = 16, CanGigantamax = true }, // Copperajah - new(40,05,3) { Species = 569, Ability = A4, Moves = new(188, 499, 034, 707), Index = 16, CanGigantamax = true }, // Garbodor - new(40,05,3) { Species = 006, Ability = A4, Moves = new(053, 403, 108, 225), Index = 16, CanGigantamax = true }, // Charizard - new(40,05,3) { Species = 884, Ability = A4, Moves = new(442, 555, 784, 334), Index = 16, CanGigantamax = true }, // Duraludon - new(50,08,4) { Species = 879, Ability = A4, Moves = new(667, 442, 438, 523), Index = 16, CanGigantamax = true }, // Copperajah - new(50,08,4) { Species = 569, Ability = A4, Moves = new(441, 499, 402, 707), Index = 16, CanGigantamax = true }, // Garbodor - new(50,08,4) { Species = 006, Ability = A4, Moves = new(053, 403, 076, 257), Index = 16, CanGigantamax = true }, // Charizard - new(50,08,4) { Species = 884, Ability = A4, Moves = new(337, 430, 784, 776), Index = 16, CanGigantamax = true }, // Duraludon - new(60,10,5,SW) { Species = 879, Ability = A4, Moves = new(442, 583, 438, 089), Index = 16, CanGigantamax = true }, // Copperajah - new(60,10,5,SW) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 334), Index = 16, CanGigantamax = true }, // Duraludon - new(60,10,5,SH) { Species = 569, Ability = A4, Moves = new(441, 409, 402, 707), Index = 16, CanGigantamax = true }, // Garbodor - new(60,10,5,SH) { Species = 006, Ability = A4, Moves = new(257, 403, 406, 411), Index = 16, CanGigantamax = true, Shiny = Shiny.Never }, // Charizard - - new(17,01,1) { Species = 588, Ability = A4, Moves = new(064, 043, 210, 491), Index = 15 }, // Karrablast - new(17,01,1) { Species = 616, Ability = A4, Moves = new(071, 051, 174, 522), Index = 15 }, // Shelmet - new(17,01,1) { Species = 092, Ability = A4, Moves = new(122, 109, 095, 371), Index = 15 }, // Gastly - new(17,01,1) { Species = 871, Ability = A4, Moves = new(084, 064, 055, 031), Index = 15 }, // Pincurchin - new(17,01,1) { Species = 066, Ability = A4, Moves = new(067, 043, 116, 279), Index = 15 }, // Machop - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 15 }, // Snorlax - new(30,03,2) { Species = 093, Ability = A4, Moves = new(325, 095, 122, 101), Index = 15 }, // Haunter - new(30,03,2) { Species = 871, Ability = A4, Moves = new(209, 061, 086, 506), Index = 15 }, // Pincurchin - new(30,03,2) { Species = 067, Ability = A4, Moves = new(067, 490, 282, 233), Index = 15 }, // Machoke - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 15, CanGigantamax = true }, // Snorlax - new(40,05,3) { Species = 094, Ability = A4, Moves = new(506, 188, 085, 261), Index = 15, CanGigantamax = true }, // Gengar - new(40,05,3) { Species = 871, Ability = A2, Moves = new(085, 503, 398, 716), Index = 15 }, // Pincurchin - new(40,05,3) { Species = 068, Ability = A4, Moves = new(279, 667, 008, 157), Index = 15, CanGigantamax = true }, // Machamp - new(50,08,4) { Species = 617, Ability = A2, Moves = new(405, 522, 188, 202), Index = 15 }, // Accelgor - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 15, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 589, Ability = A2, Moves = new(442, 224, 529, 398), Index = 15 }, // Escavalier - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 482, 411, 605), Index = 15, CanGigantamax = true }, // Gengar - new(50,08,4) { Species = 871, Ability = A2, Moves = new(435, 330, 474, 367), Index = 15 }, // Pincurchin - new(50,08,4) { Species = 068, Ability = A4, Moves = new(280, 444, 371, 523), Index = 15, CanGigantamax = true }, // Machamp - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 15, CanGigantamax = true }, // Snorlax - new(17,01,1,SW) { Species = 222, Ability = A4, Moves = new(033, 106, 310, 050), Index = 15, Form = 1 }, // Corsola-1 - new(30,03,2,SW) { Species = 077, Ability = A4, Moves = new(093, 584, 060, 023), Index = 15, Form = 1 }, // Ponyta-1 - new(30,03,2,SW) { Species = 222, Ability = A4, Moves = new(310, 050, 246, 506), Index = 15, Form = 1 }, // Corsola-1 - new(40,05,3,SW) { Species = 077, Ability = A2, Moves = new(340, 023, 428, 583), Index = 15, Form = 1 }, // Ponyta-1 - new(40,05,3,SW) { Species = 222, Ability = A2, Moves = new(506, 408, 503, 261), Index = 15, Form = 1 }, // Corsola-1 - new(60,10,5,SW) { Species = 765, Ability = A2, Moves = new(492, 094, 085, 247), Index = 15 }, // Oranguru - new(60,10,5,SW) { Species = 876, Ability = A2, Moves = new(094, 595, 605, 304), Index = 15, Form = 1 }, // Indeedee-1 - new(60,10,5,SW) { Species = 630, Ability = A2, Moves = new(403, 555, 492, 211), Index = 15 }, // Mandibuzz - new(60,10,5,SW) { Species = 078, Ability = A2, Moves = new(428, 583, 224, 340), Index = 15, Form = 1 }, // Rapidash-1 - new(60,10,5,SW) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 15, CanGigantamax = true }, // Machamp - new(17,01,1,SH) { Species = 554, Ability = A4, Moves = new(033, 181, 044, 419), Index = 15, Form = 1 }, // Darumaka-1 - new(30,03,2,SH) { Species = 083, Ability = A4, Moves = new(064, 028, 249, 693), Index = 15, Form = 1 }, // Farfetch’d-1 - new(30,03,2,SH) { Species = 554, Ability = A4, Moves = new(423, 029, 424, 280), Index = 15, Form = 1 }, // Darumaka-1 - new(40,05,3,SH) { Species = 083, Ability = A2, Moves = new(280, 693, 348, 413), Index = 15, Form = 1 }, // Farfetch’d-1 - new(40,05,3,SH) { Species = 554, Ability = A2, Moves = new(008, 007, 428, 276), Index = 15, Form = 1 }, // Darumaka-1 - new(60,10,5,SH) { Species = 766, Ability = A2, Moves = new(370, 157, 523, 231), Index = 15 }, // Passimian - new(60,10,5,SH) { Species = 876, Ability = A2, Moves = new(094, 595, 605, 247), Index = 15 }, // Indeedee - new(60,10,5,SH) { Species = 628, Ability = A2, Moves = new(413, 276, 442, 157), Index = 15 }, // Braviary - new(60,10,5,SH) { Species = 865, Ability = A2, Moves = new(370, 413, 211, 675), Index = 15 }, // Sirfetch’d - new(60,10,5,SH) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 15, CanGigantamax = true }, // Gengar - - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 14 }, // Munchlax - new(17,01,1) { Species = 092, Ability = A4, Moves = new(122, 109, 095, 371), Index = 14 }, // Gastly - new(17,01,1) { Species = 066, Ability = A4, Moves = new(067, 043, 116, 279), Index = 14 }, // Machop - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 14 }, // Snorlax - new(30,03,2) { Species = 093, Ability = A4, Moves = new(325, 095, 122, 101), Index = 14 }, // Haunter - new(30,03,2) { Species = 067, Ability = A4, Moves = new(067, 490, 282, 233), Index = 14 }, // Machoke - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 14 }, // Snorlax - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 14, CanGigantamax = true }, // Snorlax - new(40,05,3) { Species = 094, Ability = A4, Moves = new(506, 188, 085, 261), Index = 14 }, // Gengar - new(40,05,3) { Species = 094, Ability = A4, Moves = new(506, 188, 085, 261), Index = 14, CanGigantamax = true }, // Gengar - new(40,05,3) { Species = 068, Ability = A4, Moves = new(279, 667, 008, 157), Index = 14 }, // Machamp - new(40,05,3) { Species = 068, Ability = A4, Moves = new(279, 667, 008, 157), Index = 14, CanGigantamax = true }, // Machamp - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 14 }, // Snorlax - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 14, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 482, 411, 605), Index = 14 }, // Gengar - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 482, 411, 605), Index = 14, CanGigantamax = true }, // Gengar - new(50,08,4) { Species = 068, Ability = A4, Moves = new(280, 444, 371, 523), Index = 14 }, // Machamp - new(50,08,4) { Species = 068, Ability = A4, Moves = new(280, 444, 371, 523), Index = 14, CanGigantamax = true }, // Machamp - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 14 }, // Snorlax - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 14, CanGigantamax = true }, // Snorlax - new(60,10,5,SW) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 14 }, // Machamp - new(60,10,5,SW) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 14, CanGigantamax = true }, // Machamp - new(60,10,5,SH) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 14 }, // Gengar - new(60,10,5,SH) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 14, CanGigantamax = true }, // Gengar - - new(17,01,1) { Species = 001, Ability = A4, Moves = new(033, 045, 022, 074), Index = 12 }, // Bulbasaur - new(17,01,1) { Species = 004, Ability = A4, Moves = new(010, 045, 052, 108), Index = 12 }, // Charmander - new(17,01,1) { Species = 007, Ability = A4, Moves = new(033, 039, 055, 110), Index = 12 }, // Squirtle - new(17,01,1) { Species = 848, Ability = A4, Moves = new(609, 051, 496, 715), Index = 12 }, // Toxel - new(30,03,2) { Species = 001, Ability = A4, Moves = new(033, 022, 073, 075), Index = 12 }, // Bulbasaur - new(30,03,2) { Species = 004, Ability = A4, Moves = new(010, 052, 225, 424), Index = 12 }, // Charmander - new(30,03,2) { Species = 007, Ability = A4, Moves = new(033, 055, 044, 352), Index = 12 }, // Squirtle - new(40,05,3) { Species = 001, Ability = A4, Moves = new(073, 075, 077, 402), Index = 12 }, // Bulbasaur - new(40,05,3) { Species = 004, Ability = A4, Moves = new(424, 225, 163, 108), Index = 12 }, // Charmander - new(40,05,3) { Species = 007, Ability = A4, Moves = new(055, 229, 044, 352), Index = 12 }, // Squirtle - new(50,08,4) { Species = 002, Ability = A4, Moves = new(188, 412, 075, 034), Index = 12 }, // Ivysaur - new(50,08,4) { Species = 005, Ability = A4, Moves = new(257, 242, 009, 053), Index = 12 }, // Charmeleon - new(50,08,4) { Species = 008, Ability = A4, Moves = new(330, 396, 503, 428), Index = 12 }, // Wartortle - //new(100,10,6) { Species = 150, Ability = A0, Moves = new(540, 053, 396, 059), Index = 12, Shiny = Shiny.Never }, // Mewtwo - //new(100,10,6) { Species = 150, Ability = A0, Moves = new(428, 007, 089, 280), Index = 12, Shiny = Shiny.Never }, // Mewtwo - //new(100,10,6) { Species = 150, Ability = A0, Moves = new(540, 126, 411, 059), Index = 12, Shiny = Shiny.Never }, // Mewtwo - new(17,01,1,SW) { Species = 098, Ability = A4, Moves = new(055, 043, 106, 232), Index = 12 }, // Krabby - new(17,01,1,SW) { Species = 859, Ability = A4, Moves = new(044, 260, 590, 372), Index = 12 }, // Impidimp - new(30,03,2,SW) { Species = 099, Ability = A4, Moves = new(232, 341, 061, 023), Index = 12, CanGigantamax = true }, // Kingler - new(30,03,2,SW) { Species = 859, Ability = A4, Moves = new(389, 577, 260, 279), Index = 12 }, // Impidimp - new(30,03,2,SW) { Species = 849, Ability = A4, Moves = new(084, 209, 268, 175), Index = 12 }, // Toxtricity - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 12, CanGigantamax = true }, // Kingler - new(40,05,3,SW) { Species = 860, Ability = A4, Moves = new(492, 577, 421, 141), Index = 12 }, // Morgrem - new(40,05,3,SW) { Species = 849, Ability = A4, Moves = new(085, 474, 496, 103), Index = 12, CanGigantamax = true }, // Toxtricity - new(50,08,4,SW) { Species = 099, Ability = A4, Moves = new(359, 667, 157, 534), Index = 12, CanGigantamax = true }, // Kingler - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 12, CanGigantamax = true }, // Grimmsnarl - new(50,08,4,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 12, CanGigantamax = true }, // Toxtricity - new(60,10,5,SW) { Species = 099, Ability = A4, Moves = new(152, 667, 157, 404), Index = 12, CanGigantamax = true }, // Kingler - new(60,10,5,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 409, 007), Index = 12, CanGigantamax = true }, // Grimmsnarl - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 12, CanGigantamax = true }, // Toxtricity - new(17,01,1,SH) { Species = 825, Ability = A4, Moves = new(093, 522, 113, 115), Index = 12 }, // Dottler - new(17,01,1,SH) { Species = 856, Ability = A4, Moves = new(093, 589, 791, 574), Index = 12 }, // Hatenna - new(30,03,2,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 496, 095), Index = 12, CanGigantamax = true }, // Orbeetle - new(30,03,2,SH) { Species = 856, Ability = A4, Moves = new(605, 060, 345, 347), Index = 12 }, // Hatenna - new(30,03,2,SH) { Species = 849, Ability = A4, Moves = new(599, 209, 268, 175), Index = 12, Form = 1 }, // Toxtricity-1 - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 202, 109), Index = 12, CanGigantamax = true }, // Orbeetle - new(40,05,3,SH) { Species = 857, Ability = A4, Moves = new(605, 345, 399, 500), Index = 12 }, // Hattrem - new(40,05,3,SH) { Species = 849, Ability = A4, Moves = new(085, 599, 496, 103), Index = 12, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(50,08,4,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 12, CanGigantamax = true }, // Orbeetle - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 12, CanGigantamax = true }, // Hatterene - new(50,08,4,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 12, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(60,10,5,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 247, 347), Index = 12, CanGigantamax = true }, // Orbeetle - new(60,10,5,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 500), Index = 12, CanGigantamax = true }, // Hatterene - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 12, Form = 1, CanGigantamax = true }, // Toxtricity-1 - - new(17,01,1) { Species = 848, Ability = A4, Moves = new(609, 051, 496, 715), Index = 11 }, // Toxel - new(17,01,1,SW) { Species = 098, Ability = A4, Moves = new(055, 043, 106, 232), Index = 11 }, // Krabby - new(17,01,1,SW) { Species = 859, Ability = A4, Moves = new(044, 260, 590, 372), Index = 11 }, // Impidimp - new(30,03,2,SW) { Species = 099, Ability = A4, Moves = new(232, 341, 061, 023), Index = 11 }, // Kingler - new(30,03,2,SW) { Species = 099, Ability = A4, Moves = new(232, 341, 061, 023), Index = 11, CanGigantamax = true }, // Kingler - new(30,03,2,SW) { Species = 859, Ability = A4, Moves = new(389, 577, 260, 279), Index = 11 }, // Impidimp - new(30,03,2,SW) { Species = 849, Ability = A4, Moves = new(474, 209, 268, 175), Index = 11 }, // Toxtricity - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 11 }, // Kingler - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 11, CanGigantamax = true }, // Kingler - new(40,05,3,SW) { Species = 860, Ability = A4, Moves = new(492, 577, 421, 141), Index = 11 }, // Morgrem - new(40,05,3,SW) { Species = 849, Ability = A4, Moves = new(085, 474, 496, 103), Index = 11 }, // Toxtricity - new(40,05,3,SW) { Species = 849, Ability = A4, Moves = new(085, 474, 496, 103), Index = 11, CanGigantamax = true }, // Toxtricity - new(50,08,4,SW) { Species = 099, Ability = A4, Moves = new(359, 667, 157, 534), Index = 11 }, // Kingler - new(50,08,4,SW) { Species = 099, Ability = A4, Moves = new(359, 667, 157, 534), Index = 11, CanGigantamax = true }, // Kingler - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 11 }, // Grimmsnarl - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 11, CanGigantamax = true }, // Grimmsnarl - new(50,08,4,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 11 }, // Toxtricity - new(50,08,4,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 11, CanGigantamax = true }, // Toxtricity - new(60,10,5,SW) { Species = 099, Ability = A4, Moves = new(152, 667, 157, 404), Index = 11 }, // Kingler - new(60,10,5,SW) { Species = 099, Ability = A4, Moves = new(152, 667, 157, 404), Index = 11, CanGigantamax = true }, // Kingler - new(60,10,5,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 409, 007), Index = 11 }, // Grimmsnarl - new(60,10,5,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 409, 007), Index = 11, CanGigantamax = true }, // Grimmsnarl - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 11 }, // Toxtricity - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 11, CanGigantamax = true }, // Toxtricity - new(17,01,1,SH) { Species = 825, Ability = A4, Moves = new(093, 522, 113, 115), Index = 11 }, // Dottler - new(17,01,1,SH) { Species = 856, Ability = A4, Moves = new(093, 589, 791, 574), Index = 11 }, // Hatenna - new(30,03,2,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 496, 095), Index = 11 }, // Orbeetle - new(30,03,2,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 496, 095), Index = 11, CanGigantamax = true }, // Orbeetle - new(30,03,2,SH) { Species = 856, Ability = A4, Moves = new(605, 060, 345, 347), Index = 11 }, // Hatenna - new(30,03,2,SH) { Species = 849, Ability = A4, Moves = new(599, 209, 268, 175), Index = 11, Form = 1 }, // Toxtricity-1 - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 202, 109), Index = 11 }, // Orbeetle - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 202, 109), Index = 11, CanGigantamax = true }, // Orbeetle - new(40,05,3,SH) { Species = 857, Ability = A4, Moves = new(605, 345, 399, 500), Index = 11 }, // Hattrem - new(40,05,3,SH) { Species = 849, Ability = A4, Moves = new(085, 599, 496, 103), Index = 11, Form = 1 }, // Toxtricity-1 - new(40,05,3,SH) { Species = 849, Ability = A4, Moves = new(085, 599, 496, 103), Index = 11, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(50,08,4,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 11 }, // Orbeetle - new(50,08,4,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 11, CanGigantamax = true }, // Orbeetle - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 11 }, // Hatterene - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 11, CanGigantamax = true }, // Hatterene - new(50,08,4,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 11, Form = 1 }, // Toxtricity-1 - new(50,08,4,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 11, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(60,10,5,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 247, 347), Index = 11 }, // Orbeetle - new(60,10,5,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 247, 347), Index = 11, CanGigantamax = true }, // Orbeetle - new(60,10,5,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 500), Index = 11 }, // Hatterene - new(60,10,5,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 500), Index = 11, CanGigantamax = true }, // Hatterene - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 11, Form = 1 }, // Toxtricity-1 - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 586, 188, 506), Index = 11, Form = 1, CanGigantamax = true }, // Toxtricity-1 - - new(17,01,1) { Species = 868, Ability = A4, Moves = new(033, 186, 577, 496), Index = 10, CanGigantamax = true }, // Milcery - new(30,03,2) { Species = 868, Ability = A4, Moves = new(577, 186, 263, 500), Index = 10, CanGigantamax = true }, // Milcery - new(40,05,3) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 213), Index = 10, CanGigantamax = true }, // Milcery - new(50,08,4) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 10, CanGigantamax = true }, // Milcery - new(60,10,5) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 10, CanGigantamax = true }, // Milcery - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 10, CanGigantamax = true }, // Kingler - new(40,05,3,SW) { Species = 860, Ability = A4, Moves = new(492, 577, 421, 141), Index = 10 }, // Morgrem - new(40,05,3,SW) { Species = 849, Ability = A4, Moves = new(085, 474, 496, 103), Index = 10, CanGigantamax = true }, // Toxtricity - new(50,08,4,SW) { Species = 099, Ability = A4, Moves = new(359, 667, 157, 534), Index = 10, CanGigantamax = true }, // Kingler - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 10, CanGigantamax = true }, // Grimmsnarl - new(50,08,4,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 10, CanGigantamax = true }, // Toxtricity - new(60,10,5,SW) { Species = 099, Ability = A4, Moves = new(152, 667, 157, 404), Index = 10, CanGigantamax = true }, // Kingler - new(60,10,5,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 409, 007), Index = 10, CanGigantamax = true }, // Grimmsnarl - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 586, 482, 506), Index = 10, CanGigantamax = true }, // Toxtricity - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(522, 060, 109, 202), Index = 10, CanGigantamax = true }, // Orbeetle - new(40,05,3,SH) { Species = 857, Ability = A4, Moves = new(605, 345, 399, 500), Index = 10 }, // Hattrem - new(40,05,3,SH) { Species = 849, Ability = A4, Moves = new(085, 599, 496, 103), Index = 10, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(50,08,4,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 10, CanGigantamax = true }, // Orbeetle - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 10, CanGigantamax = true }, // Hatterene - new(50,08,4,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 10, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(60,10,5,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 247, 347), Index = 10, CanGigantamax = true }, // Orbeetle - new(60,10,5,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 500), Index = 10, CanGigantamax = true }, // Hatterene - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 586, 482, 506), Index = 10, Form = 1, CanGigantamax = true }, // Toxtricity-1 - - new(17,01,1) { Species = 868, Ability = A4, Moves = new(033, 186, 577, 496), Index = 9, CanGigantamax = true }, // Milcery - new(30,03,2) { Species = 868, Ability = A4, Moves = new(577, 186, 263, 500), Index = 9, CanGigantamax = true }, // Milcery - new(40,05,3) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 213), Index = 9, CanGigantamax = true }, // Milcery - new(50,08,4) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 9, CanGigantamax = true }, // Milcery - new(60,10,5) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 9, CanGigantamax = true }, // Milcery - new(40,05,3,SW) { Species = 841, Ability = A4, Moves = new(788, 406, 512, 491), Index = 9, CanGigantamax = true }, // Flapple - new(40,05,3,SW) { Species = 839, Ability = A4, Moves = new(246, 510, 479, 488), Index = 9, CanGigantamax = true }, // Coalossal - new(50,08,4,SW) { Species = 841, Ability = A4, Moves = new(788, 407, 491, 334), Index = 9, CanGigantamax = true }, // Flapple - new(50,08,4,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 261), Index = 9, CanGigantamax = true }, // Coalossal - new(60,10,5,SW) { Species = 841, Ability = A4, Moves = new(407, 788, 512, 349), Index = 9, CanGigantamax = true }, // Flapple - new(60,10,5,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 9, CanGigantamax = true }, // Coalossal - new(40,05,3,SH) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 9, CanGigantamax = true }, // Appletun - new(40,05,3,SH) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 034), Index = 9, CanGigantamax = true }, // Lapras - new(50,08,4,SH) { Species = 842, Ability = A4, Moves = new(787, 202, 406, 089), Index = 9, CanGigantamax = true }, // Appletun - new(50,08,4,SH) { Species = 131, Ability = A4, Moves = new(057, 058, 246, 523), Index = 9, CanGigantamax = true }, // Lapras - new(60,10,5,SH) { Species = 842, Ability = A4, Moves = new(787, 406, 412, 089), Index = 9, CanGigantamax = true }, // Appletun - new(60,10,5,SH) { Species = 131, Ability = A4, Moves = new(057, 196, 573, 329), Index = 9, CanGigantamax = true }, // Lapras - - new(17,01,1) { Species = 840, Ability = A4, Moves = new(110, 310, 389, 213), Index = 8 }, // Applin - new(17,01,1) { Species = 840, Ability = A2, Moves = new(110, 310, 389, 213), Index = 8 }, // Applin - new(17,01,1) { Species = 868, Ability = A4, Moves = new(577, 033, 186, 263), Index = 8 }, // Milcery - new(17,01,1) { Species = 868, Ability = A2, Moves = new(577, 033, 186, 263), Index = 8 }, // Milcery - new(30,03,2) { Species = 869, Ability = A4, Moves = new(577, 213, 033, 186), Index = 8, CanGigantamax = true }, // Alcremie - new(17,01,1,SW) { Species = 837, Ability = A4, Moves = new(479, 033, 108, 189), Index = 8 }, // Rolycoly - new(17,01,1,SW) { Species = 837, Ability = A2, Moves = new(479, 033, 108, 189), Index = 8 }, // Rolycoly - new(30,03,2,SW) { Species = 841, Ability = A4, Moves = new(406, 491, 017, 225), Index = 8 }, // Flapple - new(30,03,2,SW) { Species = 841, Ability = A2, Moves = new(406, 491, 017, 225), Index = 8 }, // Flapple - new(30,03,2,SW) { Species = 838, Ability = A4, Moves = new(246, 510, 479, 189), Index = 8 }, // Carkol - new(30,03,2,SW) { Species = 838, Ability = A2, Moves = new(246, 510, 479, 189), Index = 8 }, // Carkol - new(40,05,3,SW) { Species = 841, Ability = A4, Moves = new(788, 406, 512, 491), Index = 8 }, // Flapple - new(40,05,3,SW) { Species = 841, Ability = A4, Moves = new(788, 406, 512, 491), Index = 8, CanGigantamax = true }, // Flapple - new(40,05,3,SW) { Species = 869, Ability = A4, Moves = new(577, 605, 202, 186), Index = 8, Form = 3, CanGigantamax = true }, // Alcremie-3 - new(40,05,3,SW) { Species = 869, Ability = A4, Moves = new(577, 605, 202, 186), Index = 8, Form = 4, CanGigantamax = true }, // Alcremie-4 - new(40,05,3,SW) { Species = 839, Ability = A4, Moves = new(246, 510, 479, 488), Index = 8 }, // Coalossal - new(40,05,3,SW) { Species = 839, Ability = A4, Moves = new(246, 510, 479, 488), Index = 8, CanGigantamax = true }, // Coalossal - new(50,08,4,SW) { Species = 841, Ability = A4, Moves = new(407, 788, 491, 334), Index = 8 }, // Flapple - new(50,08,4,SW) { Species = 841, Ability = A4, Moves = new(407, 788, 491, 334), Index = 8, CanGigantamax = true }, // Flapple - new(50,08,4,SW) { Species = 869, Ability = A4, Moves = new(605, 202, 094, 151), Index = 8, Form = 1, CanGigantamax = true }, // Alcremie-1 - new(50,08,4,SW) { Species = 869, Ability = A4, Moves = new(605, 202, 094, 151), Index = 8, Form = 2, CanGigantamax = true }, // Alcremie-2 - new(50,08,4,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 261), Index = 8 }, // Coalossal - new(50,08,4,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 261), Index = 8, CanGigantamax = true }, // Coalossal - new(60,10,5,SW) { Species = 841, Ability = A4, Moves = new(407, 788, 512, 349), Index = 8 }, // Flapple - new(60,10,5,SW) { Species = 841, Ability = A4, Moves = new(407, 788, 512, 349), Index = 8, CanGigantamax = true }, // Flapple - new(60,10,5,SW) { Species = 869, Ability = A4, Moves = new(605, 202, 595, 500), Index = 8, Form = 5, CanGigantamax = true }, // Alcremie-5 - new(60,10,5,SW) { Species = 869, Ability = A4, Moves = new(605, 202, 595, 500), Index = 8, Form = 6, CanGigantamax = true }, // Alcremie-6 - new(60,10,5,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 8 }, // Coalossal - new(60,10,5,SW) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 8, CanGigantamax = true }, // Coalossal - new(17,01,1,SH) { Species = 131, Ability = A4, Moves = new(055, 496, 045, 047), Index = 8 }, // Lapras - new(17,01,1,SH) { Species = 131, Ability = A2, Moves = new(055, 496, 045, 047), Index = 8 }, // Lapras - new(30,03,2,SH) { Species = 842, Ability = A4, Moves = new(787, 029, 389, 073), Index = 8 }, // Appletun - new(30,03,2,SH) { Species = 842, Ability = A2, Moves = new(787, 029, 389, 073), Index = 8 }, // Appletun - new(30,03,2,SH) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 047), Index = 8 }, // Lapras - new(30,03,2,SH) { Species = 131, Ability = A2, Moves = new(352, 420, 109, 047), Index = 8 }, // Lapras - new(40,05,3,SH) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 8 }, // Appletun - new(40,05,3,SH) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 8, CanGigantamax = true }, // Appletun - new(40,05,3,SH) { Species = 869, Ability = A4, Moves = new(577, 605, 202, 186), Index = 8, Form = 1, CanGigantamax = true }, // Alcremie-1 - new(40,05,3,SH) { Species = 869, Ability = A4, Moves = new(577, 605, 202, 186), Index = 8, Form = 2, CanGigantamax = true }, // Alcremie-2 - new(40,05,3,SH) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 034), Index = 8 }, // Lapras - new(40,05,3,SH) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 034), Index = 8, CanGigantamax = true }, // Lapras - new(50,08,4,SH) { Species = 842, Ability = A4, Moves = new(787, 202, 406, 089), Index = 8 }, // Appletun - new(50,08,4,SH) { Species = 842, Ability = A4, Moves = new(787, 202, 406, 089), Index = 8, CanGigantamax = true }, // Appletun - new(50,08,4,SH) { Species = 869, Ability = A4, Moves = new(605, 202, 094, 151), Index = 8, Form = 7, CanGigantamax = true }, // Alcremie-7 - new(50,08,4,SH) { Species = 869, Ability = A4, Moves = new(605, 202, 094, 151), Index = 8, Form = 8, CanGigantamax = true }, // Alcremie-8 - new(50,08,4,SH) { Species = 131, Ability = A4, Moves = new(057, 058, 246, 523), Index = 8 }, // Lapras - new(50,08,4,SH) { Species = 131, Ability = A4, Moves = new(057, 058, 246, 523), Index = 8, CanGigantamax = true }, // Lapras - new(60,10,5,SH) { Species = 842, Ability = A4, Moves = new(787, 406, 412, 089), Index = 8 }, // Appletun - new(60,10,5,SH) { Species = 842, Ability = A4, Moves = new(787, 406, 412, 089), Index = 8, CanGigantamax = true }, // Appletun - new(60,10,5,SH) { Species = 869, Ability = A4, Moves = new(605, 202, 595, 500), Index = 8, Form = 3, CanGigantamax = true }, // Alcremie-3 - new(60,10,5,SH) { Species = 869, Ability = A4, Moves = new(605, 202, 595, 500), Index = 8, Form = 4, CanGigantamax = true }, // Alcremie-4 - new(60,10,5,SH) { Species = 131, Ability = A4, Moves = new(057, 196, 573, 329), Index = 8 }, // Lapras - new(60,10,5,SH) { Species = 131, Ability = A4, Moves = new(057, 196, 573, 329), Index = 8, CanGigantamax = true }, // Lapras - - new(17,01,1) { Species = 129, Ability = A4, Moves = new(150, 033, 000, 000), Index = 6, Shiny = Shiny.Always }, // Magikarp - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 6 }, // Munchlax - new(17,01,1) { Species = 129, Ability = A4, Moves = new(150, 033, 000, 000), Index = 6 }, // Magikarp - new(30,03,2) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6, Shiny = Shiny.Always }, // Magikarp - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 6 }, // Snorlax - new(30,03,2) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6 }, // Magikarp - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 6, CanGigantamax = true }, // Butterfree - new(40,05,3) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6, Shiny = Shiny.Always }, // Magikarp - new(40,05,3) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6 }, // Magikarp - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 6, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 6, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6, Shiny = Shiny.Always }, // Magikarp - new(50,08,4) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 6 }, // Magikarp - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 6, CanGigantamax = true }, // Snorlax - new(60,10,5) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 340), Index = 6, Shiny = Shiny.Always }, // Magikarp - new(70,10,5) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 340), Index = 6 }, // Magikarp - new(70,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 6, CanGigantamax = true }, // Snorlax - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 6, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 189, 103), Index = 6 }, // Silicobra - new(17,01,1,SW) { Species = 833, Ability = A4, Moves = new(055, 044, 033, 213), Index = 6 }, // Chewtle - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 6, CanGigantamax = true }, // Butterfree - new(30,03,2,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 029, 137), Index = 6 }, // Silicobra - new(30,03,2,SW) { Species = 834, Ability = A4, Moves = new(317, 242, 055, 334), Index = 6 }, // Drednaw - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 6, CanGigantamax = true }, // Sandaconda - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 6, CanGigantamax = true }, // Drednaw - new(50,08,4,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 6, CanGigantamax = true }, // Sandaconda - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 6, CanGigantamax = true }, // Drednaw - new(60,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 6, CanGigantamax = true }, // Butterfree - new(70,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 6, CanGigantamax = true }, // Sandaconda - new(70,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 6, CanGigantamax = true }, // Drednaw - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 6, CanGigantamax = true }, // Butterfree - new(17,01,1,SH) { Species = 821, Ability = A4, Moves = new(403, 031, 116, 064), Index = 6 }, // Rookidee - new(17,01,1,SH) { Species = 850, Ability = A4, Moves = new(044, 172, 141, 693), Index = 6 }, // Sizzlipede - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 6, CanGigantamax = true }, // Butterfree - new(30,03,2,SH) { Species = 822, Ability = A4, Moves = new(403, 263, 179, 468), Index = 6 }, // Corvisquire - new(30,03,2,SH) { Species = 851, Ability = A4, Moves = new(172, 242, 404, 257), Index = 6 }, // Centiskorch - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 6, CanGigantamax = true }, // Corviknight - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 6, CanGigantamax = true }, // Centiskorch - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 6, CanGigantamax = true }, // Corviknight - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 6, CanGigantamax = true }, // Centiskorch - new(60,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 6, CanGigantamax = true }, // Butterfree - new(70,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 6, CanGigantamax = true }, // Corviknight - new(70,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 6, CanGigantamax = true }, // Centiskorch - - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 5 }, // Munchlax - new(17,01,1) { Species = 446, Ability = A2, Moves = new(033, 044, 122, 111), Index = 5 }, // Munchlax - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 5 }, // Snorlax - new(30,03,2) { Species = 143, Ability = A2, Moves = new(034, 242, 118, 111), Index = 5 }, // Snorlax - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 5, CanGigantamax = true }, // Butterfree - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 5 }, // Snorlax - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 5, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 5, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 5 }, // Snorlax - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 5, CanGigantamax = true }, // Snorlax - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 5 }, // Snorlax - new(70,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 5, CanGigantamax = true }, // Snorlax - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 5 }, // Butterfree - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 5, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 189, 103), Index = 5 }, // Silicobra - new(17,01,1,SW) { Species = 833, Ability = A4, Moves = new(055, 044, 033, 213), Index = 5 }, // Chewtle - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 5, CanGigantamax = true }, // Butterfree - new(30,03,2,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 029, 137), Index = 5 }, // Silicobra - new(30,03,2,SW) { Species = 834, Ability = A4, Moves = new(317, 242, 055, 334), Index = 5 }, // Drednaw - new(30,03,2,SW) { Species = 834, Ability = A2, Moves = new(317, 242, 055, 334), Index = 5 }, // Drednaw - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 5, CanGigantamax = true }, // Sandaconda - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 5 }, // Drednaw - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 5, CanGigantamax = true }, // Drednaw - new(50,08,4,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 5, CanGigantamax = true }, // Sandaconda - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 5 }, // Drednaw - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 5, CanGigantamax = true }, // Drednaw - new(60,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 5, CanGigantamax = true }, // Butterfree - new(70,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 5, CanGigantamax = true }, // Sandaconda - new(60,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 5 }, // Drednaw - new(70,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 5, CanGigantamax = true }, // Drednaw - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 5 }, // Butterfree - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 5, CanGigantamax = true }, // Butterfree - new(17,01,1,SH) { Species = 821, Ability = A4, Moves = new(403, 031, 116, 064), Index = 5 }, // Rookidee - new(17,01,1,SH) { Species = 850, Ability = A4, Moves = new(044, 172, 141, 693), Index = 5 }, // Sizzlipede - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 5, CanGigantamax = true }, // Butterfree - new(30,03,2,SH) { Species = 822, Ability = A4, Moves = new(403, 263, 179, 468), Index = 5 }, // Corvisquire - new(30,03,2,SH) { Species = 851, Ability = A4, Moves = new(172, 242, 404, 257), Index = 5 }, // Centiskorch - new(30,03,2,SH) { Species = 851, Ability = A2, Moves = new(172, 242, 404, 257), Index = 5 }, // Centiskorch - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 5, CanGigantamax = true }, // Corviknight - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 5 }, // Centiskorch - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 5, CanGigantamax = true }, // Centiskorch - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 5, CanGigantamax = true }, // Corviknight - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 5 }, // Centiskorch - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 5, CanGigantamax = true }, // Centiskorch - new(60,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 5, CanGigantamax = true }, // Butterfree - new(70,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 5, CanGigantamax = true }, // Corviknight - new(60,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 5 }, // Centiskorch - new(70,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 5, CanGigantamax = true }, // Centiskorch - - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 3 }, // Munchlax - new(17,01,1) { Species = 225, Ability = A4, Moves = new(217, 229, 098, 420), Index = 3 }, // Delibird - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 3 }, // Snorlax - new(30,03,2) { Species = 225, Ability = A4, Moves = new(217, 065, 034, 693), Index = 3 }, // Delibird - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 3, CanGigantamax = true }, // Butterfree - new(40,05,3) { Species = 225, Ability = A4, Moves = new(217, 065, 280, 196), Index = 3 }, // Delibird - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 3, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 3, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 225, Ability = A4, Moves = new(217, 059, 034, 280), Index = 3 }, // Delibird - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 3, CanGigantamax = true }, // Snorlax - new(70,10,5) { Species = 225, Ability = A4, Moves = new(217, 059, 065, 280), Index = 3 }, // Delibird - new(70,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 3, CanGigantamax = true }, // Snorlax - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 3 }, // Butterfree - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 3, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 189, 103), Index = 3 }, // Silicobra - new(17,01,1,SW) { Species = 833, Ability = A4, Moves = new(055, 044, 033, 213), Index = 3 }, // Chewtle - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 3, CanGigantamax = true }, // Butterfree - new(30,03,2,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 029, 137), Index = 3 }, // Silicobra - new(30,03,2,SW) { Species = 834, Ability = A4, Moves = new(317, 242, 055, 334), Index = 3 }, // Drednaw - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 3, CanGigantamax = true }, // Sandaconda - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 3 }, // Drednaw - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 3, CanGigantamax = true }, // Drednaw - new(50,08,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 3, CanGigantamax = true }, // Sandaconda - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 3 }, // Drednaw - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 3, CanGigantamax = true }, // Drednaw - new(60,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 3, CanGigantamax = true }, // Butterfree - new(70,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 3, CanGigantamax = true }, // Sandaconda - new(60,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 3 }, // Drednaw - new(70,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 3, CanGigantamax = true }, // Drednaw - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 3 }, // Butterfree - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 3, CanGigantamax = true }, // Butterfree - new(17,01,1,SH) { Species = 821, Ability = A4, Moves = new(403, 031, 116, 064), Index = 3 }, // Rookidee - new(17,01,1,SH) { Species = 850, Ability = A4, Moves = new(044, 172, 141, 693), Index = 3 }, // Sizzlipede - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 3, CanGigantamax = true }, // Butterfree - new(30,03,2,SH) { Species = 822, Ability = A4, Moves = new(403, 263, 179, 468), Index = 3 }, // Corvisquire - new(30,03,2,SH) { Species = 851, Ability = A4, Moves = new(172, 242, 404, 257), Index = 3 }, // Centiskorch - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 3, CanGigantamax = true }, // Corviknight - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 3 }, // Centiskorch - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 3, CanGigantamax = true }, // Centiskorch - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 3, CanGigantamax = true }, // Corviknight - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 3 }, // Centiskorch - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 3, CanGigantamax = true }, // Centiskorch - new(60,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 3, CanGigantamax = true }, // Butterfree - new(70,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 3, CanGigantamax = true }, // Corviknight - new(60,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 3 }, // Centiskorch - new(70,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 3, CanGigantamax = true }, // Centiskorch - - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 2 }, // Munchlax - new(17,01,1) { Species = 446, Ability = A2, Moves = new(033, 044, 122, 111), Index = 2 }, // Munchlax - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 2 }, // Snorlax - new(30,03,2) { Species = 143, Ability = A2, Moves = new(034, 242, 118, 111), Index = 2 }, // Snorlax - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 2, CanGigantamax = true }, // Butterfree - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 2 }, // Snorlax - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 2, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 2, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 2 }, // Snorlax - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 2, CanGigantamax = true }, // Snorlax - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 2 }, // Snorlax - new(70,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 2, CanGigantamax = true }, // Snorlax - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 2 }, // Butterfree - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 2, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 189, 103), Index = 2 }, // Silicobra - new(17,01,1,SW) { Species = 833, Ability = A4, Moves = new(055, 044, 033, 213), Index = 2 }, // Chewtle - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 2, CanGigantamax = true }, // Butterfree - new(30,03,2,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 029, 137), Index = 2 }, // Silicobra - new(30,03,2,SW) { Species = 834, Ability = A4, Moves = new(317, 242, 055, 334), Index = 2 }, // Drednaw - new(30,03,2,SW) { Species = 834, Ability = A2, Moves = new(317, 242, 055, 334), Index = 2 }, // Drednaw - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 2, CanGigantamax = true }, // Sandaconda - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 2 }, // Drednaw - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 2, CanGigantamax = true }, // Drednaw - new(50,08,4,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 2, CanGigantamax = true }, // Sandaconda - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 2 }, // Drednaw - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 2, CanGigantamax = true }, // Drednaw - new(60,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 2, CanGigantamax = true }, // Butterfree - new(70,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 2, CanGigantamax = true }, // Sandaconda - new(60,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 2 }, // Drednaw - new(70,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 2, CanGigantamax = true }, // Drednaw - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 2 }, // Butterfree - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 2, CanGigantamax = true }, // Butterfree - new(17,01,1,SH) { Species = 821, Ability = A4, Moves = new(403, 031, 116, 064), Index = 2 }, // Rookidee - new(17,01,1,SH) { Species = 850, Ability = A4, Moves = new(044, 172, 404, 693), Index = 2 }, // Sizzlipede - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 2, CanGigantamax = true }, // Butterfree - new(30,03,2,SH) { Species = 822, Ability = A4, Moves = new(403, 263, 179, 468), Index = 2 }, // Corvisquire - new(30,03,2,SH) { Species = 851, Ability = A4, Moves = new(172, 242, 404, 257), Index = 2 }, // Centiskorch - new(30,03,2,SH) { Species = 851, Ability = A2, Moves = new(172, 242, 404, 257), Index = 2 }, // Centiskorch - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 2, CanGigantamax = true }, // Corviknight - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 2 }, // Centiskorch - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 2, CanGigantamax = true }, // Centiskorch - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 2, CanGigantamax = true }, // Corviknight - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 2 }, // Centiskorch - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 2, CanGigantamax = true }, // Centiskorch - new(60,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 2, CanGigantamax = true }, // Butterfree - new(70,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 2, CanGigantamax = true }, // Corviknight - new(60,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 2 }, // Centiskorch - new(70,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 2, CanGigantamax = true }, // Centiskorch - - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 1 }, // Butterfree - new(40,05,3) { Species = 012, Ability = A4, Moves = new(676, 403, 202, 527), Index = 1, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 1 }, // Butterfree - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 1, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 1 }, // Butterfree - new(17,01,1,SW) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 1, CanGigantamax = true }, // Butterfree - new(17,01,1,SW) { Species = 843, Ability = A2, Moves = new(693, 523, 189, 103), Index = 1 }, // Silicobra - new(17,01,1,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 189, 103), Index = 1 }, // Silicobra - new(17,01,1,SW) { Species = 833, Ability = A2, Moves = new(055, 044, 033, 213), Index = 1 }, // Chewtle - new(17,01,1,SW) { Species = 833, Ability = A4, Moves = new(055, 044, 033, 213), Index = 1 }, // Chewtle - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 1 }, // Butterfree - new(30,03,2,SW) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 079), Index = 1, CanGigantamax = true }, // Butterfree - new(30,03,2,SW) { Species = 843, Ability = A2, Moves = new(693, 523, 029, 137), Index = 1 }, // Silicobra - new(30,03,2,SW) { Species = 843, Ability = A4, Moves = new(693, 523, 029, 137), Index = 1 }, // Silicobra - new(30,03,2,SW) { Species = 834, Ability = A2, Moves = new(317, 242, 055, 334), Index = 1 }, // Drednaw - new(30,03,2,SW) { Species = 834, Ability = A4, Moves = new(317, 242, 055, 334), Index = 1 }, // Drednaw - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 1 }, // Sandaconda - new(40,05,3,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 407, 424), Index = 1, CanGigantamax = true }, // Sandaconda - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 1 }, // Drednaw - new(40,05,3,SW) { Species = 834, Ability = A4, Moves = new(157, 534, 034, 317), Index = 1, CanGigantamax = true }, // Drednaw - new(50,08,4,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 1 }, // Sandaconda - new(50,08,4,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 1, CanGigantamax = true }, // Sandaconda - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 1 }, // Drednaw - new(50,08,4,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 350, 523), Index = 1, CanGigantamax = true }, // Drednaw - new(60,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 1 }, // Butterfree - new(70,10,5,SW) { Species = 012, Ability = A4, Moves = new(405, 094, 542, 202), Index = 1, CanGigantamax = true }, // Butterfree - new(60,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 1 }, // Sandaconda - new(70,10,5,SW) { Species = 844, Ability = A4, Moves = new(693, 529, 342, 328), Index = 1, CanGigantamax = true }, // Sandaconda - new(60,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 1 }, // Drednaw - new(70,10,5,SW) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 1, CanGigantamax = true }, // Drednaw - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 1 }, // Butterfree - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 1, CanGigantamax = true }, // Butterfree - new(17,01,1,SH) { Species = 821, Ability = A2, Moves = new(365, 031, 526, 064), Index = 1 }, // Rookidee - new(17,01,1,SH) { Species = 821, Ability = A4, Moves = new(365, 031, 526, 064), Index = 1 }, // Rookidee - new(17,01,1,SH) { Species = 850, Ability = A2, Moves = new(044, 172, 450, 693), Index = 1 }, // Sizzlipede - new(17,01,1,SH) { Species = 850, Ability = A4, Moves = new(044, 172, 450, 693), Index = 1 }, // Sizzlipede - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 1 }, // Butterfree - new(30,03,2,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 081, 077), Index = 1, CanGigantamax = true }, // Butterfree - new(30,03,2,SH) { Species = 822, Ability = A2, Moves = new(365, 263, 179, 468), Index = 1 }, // Corvisquire - new(30,03,2,SH) { Species = 822, Ability = A4, Moves = new(365, 263, 179, 468), Index = 1 }, // Corvisquire - new(30,03,2,SH) { Species = 851, Ability = A2, Moves = new(172, 242, 450, 257), Index = 1 }, // Centiskorch - new(30,03,2,SH) { Species = 851, Ability = A4, Moves = new(172, 242, 450, 257), Index = 1 }, // Centiskorch - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 1 }, // Corviknight - new(40,05,3,SH) { Species = 823, Ability = A4, Moves = new(065, 211, 034, 103), Index = 1, CanGigantamax = true }, // Corviknight - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 1 }, // Centiskorch - new(40,05,3,SH) { Species = 851, Ability = A4, Moves = new(141, 438, 053, 489), Index = 1, CanGigantamax = true }, // Centiskorch - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 1 }, // Corviknight - new(50,08,4,SH) { Species = 823, Ability = A4, Moves = new(065, 442, 034, 334), Index = 1, CanGigantamax = true }, // Corviknight - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 1 }, // Centiskorch - new(50,08,4,SH) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 242), Index = 1, CanGigantamax = true }, // Centiskorch - new(60,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 1 }, // Butterfree - new(70,10,5,SH) { Species = 012, Ability = A4, Moves = new(405, 094, 403, 079), Index = 1, CanGigantamax = true }, // Butterfree - new(60,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 1 }, // Corviknight - new(70,10,5,SH) { Species = 823, Ability = A4, Moves = new(413, 442, 249, 103), Index = 1, CanGigantamax = true }, // Corviknight - new(60,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 1 }, // Centiskorch - new(70,10,5,SH) { Species = 851, Ability = A4, Moves = new(679, 257, 083, 438), Index = 1, CanGigantamax = true }, // Centiskorch - }; -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC1.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC1.cs deleted file mode 100644 index fc41e3f50..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC1.cs +++ /dev/null @@ -1,296 +0,0 @@ -using static PKHeX.Core.GameVersion; - -namespace PKHeX.Core; - -// Distribution Nest Encounters (BCAT) -internal static partial class Encounters8Nest -{ - /// - /// Nest distribution raids for available after Isle of Armor expansion and before Crown Tundra. - /// - internal static readonly EncounterStatic8ND[] Dist_DLC1 = - { - new(17,01,1) { Species = 093, Ability = A4, Moves = new(371, 122, 095, 325), Index = 39}, // Haunter - new(17,01,1) { Species = 425, Ability = A4, Moves = new(016, 506, 310, 371), Index = 39}, // Drifloon - new(17,01,1) { Species = 355, Ability = A4, Moves = new(310, 425, 043, 506), Index = 39}, // Duskull - new(17,01,1) { Species = 859, Ability = A4, Moves = new(372, 313, 260, 044), Index = 39}, // Impidimp - new(17,01,1) { Species = 633, Ability = A4, Moves = new(225, 033, 399, 044), Index = 39}, // Deino - new(17,01,1) { Species = 877, Ability = A4, Moves = new(084, 098, 681, 043), Index = 39}, // Morpeko - new(30,03,2) { Species = 094, Ability = A4, Moves = new(371, 389, 095, 325), Index = 39, CanGigantamax = true}, // Gengar - new(30,03,2) { Species = 426, Ability = A4, Moves = new(016, 247, 310, 371), Index = 39}, // Drifblim - new(30,03,2) { Species = 355, Ability = A4, Moves = new(310, 425, 371, 506), Index = 39}, // Duskull - new(30,03,2) { Species = 859, Ability = A4, Moves = new(259, 389, 207, 044), Index = 39}, // Impidimp - new(30,03,2) { Species = 633, Ability = A4, Moves = new(225, 021, 399, 029), Index = 39}, // Deino - new(30,03,2) { Species = 877, Ability = A4, Moves = new(209, 098, 044, 043), Index = 39}, // Morpeko - new(40,05,3) { Species = 094, Ability = A4, Moves = new(506, 389, 095, 325), Index = 39, CanGigantamax = true}, // Gengar - new(40,05,3) { Species = 426, Ability = A4, Moves = new(016, 247, 360, 371), Index = 39}, // Drifblim - new(40,05,3) { Species = 477, Ability = A4, Moves = new(247, 009, 371, 157), Index = 39}, // Dusknoir - new(40,05,3) { Species = 860, Ability = A4, Moves = new(417, 793, 421, 399), Index = 39}, // Morgrem - new(40,05,3) { Species = 633, Ability = A4, Moves = new(406, 021, 399, 423), Index = 39}, // Deino - new(40,05,3) { Species = 877, Ability = A4, Moves = new(209, 098, 044, 402), Index = 39}, // Morpeko - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 399, 094, 085), Index = 39, CanGigantamax = true}, // Gengar - new(50,08,4) { Species = 426, Ability = A4, Moves = new(366, 247, 360, 371), Index = 39}, // Drifblim - new(50,08,4) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 157), Index = 39}, // Dusknoir - new(50,08,4) { Species = 861, Ability = A4, Moves = new(789, 492, 421, 399), Index = 39, CanGigantamax = true}, // Grimmsnarl - new(50,08,4) { Species = 634, Ability = A4, Moves = new(406, 304, 399, 423), Index = 39}, // Zweilous - new(50,08,4) { Species = 877, Ability = A4, Moves = new(783, 098, 242, 402), Index = 39}, // Morpeko - new(60,10,5) { Species = 094, Ability = A4, Moves = new(247, 399, 605, 085), Index = 39, CanGigantamax = true}, // Gengar - new(60,10,5) { Species = 426, Ability = A4, Moves = new(366, 247, 360, 693), Index = 39}, // Drifblim - new(60,10,5) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 089), Index = 39}, // Dusknoir - new(60,10,5) { Species = 861, Ability = A4, Moves = new(789, 492, 421, 417), Index = 39, CanGigantamax = true}, // Grimmsnarl - new(60,10,5) { Species = 635, Ability = A4, Moves = new(406, 304, 399, 056), Index = 39}, // Hydreigon - new(60,10,5) { Species = 877, Ability = A4, Moves = new(783, 037, 242, 402), Index = 39}, // Morpeko - - new(17,01,1) { Species = 036, Ability = A4, Moves = new(574, 001, 204, 045), Index = 37}, // Clefable - new(17,01,1) { Species = 040, Ability = A4, Moves = new(497, 574, 001, 111), Index = 37}, // Wigglytuff - new(17,01,1) { Species = 044, Ability = A4, Moves = new(078, 079, 230, 051), Index = 37}, // Gloom - new(17,01,1) { Species = 518, Ability = A4, Moves = new(060, 236, 111, 000), Index = 37}, // Musharna - new(17,01,1) { Species = 547, Ability = A4, Moves = new(412, 585, 073, 178), Index = 37}, // Whimsicott - new(17,01,1) { Species = 549, Ability = A4, Moves = new(412, 241, 437, 263), Index = 37}, // Lilligant - new(30,03,2) { Species = 036, Ability = A4, Moves = new(574, 001, 236, 045), Index = 37}, // Clefable - new(30,03,2) { Species = 040, Ability = A4, Moves = new(497, 574, 001, 034), Index = 37}, // Wigglytuff - new(30,03,2) { Species = 182, Ability = A4, Moves = new(585, 572, 236, 051), Index = 37}, // Bellossom - new(30,03,2) { Species = 518, Ability = A4, Moves = new(428, 060, 236, 111), Index = 37}, // Musharna - new(30,03,2) { Species = 547, Ability = A4, Moves = new(412, 585, 073, 178), Index = 37}, // Whimsicott - new(30,03,2) { Species = 549, Ability = A4, Moves = new(412, 241, 437, 263), Index = 37}, // Lilligant - new(40,05,3) { Species = 036, Ability = A4, Moves = new(585, 309, 236, 345), Index = 37}, // Clefable - new(40,05,3) { Species = 040, Ability = A4, Moves = new(304, 583, 360, 034), Index = 37}, // Wigglytuff - new(40,05,3) { Species = 182, Ability = A4, Moves = new(585, 572, 236, 051), Index = 37}, // Bellossom - new(40,05,3) { Species = 518, Ability = A4, Moves = new(585, 094, 236, 360), Index = 37}, // Musharna - new(40,05,3) { Species = 547, Ability = A4, Moves = new(412, 585, 073, 366), Index = 37}, // Whimsicott - new(40,05,3) { Species = 549, Ability = A4, Moves = new(412, 241, 437, 263), Index = 37}, // Lilligant - new(50,08,4) { Species = 036, Ability = A4, Moves = new(585, 309, 236, 345), Index = 37}, // Clefable - new(50,08,4) { Species = 040, Ability = A4, Moves = new(304, 583, 360, 034), Index = 37}, // Wigglytuff - new(50,08,4) { Species = 182, Ability = A4, Moves = new(585, 572, 236, 051), Index = 37}, // Bellossom - new(50,08,4) { Species = 518, Ability = A4, Moves = new(585, 094, 236, 360), Index = 37}, // Musharna - new(50,08,4) { Species = 547, Ability = A4, Moves = new(538, 585, 073, 366), Index = 37}, // Whimsicott - new(50,08,4) { Species = 549, Ability = A4, Moves = new(412, 241, 437, 263), Index = 37}, // Lilligant - new(60,10,5) { Species = 036, Ability = A4, Moves = new(585, 309, 236, 345), Index = 37}, // Clefable - new(60,10,5) { Species = 040, Ability = A4, Moves = new(304, 583, 360, 034), Index = 37}, // Wigglytuff - new(60,10,5) { Species = 182, Ability = A4, Moves = new(585, 572, 236, 051), Index = 37}, // Bellossom - new(60,10,5) { Species = 518, Ability = A4, Moves = new(585, 094, 236, 360), Index = 37}, // Musharna - new(60,10,5) { Species = 036, Ability = A4, Moves = new(585, 309, 236, 345), Index = 37, Shiny = Shiny.Always}, // Clefable - new(60,10,5) { Species = 549, Ability = A4, Moves = new(412, 241, 437, 263), Index = 37}, // Lilligant - - new(17,01,1) { Species = 848, Ability = A4, Moves = new(609, 051, 496, 715), Index = 36}, // Toxel - new(17,01,1) { Species = 835, Ability = A4, Moves = new(609, 033, 044, 046), Index = 36}, // Yamper - new(17,01,1) { Species = 695, Ability = A4, Moves = new(085, 098, 001, 189), Index = 36}, // Heliolisk - new(17,01,1) { Species = 840, Ability = A4, Moves = new(110, 310, 000, 000), Index = 36}, // Applin - new(17,01,1) { Species = 597, Ability = A4, Moves = new(033, 042, 232, 106), Index = 36}, // Ferroseed - new(17,01,1) { Species = 829, Ability = A4, Moves = new(075, 496, 229, 670), Index = 36}, // Gossifleur - new(30,03,2) { Species = 836, Ability = A4, Moves = new(609, 209, 204, 706), Index = 36}, // Boltund - new(30,03,2) { Species = 695, Ability = A4, Moves = new(085, 098, 001, 189), Index = 36}, // Heliolisk - new(30,03,2) { Species = 597, Ability = A4, Moves = new(442, 042, 232, 106), Index = 36}, // Ferroseed - new(30,03,2) { Species = 830, Ability = A4, Moves = new(536, 496, 229, 670), Index = 36}, // Eldegoss - new(40,05,3) { Species = 836, Ability = A4, Moves = new(609, 209, 424, 706), Index = 36}, // Boltund - new(40,05,3) { Species = 695, Ability = A4, Moves = new(085, 098, 447, 189), Index = 36}, // Heliolisk - new(40,05,3) { Species = 598, Ability = A4, Moves = new(442, 438, 398, 106), Index = 36}, // Ferrothorn - new(40,05,3) { Species = 830, Ability = A4, Moves = new(536, 304, 229, 670), Index = 36}, // Eldegoss - new(50,08,4) { Species = 836, Ability = A4, Moves = new(609, 528, 424, 706), Index = 36}, // Boltund - new(50,08,4) { Species = 695, Ability = A4, Moves = new(085, 304, 447, 523), Index = 36}, // Heliolisk - new(50,08,4) { Species = 598, Ability = A4, Moves = new(360, 438, 398, 014), Index = 36}, // Ferrothorn - new(50,08,4) { Species = 830, Ability = A4, Moves = new(536, 304, 229, 437), Index = 36}, // Eldegoss - new(60,10,5) { Species = 836, Ability = A4, Moves = new(609, 528, 424, 706), Index = 36}, // Boltund - new(60,10,5) { Species = 695, Ability = A4, Moves = new(085, 304, 447, 523), Index = 36}, // Heliolisk - new(60,10,5) { Species = 598, Ability = A4, Moves = new(360, 438, 398, 014), Index = 36}, // Ferrothorn - new(60,10,5) { Species = 830, Ability = A4, Moves = new(536, 304, 063, 437), Index = 36}, // Eldegoss - new(30,03,2,SW) { Species = 849, Ability = A4, Moves = new(351, 506, 491, 103), Index = 36, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(30,03,2,SW) { Species = 842, Ability = A4, Moves = new(787, 496, 310, 029), Index = 36, CanGigantamax = true}, // Appletun - new(40,05,3,SW) { Species = 849, Ability = A4, Moves = new(435, 506, 398, 103), Index = 36, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(40,05,3,SW) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 029), Index = 36, CanGigantamax = true}, // Appletun - new(50,08,4,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 398, 586), Index = 36, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(50,08,4,SW) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 36, CanGigantamax = true}, // Appletun - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 586), Index = 36, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(60,10,5,SW) { Species = 842, Ability = A4, Moves = new(787, 034, 406, 523), Index = 36, CanGigantamax = true}, // Appletun - new(30,03,2,SH) { Species = 849, Ability = A4, Moves = new(351, 506, 491, 103), Index = 36, CanGigantamax = true}, // Toxtricity - new(30,03,2,SH) { Species = 841, Ability = A4, Moves = new(406, 073, 491, 184), Index = 36, CanGigantamax = true}, // Flapple - new(40,05,3,SH) { Species = 849, Ability = A4, Moves = new(435, 506, 474, 103), Index = 36, CanGigantamax = true}, // Toxtricity - new(40,05,3,SH) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 184), Index = 36, CanGigantamax = true}, // Flapple - new(50,08,4,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 586), Index = 36, CanGigantamax = true}, // Toxtricity - new(50,08,4,SH) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 263), Index = 36, CanGigantamax = true}, // Flapple - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 586), Index = 36, CanGigantamax = true}, // Toxtricity - new(60,10,5,SH) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 263), Index = 36, CanGigantamax = true}, // Flapple - - new(17,01,1) { Species = 025, Ability = A4, Moves = new(084, 098, 204, 086), Index = 34}, // Pikachu - new(17,01,1) { Species = 026, Ability = A4, Moves = new(009, 129, 280, 204), Index = 34}, // Raichu - new(17,01,1) { Species = 026, Ability = A4, Moves = new(009, 129, 280, 204), Index = 34, Form = 1}, // Raichu-1 - new(17,01,1) { Species = 172, Ability = A4, Moves = new(589, 609, 085, 186), Index = 34}, // Pichu - new(17,01,1) { Species = 778, Ability = A4, Moves = new(086, 452, 425, 010), Index = 34}, // Mimikyu - new(30,03,2) { Species = 025, Ability = A4, Moves = new(209, 097, 204, 086), Index = 34}, // Pikachu - new(30,03,2) { Species = 026, Ability = A4, Moves = new(009, 129, 280, 204), Index = 34}, // Raichu - new(30,03,2) { Species = 026, Ability = A4, Moves = new(009, 129, 280, 204), Index = 34, Form = 1}, // Raichu-1 - new(30,03,2) { Species = 172, Ability = A4, Moves = new(204, 609, 085, 186), Index = 34}, // Pichu - new(30,03,2) { Species = 778, Ability = A4, Moves = new(086, 452, 425, 608), Index = 34}, // Mimikyu - new(40,05,3) { Species = 025, Ability = A4, Moves = new(085, 231, 583, 086), Index = 34}, // Pikachu - new(40,05,3) { Species = 026, Ability = A4, Moves = new(085, 034, 411, 583), Index = 34}, // Raichu - new(40,05,3) { Species = 026, Ability = A4, Moves = new(085, 034, 057, 583), Index = 34, Form = 1}, // Raichu-1 - new(40,05,3) { Species = 172, Ability = A4, Moves = new(204, 609, 085, 583), Index = 34}, // Pichu - new(40,05,3) { Species = 778, Ability = A4, Moves = new(085, 452, 421, 608), Index = 34}, // Mimikyu - new(50,08,4) { Species = 025, Ability = A4, Moves = new(087, 231, 583, 086), Index = 34}, // Pikachu - new(50,08,4) { Species = 026, Ability = A4, Moves = new(087, 034, 411, 583), Index = 34}, // Raichu - new(50,08,4) { Species = 026, Ability = A4, Moves = new(087, 034, 057, 583), Index = 34, Form = 1}, // Raichu-1 - new(50,08,4) { Species = 172, Ability = A4, Moves = new(253, 609, 085, 583), Index = 34}, // Pichu - new(50,08,4) { Species = 778, Ability = A4, Moves = new(085, 452, 261, 204), Index = 34}, // Mimikyu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(344, 231, 583, 086), Index = 34}, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(344, 231, 583, 086), Index = 34, Shiny = Shiny.Always}, // Pikachu - new(60,10,5) { Species = 026, Ability = A4, Moves = new(087, 034, 411, 583), Index = 34}, // Raichu - new(60,10,5) { Species = 026, Ability = A4, Moves = new(087, 034, 057, 583), Index = 34, Form = 1}, // Raichu-1 - new(60,10,5) { Species = 172, Ability = A4, Moves = new(253, 609, 085, 583), Index = 34}, // Pichu - new(60,10,5) { Species = 778, Ability = A4, Moves = new(087, 452, 261, 583), Index = 34}, // Mimikyu - - new(17,01,1) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 240), Index = 33}, // Chewtle - new(17,01,1) { Species = 349, Ability = A4, Moves = new(150, 033, 175, 057), Index = 33}, // Feebas - new(17,01,1) { Species = 194, Ability = A4, Moves = new(341, 021, 039, 055), Index = 33}, // Wooper - new(17,01,1) { Species = 843, Ability = A4, Moves = new(028, 035, 523, 693), Index = 33}, // Silicobra - new(17,01,1) { Species = 449, Ability = A4, Moves = new(341, 328, 044, 033), Index = 33}, // Hippopotas - new(17,01,1) { Species = 422, Ability = A4, Moves = new(352, 106, 189, 055), Index = 33, Form = 1}, // Shellos-1 - new(30,03,2) { Species = 834, Ability = A4, Moves = new(157, 534, 317, 055), Index = 33, CanGigantamax = true}, // Drednaw - new(30,03,2) { Species = 349, Ability = A4, Moves = new(057, 033, 175, 150), Index = 33}, // Feebas - new(30,03,2) { Species = 195, Ability = A4, Moves = new(341, 021, 401, 055), Index = 33}, // Quagsire - new(30,03,2) { Species = 843, Ability = A4, Moves = new(091, 029, 523, 693), Index = 33}, // Silicobra - new(30,03,2) { Species = 449, Ability = A4, Moves = new(341, 036, 044, 242), Index = 33}, // Hippopotas - new(30,03,2) { Species = 423, Ability = A4, Moves = new(189, 352, 246, 106), Index = 33, Form = 1}, // Gastrodon-1 - new(40,05,3) { Species = 834, Ability = A4, Moves = new(157, 534, 317, 055), Index = 33, CanGigantamax = true}, // Drednaw - new(40,05,3) { Species = 350, Ability = A4, Moves = new(057, 239, 034, 574), Index = 33}, // Milotic - new(40,05,3) { Species = 195, Ability = A4, Moves = new(341, 021, 401, 005), Index = 33}, // Quagsire - new(40,05,3) { Species = 844, Ability = A4, Moves = new(693, 523, 201, 091), Index = 33, CanGigantamax = true}, // Sandaconda - new(40,05,3) { Species = 450, Ability = A4, Moves = new(341, 422, 036, 242), Index = 33}, // Hippowdon - new(40,05,3) { Species = 423, Ability = A4, Moves = new(414, 352, 246, 106), Index = 33, Form = 1}, // Gastrodon-1 - new(50,08,4) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 33, CanGigantamax = true}, // Drednaw - new(50,08,4) { Species = 350, Ability = A4, Moves = new(057, 231, 034, 574), Index = 33}, // Milotic - new(50,08,4) { Species = 195, Ability = A4, Moves = new(341, 280, 401, 005), Index = 33}, // Quagsire - new(50,08,4) { Species = 844, Ability = A4, Moves = new(693, 529, 201, 091), Index = 33, CanGigantamax = true}, // Sandaconda - new(50,08,4) { Species = 450, Ability = A4, Moves = new(089, 422, 036, 242), Index = 33}, // Hippowdon - new(50,08,4) { Species = 423, Ability = A4, Moves = new(414, 503, 311, 106), Index = 33, Form = 1}, // Gastrodon-1 - new(60,10,5) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 33, CanGigantamax = true}, // Drednaw - new(60,10,5) { Species = 350, Ability = A4, Moves = new(503, 231, 034, 574), Index = 33}, // Milotic - new(60,10,5) { Species = 195, Ability = A4, Moves = new(089, 280, 401, 005), Index = 33}, // Quagsire - new(60,10,5) { Species = 844, Ability = A4, Moves = new(693, 529, 201, 091), Index = 33, CanGigantamax = true}, // Sandaconda - new(60,10,5) { Species = 450, Ability = A4, Moves = new(089, 422, 231, 242), Index = 33}, // Hippowdon - new(60,10,5) { Species = 423, Ability = A4, Moves = new(414, 503, 311, 352), Index = 33, Form = 1}, // Gastrodon-1 - - new(17,01,1) { Species = 320, Ability = A4, Moves = new(362, 034, 310, 054), Index = 31}, // Wailmer - new(17,01,1) { Species = 098, Ability = A4, Moves = new(055, 341, 043, 232), Index = 31}, // Krabby - new(17,01,1) { Species = 771, Ability = A4, Moves = new(240, 219, 213, 269), Index = 31}, // Pyukumuku - new(17,01,1) { Species = 592, Ability = A4, Moves = new(352, 101, 071, 240), Index = 31}, // Frillish - new(17,01,1) { Species = 458, Ability = A4, Moves = new(033, 017, 352, 469), Index = 31}, // Mantyke - new(17,01,1) { Species = 318, Ability = A4, Moves = new(453, 305, 116, 044), Index = 31}, // Carvanha - new(30,03,2) { Species = 320, Ability = A4, Moves = new(362, 034, 310, 054), Index = 31}, // Wailmer - new(30,03,2) { Species = 098, Ability = A4, Moves = new(061, 341, 023, 232), Index = 31}, // Krabby - new(30,03,2) { Species = 771, Ability = A4, Moves = new(240, 219, 213, 174), Index = 31}, // Pyukumuku - new(30,03,2) { Species = 592, Ability = A4, Moves = new(362, 101, 071, 240), Index = 31}, // Frillish - new(30,03,2) { Species = 458, Ability = A4, Moves = new(029, 017, 061, 469), Index = 31}, // Mantyke - new(30,03,2) { Species = 319, Ability = A4, Moves = new(453, 400, 423, 044), Index = 31}, // Sharpedo - new(40,05,3) { Species = 321, Ability = A4, Moves = new(362, 034, 340, 568), Index = 31}, // Wailord - new(40,05,3) { Species = 099, Ability = A4, Moves = new(534, 341, 021, 014), Index = 31}, // Kingler - new(40,05,3) { Species = 771, Ability = A4, Moves = new(240, 219, 213, 174), Index = 31}, // Pyukumuku - new(40,05,3) { Species = 593, Ability = A4, Moves = new(362, 247, 071, 151), Index = 31}, // Jellicent - new(40,05,3) { Species = 226, Ability = A4, Moves = new(029, 403, 060, 331), Index = 31}, // Mantine - new(40,05,3) { Species = 319, Ability = A4, Moves = new(453, 242, 423, 044), Index = 31}, // Sharpedo - new(50,08,4) { Species = 321, Ability = A4, Moves = new(056, 034, 340, 133), Index = 31}, // Wailord - new(50,08,4) { Species = 099, Ability = A4, Moves = new(534, 341, 359, 014), Index = 31, CanGigantamax = true}, // Kingler - new(50,08,4) { Species = 771, Ability = A4, Moves = new(240, 219, 213, 174), Index = 31}, // Pyukumuku - new(50,08,4) { Species = 593, Ability = A4, Moves = new(056, 247, 071, 151), Index = 31}, // Jellicent - new(50,08,4) { Species = 226, Ability = A4, Moves = new(036, 403, 060, 331), Index = 31}, // Mantine - new(50,08,4) { Species = 319, Ability = A4, Moves = new(057, 242, 423, 044), Index = 31}, // Sharpedo - new(60,10,5) { Species = 321, Ability = A4, Moves = new(503, 034, 340, 133), Index = 31, Shiny = Shiny.Always}, // Wailord - new(60,10,5) { Species = 321, Ability = A4, Moves = new(056, 034, 340, 133), Index = 31}, // Wailord - new(60,10,5) { Species = 771, Ability = A4, Moves = new(092, 599, 213, 174), Index = 31}, // Pyukumuku - new(60,10,5) { Species = 593, Ability = A4, Moves = new(056, 058, 605, 433), Index = 31}, // Jellicent - new(60,10,5) { Species = 226, Ability = A4, Moves = new(036, 403, 060, 331), Index = 31}, // Mantine - new(60,10,5) { Species = 319, Ability = A4, Moves = new(057, 242, 423, 305), Index = 31}, // Sharpedo - - new(17,01,1) { Species = 878, Ability = A4, Moves = new(523, 205, 045, 249), Index = 27}, // Cufant - new(17,01,1) { Species = 208, Ability = A4, Moves = new(242, 442, 106, 422), Index = 27}, // Steelix - new(17,01,1) { Species = 052, Ability = A4, Moves = new(232, 006, 242, 045), Index = 27, Form = 2}, // Meowth-2 - new(17,01,1) { Species = 837, Ability = A4, Moves = new(229, 261, 479, 108), Index = 27}, // Rolycoly - new(17,01,1) { Species = 111, Ability = A4, Moves = new(479, 523, 196, 182), Index = 27}, // Rhyhorn - new(17,01,1) { Species = 095, Ability = A4, Moves = new(174, 225, 034, 106), Index = 27}, // Onix - new(30,03,2) { Species = 878, Ability = A4, Moves = new(523, 023, 334, 249), Index = 27}, // Cufant - new(30,03,2) { Species = 208, Ability = A4, Moves = new(157, 442, 328, 422), Index = 27}, // Steelix - new(30,03,2) { Species = 863, Ability = A4, Moves = new(442, 006, 242, 269), Index = 27}, // Perrserker - new(30,03,2) { Species = 838, Ability = A4, Moves = new(229, 488, 157, 108), Index = 27}, // Carkol - new(30,03,2) { Species = 111, Ability = A4, Moves = new(350, 523, 196, 182), Index = 27}, // Rhyhorn - new(30,03,2) { Species = 095, Ability = A4, Moves = new(776, 225, 034, 106), Index = 27}, // Onix - new(40,05,3) { Species = 879, Ability = A4, Moves = new(070, 523, 334, 442), Index = 27, CanGigantamax = true}, // Copperajah - new(40,05,3) { Species = 208, Ability = A4, Moves = new(157, 442, 328, 422), Index = 27}, // Steelix - new(40,05,3) { Species = 863, Ability = A4, Moves = new(442, 006, 154, 269), Index = 27}, // Perrserker - new(40,05,3) { Species = 839, Ability = A4, Moves = new(025, 488, 157, 108), Index = 27, CanGigantamax = true}, // Coalossal - new(40,05,3) { Species = 112, Ability = A4, Moves = new(036, 529, 008, 182), Index = 27}, // Rhydon - new(40,05,3) { Species = 095, Ability = A4, Moves = new(776, 225, 021, 201), Index = 27}, // Onix - new(50,08,4) { Species = 879, Ability = A4, Moves = new(070, 523, 334, 442), Index = 27, CanGigantamax = true}, // Copperajah - new(50,08,4) { Species = 208, Ability = A4, Moves = new(157, 231, 328, 422), Index = 27}, // Steelix - new(50,08,4) { Species = 863, Ability = A4, Moves = new(442, 583, 154, 269), Index = 27}, // Perrserker - new(50,08,4) { Species = 839, Ability = A4, Moves = new(025, 488, 157, 115), Index = 27, CanGigantamax = true}, // Coalossal - new(50,08,4) { Species = 464, Ability = A4, Moves = new(350, 089, 008, 182), Index = 27}, // Rhyperior - new(50,08,4) { Species = 095, Ability = A4, Moves = new(776, 225, 784, 201), Index = 27}, // Onix - new(60,10,5) { Species = 879, Ability = A4, Moves = new(276, 089, 583, 442), Index = 27, CanGigantamax = true}, // Copperajah - new(60,10,5) { Species = 208, Ability = A4, Moves = new(038, 231, 529, 422), Index = 27}, // Steelix - new(60,10,5) { Species = 863, Ability = A4, Moves = new(442, 583, 370, 269), Index = 27}, // Perrserker - new(60,10,5) { Species = 839, Ability = A4, Moves = new(076, 682, 157, 115), Index = 27, CanGigantamax = true}, // Coalossal - new(60,10,5) { Species = 464, Ability = A4, Moves = new(444, 089, 008, 224), Index = 27}, // Rhyperior - new(60,10,5) { Species = 095, Ability = A4, Moves = new(776, 444, 784, 201), Index = 27}, // Onix - - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 044, 280, 523), Index = 26, CanGigantamax = true}, // Snorlax - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 26, CanGigantamax = true}, // Snorlax - new(17,01,1,SW) { Species = 869, Ability = A4, Moves = new(033, 186, 577, 230), Index = 26, CanGigantamax = true}, // Alcremie - new(30,03,2,SW) { Species = 851, Ability = A4, Moves = new(044, 172, 489, 693), Index = 26, CanGigantamax = true}, // Centiskorch - new(30,03,2,SW) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 047), Index = 26, CanGigantamax = true}, // Lapras - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 26, CanGigantamax = true}, // Kingler - new(40,05,3,SW) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 26, CanGigantamax = true}, // Appletun - new(40,05,3,SW) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 044), Index = 26, CanGigantamax = true}, // Centiskorch - new(50,08,4,SW) { Species = 823, Ability = A4, Moves = new(413, 442, 269, 103), Index = 26, CanGigantamax = true}, // Corviknight - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 26, CanGigantamax = true}, // Grimmsnarl - new(50,08,4,SW) { Species = 569, Ability = A4, Moves = new(188, 499, 034, 707), Index = 26, CanGigantamax = true}, // Garbodor - new(50,08,4,SW) { Species = 869, Ability = A4, Moves = new(577, 605, 105, 500), Index = 26, CanGigantamax = true}, // Alcremie - new(60,10,5,SW) { Species = 131, Ability = A4, Moves = new(057, 196, 058, 329), Index = 26, CanGigantamax = true}, // Lapras - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 26, CanGigantamax = true}, // Toxtricity - new(60,10,5,SW) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 26, CanGigantamax = true}, // Gengar - new(60,10,5,SW) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 334), Index = 26, CanGigantamax = true}, // Duraludon - new(17,01,1,SH) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 26, CanGigantamax = true}, // Butterfree - new(30,03,2,SH) { Species = 826, Ability = A4, Moves = new(405, 060, 496, 095), Index = 26, CanGigantamax = true}, // Orbeetle - new(30,03,2,SH) { Species = 068, Ability = A4, Moves = new(523, 490, 279, 233), Index = 26, CanGigantamax = true}, // Machamp - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 26, CanGigantamax = true}, // Orbeetle - new(40,05,3,SH) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 334), Index = 26, CanGigantamax = true}, // Flapple - new(40,05,3,SH) { Species = 844, Ability = A4, Moves = new(693, 529, 201, 091), Index = 26, CanGigantamax = true}, // Sandaconda - new(50,08,4,SH) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 26, CanGigantamax = true}, // Drednaw - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 26, CanGigantamax = true}, // Hatterene - new(50,08,4,SH) { Species = 006, Ability = A4, Moves = new(053, 403, 076, 257), Index = 26, CanGigantamax = true}, // Charizard - new(50,08,4,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 26, CanGigantamax = true}, // Butterfree - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 26, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(60,10,5,SH) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 26, CanGigantamax = true}, // Coalossal - new(60,10,5,SH) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 26, CanGigantamax = true}, // Machamp - new(60,10,5,SH) { Species = 879, Ability = A4, Moves = new(442, 583, 438, 089), Index = 26, CanGigantamax = true}, // Copperajah - - new(17,01,1) { Species = 143, Ability = A4, Moves = new(033, 044, 122, 111), Index = 25, CanGigantamax = true}, // Snorlax - //new(40,05,3) { Species = 807, Ability = A0, Moves = new(085, 007, 512, 280), Index = 25, Shiny = Shiny.Never}, // Zeraora - //new(50,08,4) { Species = 807, Ability = A0, Moves = new(085, 007, 200, 370), Index = 25, Shiny = Shiny.Never}, // Zeraora - //new(60,10,5) { Species = 807, Ability = A0, Moves = new(009, 299, 200, 370), Index = 25, Shiny = Shiny.Never}, // Zeraora - //new(100,10,6) { Species = 807, Ability = A0, Moves = new(435, 299, 200, 370), Index = 25, Shiny = Shiny.Always}, // Zeraora - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 25, CanGigantamax = true}, // Snorlax - new(30,03,2,SW) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 047), Index = 25, CanGigantamax = true}, // Lapras - new(40,05,3,SW) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 25, CanGigantamax = true}, // Kingler - new(40,05,3,SW) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 25, CanGigantamax = true}, // Appletun - new(40,05,3,SW) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 044), Index = 25, CanGigantamax = true}, // Centiskorch - new(50,08,4,SW) { Species = 823, Ability = A4, Moves = new(413, 442, 269, 103), Index = 25, CanGigantamax = true}, // Corviknight - new(50,08,4,SW) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 25, CanGigantamax = true}, // Grimmsnarl - new(50,08,4,SW) { Species = 569, Ability = A4, Moves = new(188, 499, 034, 707), Index = 25, CanGigantamax = true}, // Garbodor - new(50,08,4,SW) { Species = 869, Ability = A4, Moves = new(577, 605, 105, 500), Index = 25, CanGigantamax = true}, // Alcremie - new(60,10,5,SW) { Species = 131, Ability = A4, Moves = new(057, 196, 058, 329), Index = 25, CanGigantamax = true}, // Lapras - new(60,10,5,SW) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 25, CanGigantamax = true}, // Toxtricity - new(60,10,5,SW) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 25, CanGigantamax = true}, // Gengar - new(60,10,5,SW) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 334), Index = 25, CanGigantamax = true}, // Duraludon - new(30,03,2,SH) { Species = 068, Ability = A4, Moves = new(523, 490, 279, 233), Index = 25, CanGigantamax = true}, // Machamp - new(40,05,3,SH) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 25, CanGigantamax = true}, // Orbeetle - new(40,05,3,SH) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 334), Index = 25, CanGigantamax = true}, // Flapple - new(40,05,3,SH) { Species = 844, Ability = A4, Moves = new(693, 529, 201, 091), Index = 25, CanGigantamax = true}, // Sandaconda - new(50,08,4,SH) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 25, CanGigantamax = true}, // Drednaw - new(50,08,4,SH) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 25, CanGigantamax = true}, // Hatterene - new(50,08,4,SH) { Species = 006, Ability = A4, Moves = new(053, 403, 076, 257), Index = 25, CanGigantamax = true}, // Charizard - new(50,08,4,SH) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 25, CanGigantamax = true}, // Butterfree - new(60,10,5,SH) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 25, Form = 1, CanGigantamax = true}, // Toxtricity-1 - new(60,10,5,SH) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 25, CanGigantamax = true}, // Coalossal - new(60,10,5,SH) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 25, CanGigantamax = true}, // Machamp - new(60,10,5,SH) { Species = 879, Ability = A4, Moves = new(442, 583, 438, 089), Index = 25, CanGigantamax = true}, // Copperajah - }; -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC2.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC2.cs deleted file mode 100644 index a67966258..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestDistDLC2.cs +++ /dev/null @@ -1,936 +0,0 @@ -namespace PKHeX.Core; - -// Distribution Nest Encounters (BCAT) -internal static partial class Encounters8Nest -{ - /// - /// Nest distribution raids for available after Crown Tundra expansion. - /// - internal static readonly EncounterStatic8ND[] Dist_DLC2 = - { - new(17,01,1) { Species = 824, Ability = A4, Moves = new(522, 000, 000, 000), Index = 117 }, // Blipbug - new(30,03,2) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 029), Index = 117 }, // Chewtle - new(40,05,3) { Species = 832, Ability = A4, Moves = new(036, 024, 428, 086), Index = 117 }, // Dubwool - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 117 }, // Corviknight - new(17,01,1) { Species = 850, Ability = A4, Moves = new(172, 044, 035, 052), Index = 117 }, // Sizzlipede - new(30,03,2) { Species = 831, Ability = A4, Moves = new(036, 024, 029, 086), Index = 117 }, // Wooloo - new(40,05,3) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 247), Index = 117 }, // Orbeetle - new(50,08,4) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 117 }, // Ditto - new(60,10,5) { Species = 099, Ability = A4, Moves = new(534, 232, 023, 106), Index = 117, CanGigantamax = true }, // Kingler - new(60,10,5) { Species = 842, Ability = A4, Moves = new(787, 496, 406, 523), Index = 117, CanGigantamax = true }, // Appletun - new(60,10,5) { Species = 851, Ability = A4, Moves = new(141, 424, 422, 044), Index = 117, CanGigantamax = true }, // Centiskorch - new(60,10,5) { Species = 826, Ability = A4, Moves = new(405, 094, 202, 247), Index = 117, CanGigantamax = true }, // Orbeetle - new(60,10,5) { Species = 841, Ability = A4, Moves = new(406, 788, 491, 334), Index = 117, CanGigantamax = true }, // Flapple - new(60,10,5) { Species = 844, Ability = A4, Moves = new(693, 529, 201, 091), Index = 117, CanGigantamax = true }, // Sandaconda - new(60,10,5) { Species = 823, Ability = A4, Moves = new(413, 442, 269, 103), Index = 117, CanGigantamax = true }, // Corviknight - new(60,10,5) { Species = 861, Ability = A4, Moves = new(789, 793, 280, 409), Index = 117, CanGigantamax = true }, // Grimmsnarl - new(60,10,5) { Species = 569, Ability = A4, Moves = new(188, 499, 034, 707), Index = 117, CanGigantamax = true }, // Garbodor - new(60,10,5) { Species = 869, Ability = A4, Moves = new(577, 605, 105, 500), Index = 117, CanGigantamax = true }, // Alcremie - new(60,10,5) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 117, CanGigantamax = true }, // Drednaw - new(60,10,5) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 117, CanGigantamax = true }, // Hatterene - new(60,10,5) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 117, CanGigantamax = true }, // Butterfree - new(60,10,5) { Species = 131, Ability = A4, Moves = new(057, 196, 058, 329), Index = 117, CanGigantamax = true }, // Lapras - new(60,10,5) { Species = 849, Ability = A4, Moves = new(786, 506, 474, 409), Index = 117, CanGigantamax = true }, // Toxtricity - new(60,10,5) { Species = 094, Ability = A4, Moves = new(247, 482, 094, 196), Index = 117, CanGigantamax = true }, // Gengar - new(60,10,5) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 334), Index = 117, CanGigantamax = true }, // Duraludon - new(60,10,5) { Species = 849, Ability = A4, Moves = new(786, 506, 599, 409), Index = 117, Form = 1, CanGigantamax = true }, // Toxtricity-1 - new(60,10,5) { Species = 839, Ability = A4, Moves = new(246, 053, 157, 523), Index = 117, CanGigantamax = true }, // Coalossal - new(60,10,5) { Species = 068, Ability = A4, Moves = new(238, 007, 008, 089), Index = 117, CanGigantamax = true }, // Machamp - new(60,10,5) { Species = 879, Ability = A4, Moves = new(442, 583, 438, 089), Index = 117, CanGigantamax = true }, // Copperajah - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 117, CanGigantamax = true }, // Snorlax - - new(17,01,1) { Species = 824, Ability = A4, Moves = new(522, 000, 000, 000), Index = 115 }, // Blipbug - new(30,03,2) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 029), Index = 115 }, // Chewtle - new(40,05,3) { Species = 832, Ability = A4, Moves = new(036, 024, 428, 086), Index = 115 }, // Dubwool - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 115 }, // Corviknight - //new(60,10,5) { Species = 896, Ability = A0, Moves = new(556, 667, 370, 684), Index = 115, Shiny = Shiny.Never }, // Glastrier - //new(60,10,5) { Species = 897, Ability = A0, Moves = new(247, 261, 506, 555), Index = 115, Shiny = Shiny.Never }, // Spectrier - - new(17,01,1) { Species = 872, Ability = A4, Moves = new(496, 196, 263, 181), Index = 113 }, // Snom - new(17,01,1) { Species = 771, Ability = A4, Moves = new(092, 220, 599, 000), Index = 113 }, // Pyukumuku - new(17,01,1) { Species = 871, Ability = A4, Moves = new(084, 061, 064, 031), Index = 113 }, // Pincurchin - new(30,03,2) { Species = 872, Ability = A4, Moves = new(496, 196, 263, 181), Index = 113 }, // Snom - new(30,03,2) { Species = 771, Ability = A4, Moves = new(092, 220, 599, 000), Index = 113 }, // Pyukumuku - new(30,03,2) { Species = 871, Ability = A4, Moves = new(716, 061, 398, 675), Index = 113 }, // Pincurchin - new(40,05,3) { Species = 872, Ability = A4, Moves = new(405, 196, 263, 181), Index = 113 }, // Snom - new(40,05,3) { Species = 771, Ability = A4, Moves = new(092, 220, 599, 000), Index = 113 }, // Pyukumuku - new(40,05,3) { Species = 871, Ability = A4, Moves = new(716, 710, 398, 675), Index = 113 }, // Pincurchin - new(50,08,4) { Species = 872, Ability = A4, Moves = new(405, 196, 263, 522), Index = 113 }, // Snom - new(50,08,4) { Species = 771, Ability = A4, Moves = new(092, 220, 599, 000), Index = 113 }, // Pyukumuku - new(50,08,4) { Species = 871, Ability = A4, Moves = new(716, 056, 398, 675), Index = 113 }, // Pincurchin - new(60,10,5) { Species = 872, Ability = A4, Moves = new(405, 196, 263, 522), Index = 113, Shiny = Shiny.Always }, // Snom - new(60,10,5) { Species = 872, Ability = A4, Moves = new(405, 196, 263, 522), Index = 113 }, // Snom - new(60,10,5) { Species = 771, Ability = A4, Moves = new(092, 220, 599, 213), Index = 113 }, // Pyukumuku - new(60,10,5) { Species = 871, Ability = A4, Moves = new(435, 056, 398, 675), Index = 113 }, // Pincurchin - - new(17,01,1) { Species = 859, Ability = A4, Moves = new(372, 044, 252, 590), Index = 111 }, // Impidimp - new(30,03,2) { Species = 859, Ability = A4, Moves = new(399, 583, 252, 005), Index = 111 }, // Impidimp - new(40,05,3) { Species = 860, Ability = A4, Moves = new(793, 583, 421, 025), Index = 111 }, // Morgrem - new(40,05,3) { Species = 859, Ability = A4, Moves = new(399, 583, 252, 005), Index = 111 }, // Impidimp - new(50,08,4) { Species = 861, Ability = A4, Moves = new(789, 492, 359, 025), Index = 111 }, // Grimmsnarl - new(50,08,4) { Species = 860, Ability = A4, Moves = new(793, 583, 421, 025), Index = 111 }, // Morgrem - new(50,08,4) { Species = 859, Ability = A4, Moves = new(399, 583, 252, 005), Index = 111 }, // Impidimp - new(60,10,5) { Species = 861, Ability = A4, Moves = new(789, 663, 359, 025), Index = 111, Shiny = Shiny.Always }, // Grimmsnarl - new(60,10,5) { Species = 861, Ability = A4, Moves = new(789, 663, 359, 025), Index = 111 }, // Grimmsnarl - - new(17,01,1) { Species = 183, Ability = A4, Moves = new(583, 392, 205, 021), Index = 109 }, // Marill - new(17,01,1) { Species = 060, Ability = A4, Moves = new(055, 001, 341, 061), Index = 109 }, // Poliwag - new(17,01,1) { Species = 363, Ability = A4, Moves = new(181, 055, 205, 111), Index = 109 }, // Spheal - new(30,03,2) { Species = 183, Ability = A4, Moves = new(583, 392, 231, 021), Index = 109 }, // Marill - new(30,03,2) { Species = 060, Ability = A4, Moves = new(061, 001, 341, 094), Index = 109 }, // Poliwag - new(30,03,2) { Species = 363, Ability = A4, Moves = new(062, 362, 205, 231), Index = 109 }, // Spheal - new(40,05,3) { Species = 183, Ability = A4, Moves = new(583, 056, 231, 021), Index = 109 }, // Marill - new(40,05,3) { Species = 060, Ability = A4, Moves = new(056, 058, 341, 094), Index = 109 }, // Poliwag - new(40,05,3) { Species = 363, Ability = A4, Moves = new(062, 057, 523, 231), Index = 109 }, // Spheal - new(50,08,4) { Species = 183, Ability = A4, Moves = new(583, 056, 276, 021), Index = 109 }, // Marill - new(50,08,4) { Species = 060, Ability = A4, Moves = new(056, 058, 414, 094), Index = 109 }, // Poliwag - new(50,08,4) { Species = 363, Ability = A4, Moves = new(058, 057, 523, 231), Index = 109 }, // Spheal - new(60,10,5) { Species = 183, Ability = A4, Moves = new(583, 056, 276, 059), Index = 109, Shiny = Shiny.Always }, // Marill - new(60,10,5) { Species = 183, Ability = A4, Moves = new(583, 056, 276, 059), Index = 109 }, // Marill - new(60,10,5) { Species = 060, Ability = A4, Moves = new(503, 058, 414, 094), Index = 109 }, // Poliwag - new(60,10,5) { Species = 363, Ability = A4, Moves = new(329, 057, 523, 231), Index = 109 }, // Spheal - - new(17,01,1) { Species = 824, Ability = A4, Moves = new(522, 000, 000, 000), Index = 106 }, // Blipbug - new(30,03,2) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 029), Index = 106 }, // Chewtle - new(40,05,3) { Species = 832, Ability = A4, Moves = new(036, 024, 428, 086), Index = 106 }, // Dubwool - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 106 }, // Corviknight - //new(60,10,5) { Species = 892, Ability = A0, Moves = new(555, 370, 389, 398), Index = 106, CanGigantamax = true }, // Urshifu - //new(60,10,5) { Species = 892, Ability = A0, Moves = new(710, 370, 009, 512), Index = 106, Form = 1, CanGigantamax = true }, // Urshifu-1 - - new(17,01,1) { Species = 090, Ability = A4, Moves = new(420, 056, 033, 250), Index = 104 }, // Shellder - new(17,01,1) { Species = 090, Ability = A4, Moves = new(420, 057, 033, 710), Index = 104 }, // Shellder - new(30,03,2) { Species = 090, Ability = A4, Moves = new(062, 056, 033, 250), Index = 104 }, // Shellder - new(30,03,2) { Species = 090, Ability = A4, Moves = new(062, 057, 033, 710), Index = 104 }, // Shellder - new(40,05,3) { Species = 090, Ability = A4, Moves = new(062, 056, 504, 534), Index = 104 }, // Shellder - new(40,05,3) { Species = 090, Ability = A4, Moves = new(062, 057, 161, 710), Index = 104 }, // Shellder - new(50,08,4) { Species = 090, Ability = A4, Moves = new(058, 057, 504, 534), Index = 104 }, // Shellder - new(50,08,4) { Species = 090, Ability = A4, Moves = new(058, 057, 161, 710), Index = 104 }, // Shellder - new(60,10,5) { Species = 090, Ability = A4, Moves = new(058, 057, 504, 534), Index = 104, Shiny = Shiny.Always }, // Shellder - new(60,10,5) { Species = 090, Ability = A4, Moves = new(058, 057, 161, 710), Index = 104 }, // Shellder - new(60,10,5) { Species = 090, Ability = A4, Moves = new(058, 057, 504, 534), Index = 104 }, // Shellder - - new(17,01,1) { Species = 438, Ability = A4, Moves = new(088, 383, 175, 313), Index = 102 }, // Bonsly - new(30,03,2) { Species = 438, Ability = A4, Moves = new(088, 317, 175, 313), Index = 102 }, // Bonsly - new(40,05,3) { Species = 438, Ability = A4, Moves = new(317, 389, 157, 313), Index = 102 }, // Bonsly - new(50,08,4) { Species = 185, Ability = A4, Moves = new(452, 359, 157, 389), Index = 102 }, // Sudowoodo - new(60,10,5) { Species = 185, Ability = A4, Moves = new(452, 444, 038, 389), Index = 102, Shiny = Shiny.Always }, // Sudowoodo - new(60,10,5) { Species = 185, Ability = A4, Moves = new(452, 444, 038, 389), Index = 102 }, // Sudowoodo - - new(17,01,1) { Species = 696, Ability = A4, Moves = new(246, 033, 525, 046), Index = 100 }, // Tyrunt - new(17,01,1) { Species = 564, Ability = A4, Moves = new(453, 414, 246, 044), Index = 100 }, // Tirtouga - new(17,01,1) { Species = 566, Ability = A4, Moves = new(017, 246, 225, 414), Index = 100 }, // Archen - new(17,01,1) { Species = 698, Ability = A4, Moves = new(181, 086, 246, 196), Index = 100 }, // Amaura - new(30,03,2) { Species = 696, Ability = A4, Moves = new(246, 523, 525, 044), Index = 100 }, // Tyrunt - new(30,03,2) { Species = 564, Ability = A4, Moves = new(453, 414, 246, 242), Index = 100 }, // Tirtouga - new(30,03,2) { Species = 566, Ability = A4, Moves = new(017, 246, 225, 414), Index = 100 }, // Archen - new(30,03,2) { Species = 698, Ability = A4, Moves = new(062, 086, 246, 196), Index = 100 }, // Amaura - new(40,05,3) { Species = 697, Ability = A4, Moves = new(444, 523, 337, 231), Index = 100 }, // Tyrantrum - new(40,05,3) { Species = 565, Ability = A4, Moves = new(453, 414, 246, 231), Index = 100 }, // Carracosta - new(40,05,3) { Species = 567, Ability = A4, Moves = new(403, 157, 337, 414), Index = 100 }, // Archeops - new(40,05,3) { Species = 699, Ability = A4, Moves = new(059, 086, 444, 304), Index = 100 }, // Aurorus - new(50,08,4) { Species = 697, Ability = A4, Moves = new(444, 089, 337, 231), Index = 100 }, // Tyrantrum - new(50,08,4) { Species = 565, Ability = A4, Moves = new(056, 414, 246, 231), Index = 100 }, // Carracosta - new(50,08,4) { Species = 567, Ability = A4, Moves = new(403, 444, 337, 414), Index = 100 }, // Archeops - new(50,08,4) { Species = 699, Ability = A4, Moves = new(059, 094, 444, 304), Index = 100 }, // Aurorus - new(60,10,5) { Species = 697, Ability = A4, Moves = new(457, 089, 406, 231), Index = 100, Shiny = Shiny.Always }, // Tyrantrum - new(60,10,5) { Species = 697, Ability = A4, Moves = new(444, 089, 406, 231), Index = 100 }, // Tyrantrum - new(60,10,5) { Species = 565, Ability = A4, Moves = new(056, 444, 089, 231), Index = 100 }, // Carracosta - new(60,10,5) { Species = 567, Ability = A4, Moves = new(403, 444, 406, 414), Index = 100 }, // Archeops - new(60,10,5) { Species = 699, Ability = A4, Moves = new(059, 573, 444, 304), Index = 100 }, // Aurorus - - new(50,08,4) { Species = 003, Ability = A4, Moves = new(572, 188, 414, 200), Index = 98, CanGigantamax = true }, // Venusaur - new(50,08,4) { Species = 006, Ability = A4, Moves = new(257, 076, 542, 406), Index = 98, CanGigantamax = true }, // Charizard - new(50,08,4) { Species = 009, Ability = A4, Moves = new(057, 059, 430, 089), Index = 98, CanGigantamax = true }, // Blastoise - new(80,10,5) { Species = 003, Ability = A4, Moves = new(572, 188, 414, 200), Index = 98, CanGigantamax = true }, // Venusaur - new(80,10,5) { Species = 006, Ability = A4, Moves = new(257, 076, 542, 406), Index = 98, CanGigantamax = true }, // Charizard - new(80,10,5) { Species = 009, Ability = A4, Moves = new(057, 059, 430, 089), Index = 98, CanGigantamax = true }, // Blastoise - - new(17,01,1) { Species = 129, Ability = A4, Moves = new(150, 033, 000, 000), Index = 95 }, // Magikarp - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 95 }, // Meowth - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 95 }, // Meowth - new(17,01,1) { Species = 438, Ability = A4, Moves = new(088, 383, 175, 313), Index = 95 }, // Bonsly - new(17,01,1) { Species = 554, Ability = A4, Moves = new(052, 044, 033, 526), Index = 95 }, // Darumaka - new(30,03,2) { Species = 129, Ability = A4, Moves = new(150, 033, 000, 000), Index = 95 }, // Magikarp - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 95 }, // Meowth - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 95 }, // Meowth - new(30,03,2) { Species = 438, Ability = A4, Moves = new(088, 317, 175, 313), Index = 95 }, // Bonsly - new(30,03,2) { Species = 554, Ability = A4, Moves = new(007, 044, 157, 029), Index = 95 }, // Darumaka - new(40,05,3) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 95 }, // Magikarp - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 95 }, // Meowth - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 95 }, // Meowth - new(40,05,3) { Species = 438, Ability = A4, Moves = new(317, 389, 157, 313), Index = 95 }, // Bonsly - new(40,05,3) { Species = 555, Ability = A4, Moves = new(359, 276, 157, 442), Index = 95 }, // Darmanitan - new(50,08,4) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 000), Index = 95 }, // Magikarp - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 95 }, // Meowth - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 95 }, // Meowth - new(50,08,4) { Species = 185, Ability = A4, Moves = new(452, 359, 157, 389), Index = 95 }, // Sudowoodo - new(50,08,4) { Species = 555, Ability = A4, Moves = new(394, 276, 157, 442), Index = 95 }, // Darmanitan - new(60,10,5) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 340), Index = 95, Shiny = Shiny.Always }, // Magikarp - new(60,10,5) { Species = 129, Ability = A4, Moves = new(150, 033, 175, 340), Index = 95 }, // Magikarp - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 95 }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 95 }, // Meowth - new(60,10,5) { Species = 185, Ability = A4, Moves = new(452, 444, 038, 389), Index = 95 }, // Sudowoodo - new(60,10,5) { Species = 555, Ability = A4, Moves = new(394, 276, 089, 442), Index = 95 }, // Darmanitan - - new(17,01,1) { Species = 225, Ability = A4, Moves = new(217, 065, 034, 372), Index = 93 }, // Delibird - new(17,01,1) { Species = 121, Ability = A4, Moves = new(057, 408, 055, 129), Index = 93 }, // Starmie - new(17,01,1) { Species = 615, Ability = A4, Moves = new(196, 020, 229, 420), Index = 93 }, // Cryogonal - new(30,03,2) { Species = 225, Ability = A4, Moves = new(217, 065, 034, 693), Index = 93 }, // Delibird - new(30,03,2) { Species = 121, Ability = A4, Moves = new(057, 408, 094, 129), Index = 93 }, // Starmie - new(30,03,2) { Species = 615, Ability = A4, Moves = new(400, 062, 229, 246), Index = 93 }, // Cryogonal - new(40,05,3) { Species = 225, Ability = A4, Moves = new(217, 065, 280, 196), Index = 93 }, // Delibird - new(40,05,3) { Species = 121, Ability = A4, Moves = new(056, 408, 094, 129), Index = 93 }, // Starmie - new(40,05,3) { Species = 615, Ability = A4, Moves = new(400, 062, 573, 246), Index = 93 }, // Cryogonal - new(50,08,4) { Species = 225, Ability = A4, Moves = new(217, 059, 034, 280), Index = 93 }, // Delibird - new(50,08,4) { Species = 121, Ability = A4, Moves = new(056, 408, 094, 605), Index = 93 }, // Starmie - new(50,08,4) { Species = 615, Ability = A4, Moves = new(400, 058, 573, 430), Index = 93 }, // Cryogonal - new(60,10,5) { Species = 225, Ability = A4, Moves = new(217, 059, 065, 280), Index = 93, Shiny = Shiny.Always }, // Delibird - new(60,10,5) { Species = 225, Ability = A4, Moves = new(217, 059, 065, 280), Index = 93 }, // Delibird - new(60,10,5) { Species = 121, Ability = A4, Moves = new(056, 800, 094, 605), Index = 93 }, // Starmie - new(60,10,5) { Species = 615, Ability = A4, Moves = new(400, 329, 573, 430), Index = 93 }, // Cryogonal - - new(17,01,1) { Species = 133, Ability = A4, Moves = new(033, 098, 039, 608), Index = 91 }, // Eevee - new(30,03,2) { Species = 133, Ability = A4, Moves = new(129, 098, 039, 608), Index = 91 }, // Eevee - new(40,05,3) { Species = 133, Ability = A4, Moves = new(129, 098, 231, 608), Index = 91 }, // Eevee - new(40,05,3) { Species = 134, Ability = A4, Moves = new(352, 058, 330, 304), Index = 91 }, // Vaporeon - new(40,05,3) { Species = 135, Ability = A4, Moves = new(422, 086, 247, 129), Index = 91 }, // Jolteon - new(40,05,3) { Species = 136, Ability = A4, Moves = new(436, 098, 276, 044), Index = 91 }, // Flareon - new(40,05,3) { Species = 196, Ability = A4, Moves = new(060, 605, 231, 098), Index = 91 }, // Espeon - new(40,05,3) { Species = 197, Ability = A4, Moves = new(555, 044, 247, 098), Index = 91 }, // Umbreon - new(40,05,3) { Species = 470, Ability = A4, Moves = new(202, 098, 073, 231), Index = 91 }, // Leafeon - new(40,05,3) { Species = 471, Ability = A4, Moves = new(573, 059, 247, 129), Index = 91 }, // Glaceon - new(40,05,3) { Species = 700, Ability = A4, Moves = new(574, 595, 129, 605), Index = 91 }, // Sylveon - new(50,08,4) { Species = 133, Ability = A4, Moves = new(129, 500, 231, 204), Index = 91 }, // Eevee - new(50,08,4) { Species = 134, Ability = A4, Moves = new(056, 058, 330, 304), Index = 91 }, // Vaporeon - new(50,08,4) { Species = 135, Ability = A4, Moves = new(087, 086, 247, 129), Index = 91 }, // Jolteon - new(50,08,4) { Species = 136, Ability = A4, Moves = new(394, 098, 276, 044), Index = 91 }, // Flareon - new(50,08,4) { Species = 196, Ability = A4, Moves = new(094, 605, 231, 098), Index = 91 }, // Espeon - new(50,08,4) { Species = 197, Ability = A4, Moves = new(555, 492, 247, 098), Index = 91 }, // Umbreon - new(50,08,4) { Species = 470, Ability = A4, Moves = new(348, 098, 073, 231), Index = 91 }, // Leafeon - new(50,08,4) { Species = 471, Ability = A4, Moves = new(573, 059, 247, 311), Index = 91 }, // Glaceon - new(50,08,4) { Species = 700, Ability = A4, Moves = new(585, 595, 129, 605), Index = 91 }, // Sylveon - new(60,10,5) { Species = 133, Ability = A4, Moves = new(387, 500, 231, 204), Index = 91, Shiny = Shiny.Always }, // Eevee - new(60,10,5) { Species = 134, Ability = A4, Moves = new(056, 058, 503, 304), Index = 91 }, // Vaporeon - new(60,10,5) { Species = 135, Ability = A4, Moves = new(087, 085, 247, 129), Index = 91 }, // Jolteon - new(60,10,5) { Species = 136, Ability = A4, Moves = new(394, 231, 276, 044), Index = 91 }, // Flareon - new(60,10,5) { Species = 196, Ability = A4, Moves = new(094, 605, 231, 129), Index = 91 }, // Espeon - new(60,10,5) { Species = 197, Ability = A4, Moves = new(555, 492, 247, 304), Index = 91 }, // Umbreon - new(60,10,5) { Species = 470, Ability = A4, Moves = new(348, 311, 073, 231), Index = 91 }, // Leafeon - new(60,10,5) { Species = 471, Ability = A4, Moves = new(573, 059, 247, 304), Index = 91 }, // Glaceon - new(60,10,5) { Species = 700, Ability = A4, Moves = new(585, 595, 304, 605), Index = 91 }, // Sylveon - new(60,10,5) { Species = 133, Ability = A4, Moves = new(387, 500, 231, 204), Index = 91, CanGigantamax = true }, // Eevee - - new(17,01,1) { Species = 570, Ability = A4, Moves = new(468, 247, 010, 043), Index = 89 }, // Zorua - new(17,01,1) { Species = 302, Ability = A4, Moves = new(252, 010, 425, 555), Index = 89 }, // Sableye - new(17,01,1) { Species = 355, Ability = A4, Moves = new(310, 425, 043, 506), Index = 89 }, // Duskull - new(17,01,1) { Species = 821, Ability = A4, Moves = new(403, 031, 043, 681), Index = 89 }, // Rookidee - new(17,01,1) { Species = 827, Ability = A4, Moves = new(555, 098, 251, 468), Index = 89 }, // Nickit - new(30,03,2) { Species = 571, Ability = A4, Moves = new(400, 247, 279, 304), Index = 89 }, // Zoroark - new(30,03,2) { Species = 302, Ability = A4, Moves = new(252, 094, 425, 555), Index = 89 }, // Sableye - new(30,03,2) { Species = 355, Ability = A4, Moves = new(310, 425, 371, 506), Index = 89 }, // Duskull - new(30,03,2) { Species = 822, Ability = A4, Moves = new(403, 263, 279, 681), Index = 89 }, // Corvisquire - new(30,03,2) { Species = 828, Ability = A4, Moves = new(555, 098, 251, 583), Index = 89 }, // Thievul - new(40,05,3) { Species = 571, Ability = A4, Moves = new(400, 247, 411, 304), Index = 89 }, // Zoroark - new(40,05,3) { Species = 302, Ability = A4, Moves = new(252, 261, 247, 555), Index = 89 }, // Sableye - new(40,05,3) { Species = 477, Ability = A4, Moves = new(247, 009, 371, 157), Index = 89 }, // Dusknoir - new(40,05,3) { Species = 823, Ability = A4, Moves = new(403, 442, 034, 681), Index = 89 }, // Corviknight - new(40,05,3) { Species = 828, Ability = A4, Moves = new(555, 098, 094, 583), Index = 89 }, // Thievul - new(50,08,4) { Species = 571, Ability = A4, Moves = new(539, 247, 411, 304), Index = 89 }, // Zoroark - new(50,08,4) { Species = 302, Ability = A4, Moves = new(605, 261, 247, 555), Index = 89 }, // Sableye - new(50,08,4) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 157), Index = 89 }, // Dusknoir - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 89 }, // Corviknight - new(50,08,4) { Species = 828, Ability = A4, Moves = new(555, 341, 094, 583), Index = 89 }, // Thievul - new(60,10,5) { Species = 571, Ability = A4, Moves = new(539, 247, 411, 492), Index = 89, Shiny = Shiny.Always }, // Zoroark - new(60,10,5) { Species = 571, Ability = A4, Moves = new(539, 247, 411, 492), Index = 89 }, // Zoroark - new(60,10,5) { Species = 302, Ability = A4, Moves = new(605, 261, 247, 492), Index = 89 }, // Sableye - new(60,10,5) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 089), Index = 89 }, // Dusknoir - new(60,10,5) { Species = 823, Ability = A4, Moves = new(413, 442, 776, 372), Index = 89 }, // Corviknight - new(60,10,5) { Species = 828, Ability = A4, Moves = new(555, 492, 094, 583), Index = 89 }, // Thievul - - new(17,01,1) { Species = 722, Ability = A4, Moves = new(064, 075, 389, 129), Index = 87 }, // Rowlet - new(17,01,1) { Species = 725, Ability = A4, Moves = new(052, 006, 044, 421), Index = 87 }, // Litten - new(17,01,1) { Species = 728, Ability = A4, Moves = new(574, 001, 453, 196), Index = 87 }, // Popplio - new(30,03,2) { Species = 722, Ability = A4, Moves = new(064, 348, 389, 129), Index = 87 }, // Rowlet - new(30,03,2) { Species = 725, Ability = A4, Moves = new(053, 006, 044, 421), Index = 87 }, // Litten - new(30,03,2) { Species = 728, Ability = A4, Moves = new(574, 061, 453, 196), Index = 87 }, // Popplio - new(40,05,3) { Species = 722, Ability = A4, Moves = new(413, 348, 389, 129), Index = 87 }, // Rowlet - new(40,05,3) { Species = 725, Ability = A4, Moves = new(394, 006, 044, 421), Index = 87 }, // Litten - new(40,05,3) { Species = 728, Ability = A4, Moves = new(585, 056, 453, 196), Index = 87 }, // Popplio - new(50,08,4) { Species = 722, Ability = A4, Moves = new(413, 348, 389, 412), Index = 87 }, // Rowlet - new(50,08,4) { Species = 725, Ability = A4, Moves = new(394, 006, 279, 421), Index = 87 }, // Litten - new(50,08,4) { Species = 728, Ability = A4, Moves = new(585, 056, 453, 059), Index = 87 }, // Popplio - new(60,10,5) { Species = 722, Ability = A4, Moves = new(413, 348, 421, 412), Index = 87 }, // Rowlet - new(60,10,5) { Species = 725, Ability = A4, Moves = new(394, 006, 279, 242), Index = 87 }, // Litten - new(60,10,5) { Species = 728, Ability = A4, Moves = new(585, 056, 453, 058), Index = 87 }, // Popplio - - new(17,01,1) { Species = 337, Ability = A4, Moves = new(585, 033, 093, 088), Index = 85 }, // Lunatone - new(17,01,1) { Species = 338, Ability = A4, Moves = new(394, 033, 093, 088), Index = 85 }, // Solrock - new(30,03,2) { Species = 337, Ability = A4, Moves = new(585, 129, 094, 088), Index = 85 }, // Lunatone - new(30,03,2) { Species = 338, Ability = A4, Moves = new(394, 129, 094, 088), Index = 85 }, // Solrock - new(40,05,3) { Species = 337, Ability = A4, Moves = new(585, 129, 094, 157), Index = 85 }, // Lunatone - new(40,05,3) { Species = 338, Ability = A4, Moves = new(394, 129, 094, 157), Index = 85 }, // Solrock - new(50,08,4) { Species = 337, Ability = A4, Moves = new(585, 058, 094, 157), Index = 85 }, // Lunatone - new(50,08,4) { Species = 338, Ability = A4, Moves = new(394, 076, 094, 157), Index = 85 }, // Solrock - new(60,10,5) { Species = 337, Ability = A4, Moves = new(585, 058, 094, 444), Index = 85, Shiny = Shiny.Always }, // Lunatone - new(60,10,5) { Species = 337, Ability = A4, Moves = new(585, 058, 094, 444), Index = 85 }, // Lunatone - new(60,10,5) { Species = 338, Ability = A4, Moves = new(394, 076, 094, 444), Index = 85, Shiny = Shiny.Always }, // Solrock - new(60,10,5) { Species = 338, Ability = A4, Moves = new(394, 076, 094, 444), Index = 85 }, // Solrock - - new(17,01,1) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 001), Index = 83 }, // Cinccino - new(17,01,1) { Species = 333, Ability = A4, Moves = new(574, 064, 257, 031), Index = 83 }, // Swablu - new(17,01,1) { Species = 479, Ability = A4, Moves = new(437, 104, 310, 084), Index = 83, Form = 5 }, // Rotom-5 - new(17,01,1) { Species = 767, Ability = A4, Moves = new(522, 057, 111, 028), Index = 83 }, // Wimpod - new(30,03,2) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 583), Index = 83 }, // Cinccino - new(30,03,2) { Species = 333, Ability = A4, Moves = new(583, 225, 257, 058), Index = 83 }, // Swablu - new(30,03,2) { Species = 479, Ability = A4, Moves = new(437, 399, 310, 084), Index = 83, Form = 5 }, // Rotom-5 - new(30,03,2) { Species = 767, Ability = A4, Moves = new(522, 057, 111, 028), Index = 83 }, // Wimpod - new(40,05,3) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 441), Index = 83 }, // Cinccino - new(40,05,3) { Species = 334, Ability = A4, Moves = new(583, 784, 083, 058), Index = 83 }, // Altaria - new(40,05,3) { Species = 479, Ability = A4, Moves = new(437, 399, 506, 351), Index = 83, Form = 5 }, // Rotom-5 - new(40,05,3) { Species = 767, Ability = A4, Moves = new(522, 057, 372, 028), Index = 83 }, // Wimpod - new(50,08,4) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 086), Index = 83 }, // Cinccino - new(50,08,4) { Species = 334, Ability = A4, Moves = new(585, 784, 083, 058), Index = 83 }, // Altaria - new(50,08,4) { Species = 479, Ability = A4, Moves = new(437, 399, 247, 085), Index = 83, Form = 5 }, // Rotom-5 - new(50,08,4) { Species = 767, Ability = A4, Moves = new(522, 057, 372, 341), Index = 83 }, // Wimpod - new(60,10,5) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 813), Index = 83, Shiny = Shiny.Always }, // Cinccino - new(60,10,5) { Species = 573, Ability = A4, Moves = new(350, 541, 331, 813), Index = 83 }, // Cinccino - new(60,10,5) { Species = 334, Ability = A4, Moves = new(585, 784, 542, 058), Index = 83 }, // Altaria - new(60,10,5) { Species = 479, Ability = A4, Moves = new(437, 399, 261, 085), Index = 83, Form = 5 }, // Rotom-5 - new(60,10,5) { Species = 767, Ability = A4, Moves = new(806, 057, 372, 341), Index = 83 }, // Wimpod - - new(17,01,1) { Species = 092, Ability = A4, Moves = new(122, 605, 474, 009), Index = 81 }, // Gastly - new(17,01,1) { Species = 607, Ability = A4, Moves = new(052, 506, 123, 109), Index = 81 }, // Litwick - new(17,01,1) { Species = 425, Ability = A4, Moves = new(310, 016, 107, 506), Index = 81 }, // Drifloon - new(30,03,2) { Species = 093, Ability = A4, Moves = new(325, 605, 474, 009), Index = 81 }, // Haunter - new(30,03,2) { Species = 607, Ability = A4, Moves = new(083, 506, 123, 261), Index = 81 }, // Litwick - new(30,03,2) { Species = 426, Ability = A4, Moves = new(668, 016, 261, 506), Index = 81 }, // Drifblim - new(40,05,3) { Species = 094, Ability = A4, Moves = new(325, 605, 474, 087), Index = 81 }, // Gengar - new(40,05,3) { Species = 607, Ability = A4, Moves = new(517, 247, 123, 094), Index = 81 }, // Litwick - new(40,05,3) { Species = 426, Ability = A4, Moves = new(668, 086, 261, 506), Index = 81 }, // Drifblim - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 605, 482, 087), Index = 81 }, // Gengar - new(50,08,4) { Species = 609, Ability = A4, Moves = new(315, 247, 123, 094), Index = 81 }, // Chandelure - new(50,08,4) { Species = 426, Ability = A4, Moves = new(668, 086, 261, 247), Index = 81 }, // Drifblim - new(60,10,5) { Species = 094, Ability = A4, Moves = new(247, 605, 482, 261), Index = 81, CanGigantamax = true }, // Gengar - new(60,10,5) { Species = 094, Ability = A4, Moves = new(247, 605, 482, 261), Index = 81 }, // Gengar - new(60,10,5) { Species = 609, Ability = A4, Moves = new(315, 247, 399, 094), Index = 81, Shiny = Shiny.Always }, // Chandelure - new(60,10,5) { Species = 609, Ability = A4, Moves = new(315, 247, 399, 094), Index = 81 }, // Chandelure - new(60,10,5) { Species = 426, Ability = A4, Moves = new(668, 371, 261, 247), Index = 81 }, // Drifblim - - new(17,01,1) { Species = 582, Ability = A4, Moves = new(419, 106, 263, 310), Index = 79 }, // Vanillite - new(17,01,1) { Species = 118, Ability = A4, Moves = new(030, 039, 352, 064), Index = 79 }, // Goldeen - new(17,01,1) { Species = 127, Ability = A4, Moves = new(458, 693, 157, 069), Index = 79 }, // Pinsir - new(17,01,1) { Species = 214, Ability = A4, Moves = new(280, 031, 089, 332), Index = 79 }, // Heracross - new(17,01,1) { Species = 290, Ability = A4, Moves = new(189, 206, 028, 010), Index = 79 }, // Nincada - new(17,01,1) { Species = 479, Ability = A4, Moves = new(403, 084, 310, 104), Index = 79, Form = 4 }, // Rotom-4 - new(30,03,2) { Species = 582, Ability = A4, Moves = new(419, 430, 263, 310), Index = 79 }, // Vanillite - new(30,03,2) { Species = 118, Ability = A4, Moves = new(030, 398, 352, 064), Index = 79 }, // Goldeen - new(30,03,2) { Species = 127, Ability = A4, Moves = new(458, 675, 157, 069), Index = 79 }, // Pinsir - new(30,03,2) { Species = 214, Ability = A4, Moves = new(280, 030, 089, 332), Index = 79 }, // Heracross - new(30,03,2) { Species = 291, Ability = A4, Moves = new(232, 210, 403, 010), Index = 79 }, // Ninjask - new(30,03,2) { Species = 479, Ability = A4, Moves = new(403, 351, 310, 104), Index = 79, Form = 4 }, // Rotom-4 - new(40,05,3) { Species = 583, Ability = A4, Moves = new(419, 430, 304, 310), Index = 79 }, // Vanillish - new(40,05,3) { Species = 119, Ability = A4, Moves = new(030, 224, 352, 529), Index = 79 }, // Seaking - new(40,05,3) { Species = 127, Ability = A4, Moves = new(404, 675, 157, 280), Index = 79 }, // Pinsir - new(40,05,3) { Species = 214, Ability = A4, Moves = new(280, 042, 089, 157), Index = 79 }, // Heracross - new(40,05,3) { Species = 291, Ability = A4, Moves = new(232, 210, 403, 104), Index = 79 }, // Ninjask - new(40,05,3) { Species = 479, Ability = A4, Moves = new(403, 085, 310, 399), Index = 79, Form = 4 }, // Rotom-4 - new(50,08,4) { Species = 584, Ability = A4, Moves = new(573, 430, 304, 058), Index = 79 }, // Vanilluxe - new(50,08,4) { Species = 119, Ability = A4, Moves = new(030, 224, 503, 529), Index = 79 }, // Seaking - new(50,08,4) { Species = 127, Ability = A4, Moves = new(404, 675, 157, 276), Index = 79 }, // Pinsir - new(50,08,4) { Species = 214, Ability = A4, Moves = new(280, 331, 089, 157), Index = 79 }, // Heracross - new(50,08,4) { Species = 291, Ability = A4, Moves = new(232, 210, 403, 163), Index = 79 }, // Ninjask - new(50,08,4) { Species = 479, Ability = A4, Moves = new(403, 085, 506, 399), Index = 79, Form = 4 }, // Rotom-4 - new(60,10,5) { Species = 584, Ability = A4, Moves = new(573, 430, 304, 059), Index = 79, Shiny = Shiny.Always }, // Vanilluxe - new(60,10,5) { Species = 119, Ability = A4, Moves = new(032, 224, 503, 529), Index = 79 }, // Seaking - new(60,10,5) { Species = 127, Ability = A4, Moves = new(404, 675, 317, 276), Index = 79 }, // Pinsir - new(60,10,5) { Species = 214, Ability = A4, Moves = new(370, 331, 089, 157), Index = 79 }, // Heracross - new(60,10,5) { Species = 291, Ability = A4, Moves = new(232, 404, 403, 163), Index = 79 }, // Ninjask - new(60,10,5) { Species = 479, Ability = A4, Moves = new(403, 085, 247, 399), Index = 79, Form = 4 }, // Rotom-4 - - new(17,01,1) { Species = 138, Ability = A4, Moves = new(055, 028, 205, 020), Index = 77 }, // Omanyte - new(17,01,1) { Species = 140, Ability = A4, Moves = new(453, 028, 263, 010), Index = 77 }, // Kabuto - new(17,01,1) { Species = 142, Ability = A4, Moves = new(246, 414, 044, 017), Index = 77 }, // Aerodactyl - new(30,03,2) { Species = 138, Ability = A4, Moves = new(055, 341, 246, 020), Index = 77 }, // Omanyte - new(30,03,2) { Species = 140, Ability = A4, Moves = new(453, 246, 263, 058), Index = 77 }, // Kabuto - new(30,03,2) { Species = 142, Ability = A4, Moves = new(157, 414, 242, 017), Index = 77 }, // Aerodactyl - new(40,05,3) { Species = 138, Ability = A4, Moves = new(362, 414, 246, 196), Index = 77 }, // Omanyte - new(40,05,3) { Species = 140, Ability = A4, Moves = new(362, 246, 263, 059), Index = 77 }, // Kabuto - new(40,05,3) { Species = 142, Ability = A4, Moves = new(157, 414, 422, 017), Index = 77 }, // Aerodactyl - new(50,08,4) { Species = 138, Ability = A4, Moves = new(057, 414, 246, 058), Index = 77 }, // Omanyte - new(50,08,4) { Species = 140, Ability = A4, Moves = new(710, 246, 141, 059), Index = 77 }, // Kabuto - new(50,08,4) { Species = 142, Ability = A4, Moves = new(444, 414, 422, 542), Index = 77 }, // Aerodactyl - new(60,10,5) { Species = 138, Ability = A4, Moves = new(056, 414, 246, 058), Index = 77, Shiny = Shiny.Always }, // Omanyte - new(60,10,5) { Species = 138, Ability = A4, Moves = new(056, 414, 246, 058), Index = 77 }, // Omanyte - new(60,10,5) { Species = 140, Ability = A4, Moves = new(710, 444, 141, 059), Index = 77 }, // Kabuto - new(60,10,5) { Species = 142, Ability = A4, Moves = new(444, 089, 422, 542), Index = 77 }, // Aerodactyl - - new(17,01,1) { Species = 878, Ability = A4, Moves = new(523, 249, 033, 045), Index = 75 }, // Cufant - new(17,01,1) { Species = 109, Ability = A4, Moves = new(188, 372, 139, 108), Index = 75 }, // Koffing - new(17,01,1) { Species = 202, Ability = A4, Moves = new(243, 227, 068, 204), Index = 75 }, // Wobbuffet - new(17,01,1) { Species = 868, Ability = A4, Moves = new(033, 186, 577, 496), Index = 75 }, // Milcery - new(17,01,1) { Species = 004, Ability = A4, Moves = new(052, 225, 010, 108), Index = 75 }, // Charmander - new(30,03,2) { Species = 878, Ability = A4, Moves = new(523, 249, 023, 045), Index = 75 }, // Cufant - new(30,03,2) { Species = 109, Ability = A4, Moves = new(188, 372, 123, 108), Index = 75 }, // Koffing - new(30,03,2) { Species = 202, Ability = A4, Moves = new(243, 227, 068, 204), Index = 75 }, // Wobbuffet - new(30,03,2) { Species = 868, Ability = A4, Moves = new(577, 186, 263, 500), Index = 75 }, // Milcery - new(30,03,2) { Species = 005, Ability = A4, Moves = new(225, 512, 242, 053), Index = 75 }, // Charmeleon - new(40,05,3) { Species = 879, Ability = A4, Moves = new(484, 583, 070, 249), Index = 75, CanGigantamax = true }, // Copperajah - new(40,05,3) { Species = 109, Ability = A4, Moves = new(482, 372, 053, 085), Index = 75 }, // Koffing - new(40,05,3) { Species = 202, Ability = A4, Moves = new(243, 227, 068, 204), Index = 75 }, // Wobbuffet - new(40,05,3) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 213), Index = 75 }, // Milcery - new(40,05,3) { Species = 006, Ability = A4, Moves = new(337, 403, 280, 257), Index = 75, CanGigantamax = true }, // Charizard - new(50,08,4) { Species = 879, Ability = A4, Moves = new(484, 583, 070, 438), Index = 75, CanGigantamax = true }, // Copperajah - new(50,08,4) { Species = 109, Ability = A4, Moves = new(482, 399, 053, 085), Index = 75 }, // Koffing - new(50,08,4) { Species = 202, Ability = A4, Moves = new(243, 227, 068, 204), Index = 75 }, // Wobbuffet - new(50,08,4) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 75 }, // Milcery - new(50,08,4) { Species = 006, Ability = A4, Moves = new(337, 403, 411, 257), Index = 75, CanGigantamax = true }, // Charizard - new(60,10,5) { Species = 879, Ability = A4, Moves = new(484, 583, 089, 438), Index = 75, CanGigantamax = true, Shiny = Shiny.Always }, // Copperajah - new(60,10,5) { Species = 879, Ability = A4, Moves = new(484, 583, 089, 438), Index = 75, CanGigantamax = true }, // Copperajah - new(60,10,5) { Species = 109, Ability = A4, Moves = new(482, 399, 053, 087), Index = 75 }, // Koffing - new(60,10,5) { Species = 202, Ability = A4, Moves = new(243, 227, 068, 204), Index = 75 }, // Wobbuffet - new(60,10,5) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 75 }, // Milcery - new(60,10,5) { Species = 006, Ability = A4, Moves = new(406, 403, 411, 257), Index = 75, CanGigantamax = true }, // Charizard - - new(17,01,1) { Species = 852, Ability = A4, Moves = new(371, 249, 362, 364), Index = 73 }, // Clobbopus - new(17,01,1) { Species = 223, Ability = A4, Moves = new(055, 062, 060, 129), Index = 73 }, // Remoraid - new(17,01,1) { Species = 686, Ability = A4, Moves = new(371, 060, 035, 095), Index = 73 }, // Inkay - new(30,03,2) { Species = 852, Ability = A4, Moves = new(371, 066, 362, 364), Index = 73 }, // Clobbopus - new(30,03,2) { Species = 223, Ability = A4, Moves = new(061, 062, 060, 129), Index = 73 }, // Remoraid - new(30,03,2) { Species = 686, Ability = A4, Moves = new(400, 060, 035, 095), Index = 73 }, // Inkay - new(40,05,3) { Species = 853, Ability = A4, Moves = new(693, 276, 190, 034), Index = 73 }, // Grapploct - new(40,05,3) { Species = 224, Ability = A4, Moves = new(503, 058, 086, 129), Index = 73 }, // Octillery - new(40,05,3) { Species = 687, Ability = A4, Moves = new(492, 060, 035, 095), Index = 73 }, // Malamar - new(50,08,4) { Species = 853, Ability = A4, Moves = new(576, 276, 008, 034), Index = 73 }, // Grapploct - new(50,08,4) { Species = 224, Ability = A4, Moves = new(056, 058, 086, 129), Index = 73 }, // Octillery - new(50,08,4) { Species = 687, Ability = A4, Moves = new(492, 427, 163, 085), Index = 73 }, // Malamar - new(60,10,5) { Species = 853, Ability = A4, Moves = new(576, 276, 008, 707), Index = 73, Shiny = Shiny.Always }, // Grapploct - new(60,10,5) { Species = 853, Ability = A4, Moves = new(576, 276, 008, 707), Index = 73 }, // Grapploct - new(60,10,5) { Species = 224, Ability = A4, Moves = new(056, 058, 086, 053), Index = 73 }, // Octillery - new(60,10,5) { Species = 687, Ability = A4, Moves = new(492, 094, 157, 085), Index = 73 }, // Malamar - - new(17,01,1) { Species = 002, Ability = A4, Moves = new(075, 077, 033, 079), Index = 71 }, // Ivysaur - new(17,01,1) { Species = 060, Ability = A4, Moves = new(055, 095, 001, 341), Index = 71 }, // Poliwag - new(17,01,1) { Species = 453, Ability = A4, Moves = new(040, 279, 189, 372), Index = 71 }, // Croagunk - new(17,01,1) { Species = 535, Ability = A4, Moves = new(497, 341, 045, 051), Index = 71 }, // Tympole - new(30,03,2) { Species = 002, Ability = A4, Moves = new(402, 077, 033, 036), Index = 71 }, // Ivysaur - new(30,03,2) { Species = 061, Ability = A4, Moves = new(061, 095, 001, 341), Index = 71 }, // Poliwhirl - new(30,03,2) { Species = 453, Ability = A4, Moves = new(474, 279, 189, 372), Index = 71 }, // Croagunk - new(30,03,2) { Species = 536, Ability = A4, Moves = new(061, 341, 175, 051), Index = 71 }, // Palpitoad - new(40,05,3) { Species = 003, Ability = A4, Moves = new(402, 188, 414, 036), Index = 71 }, // Venusaur - new(40,05,3) { Species = 186, Ability = A4, Moves = new(056, 411, 034, 341), Index = 71 }, // Politoed - new(40,05,3) { Species = 453, Ability = A4, Moves = new(092, 279, 404, 372), Index = 71 }, // Croagunk - new(40,05,3) { Species = 537, Ability = A4, Moves = new(503, 341, 438, 051), Index = 71 }, // Seismitoad - new(50,08,4) { Species = 003, Ability = A4, Moves = new(438, 188, 414, 036), Index = 71 }, // Venusaur - new(50,08,4) { Species = 186, Ability = A4, Moves = new(056, 411, 034, 414), Index = 71 }, // Politoed - new(50,08,4) { Species = 453, Ability = A4, Moves = new(188, 067, 404, 372), Index = 71 }, // Croagunk - new(50,08,4) { Species = 537, Ability = A4, Moves = new(503, 341, 438, 398), Index = 71 }, // Seismitoad - new(60,10,5) { Species = 003, Ability = A4, Moves = new(438, 188, 414, 034), Index = 71, CanGigantamax = true }, // Venusaur - new(60,10,5) { Species = 003, Ability = A4, Moves = new(438, 188, 414, 034), Index = 71 }, // Venusaur - new(60,10,5) { Species = 186, Ability = A4, Moves = new(056, 311, 034, 414), Index = 71, Shiny = Shiny.Always }, // Politoed - new(60,10,5) { Species = 186, Ability = A4, Moves = new(056, 311, 034, 414), Index = 71 }, // Politoed - new(60,10,5) { Species = 453, Ability = A4, Moves = new(188, 067, 404, 247), Index = 71 }, // Croagunk - new(60,10,5) { Species = 537, Ability = A4, Moves = new(503, 089, 438, 398), Index = 71 }, // Seismitoad - - new(17,01,1) { Species = 831, Ability = A4, Moves = new(029, 024, 045, 033), Index = 69 }, // Wooloo - new(30,03,2) { Species = 831, Ability = A4, Moves = new(029, 024, 528, 033), Index = 69 }, // Wooloo - new(30,03,2) { Species = 832, Ability = A4, Moves = new(036, 024, 528, 371), Index = 69 }, // Dubwool - new(40,05,3) { Species = 831, Ability = A4, Moves = new(029, 179, 528, 024), Index = 69 }, // Wooloo - new(40,05,3) { Species = 832, Ability = A4, Moves = new(036, 179, 528, 371), Index = 69 }, // Dubwool - new(50,08,4) { Species = 831, Ability = A4, Moves = new(029, 179, 528, 371), Index = 69 }, // Wooloo - new(50,08,4) { Species = 832, Ability = A4, Moves = new(036, 179, 528, 024), Index = 69 }, // Dubwool - new(60,10,5) { Species = 831, Ability = A4, Moves = new(038, 179, 086, 371), Index = 69, Shiny = Shiny.Always }, // Wooloo - new(60,10,5) { Species = 831, Ability = A4, Moves = new(038, 179, 086, 371), Index = 69 }, // Wooloo - new(60,10,5) { Species = 832, Ability = A4, Moves = new(776, 038, 086, 371), Index = 69 }, // Dubwool - - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2 }, // Meowth-2 - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 583, 196, 675), Index = 67, Form = 1 }, // Meowth-1 - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 67 }, // Meowth - new(17,01,1) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 67 }, // Meowth - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2 }, // Meowth-2 - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 583, 196, 675), Index = 67, Form = 1 }, // Meowth-1 - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 67 }, // Meowth - new(30,03,2) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 67 }, // Meowth - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2 }, // Meowth-2 - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 583, 196, 675), Index = 67, Form = 1 }, // Meowth-1 - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 67 }, // Meowth - new(40,05,3) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 67 }, // Meowth - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2 }, // Meowth-2 - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 583, 196, 675), Index = 67, Form = 1 }, // Meowth-1 - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 67 }, // Meowth - new(50,08,4) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 67 }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2, Shiny = Shiny.Always }, // Meowth-2 - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 232, 442, 583), Index = 67, Form = 2 }, // Meowth-2 - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 583, 196, 675), Index = 67, Form = 1 }, // Meowth-1 - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 492, 402, 247), Index = 67 }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 441, 087, 231), Index = 67 }, // Meowth - new(60,10,5) { Species = 052, Ability = A4, Moves = new(006, 583, 421, 034), Index = 67, CanGigantamax = true }, // Meowth - - new(17,01,1) { Species = 875, Ability = A4, Moves = new(181, 362, 033, 311), Index = 65 }, // Eiscue - new(30,03,2) { Species = 875, Ability = A4, Moves = new(196, 362, 033, 029), Index = 65 }, // Eiscue - new(40,05,3) { Species = 875, Ability = A4, Moves = new(008, 057, 263, 029), Index = 65 }, // Eiscue - new(50,08,4) { Species = 875, Ability = A4, Moves = new(333, 057, 428, 029), Index = 65 }, // Eiscue - new(60,10,5) { Species = 875, Ability = A4, Moves = new(333, 710, 442, 029), Index = 65, Shiny = Shiny.Always }, // Eiscue - new(60,10,5) { Species = 875, Ability = A4, Moves = new(333, 710, 442, 029), Index = 65 }, // Eiscue - - new(17,01,1) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 64 }, // Ditto - new(17,01,1) { Species = 821, Ability = A4, Moves = new(403, 031, 043, 681), Index = 64 }, // Rookidee - new(17,01,1) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 240), Index = 64 }, // Chewtle - new(17,01,1) { Species = 824, Ability = A4, Moves = new(522, 000, 000, 000), Index = 64 }, // Blipbug - new(17,01,1) { Species = 850, Ability = A4, Moves = new(172, 044, 035, 052), Index = 64 }, // Sizzlipede - new(17,01,1) { Species = 831, Ability = A4, Moves = new(033, 024, 029, 045), Index = 64 }, // Wooloo - new(30,03,2) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 64 }, // Ditto - new(30,03,2) { Species = 822, Ability = A4, Moves = new(403, 263, 279, 681), Index = 64 }, // Corvisquire - new(30,03,2) { Species = 833, Ability = A4, Moves = new(055, 033, 044, 029), Index = 64 }, // Chewtle - new(30,03,2) { Species = 825, Ability = A4, Moves = new(522, 263, 371, 247), Index = 64 }, // Dottler - new(30,03,2) { Species = 850, Ability = A4, Moves = new(172, 044, 035, 052), Index = 64 }, // Sizzlipede - new(30,03,2) { Species = 831, Ability = A4, Moves = new(036, 024, 029, 086), Index = 64 }, // Wooloo - new(40,05,3) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 64 }, // Ditto - new(40,05,3) { Species = 823, Ability = A4, Moves = new(403, 442, 034, 681), Index = 64 }, // Corviknight - new(40,05,3) { Species = 834, Ability = A4, Moves = new(157, 534, 317, 055), Index = 64 }, // Drednaw - new(40,05,3) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 247), Index = 64 }, // Orbeetle - new(40,05,3) { Species = 851, Ability = A4, Moves = new(424, 404, 422, 044), Index = 64 }, // Centiskorch - new(40,05,3) { Species = 832, Ability = A4, Moves = new(036, 024, 428, 086), Index = 64 }, // Dubwool - new(50,08,4) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 64 }, // Ditto - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 64 }, // Corviknight - new(50,08,4) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 64 }, // Drednaw - new(50,08,4) { Species = 826, Ability = A4, Moves = new(405, 277, 776, 247), Index = 64 }, // Orbeetle - new(50,08,4) { Species = 851, Ability = A4, Moves = new(680, 404, 422, 044), Index = 64 }, // Centiskorch - new(50,08,4) { Species = 832, Ability = A4, Moves = new(038, 024, 428, 086), Index = 64 }, // Dubwool - new(60,10,5) { Species = 132, Ability = A4, Moves = new(144, 000, 000, 000), Index = 64 }, // Ditto - new(60,10,5) { Species = 823, Ability = A4, Moves = new(413, 442, 776, 372), Index = 64 }, // Corviknight - new(60,10,5) { Species = 834, Ability = A4, Moves = new(157, 710, 317, 334), Index = 64 }, // Drednaw - new(60,10,5) { Species = 826, Ability = A4, Moves = new(405, 277, 776, 412), Index = 64 }, // Orbeetle - new(60,10,5) { Species = 851, Ability = A4, Moves = new(680, 679, 422, 044), Index = 64 }, // Centiskorch - new(60,10,5) { Species = 832, Ability = A4, Moves = new(038, 776, 428, 086), Index = 64 }, // Dubwool - - new(17,01,1) { Species = 183, Ability = A4, Moves = new(061, 204, 111, 205), Index = 63 }, // Marill - new(17,01,1) { Species = 427, Ability = A4, Moves = new(098, 608, 150, 111), Index = 63 }, // Buneary - new(17,01,1) { Species = 659, Ability = A4, Moves = new(098, 189, 280, 341), Index = 63 }, // Bunnelby - new(30,03,2) { Species = 184, Ability = A4, Moves = new(401, 583, 280, 205), Index = 63 }, // Azumarill - new(30,03,2) { Species = 428, Ability = A4, Moves = new(024, 204, 029, 111), Index = 63 }, // Lopunny - new(30,03,2) { Species = 660, Ability = A4, Moves = new(098, 523, 280, 341), Index = 63 }, // Diggersby - new(40,05,3) { Species = 184, Ability = A4, Moves = new(056, 583, 280, 205), Index = 63 }, // Azumarill - new(40,05,3) { Species = 428, Ability = A4, Moves = new(024, 204, 029, 129), Index = 63 }, // Lopunny - new(40,05,3) { Species = 660, Ability = A4, Moves = new(005, 523, 280, 036), Index = 63 }, // Diggersby - new(50,08,4) { Species = 184, Ability = A4, Moves = new(710, 583, 276, 205), Index = 63 }, // Azumarill - new(50,08,4) { Species = 428, Ability = A4, Moves = new(024, 583, 025, 129), Index = 63 }, // Lopunny - new(50,08,4) { Species = 660, Ability = A4, Moves = new(005, 089, 280, 162), Index = 63 }, // Diggersby - new(60,10,5) { Species = 184, Ability = A4, Moves = new(710, 583, 276, 523), Index = 63 }, // Azumarill - new(60,10,5) { Species = 184, Ability = A4, Moves = new(710, 583, 276, 523), Index = 63, Shiny = Shiny.Always }, // Azumarill - new(60,10,5) { Species = 428, Ability = A4, Moves = new(136, 583, 025, 693), Index = 63 }, // Lopunny - new(60,10,5) { Species = 660, Ability = A4, Moves = new(416, 089, 359, 162), Index = 63 }, // Diggersby - //new(60,10,5) { Species = 815, Ability = A2, Moves = new(780, 442, 279, 555), Index = 63, CanGigantamax = true }, // Cinderace - - //new(17,01,1) { Species = 129, Ability = A4, Moves = new(150, 000, 000, 000), Index = 62 }, // Magikarp - //new(30,03,2) { Species = 129, Ability = A4, Moves = new(150, 000, 000, 000), Index = 62 }, // Magikarp - //new(40,05,3) { Species = 129, Ability = A4, Moves = new(150, 000, 000, 000), Index = 62 }, // Magikarp - //new(50,08,4) { Species = 129, Ability = A4, Moves = new(150, 000, 000, 000), Index = 62 }, // Magikarp - //new(60,10,5) { Species = 129, Ability = A4, Moves = new(150, 000, 000, 000), Index = 62 }, // Magikarp - - new(17,01,1) { Species = 043, Ability = A4, Moves = new(331, 236, 051, 074), Index = 60 }, // Oddish - new(17,01,1) { Species = 420, Ability = A4, Moves = new(234, 572, 670, 033), Index = 60 }, // Cherubi - new(17,01,1) { Species = 549, Ability = A4, Moves = new(412, 298, 345, 263), Index = 60 }, // Lilligant - new(17,01,1) { Species = 753, Ability = A4, Moves = new(210, 074, 075, 275), Index = 60 }, // Fomantis - new(17,01,1) { Species = 764, Ability = A4, Moves = new(345, 579, 035, 074), Index = 60 }, // Comfey - new(30,03,2) { Species = 045, Ability = A4, Moves = new(572, 236, 051, 496), Index = 60 }, // Vileplume - new(30,03,2) { Species = 182, Ability = A4, Moves = new(572, 483, 074, 605), Index = 60 }, // Bellossom - new(30,03,2) { Species = 421, Ability = A4, Moves = new(579, 345, 670, 033), Index = 60 }, // Cherrim - new(30,03,2) { Species = 549, Ability = A4, Moves = new(412, 298, 345, 263), Index = 60 }, // Lilligant - new(30,03,2) { Species = 753, Ability = A4, Moves = new(210, 163, 075, 230), Index = 60 }, // Fomantis - new(30,03,2) { Species = 764, Ability = A4, Moves = new(345, 579, 035, 583), Index = 60 }, // Comfey - new(40,05,3) { Species = 045, Ability = A4, Moves = new(572, 585, 051, 496), Index = 60 }, // Vileplume - new(40,05,3) { Species = 182, Ability = A4, Moves = new(572, 483, 077, 605), Index = 60 }, // Bellossom - new(40,05,3) { Species = 421, Ability = A4, Moves = new(579, 345, 583, 036), Index = 60 }, // Cherrim - new(40,05,3) { Species = 549, Ability = A4, Moves = new(572, 298, 345, 483), Index = 60 }, // Lilligant - new(40,05,3) { Species = 754, Ability = A4, Moves = new(210, 572, 400, 530), Index = 60 }, // Lurantis - new(40,05,3) { Species = 764, Ability = A4, Moves = new(572, 579, 035, 583), Index = 60 }, // Comfey - new(50,08,4) { Species = 045, Ability = A4, Moves = new(572, 585, 092, 496), Index = 60 }, // Vileplume - new(50,08,4) { Species = 182, Ability = A4, Moves = new(080, 483, 051, 605), Index = 60 }, // Bellossom - new(50,08,4) { Species = 421, Ability = A4, Moves = new(579, 572, 583, 676), Index = 60 }, // Cherrim - new(50,08,4) { Species = 549, Ability = A4, Moves = new(572, 298, 241, 676), Index = 60 }, // Lilligant - new(50,08,4) { Species = 754, Ability = A4, Moves = new(404, 572, 400, 530), Index = 60 }, // Lurantis - new(50,08,4) { Species = 764, Ability = A4, Moves = new(572, 579, 035, 583), Index = 60 }, // Comfey - new(60,10,5) { Species = 045, Ability = A4, Moves = new(572, 585, 092, 034), Index = 60 }, // Vileplume - new(60,10,5) { Species = 549, Ability = A4, Moves = new(080, 298, 241, 676), Index = 60, Shiny = Shiny.Always }, // Lilligant - new(60,10,5) { Species = 421, Ability = A4, Moves = new(579, 572, 605, 676), Index = 60 }, // Cherrim - new(60,10,5) { Species = 549, Ability = A4, Moves = new(080, 298, 241, 676), Index = 60 }, // Lilligant - new(60,10,5) { Species = 754, Ability = A4, Moves = new(404, 572, 398, 530), Index = 60 }, // Lurantis - new(60,10,5) { Species = 764, Ability = A4, Moves = new(572, 579, 447, 583), Index = 60 }, // Comfey - - new(17,01,1) { Species = 856, Ability = A4, Moves = new(312, 093, 574, 595), Index = 59 }, // Hatenna - new(17,01,1) { Species = 280, Ability = A4, Moves = new(574, 093, 104, 045), Index = 59 }, // Ralts - new(17,01,1) { Species = 109, Ability = A4, Moves = new(499, 053, 124, 372), Index = 59 }, // Koffing - new(17,01,1) { Species = 821, Ability = A4, Moves = new(403, 031, 043, 681), Index = 59 }, // Rookidee - new(17,01,1) { Species = 627, Ability = A4, Moves = new(043, 276, 017, 064), Index = 59 }, // Rufflet - new(17,01,1) { Species = 845, Ability = A4, Moves = new(055, 254, 064, 562), Index = 59 }, // Cramorant - new(30,03,2) { Species = 856, Ability = A4, Moves = new(605, 060, 574, 595), Index = 59 }, // Hatenna - new(30,03,2) { Species = 281, Ability = A4, Moves = new(574, 060, 104, 085), Index = 59 }, // Kirlia - new(30,03,2) { Species = 109, Ability = A4, Moves = new(499, 053, 482, 372), Index = 59 }, // Koffing - new(30,03,2) { Species = 822, Ability = A4, Moves = new(403, 263, 279, 681), Index = 59 }, // Corvisquire - new(30,03,2) { Species = 627, Ability = A4, Moves = new(184, 276, 017, 157), Index = 59 }, // Rufflet - new(30,03,2) { Species = 845, Ability = A4, Moves = new(055, 058, 064, 562), Index = 59 }, // Cramorant - new(40,05,3) { Species = 857, Ability = A4, Moves = new(605, 060, 595, 574), Index = 59, CanGigantamax = true }, // Hattrem - new(40,05,3) { Species = 282, Ability = A4, Moves = new(585, 060, 595, 085), Index = 59 }, // Gardevoir - new(40,05,3) { Species = 110, Ability = A4, Moves = new(790, 053, 482, 372), Index = 59, Form = 1 }, // Weezing-1 - new(40,05,3) { Species = 823, Ability = A4, Moves = new(403, 442, 034, 681), Index = 59, CanGigantamax = true }, // Corviknight - new(40,05,3) { Species = 628, Ability = A4, Moves = new(403, 276, 163, 157), Index = 59 }, // Braviary - new(40,05,3) { Species = 845, Ability = A4, Moves = new(503, 058, 403, 065), Index = 59 }, // Cramorant - new(50,08,4) { Species = 858, Ability = A4, Moves = new(605, 094, 595, 247), Index = 59, CanGigantamax = true }, // Hatterene - new(50,08,4) { Species = 282, Ability = A4, Moves = new(585, 094, 595, 085), Index = 59 }, // Gardevoir - new(50,08,4) { Species = 110, Ability = A4, Moves = new(790, 126, 482, 372), Index = 59, Form = 1 }, // Weezing-1 - new(50,08,4) { Species = 823, Ability = A4, Moves = new(413, 442, 034, 681), Index = 59, CanGigantamax = true }, // Corviknight - new(50,08,4) { Species = 628, Ability = A4, Moves = new(403, 276, 442, 157), Index = 59 }, // Braviary - new(50,08,4) { Species = 845, Ability = A4, Moves = new(056, 058, 403, 065), Index = 59 }, // Cramorant - new(60,10,5) { Species = 858, Ability = A4, Moves = new(605, 094, 438, 247), Index = 59, CanGigantamax = true }, // Hatterene - new(60,10,5) { Species = 282, Ability = A4, Moves = new(585, 094, 261, 085), Index = 59 }, // Gardevoir - new(60,10,5) { Species = 110, Ability = A4, Moves = new(790, 126, 482, 399), Index = 59, Form = 1 }, // Weezing-1 - new(60,10,5) { Species = 823, Ability = A4, Moves = new(413, 442, 776, 372), Index = 59, CanGigantamax = true }, // Corviknight - new(60,10,5) { Species = 628, Ability = A4, Moves = new(413, 370, 442, 157), Index = 59 }, // Braviary - new(60,10,5) { Species = 845, Ability = A4, Moves = new(056, 058, 403, 057), Index = 59 }, // Cramorant - - new(17,01,1) { Species = 067, Ability = A4, Moves = new(279, 009, 490, 067), Index = 58 }, // Machoke - new(17,01,1) { Species = 447, Ability = A4, Moves = new(280, 098, 317, 523), Index = 58 }, // Riolu - new(17,01,1) { Species = 870, Ability = A4, Moves = new(442, 029, 249, 157), Index = 58 }, // Falinks - new(17,01,1) { Species = 825, Ability = A4, Moves = new(522, 263, 371, 247), Index = 58 }, // Dottler - new(17,01,1) { Species = 577, Ability = A4, Moves = new(060, 086, 360, 283), Index = 58 }, // Solosis - new(17,01,1) { Species = 574, Ability = A4, Moves = new(060, 086, 412, 157), Index = 58 }, // Gothita - new(30,03,2) { Species = 068, Ability = A4, Moves = new(279, 009, 233, 372), Index = 58, CanGigantamax = true }, // Machamp - new(30,03,2) { Species = 447, Ability = A4, Moves = new(280, 232, 317, 523), Index = 58 }, // Riolu - new(30,03,2) { Species = 870, Ability = A4, Moves = new(442, 029, 179, 157), Index = 58 }, // Falinks - new(30,03,2) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 109), Index = 58, CanGigantamax = true }, // Orbeetle - new(30,03,2) { Species = 577, Ability = A4, Moves = new(473, 086, 360, 283), Index = 58 }, // Solosis - new(30,03,2) { Species = 574, Ability = A4, Moves = new(473, 086, 412, 157), Index = 58 }, // Gothita - new(40,05,3) { Species = 068, Ability = A4, Moves = new(530, 009, 233, 372), Index = 58, CanGigantamax = true }, // Machamp - new(40,05,3) { Species = 448, Ability = A4, Moves = new(612, 232, 444, 089), Index = 58 }, // Lucario - new(40,05,3) { Species = 870, Ability = A4, Moves = new(442, 029, 179, 317), Index = 58 }, // Falinks - new(40,05,3) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 247), Index = 58, CanGigantamax = true }, // Orbeetle - new(40,05,3) { Species = 578, Ability = A4, Moves = new(094, 086, 360, 247), Index = 58 }, // Duosion - new(40,05,3) { Species = 575, Ability = A4, Moves = new(094, 085, 412, 157), Index = 58 }, // Gothorita - new(50,08,4) { Species = 068, Ability = A4, Moves = new(223, 009, 370, 372), Index = 58, CanGigantamax = true }, // Machamp - new(50,08,4) { Species = 448, Ability = A4, Moves = new(612, 309, 444, 089), Index = 58 }, // Lucario - new(50,08,4) { Species = 870, Ability = A4, Moves = new(442, 224, 179, 317), Index = 58 }, // Falinks - new(50,08,4) { Species = 826, Ability = A4, Moves = new(405, 277, 776, 247), Index = 58, CanGigantamax = true }, // Orbeetle - new(50,08,4) { Species = 579, Ability = A4, Moves = new(094, 009, 411, 247), Index = 58 }, // Reuniclus - new(50,08,4) { Species = 576, Ability = A4, Moves = new(094, 085, 412, 322), Index = 58 }, // Gothitelle - new(60,10,5) { Species = 025, Ability = A4, Moves = new(804, 435, 057, 574), Index = 58, CanGigantamax = true, Shiny = Shiny.Always }, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(344, 280, 583, 231), Index = 58, CanGigantamax = true, Shiny = Shiny.Always }, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(804, 435, 057, 574), Index = 58, CanGigantamax = true }, // Pikachu - new(60,10,5) { Species = 025, Ability = A4, Moves = new(344, 280, 583, 231), Index = 58, CanGigantamax = true }, // Pikachu - - new(17,01,1) { Species = 868, Ability = A4, Moves = new(033, 186, 577, 496), Index = 56, CanGigantamax = true }, // Milcery - new(30,03,2) { Species = 868, Ability = A4, Moves = new(577, 186, 263, 500), Index = 56, CanGigantamax = true }, // Milcery - new(40,05,3) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 213), Index = 56, CanGigantamax = true }, // Milcery - new(50,08,4) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 56, CanGigantamax = true }, // Milcery - new(60,10,5) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 56, CanGigantamax = true, Shiny = Shiny.Always }, // Milcery - new(60,10,5) { Species = 868, Ability = A4, Moves = new(577, 605, 496, 500), Index = 56, CanGigantamax = true }, // Milcery - - new(17,01,1) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54 }, // Cramorant - new(17,01,1) { Species = 330, Ability = A4, Moves = new(225, 129, 693, 048), Index = 54 }, // Flygon - new(17,01,1) { Species = 623, Ability = A4, Moves = new(089, 157, 707, 009), Index = 54 }, // Golurk - new(17,01,1) { Species = 195, Ability = A4, Moves = new(055, 157, 281, 034), Index = 54 }, // Quagsire - new(17,01,1) { Species = 876, Ability = A4, Moves = new(574, 129, 304, 000), Index = 54, Form = 1 }, // Indeedee-1 - new(30,03,2) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54 }, // Cramorant - new(30,03,2) { Species = 330, Ability = A4, Moves = new(225, 129, 693, 048), Index = 54 }, // Flygon - new(30,03,2) { Species = 623, Ability = A4, Moves = new(089, 157, 707, 009), Index = 54 }, // Golurk - new(30,03,2) { Species = 195, Ability = A4, Moves = new(055, 157, 281, 034), Index = 54 }, // Quagsire - new(30,03,2) { Species = 876, Ability = A4, Moves = new(574, 129, 304, 000), Index = 54, Form = 1 }, // Indeedee-1 - new(40,05,3) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54 }, // Cramorant - new(40,05,3) { Species = 330, Ability = A4, Moves = new(225, 129, 693, 586), Index = 54 }, // Flygon - new(40,05,3) { Species = 623, Ability = A4, Moves = new(089, 157, 523, 009), Index = 54 }, // Golurk - new(40,05,3) { Species = 195, Ability = A4, Moves = new(330, 157, 281, 034), Index = 54 }, // Quagsire - new(40,05,3) { Species = 876, Ability = A4, Moves = new(574, 129, 304, 000), Index = 54, Form = 1 }, // Indeedee-1 - new(50,08,4) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54 }, // Cramorant - new(50,08,4) { Species = 330, Ability = A4, Moves = new(225, 129, 693, 586), Index = 54 }, // Flygon - new(50,08,4) { Species = 623, Ability = A4, Moves = new(089, 157, 523, 009), Index = 54 }, // Golurk - new(50,08,4) { Species = 195, Ability = A4, Moves = new(330, 157, 281, 034), Index = 54 }, // Quagsire - new(50,08,4) { Species = 876, Ability = A4, Moves = new(574, 129, 304, 000), Index = 54, Form = 1 }, // Indeedee-1 - new(60,10,5) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54 }, // Cramorant - new(60,10,5) { Species = 845, Ability = A4, Moves = new(057, 056, 503, 000), Index = 54, Shiny = Shiny.Always }, // Cramorant - new(60,10,5) { Species = 330, Ability = A4, Moves = new(225, 129, 693, 586), Index = 54 }, // Flygon - new(60,10,5) { Species = 623, Ability = A4, Moves = new(089, 157, 523, 009), Index = 54 }, // Golurk - new(60,10,5) { Species = 195, Ability = A4, Moves = new(330, 157, 281, 034), Index = 54 }, // Quagsire - new(60,10,5) { Species = 876, Ability = A4, Moves = new(574, 129, 304, 000), Index = 54, Form = 1 }, // Indeedee-1 - - new(17,01,1) { Species = 067, Ability = A4, Moves = new(279, 009, 490, 067), Index = 53 }, // Machoke - new(17,01,1) { Species = 447, Ability = A4, Moves = new(280, 098, 317, 523), Index = 53 }, // Riolu - new(17,01,1) { Species = 870, Ability = A4, Moves = new(442, 029, 249, 157), Index = 53 }, // Falinks - new(17,01,1) { Species = 825, Ability = A4, Moves = new(522, 263, 371, 247), Index = 53 }, // Dottler - new(17,01,1) { Species = 577, Ability = A4, Moves = new(060, 086, 360, 283), Index = 53 }, // Solosis - new(17,01,1) { Species = 574, Ability = A4, Moves = new(060, 086, 412, 157), Index = 53 }, // Gothita - new(30,03,2) { Species = 068, Ability = A4, Moves = new(279, 009, 233, 372), Index = 53, CanGigantamax = true }, // Machamp - new(30,03,2) { Species = 447, Ability = A4, Moves = new(280, 232, 317, 523), Index = 53 }, // Riolu - new(30,03,2) { Species = 870, Ability = A4, Moves = new(442, 029, 179, 157), Index = 53 }, // Falinks - new(30,03,2) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 109), Index = 53, CanGigantamax = true }, // Orbeetle - new(30,03,2) { Species = 577, Ability = A4, Moves = new(473, 086, 360, 283), Index = 53 }, // Solosis - new(30,03,2) { Species = 574, Ability = A4, Moves = new(473, 086, 412, 157), Index = 53 }, // Gothita - new(40,05,3) { Species = 068, Ability = A4, Moves = new(530, 009, 233, 372), Index = 53, CanGigantamax = true }, // Machamp - new(40,05,3) { Species = 448, Ability = A4, Moves = new(612, 232, 444, 089), Index = 53 }, // Lucario - new(40,05,3) { Species = 870, Ability = A4, Moves = new(442, 029, 179, 317), Index = 53 }, // Falinks - new(40,05,3) { Species = 826, Ability = A4, Moves = new(405, 277, 371, 247), Index = 53, CanGigantamax = true }, // Orbeetle - new(40,05,3) { Species = 578, Ability = A4, Moves = new(094, 086, 360, 247), Index = 53 }, // Duosion - new(40,05,3) { Species = 575, Ability = A4, Moves = new(094, 085, 412, 157), Index = 53 }, // Gothorita - new(50,08,4) { Species = 068, Ability = A4, Moves = new(223, 009, 370, 372), Index = 53, CanGigantamax = true }, // Machamp - new(50,08,4) { Species = 448, Ability = A4, Moves = new(612, 309, 444, 089), Index = 53 }, // Lucario - new(50,08,4) { Species = 870, Ability = A4, Moves = new(442, 224, 179, 317), Index = 53 }, // Falinks - new(50,08,4) { Species = 826, Ability = A4, Moves = new(405, 277, 776, 247), Index = 53, CanGigantamax = true }, // Orbeetle - new(50,08,4) { Species = 579, Ability = A4, Moves = new(094, 009, 411, 247), Index = 53 }, // Reuniclus - new(50,08,4) { Species = 576, Ability = A4, Moves = new(094, 085, 412, 322), Index = 53 }, // Gothitelle - new(60,10,5) { Species = 068, Ability = A4, Moves = new(223, 009, 523, 372), Index = 53, CanGigantamax = true }, // Machamp - new(60,10,5) { Species = 448, Ability = A4, Moves = new(370, 309, 444, 089), Index = 53 }, // Lucario - new(60,10,5) { Species = 870, Ability = A4, Moves = new(442, 224, 370, 317), Index = 53 }, // Falinks - new(60,10,5) { Species = 826, Ability = A4, Moves = new(405, 277, 776, 412), Index = 53, CanGigantamax = true }, // Orbeetle - new(60,10,5) { Species = 579, Ability = A4, Moves = new(094, 087, 411, 247), Index = 53 }, // Reuniclus - new(60,10,5) { Species = 576, Ability = A4, Moves = new(094, 085, 412, 322), Index = 53 }, // Gothitelle - - new(17,01,1) { Species = 128, Ability = A4, Moves = new(033, 157, 030, 371), Index = 51 }, // Tauros - new(17,01,1) { Species = 626, Ability = A4, Moves = new(033, 030, 031, 523), Index = 51 }, // Bouffalant - new(17,01,1) { Species = 241, Ability = A4, Moves = new(707, 033, 023, 205), Index = 51 }, // Miltank - new(30,03,2) { Species = 128, Ability = A4, Moves = new(033, 157, 030, 370), Index = 51 }, // Tauros - new(30,03,2) { Species = 626, Ability = A4, Moves = new(279, 030, 675, 523), Index = 51 }, // Bouffalant - new(30,03,2) { Species = 241, Ability = A4, Moves = new(707, 428, 023, 205), Index = 51 }, // Miltank - new(40,05,3) { Species = 128, Ability = A4, Moves = new(036, 157, 030, 370), Index = 51 }, // Tauros - new(40,05,3) { Species = 626, Ability = A4, Moves = new(279, 543, 675, 523), Index = 51 }, // Bouffalant - new(40,05,3) { Species = 241, Ability = A4, Moves = new(707, 428, 034, 205), Index = 51 }, // Miltank - new(50,08,4) { Species = 128, Ability = A4, Moves = new(034, 157, 030, 370), Index = 51 }, // Tauros - new(50,08,4) { Species = 626, Ability = A4, Moves = new(224, 543, 675, 523), Index = 51 }, // Bouffalant - new(50,08,4) { Species = 241, Ability = A4, Moves = new(707, 428, 034, 583), Index = 51 }, // Miltank - new(60,10,5) { Species = 128, Ability = A4, Moves = new(034, 157, 372, 370), Index = 51 }, // Tauros - new(60,10,5) { Species = 128, Ability = A4, Moves = new(034, 157, 372, 370), Index = 51, Shiny = Shiny.Always }, // Tauros - new(60,10,5) { Species = 626, Ability = A4, Moves = new(224, 543, 675, 089), Index = 51 }, // Bouffalant - new(60,10,5) { Species = 241, Ability = A4, Moves = new(667, 428, 034, 583), Index = 51 }, // Miltank - - new(17,01,1) { Species = 420, Ability = A4, Moves = new(033, 572, 074, 670), Index = 49 }, // Cherubi - new(17,01,1) { Species = 590, Ability = A4, Moves = new(078, 492, 310, 412), Index = 49 }, // Foongus - new(17,01,1) { Species = 755, Ability = A4, Moves = new(402, 109, 605, 310), Index = 49 }, // Morelull - new(17,01,1) { Species = 819, Ability = A4, Moves = new(747, 231, 371, 033), Index = 49 }, // Skwovet - new(30,03,2) { Species = 420, Ability = A4, Moves = new(033, 572, 074, 402), Index = 49 }, // Cherubi - new(30,03,2) { Species = 590, Ability = A4, Moves = new(078, 492, 310, 412), Index = 49 }, // Foongus - new(30,03,2) { Species = 756, Ability = A4, Moves = new(402, 109, 605, 310), Index = 49 }, // Shiinotic - new(30,03,2) { Species = 819, Ability = A4, Moves = new(747, 231, 371, 033), Index = 49 }, // Skwovet - new(30,03,2) { Species = 820, Ability = A4, Moves = new(747, 231, 371, 034), Index = 49 }, // Greedent - new(40,05,3) { Species = 420, Ability = A4, Moves = new(311, 572, 074, 402), Index = 49 }, // Cherubi - new(40,05,3) { Species = 591, Ability = A4, Moves = new(078, 492, 092, 412), Index = 49 }, // Amoonguss - new(40,05,3) { Species = 756, Ability = A4, Moves = new(402, 585, 605, 310), Index = 49 }, // Shiinotic - new(40,05,3) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 044), Index = 49 }, // Skwovet - new(40,05,3) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 424), Index = 49 }, // Greedent - new(50,08,4) { Species = 420, Ability = A4, Moves = new(311, 572, 605, 402), Index = 49 }, // Cherubi - new(50,08,4) { Species = 591, Ability = A4, Moves = new(188, 492, 092, 412), Index = 49 }, // Amoonguss - new(50,08,4) { Species = 756, Ability = A4, Moves = new(412, 585, 605, 188), Index = 49 }, // Shiinotic - new(50,08,4) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 331), Index = 49 }, // Skwovet - new(50,08,4) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 424), Index = 49 }, // Greedent - new(60,10,5) { Species = 420, Ability = A4, Moves = new(311, 572, 605, 412), Index = 49 }, // Cherubi - new(60,10,5) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 089), Index = 49, Shiny = Shiny.Always }, // Greedent - new(60,10,5) { Species = 756, Ability = A4, Moves = new(147, 585, 605, 188), Index = 49 }, // Shiinotic - new(60,10,5) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 034), Index = 49 }, // Skwovet - new(60,10,5) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 034), Index = 49, Shiny = Shiny.Always }, // Skwovet - new(60,10,5) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 089), Index = 49 }, // Greedent - - new(17,01,1) { Species = 884, Ability = A4, Moves = new(232, 043, 468, 249), Index = 48, CanGigantamax = true }, // Duraludon - new(17,01,1) { Species = 610, Ability = A4, Moves = new(044, 163, 372, 010), Index = 48 }, // Axew - new(17,01,1) { Species = 704, Ability = A4, Moves = new(225, 352, 033, 175), Index = 48 }, // Goomy - new(17,01,1) { Species = 446, Ability = A4, Moves = new(033, 044, 122, 111), Index = 48 }, // Munchlax - new(17,01,1) { Species = 759, Ability = A4, Moves = new(693, 371, 608, 033), Index = 48 }, // Stufful - new(17,01,1) { Species = 572, Ability = A4, Moves = new(497, 204, 402, 001), Index = 48 }, // Minccino - new(30,03,2) { Species = 884, Ability = A4, Moves = new(232, 784, 468, 249), Index = 48, CanGigantamax = true }, // Duraludon - new(30,03,2) { Species = 610, Ability = A4, Moves = new(337, 163, 242, 530), Index = 48 }, // Axew - new(30,03,2) { Species = 704, Ability = A4, Moves = new(225, 352, 033, 341), Index = 48 }, // Goomy - new(30,03,2) { Species = 143, Ability = A4, Moves = new(034, 242, 118, 111), Index = 48, CanGigantamax = true }, // Snorlax - new(30,03,2) { Species = 759, Ability = A4, Moves = new(693, 371, 359, 036), Index = 48 }, // Stufful - new(30,03,2) { Species = 572, Ability = A4, Moves = new(497, 231, 402, 129), Index = 48 }, // Minccino - new(40,05,3) { Species = 884, Ability = A4, Moves = new(232, 525, 085, 249), Index = 48, CanGigantamax = true }, // Duraludon - new(40,05,3) { Species = 611, Ability = A4, Moves = new(406, 231, 242, 530), Index = 48 }, // Fraxure - new(40,05,3) { Species = 705, Ability = A4, Moves = new(406, 352, 491, 341), Index = 48 }, // Sliggoo - new(40,05,3) { Species = 143, Ability = A4, Moves = new(034, 667, 242, 281), Index = 48, CanGigantamax = true }, // Snorlax - new(40,05,3) { Species = 760, Ability = A4, Moves = new(693, 034, 359, 036), Index = 48 }, // Bewear - new(40,05,3) { Species = 573, Ability = A4, Moves = new(331, 231, 350, 129), Index = 48 }, // Cinccino - new(50,08,4) { Species = 884, Ability = A4, Moves = new(232, 406, 085, 776), Index = 48, CanGigantamax = true }, // Duraludon - new(50,08,4) { Species = 612, Ability = A4, Moves = new(406, 231, 370, 530), Index = 48 }, // Haxorus - new(50,08,4) { Species = 706, Ability = A4, Moves = new(406, 034, 491, 126), Index = 48 }, // Goodra - new(50,08,4) { Species = 143, Ability = A4, Moves = new(034, 667, 280, 523), Index = 48, CanGigantamax = true }, // Snorlax - new(50,08,4) { Species = 760, Ability = A4, Moves = new(663, 034, 359, 009), Index = 48 }, // Bewear - new(50,08,4) { Species = 573, Ability = A4, Moves = new(331, 231, 350, 304), Index = 48 }, // Cinccino - new(60,10,5) { Species = 884, Ability = A4, Moves = new(430, 406, 085, 776), Index = 48, CanGigantamax = true }, // Duraludon - new(60,10,5) { Species = 612, Ability = A4, Moves = new(200, 231, 370, 089), Index = 48 }, // Haxorus - new(60,10,5) { Species = 706, Ability = A4, Moves = new(406, 438, 482, 126), Index = 48 }, // Goodra - new(60,10,5) { Species = 143, Ability = A4, Moves = new(034, 442, 242, 428), Index = 48, CanGigantamax = true }, // Snorlax - new(60,10,5) { Species = 760, Ability = A4, Moves = new(663, 038, 276, 009), Index = 48 }, // Bewear - new(60,10,5) { Species = 573, Ability = A4, Moves = new(402, 231, 350, 304), Index = 48 }, // Cinccino - - new(17,01,1) { Species = 037, Ability = A4, Moves = new(420, 196, 039, 577), Index = 46, Form = 1 }, // Vulpix-1 - new(17,01,1) { Species = 124, Ability = A4, Moves = new(181, 001, 093, 122), Index = 46 }, // Jynx - new(17,01,1) { Species = 225, Ability = A4, Moves = new(217, 229, 098, 420), Index = 46 }, // Delibird - new(17,01,1) { Species = 607, Ability = A4, Moves = new(310, 052, 506, 123), Index = 46 }, // Litwick - new(17,01,1) { Species = 873, Ability = A4, Moves = new(522, 078, 181, 432), Index = 46 }, // Frosmoth - new(30,03,2) { Species = 037, Ability = A4, Moves = new(420, 058, 326, 577), Index = 46, Form = 1 }, // Vulpix-1 - new(30,03,2) { Species = 124, Ability = A4, Moves = new(181, 001, 093, 313), Index = 46 }, // Jynx - new(30,03,2) { Species = 225, Ability = A4, Moves = new(217, 065, 034, 693), Index = 46 }, // Delibird - new(30,03,2) { Species = 608, Ability = A4, Moves = new(310, 261, 083, 123), Index = 46 }, // Lampent - new(30,03,2) { Species = 873, Ability = A4, Moves = new(522, 078, 062, 432), Index = 46 }, // Frosmoth - new(40,05,3) { Species = 037, Ability = A4, Moves = new(062, 058, 326, 577), Index = 46, Form = 1 }, // Vulpix-1 - new(40,05,3) { Species = 124, Ability = A4, Moves = new(058, 142, 094, 247), Index = 46 }, // Jynx - new(40,05,3) { Species = 225, Ability = A4, Moves = new(217, 065, 280, 196), Index = 46 }, // Delibird - new(40,05,3) { Species = 609, Ability = A4, Moves = new(247, 261, 257, 094), Index = 46 }, // Chandelure - new(40,05,3) { Species = 873, Ability = A4, Moves = new(405, 403, 062, 432), Index = 46 }, // Frosmoth - new(50,08,4) { Species = 037, Ability = A4, Moves = new(694, 058, 326, 577), Index = 46, Form = 1 }, // Vulpix-1 - new(50,08,4) { Species = 124, Ability = A4, Moves = new(058, 142, 094, 247), Index = 46 }, // Jynx - new(50,08,4) { Species = 225, Ability = A4, Moves = new(217, 059, 034, 280), Index = 46 }, // Delibird - new(50,08,4) { Species = 609, Ability = A4, Moves = new(247, 261, 315, 094), Index = 46 }, // Chandelure - new(50,08,4) { Species = 873, Ability = A4, Moves = new(405, 403, 058, 297), Index = 46 }, // Frosmoth - new(60,10,5) { Species = 037, Ability = A4, Moves = new(694, 059, 326, 577), Index = 46, Form = 1 }, // Vulpix-1 - new(60,10,5) { Species = 037, Ability = A4, Moves = new(694, 059, 326, 577), Index = 46, Form = 1, Shiny = Shiny.Always }, // Vulpix-1 - new(60,10,5) { Species = 124, Ability = A4, Moves = new(058, 142, 094, 247), Index = 46 }, // Jynx - new(60,10,5) { Species = 225, Ability = A4, Moves = new(217, 059, 065, 280), Index = 46 }, // Delibird - new(60,10,5) { Species = 609, Ability = A4, Moves = new(247, 412, 315, 094), Index = 46 }, // Chandelure - new(60,10,5) { Species = 873, Ability = A4, Moves = new(405, 403, 058, 542), Index = 46 }, // Frosmoth - - new(17,01,1) { Species = 131, Ability = A4, Moves = new(055, 420, 045, 047), Index = 45, CanGigantamax = true }, // Lapras - new(17,01,1) { Species = 712, Ability = A4, Moves = new(181, 196, 033, 106), Index = 45 }, // Bergmite - new(17,01,1) { Species = 461, Ability = A4, Moves = new(420, 372, 232, 279), Index = 45 }, // Weavile - new(17,01,1) { Species = 850, Ability = A4, Moves = new(172, 044, 035, 052), Index = 45 }, // Sizzlipede - new(17,01,1) { Species = 776, Ability = A4, Moves = new(175, 123, 033, 052), Index = 45 }, // Turtonator - new(17,01,1) { Species = 077, Ability = A4, Moves = new(488, 045, 039, 052), Index = 45 }, // Ponyta - new(30,03,2) { Species = 131, Ability = A4, Moves = new(352, 420, 109, 047), Index = 45, CanGigantamax = true }, // Lapras - new(30,03,2) { Species = 712, Ability = A4, Moves = new(157, 423, 033, 044), Index = 45 }, // Bergmite - new(30,03,2) { Species = 461, Ability = A4, Moves = new(420, 372, 232, 279), Index = 45 }, // Weavile - new(30,03,2) { Species = 851, Ability = A4, Moves = new(172, 404, 422, 044), Index = 45, CanGigantamax = true }, // Centiskorch - new(30,03,2) { Species = 776, Ability = A4, Moves = new(406, 123, 033, 052), Index = 45 }, // Turtonator - new(30,03,2) { Species = 077, Ability = A4, Moves = new(488, 023, 583, 097), Index = 45 }, // Ponyta - new(40,05,3) { Species = 131, Ability = A4, Moves = new(352, 196, 109, 047), Index = 45, CanGigantamax = true }, // Lapras - new(40,05,3) { Species = 713, Ability = A4, Moves = new(157, 423, 036, 044), Index = 45 }, // Avalugg - new(40,05,3) { Species = 461, Ability = A4, Moves = new(420, 468, 232, 279), Index = 45 }, // Weavile - new(40,05,3) { Species = 851, Ability = A4, Moves = new(424, 404, 422, 044), Index = 45, CanGigantamax = true }, // Centiskorch - new(40,05,3) { Species = 776, Ability = A4, Moves = new(406, 776, 034, 053), Index = 45 }, // Turtonator - new(40,05,3) { Species = 078, Ability = A4, Moves = new(172, 023, 583, 224), Index = 45 }, // Rapidash - new(50,08,4) { Species = 131, Ability = A4, Moves = new(057, 196, 058, 047), Index = 45, CanGigantamax = true }, // Lapras - new(50,08,4) { Species = 713, Ability = A4, Moves = new(776, 059, 036, 044), Index = 45 }, // Avalugg - new(50,08,4) { Species = 461, Ability = A4, Moves = new(420, 468, 232, 279), Index = 45 }, // Weavile - new(50,08,4) { Species = 851, Ability = A4, Moves = new(680, 404, 422, 044), Index = 45, CanGigantamax = true }, // Centiskorch - new(50,08,4) { Species = 776, Ability = A4, Moves = new(406, 776, 504, 053), Index = 45 }, // Turtonator - new(50,08,4) { Species = 078, Ability = A4, Moves = new(517, 528, 583, 224), Index = 45 }, // Rapidash - new(60,10,5) { Species = 131, Ability = A4, Moves = new(057, 196, 058, 329), Index = 45, CanGigantamax = true }, // Lapras - new(60,10,5) { Species = 713, Ability = A4, Moves = new(776, 059, 038, 044), Index = 45 }, // Avalugg - new(60,10,5) { Species = 461, Ability = A4, Moves = new(420, 400, 232, 279), Index = 45 }, // Weavile - new(60,10,5) { Species = 851, Ability = A4, Moves = new(680, 679, 422, 044), Index = 45, CanGigantamax = true }, // Centiskorch - new(60,10,5) { Species = 776, Ability = A4, Moves = new(434, 776, 504, 053), Index = 45 }, // Turtonator - new(60,10,5) { Species = 078, Ability = A4, Moves = new(394, 528, 583, 224), Index = 45 }, // Rapidash - - new(17,01,1) { Species = 420, Ability = A4, Moves = new(033, 572, 074, 670), Index = 43 }, // Cherubi - new(17,01,1) { Species = 590, Ability = A4, Moves = new(078, 492, 310, 412), Index = 43 }, // Foongus - new(17,01,1) { Species = 755, Ability = A4, Moves = new(402, 109, 605, 310), Index = 43 }, // Morelull - new(17,01,1) { Species = 819, Ability = A4, Moves = new(747, 231, 371, 033), Index = 43 }, // Skwovet - new(30,03,2) { Species = 420, Ability = A4, Moves = new(033, 572, 074, 402), Index = 43 }, // Cherubi - new(30,03,2) { Species = 590, Ability = A4, Moves = new(078, 492, 310, 412), Index = 43 }, // Foongus - new(30,03,2) { Species = 756, Ability = A4, Moves = new(402, 109, 605, 310), Index = 43 }, // Shiinotic - new(30,03,2) { Species = 819, Ability = A4, Moves = new(747, 231, 371, 033), Index = 43 }, // Skwovet - new(30,03,2) { Species = 820, Ability = A4, Moves = new(747, 231, 371, 034), Index = 43 }, // Greedent - new(40,05,3) { Species = 420, Ability = A4, Moves = new(311, 572, 074, 402), Index = 43 }, // Cherubi - new(40,05,3) { Species = 591, Ability = A4, Moves = new(078, 492, 092, 412), Index = 43 }, // Amoonguss - new(40,05,3) { Species = 756, Ability = A4, Moves = new(402, 585, 605, 310), Index = 43 }, // Shiinotic - new(40,05,3) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 044), Index = 43 }, // Skwovet - new(40,05,3) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 424), Index = 43 }, // Greedent - new(50,08,4) { Species = 420, Ability = A4, Moves = new(311, 572, 605, 402), Index = 43 }, // Cherubi - new(50,08,4) { Species = 591, Ability = A4, Moves = new(188, 492, 092, 412), Index = 43 }, // Amoonguss - new(50,08,4) { Species = 756, Ability = A4, Moves = new(412, 585, 605, 188), Index = 43 }, // Shiinotic - new(50,08,4) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 331), Index = 43 }, // Skwovet - new(50,08,4) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 424), Index = 43 }, // Greedent - new(60,10,5) { Species = 420, Ability = A4, Moves = new(311, 572, 605, 412), Index = 43 }, // Cherubi - new(60,10,5) { Species = 591, Ability = A4, Moves = new(147, 492, 092, 412), Index = 43 }, // Amoonguss - new(60,10,5) { Species = 756, Ability = A4, Moves = new(147, 585, 605, 188), Index = 43 }, // Shiinotic - new(60,10,5) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 034), Index = 43 }, // Skwovet - new(60,10,5) { Species = 819, Ability = A4, Moves = new(747, 360, 371, 034), Index = 43, Shiny = Shiny.Always }, // Skwovet - new(60,10,5) { Species = 820, Ability = A4, Moves = new(747, 360, 371, 089), Index = 43 }, // Greedent - - new(17,01,1) { Species = 012, Ability = A4, Moves = new(081, 060, 016, 079), Index = 42, CanGigantamax = true }, // Butterfree - new(17,01,1) { Species = 213, Ability = A4, Moves = new(088, 474, 414, 522), Index = 42 }, // Shuckle - new(17,01,1) { Species = 290, Ability = A4, Moves = new(189, 206, 010, 106), Index = 42 }, // Nincada - new(17,01,1) { Species = 568, Ability = A4, Moves = new(390, 133, 491, 001), Index = 42 }, // Trubbish - new(17,01,1) { Species = 043, Ability = A4, Moves = new(078, 077, 051, 230), Index = 42 }, // Oddish - new(17,01,1) { Species = 453, Ability = A4, Moves = new(040, 269, 279, 189), Index = 42 }, // Croagunk - new(30,03,2) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 079), Index = 42, CanGigantamax = true }, // Butterfree - new(30,03,2) { Species = 213, Ability = A4, Moves = new(088, 474, 414, 522), Index = 42 }, // Shuckle - new(30,03,2) { Species = 291, Ability = A4, Moves = new(210, 206, 332, 232), Index = 42 }, // Ninjask - new(30,03,2) { Species = 568, Ability = A4, Moves = new(092, 133, 491, 036), Index = 42 }, // Trubbish - new(30,03,2) { Species = 045, Ability = A4, Moves = new(080, 585, 051, 230), Index = 42 }, // Vileplume - new(30,03,2) { Species = 453, Ability = A4, Moves = new(474, 389, 279, 189), Index = 42 }, // Croagunk - new(40,05,3) { Species = 012, Ability = A4, Moves = new(405, 060, 016, 078), Index = 42, CanGigantamax = true }, // Butterfree - new(40,05,3) { Species = 213, Ability = A4, Moves = new(157, 188, 089, 522), Index = 42 }, // Shuckle - new(40,05,3) { Species = 291, Ability = A4, Moves = new(210, 206, 332, 232), Index = 42 }, // Ninjask - new(40,05,3) { Species = 569, Ability = A4, Moves = new(188, 133, 034, 707), Index = 42, CanGigantamax = true }, // Garbodor - new(40,05,3) { Species = 045, Ability = A4, Moves = new(080, 585, 051, 230), Index = 42 }, // Vileplume - new(40,05,3) { Species = 454, Ability = A4, Moves = new(188, 389, 279, 189), Index = 42 }, // Toxicroak - new(50,08,4) { Species = 012, Ability = A4, Moves = new(405, 403, 093, 078), Index = 42, CanGigantamax = true }, // Butterfree - new(50,08,4) { Species = 213, Ability = A4, Moves = new(157, 188, 089, 564), Index = 42 }, // Shuckle - new(50,08,4) { Species = 291, Ability = A4, Moves = new(210, 163, 332, 232), Index = 42 }, // Ninjask - new(50,08,4) { Species = 569, Ability = A4, Moves = new(188, 499, 034, 707), Index = 42, CanGigantamax = true }, // Garbodor - new(50,08,4) { Species = 045, Ability = A4, Moves = new(080, 585, 051, 034), Index = 42 }, // Vileplume - new(50,08,4) { Species = 454, Ability = A4, Moves = new(188, 389, 280, 189), Index = 42 }, // Toxicroak - new(60,10,5) { Species = 012, Ability = A4, Moves = new(405, 403, 527, 078), Index = 42, CanGigantamax = true }, // Butterfree - new(60,10,5) { Species = 213, Ability = A4, Moves = new(444, 188, 089, 564), Index = 42 }, // Shuckle - new(60,10,5) { Species = 291, Ability = A4, Moves = new(404, 163, 332, 232), Index = 42 }, // Ninjask - new(60,10,5) { Species = 569, Ability = A4, Moves = new(441, 499, 034, 707), Index = 42, CanGigantamax = true }, // Garbodor - new(60,10,5) { Species = 045, Ability = A4, Moves = new(080, 585, 051, 034), Index = 42 }, // Vileplume - new(60,10,5) { Species = 454, Ability = A4, Moves = new(188, 389, 280, 523), Index = 42 }, // Toxicroak - - new(17,01,1) { Species = 562, Ability = A4, Moves = new(261, 114, 310, 101), Index = 41 }, // Yamask - new(17,01,1) { Species = 778, Ability = A4, Moves = new(086, 452, 425, 010), Index = 41 }, // Mimikyu - new(17,01,1) { Species = 709, Ability = A4, Moves = new(785, 421, 261, 310), Index = 41 }, // Trevenant - new(17,01,1) { Species = 855, Ability = A4, Moves = new(597, 110, 668, 310), Index = 41 }, // Polteageist - new(30,03,2) { Species = 710, Ability = A4, Moves = new(567, 425, 310, 331), Index = 41 }, // Pumpkaboo - new(30,03,2) { Species = 563, Ability = A4, Moves = new(578, 421, 310, 261), Index = 41 }, // Cofagrigus - new(30,03,2) { Species = 778, Ability = A4, Moves = new(086, 452, 425, 608), Index = 41 }, // Mimikyu - new(30,03,2) { Species = 709, Ability = A4, Moves = new(785, 506, 261, 310), Index = 41 }, // Trevenant - new(30,03,2) { Species = 855, Ability = A4, Moves = new(597, 110, 389, 310), Index = 41 }, // Polteageist - new(40,05,3) { Species = 710, Ability = A4, Moves = new(567, 247, 310, 402), Index = 41 }, // Pumpkaboo - new(40,05,3) { Species = 563, Ability = A4, Moves = new(578, 421, 310, 261), Index = 41 }, // Cofagrigus - new(40,05,3) { Species = 778, Ability = A4, Moves = new(085, 452, 421, 608), Index = 41 }, // Mimikyu - new(40,05,3) { Species = 709, Ability = A4, Moves = new(785, 506, 261, 310), Index = 41 }, // Trevenant - new(40,05,3) { Species = 855, Ability = A4, Moves = new(597, 110, 389, 310), Index = 41 }, // Polteageist - new(50,08,4) { Species = 711, Ability = A4, Moves = new(567, 247, 585, 402), Index = 41 }, // Gourgeist - new(50,08,4) { Species = 711, Ability = A4, Moves = new(567, 247, 585, 402), Index = 41, Form = 1 }, // Gourgeist-1 - new(50,08,4) { Species = 711, Ability = A4, Moves = new(567, 247, 585, 402), Index = 41, Form = 2 }, // Gourgeist-2 - new(50,08,4) { Species = 711, Ability = A4, Moves = new(567, 247, 585, 402), Index = 41, Form = 3 }, // Gourgeist-3 - new(50,08,4) { Species = 563, Ability = A4, Moves = new(578, 247, 399, 261), Index = 41 }, // Cofagrigus - new(50,08,4) { Species = 778, Ability = A4, Moves = new(085, 452, 261, 204), Index = 41 }, // Mimikyu - new(50,08,4) { Species = 709, Ability = A4, Moves = new(452, 506, 261, 310), Index = 41 }, // Trevenant - new(50,08,4) { Species = 855, Ability = A4, Moves = new(247, 417, 389, 310), Index = 41 }, // Polteageist - new(60,10,5) { Species = 711, Ability = A4, Moves = new(567, 247, 433, 402), Index = 41 }, // Gourgeist - new(60,10,5) { Species = 711, Ability = A4, Moves = new(567, 247, 433, 402), Index = 41, Form = 1, Shiny = Shiny.Always }, // Gourgeist-1 - new(60,10,5) { Species = 711, Ability = A4, Moves = new(567, 247, 433, 402), Index = 41, Form = 2 }, // Gourgeist-2 - new(60,10,5) { Species = 711, Ability = A4, Moves = new(567, 247, 433, 402), Index = 41, Form = 3, Shiny = Shiny.Always }, // Gourgeist-3 - new(60,10,5) { Species = 563, Ability = A4, Moves = new(578, 247, 399, 261), Index = 41 }, // Cofagrigus - new(60,10,5) { Species = 778, Ability = A4, Moves = new(087, 452, 261, 583), Index = 41 }, // Mimikyu - new(60,10,5) { Species = 709, Ability = A4, Moves = new(452, 506, 261, 310), Index = 41 }, // Trevenant - new(60,10,5) { Species = 855, Ability = A4, Moves = new(247, 417, 389, 310), Index = 41 }, // Polteageist - - new(17,01,1) { Species = 093, Ability = A4, Moves = new(371, 122, 095, 325), Index = 40 }, // Haunter - new(17,01,1) { Species = 425, Ability = A4, Moves = new(016, 506, 310, 371), Index = 40 }, // Drifloon - new(17,01,1) { Species = 355, Ability = A4, Moves = new(310, 425, 043, 506), Index = 40 }, // Duskull - new(17,01,1) { Species = 859, Ability = A4, Moves = new(372, 313, 260, 044), Index = 40 }, // Impidimp - new(17,01,1) { Species = 633, Ability = A4, Moves = new(225, 033, 399, 044), Index = 40 }, // Deino - new(17,01,1) { Species = 877, Ability = A4, Moves = new(084, 098, 681, 043), Index = 40 }, // Morpeko - new(30,03,2) { Species = 094, Ability = A4, Moves = new(371, 389, 095, 325), Index = 40, CanGigantamax = true }, // Gengar - new(30,03,2) { Species = 426, Ability = A4, Moves = new(016, 247, 310, 371), Index = 40 }, // Drifblim - new(30,03,2) { Species = 355, Ability = A4, Moves = new(310, 425, 371, 506), Index = 40 }, // Duskull - new(30,03,2) { Species = 859, Ability = A4, Moves = new(259, 389, 207, 044), Index = 40 }, // Impidimp - new(30,03,2) { Species = 633, Ability = A4, Moves = new(225, 021, 399, 029), Index = 40 }, // Deino - new(30,03,2) { Species = 877, Ability = A4, Moves = new(209, 098, 044, 043), Index = 40 }, // Morpeko - new(40,05,3) { Species = 094, Ability = A4, Moves = new(506, 389, 095, 325), Index = 40, CanGigantamax = true }, // Gengar - new(40,05,3) { Species = 426, Ability = A4, Moves = new(016, 247, 360, 371), Index = 40 }, // Drifblim - new(40,05,3) { Species = 477, Ability = A4, Moves = new(247, 009, 371, 157), Index = 40 }, // Dusknoir - new(40,05,3) { Species = 860, Ability = A4, Moves = new(417, 793, 421, 399), Index = 40 }, // Morgrem - new(40,05,3) { Species = 633, Ability = A4, Moves = new(406, 021, 399, 423), Index = 40 }, // Deino - new(40,05,3) { Species = 877, Ability = A4, Moves = new(209, 098, 044, 402), Index = 40 }, // Morpeko - new(50,08,4) { Species = 094, Ability = A4, Moves = new(247, 399, 094, 085), Index = 40, CanGigantamax = true }, // Gengar - new(50,08,4) { Species = 426, Ability = A4, Moves = new(366, 247, 360, 371), Index = 40 }, // Drifblim - new(50,08,4) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 157), Index = 40 }, // Dusknoir - new(50,08,4) { Species = 861, Ability = A4, Moves = new(789, 492, 421, 399), Index = 40, CanGigantamax = true }, // Grimmsnarl - new(50,08,4) { Species = 634, Ability = A4, Moves = new(406, 304, 399, 423), Index = 40 }, // Zweilous - new(50,08,4) { Species = 877, Ability = A4, Moves = new(783, 098, 242, 402), Index = 40 }, // Morpeko - new(60,10,5) { Species = 094, Ability = A4, Moves = new(247, 399, 605, 085), Index = 40, CanGigantamax = true }, // Gengar - new(60,10,5) { Species = 426, Ability = A4, Moves = new(366, 247, 360, 693), Index = 40 }, // Drifblim - new(60,10,5) { Species = 477, Ability = A4, Moves = new(247, 009, 280, 089), Index = 40 }, // Dusknoir - new(60,10,5) { Species = 861, Ability = A4, Moves = new(789, 492, 421, 417), Index = 40, CanGigantamax = true }, // Grimmsnarl - new(60,10,5) { Species = 635, Ability = A4, Moves = new(406, 304, 399, 056), Index = 40 }, // Hydreigon - new(60,10,5) { Species = 877, Ability = A4, Moves = new(783, 037, 242, 402), Index = 40 }, // Morpeko - }; -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestLair.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters8NestLair.cs deleted file mode 100644 index ae50a3ca1..000000000 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8NestLair.cs +++ /dev/null @@ -1,288 +0,0 @@ -namespace PKHeX.Core; - -// Dynamax Adventures -internal static partial class Encounters8Nest -{ - // These are encountered as never-shiny, but forced shiny (Star) if the 1:300 (1:100 w/charm) post-adventure roll activates. - // The game does try to gate specific entries to Sword / Shield, but this restriction is ignored for online battles. - // All captures share the same met location, so there is no way to distinguish an online-play result from a local-play result. - - #region Dynamax Adventures Encounters (ROM) - internal static readonly EncounterStatic8U[] DynAdv_SWSH = - { - new(002,0,65) { Ability = A2, Moves = new(520,235,076,188) }, // Ivysaur - new(005,0,65) { Ability = A2, Moves = new(519,406,203,517) }, // Charmeleon - new(008,0,65) { Ability = A2, Moves = new(518,058,396,056) }, // Wartortle - new(012,0,65) { Ability = A2, Moves = new(676,474,476,202), CanGigantamax = true }, // Butterfree - new(026,0,65) { Ability = A2, Moves = new(804,683,113,411) }, // Raichu - new(026,1,65) { Ability = A0, Moves = new(085,604,094,496) }, // Raichu-1 - new(028,0,65) { Ability = A0, Moves = new(306,707,444,141) }, // Sandslash - new(028,1,65) { Ability = A0, Moves = new(419,157,280,014) }, // Sandslash-1 - new(031,0,65) { Ability = A0, Moves = new(815,474,204,247) }, // Nidoqueen - new(034,0,65) { Ability = A1, Moves = new(667,007,008,009) }, // Nidoking - new(035,0,65) { Ability = A2, Moves = new(791,595,345,115) }, // Clefairy - new(737,0,65) { Ability = A0, Moves = new(081,598,209,091) }, // Charjabug - new(743,0,65) { Ability = A2, Moves = new(676,577,312,313) }, // Ribombee - new(040,0,65) { Ability = A1, Moves = new(605,496,797,186) }, // Wigglytuff - new(553,0,65) { Ability = A2, Moves = new(414,207,663,201) }, // Krookodile - new(045,0,65) { Ability = A0, Moves = new(202,580,092,676) }, // Vileplume - new(051,0,65) { Ability = A2, Moves = new(667,164,189,157) }, // Dugtrio - new(051,1,65) { Ability = A0, Moves = new(442,667,389,103) }, // Dugtrio-1 - new(053,0,65) { Ability = A1, Moves = new(263,583,364,496) }, // Persian - new(053,1,65) { Ability = A0, Moves = new(372,555,364,511) }, // Persian-1 - new(055,0,65) { Ability = A2, Moves = new(453,103,025,362) }, // Golduck - new(062,0,65) { Ability = A0, Moves = new(409,034,811,710) }, // Poliwrath - new(064,0,65) { Ability = A2, Moves = new(473,496,203,605) }, // Kadabra - new(067,0,65) { Ability = A1, Moves = new(223,317,371,811) }, // Machoke - new(745,0,65) { Ability = A1, Moves = new(709,444,496,336) }, // Lycanroc - new(745,1,65) { Ability = A2, Moves = new(444,280,269,242) }, // Lycanroc-1 - new(082,0,65) { Ability = A2, Moves = new(486,430,393,113) }, // Magneton - new(752,0,65) { Ability = A2, Moves = new(710,494,679,398) }, // Araquanid - new(754,0,65) { Ability = A2, Moves = new(437,311,404,496) }, // Lurantis - new(093,0,65) { Ability = A2, Moves = new(506,095,138,412) }, // Haunter - new(869,0,65) { Ability = A2, Moves = new(777,605,595,345), CanGigantamax = true }, // Alcremie - new(099,0,65) { Ability = A0, Moves = new(152,469,091,276), CanGigantamax = true }, // Kingler - new(105,0,65) { Ability = A2, Moves = new(155,675,442,103) }, // Marowak - new(105,1,65) { Ability = A2, Moves = new(394,708,261,442) }, // Marowak-1 - new(106,0,65) { Ability = A0, Moves = new(370,469,299,490) }, // Hitmonlee - new(107,0,65) { Ability = A1, Moves = new(612,007,009,008) }, // Hitmonchan - new(108,0,65) { Ability = A1, Moves = new(496,059,087,330) }, // Lickitung - new(110,0,65) { Ability = A1, Moves = new(499,257,188,399) }, // Weezing - new(110,1,65) { Ability = A2, Moves = new(790,499,053,269) }, // Weezing-1 - new(112,0,65) { Ability = A1, Moves = new(529,479,684,184) }, // Rhydon - new(113,0,65) { Ability = A2, Moves = new(496,505,270,113) }, // Chansey - new(114,0,65) { Ability = A1, Moves = new(438,078,803,034) }, // Tangela - new(115,0,65) { Ability = A0, Moves = new(034,389,091,200) }, // Kangaskhan - new(117,0,65) { Ability = A1, Moves = new(503,406,164,496) }, // Seadra - new(119,0,65) { Ability = A1, Moves = new(127,340,398,529) }, // Seaking - new(122,0,65) { Ability = A1, Moves = new(113,115,270,094) }, // Mr. Mime - new(122,1,65) { Ability = A2, Moves = new(113,115,196,094) }, // Mr. Mime-1 - new(123,0,65) { Ability = A1, Moves = new(210,098,372,017) }, // Scyther - new(124,0,65) { Ability = A2, Moves = new(577,142,058,496) }, // Jynx - new(125,0,65) { Ability = A2, Moves = new(804,527,270,496) }, // Electabuzz - new(126,0,65) { Ability = A2, Moves = new(126,807,499,496) }, // Magmar - new(756,0,65) { Ability = A2, Moves = new(668,585,240,311) }, // Shiinotic - new(128,0,65) { Ability = A1, Moves = new(263,667,370,372) }, // Tauros - new(148,0,65) { Ability = A0, Moves = new(059,784,799,087) }, // Dragonair - new(164,0,65) { Ability = A2, Moves = new(497,115,143,095) }, // Noctowl - new(171,0,65) { Ability = A0, Moves = new(352,056,085,109) }, // Lanturn - new(176,0,65) { Ability = A1, Moves = new(791,266,583,595) }, // Togetic - new(178,0,65) { Ability = A2, Moves = new(094,493,403,109) }, // Xatu - new(182,0,65) { Ability = A2, Moves = new(580,202,270,605) }, // Bellossom - new(184,0,65) { Ability = A2, Moves = new(453,583,401,340) }, // Azumarill - new(185,0,65) { Ability = A0, Moves = new(707,444,334,776) }, // Sudowoodo - new(186,0,65) { Ability = A2, Moves = new(710,496,414,270) }, // Politoed - new(195,0,65) { Ability = A2, Moves = new(411,503,092,133) }, // Quagsire - new(206,0,65) { Ability = A0, Moves = new(806,814,247,058) }, // Dunsparce - new(211,0,65) { Ability = A2, Moves = new(014,398,710,798) }, // Qwilfish - new(758,0,65) { Ability = A0, Moves = new(092,053,440,599) }, // Salazzle - new(215,0,65) { Ability = A1, Moves = new(813,808,675,555) }, // Sneasel - new(221,0,65) { Ability = A2, Moves = new(059,317,420,276) }, // Piloswine - new(760,0,65) { Ability = A1, Moves = new(038,608,371,416) }, // Bewear - new(763,0,65) { Ability = A1, Moves = new(312,688,512,207) }, // Tsareena - new(224,0,65) { Ability = A1, Moves = new(806,430,503,491) }, // Octillery - new(226,0,65) { Ability = A1, Moves = new(403,291,469,352) }, // Mantine - new(227,0,65) { Ability = A2, Moves = new(372,211,404,019) }, // Skarmory - new(237,0,65) { Ability = A0, Moves = new(529,813,280,811) }, // Hitmontop - new(241,0,65) { Ability = A1, Moves = new(025,208,086,583) }, // Miltank - new(764,0,65) { Ability = A1, Moves = new(666,577,495,412) }, // Comfey - new(264,0,65) { Ability = A0, Moves = new(163,042,608,421) }, // Linoone - new(264,1,65) { Ability = A0, Moves = new(675,555,269,164) }, // Linoone-1 - new(103,0,65) { Ability = A2, Moves = new(427,076,707,805) }, // Exeggutor - new(405,0,65) { Ability = A2, Moves = new(263,113,804,604) }, // Luxray - new(279,0,65) { Ability = A1, Moves = new(814,311,469,098) }, // Pelipper - new(291,0,65) { Ability = A0, Moves = new(210,164,189,806) }, // Ninjask - new(295,0,65) { Ability = A2, Moves = new(805,063,411,059) }, // Exploud - new(770,0,65) { Ability = A2, Moves = new(805,815,659,247) }, // Palossand - new(771,0,65) { Ability = A0, Moves = new(092,269,599,068) }, // Pyukumuku - new(305,0,65) { Ability = A0, Moves = new(798,231,157,319) }, // Lairon - new(310,0,65) { Ability = A1, Moves = new(804,129,315,706) }, // Manectric - new(315,0,65) { Ability = A1, Moves = new(437,326,311,791) }, // Roselia - new(319,0,65) { Ability = A2, Moves = new(453,372,207,799) }, // Sharpedo - new(320,0,65) { Ability = A0, Moves = new(362,798,340,203) }, // Wailmer - new(324,0,65) { Ability = A1, Moves = new(807,517,229,108) }, // Torkoal - new(862,0,65) { Ability = A0, Moves = new(808,085,263,103) }, // Obstagoon - new(334,0,65) { Ability = A2, Moves = new(605,257,538,406) }, // Altaria - new(844,0,65) { Ability = A0, Moves = new(815,799,806,137), CanGigantamax = true }, // Sandaconda - new(858,0,65) { Ability = A1, Moves = new(797,583,791,219), CanGigantamax = true }, // Hatterene - new(340,0,65) { Ability = A2, Moves = new(340,562,330,428) }, // Whiscash - new(342,0,65) { Ability = A2, Moves = new(808,263,330,014) }, // Crawdaunt - new(344,0,65) { Ability = A0, Moves = new(433,094,246,063) }, // Claydol - new(356,0,65) { Ability = A0, Moves = new(425,506,356,806) }, // Dusclops - new(359,0,65) { Ability = A0, Moves = new(059,400,163,126) }, // Absol - new(362,0,65) { Ability = A1, Moves = new(798,242,423,313) }, // Glalie - new(364,0,65) { Ability = A0, Moves = new(058,362,291,207) }, // Sealeo - new(369,0,65) { Ability = A1, Moves = new(710,457,175,799) }, // Relicanth - new(132,0,65) { Ability = A2, Moves = new(144,000,000,000) }, // Ditto - new(375,0,65) { Ability = A0, Moves = new(309,009,427,115) }, // Metang - new(416,0,65) { Ability = A0, Moves = new(454,207,814,279) }, // Vespiquen - new(421,0,65) { Ability = A0, Moves = new(076,388,241,311) }, // Cherrim - new(423,1,65) { Ability = A2, Moves = new(034,806,317,127) }, // Gastrodon-1 - new(426,0,65) { Ability = A0, Moves = new(261,094,366,085) }, // Drifblim - new(428,0,65) { Ability = A0, Moves = new(409,025,204,340) }, // Lopunny - new(435,0,65) { Ability = A1, Moves = new(808,807,491,389) }, // Skuntank - new(537,0,65) { Ability = A0, Moves = new(497,048,188,103) }, // Seismitoad - new(452,0,65) { Ability = A0, Moves = new(808,404,367,231) }, // Drapion - new(777,0,65) { Ability = A2, Moves = new(609,398,527,442) }, // Togedemaru - new(460,0,65) { Ability = A2, Moves = new(419,694,496,803) }, // Abomasnow - new(478,0,65) { Ability = A0, Moves = new(813,524,694,247) }, // Froslass - new(479,0,65) { Ability = A0, Moves = new(486,261,417,506) }, // Rotom - new(508,0,65) { Ability = A2, Moves = new(416,263,496,608) }, // Stoutland - new(510,0,65) { Ability = A0, Moves = new(372,583,259,103) }, // Liepard - new(518,0,65) { Ability = A0, Moves = new(797,473,281,412) }, // Musharna - new(521,0,65) { Ability = A0, Moves = new(814,269,297,366) }, // Unfezant - new(528,0,65) { Ability = A2, Moves = new(493,683,094,403) }, // Swoobat - new(531,0,65) { Ability = A0, Moves = new(791,577,304,053) }, // Audino - new(533,0,65) { Ability = A0, Moves = new(264,811,280,667) }, // Gurdurr - new(536,0,65) { Ability = A0, Moves = new(497,503,414,340) }, // Palpitoad - new(778,0,65) { Ability = A0, Moves = new(421,163,608,174) }, // Mimikyu - new(884,0,65) { Ability = A0, Moves = new(784,086,442,085), CanGigantamax = true }, // Duraludon - new(545,0,65) { Ability = A1, Moves = new(798,092,675,224) }, // Scolipede - new(547,0,65) { Ability = A0, Moves = new(542,269,412,583) }, // Whimsicott - new(549,0,65) { Ability = A1, Moves = new(080,483,113,676) }, // Lilligant - new(550,0,65) { Ability = A1, Moves = new(710,291,706,423) }, // Basculin - new(550,1,65) { Ability = A1, Moves = new(503,291,242,164) }, // Basculin-1 - new(828,0,65) { Ability = A1, Moves = new(492,555,269,807) }, // Thievul - new(834,0,65) { Ability = A0, Moves = new(534,806,684,157) }, // Drednaw - new(556,0,65) { Ability = A2, Moves = new(437,412,389,367) }, // Maractus - new(558,0,65) { Ability = A1, Moves = new(504,404,317,776) }, // Crustle - new(830,0,65) { Ability = A2, Moves = new(113,311,538,437) }, // Eldegoss - new(561,0,65) { Ability = A0, Moves = new(094,240,403,430) }, // Sigilyph - new(446,0,65) { Ability = A1, Moves = new(009,007,034,441) }, // Munchlax - new(855,0,65) { Ability = A0, Moves = new(312,389,473,202) }, // Polteageist - new(569,0,65) { Ability = A2, Moves = new(441,188,409,599), CanGigantamax = true }, // Garbodor - new(573,0,65) { Ability = A1, Moves = new(497,541,113,813) }, // Cinccino - new(836,0,65) { Ability = A0, Moves = new(804,242,204,270) }, // Boltund - new(820,0,65) { Ability = A0, Moves = new(360,706,014,034) }, // Greedent - new(583,0,65) { Ability = A0, Moves = new(054,058,059,304) }, // Vanillish - new(587,0,65) { Ability = A0, Moves = new(512,804,203,527) }, // Emolga - new(589,0,65) { Ability = A1, Moves = new(529,534,210,269) }, // Escavalier - new(591,0,65) { Ability = A0, Moves = new(499,476,202,474) }, // Amoonguss - new(593,0,65) { Ability = A0, Moves = new(605,291,433,196) }, // Jellicent - new(596,0,65) { Ability = A0, Moves = new(087,405,486,527) }, // Galvantula - new(601,0,65) { Ability = A0, Moves = new(544,508,416,319) }, // Klinklang - new(606,0,65) { Ability = A1, Moves = new(797,800,399,496) }, // Beheeyem - new(608,0,65) { Ability = A0, Moves = new(807,806,517,433) }, // Lampent - new(611,0,65) { Ability = A0, Moves = new(416,200,784,404) }, // Fraxure - new(614,0,65) { Ability = A1, Moves = new(776,059,524,362) }, // Beartic - new(615,0,65) { Ability = A0, Moves = new(059,058,115,076) }, // Cryogonal - new(617,0,65) { Ability = A0, Moves = new(522,491,240,405) }, // Accelgor - new(618,0,65) { Ability = A0, Moves = new(604,085,414,330) }, // Stunfisk - new(618,1,65) { Ability = A0, Moves = new(319,805,492,414) }, // Stunfisk-1 - new(621,0,65) { Ability = A1, Moves = new(808,814,442,091) }, // Druddigon - new(623,0,65) { Ability = A0, Moves = new(264,325,815,219) }, // Golurk - new(625,0,65) { Ability = A1, Moves = new(400,398,427,319) }, // Bisharp - new(626,0,65) { Ability = A1, Moves = new(034,808,684,276) }, // Bouffalant - new(631,0,65) { Ability = A1, Moves = new(680,315,241,076) }, // Heatmor - new(632,0,65) { Ability = A0, Moves = new(422,404,319,232) }, // Durant - new(832,0,65) { Ability = A0, Moves = new(803,025,776,164) }, // Dubwool - new(660,0,65) { Ability = A2, Moves = new(444,707,091,098) }, // Diggersby - new(663,0,65) { Ability = A2, Moves = new(366,542,211,053) }, // Talonflame - new(675,0,65) { Ability = A0, Moves = new(418,359,663,811) }, // Pangoro - new(039,0,65) { Ability = A2, Moves = new(164,113,313,577) }, // Jigglypuff - new(525,0,65) { Ability = A0, Moves = new(444,334,776,707) }, // Boldore - new(680,0,65) { Ability = A0, Moves = new(442,014,533,332) }, // Doublade - new(687,0,65) { Ability = A0, Moves = new(576,797,400,085) }, // Malamar - new(689,0,65) { Ability = A0, Moves = new(534,059,130,398) }, // Barbaracle - new(695,0,65) { Ability = A0, Moves = new(486,097,496,189) }, // Heliolisk - new(702,0,65) { Ability = A2, Moves = new(494,087,605,164) }, // Dedenne - new(851,0,65) { Ability = A1, Moves = new(053,815,474,021), CanGigantamax = true }, // Centiskorch - new(707,0,65) { Ability = A0, Moves = new(113,578,430,583) }, // Klefki - new(709,0,65) { Ability = A2, Moves = new(532,115,409,433) }, // Trevenant - new(711,0,65) { Ability = A0, Moves = new(595,425,388,184) }, // Gourgeist - new(847,0,65) { Ability = A0, Moves = new(453,799,372,203) }, // Barraskewda - new(845,0,65) { Ability = A0, Moves = new(291,203,133,675) }, // Cramorant - new(620,0,65) { Ability = A0, Moves = new(396,469,317,025) }, // Mienshao - new(870,0,65) { Ability = A0, Moves = new(660,014,684,280) }, // Falinks - new(701,0,65) { Ability = A0, Moves = new(269,398,675,490) }, // Hawlucha - new(879,0,65) { Ability = A0, Moves = new(334,776,430,798) }, // Copperajah - new(826,0,65) { Ability = A0, Moves = new(495,094,060,522), CanGigantamax = true }, // Orbeetle - new(838,0,65) { Ability = A2, Moves = new(315,083,115,157) }, // Carkol - new(877,0,65) { Ability = A0, Moves = new(783,399,085,423) }, // Morpeko - new(563,0,65) { Ability = A0, Moves = new(247,114,094,472) }, // Cofagrigus - new(750,0,65) { Ability = A0, Moves = new(808,276,328,249) }, // Mudsdale - new(863,0,65) { Ability = A2, Moves = new(232,133,808,087) }, // Perrserker - new(871,0,65) { Ability = A2, Moves = new(056,087,367,599) }, // Pincurchin - new(873,0,65) { Ability = A2, Moves = new(311,366,522,542) }, // Frosmoth - new(839,0,65) { Ability = A0, Moves = new(108,800,053,503), CanGigantamax = true }, // Coalossal - new(853,0,65) { Ability = A0, Moves = new(576,409,330,411) }, // Grapploct - new(861,0,65) { Ability = A0, Moves = new(612,399,384,590), CanGigantamax = true }, // Grimmsnarl - new(886,0,65) { Ability = A0, Moves = new(407,372,261,247) }, // Drakloak - new(036,0,65) { Ability = A1, Moves = new(800,605,266,322) }, // Clefable - new(044,0,65) { Ability = A0, Moves = new(474,092,585,078) }, // Gloom - new(137,0,65) { Ability = A1, Moves = new(492,058,085,063) }, // Porygon - new(600,0,65) { Ability = A1, Moves = new(451,804,430,408) }, // Klang - new(738,0,65) { Ability = A0, Moves = new(209,189,398,405) }, // Vikavolt - new(254,0,65) { Ability = A2, Moves = new(520,784,437,404) }, // Sceptile - new(257,0,65) { Ability = A2, Moves = new(519,299,370,811) }, // Blaziken - new(260,0,65) { Ability = A2, Moves = new(518,059,414,133) }, // Swampert - new(073,0,65) { Ability = A0, Moves = new(352,056,398,014) }, // Tentacruel - new(080,0,65) { Ability = A1, Moves = new(797,244,053,473) }, // Slowbro - new(121,0,65) { Ability = A2, Moves = new(408,605,427,196) }, // Starmie - new(849,0,65) { Ability = A1, Moves = new(804,086,304,715), CanGigantamax = true }, // Toxtricity - new(134,0,65) { Ability = A0, Moves = new(352,204,311,114) }, // Vaporeon - new(135,0,65) { Ability = A0, Moves = new(085,129,247,270) }, // Jolteon - new(136,0,65) { Ability = A0, Moves = new(807,247,608,387) }, // Flareon - new(199,0,65) { Ability = A1, Moves = new(248,417,534,008) }, // Slowking - new(330,0,65) { Ability = A0, Moves = new(211,337,405,189) }, // Flygon - new(346,0,65) { Ability = A0, Moves = new(412,246,380,188) }, // Cradily - new(348,0,65) { Ability = A0, Moves = new(404,479,707,201) }, // Armaldo - new(437,0,65) { Ability = A0, Moves = new(428,319,798,285) }, // Bronzong - new(697,0,65) { Ability = A0, Moves = new(799,350,276,034) }, // Tyrantrum - new(253,0,65) { Ability = A0, Moves = new(520,103,280,203) }, // Grovyle - new(256,0,65) { Ability = A0, Moves = new(519,411,297,490) }, // Combusken - new(259,0,65) { Ability = A0, Moves = new(518,127,091,008) }, // Marshtomp - new(699,0,65) { Ability = A0, Moves = new(034,087,246,086) }, // Aurorus - new(765,0,65) { Ability = A2, Moves = new(689,113,094,473) }, // Oranguru - new(766,0,65) { Ability = A0, Moves = new(280,317,164,512) }, // Passimian - new(876,0,65) { Ability = A1, Moves = new(595,797,347,247) }, // Indeedee - new(145,0,70) { Ability = A0, Moves = new(087,065,413,097) }, // Zapdos - new(146,0,70) { Ability = A0, Moves = new(257,017,043,083) }, // Moltres - new(144,0,70) { Ability = A0, Moves = new(058,573,542,054) }, // Articuno - new(150,0,70) { Ability = A0, Moves = new(094,050,105,059) }, // Mewtwo - new(245,0,70) { Ability = A0, Moves = new(710,326,245,347) }, // Suicune - new(244,0,70) { Ability = A0, Moves = new(053,184,245,242) }, // Entei - new(243,0,70) { Ability = A0, Moves = new(085,336,245,311) }, // Raikou - new(249,0,70) { Ability = A0, Moves = new(406,326,250,246) }, // (SH) Lugia - new(250,0,70) { Ability = A0, Moves = new(394,326,241,246) }, // (SW) Ho-Oh - new(380,0,70) { Ability = A0, Moves = new(513,225,428,057) }, // (SH) Latias - new(381,0,70) { Ability = A0, Moves = new(349,406,428,396) }, // (SW) Latios - new(383,0,70) { Ability = A0, Moves = new(089,184,436,359) }, // (SW) Groudon - new(382,0,70) { Ability = A0, Moves = new(057,034,392,087) }, // (SH) Kyogre - new(384,0,70) { Ability = A0, Moves = new(620,693,245,239) }, // Rayquaza - new(480,0,70) { Ability = A0, Moves = new(094,248,478,247) }, // Uxie - new(482,0,70) { Ability = A0, Moves = new(094,605,417,263) }, // Azelf - new(481,0,70) { Ability = A0, Moves = new(094,204,577,161) }, // Mesprit - new(483,0,70) { Ability = A0, Moves = new(163,246,430,337) }, // (SW) Dialga - new(484,0,70) { Ability = A0, Moves = new(163,057,246,337) }, // (SH) Palkia - new(487,0,70) { Ability = A0, Moves = new(337,184,247,246) }, // Giratina - new(485,0,70) { Ability = A0, Moves = new(319,436,242,442) }, // Heatran - new(488,0,70) { Ability = A0, Moves = new(196,585,427,473) }, // Cresselia - new(641,0,70) { Ability = A0, Moves = new(542,097,196,257) }, // (SW) Tornadus - new(642,0,70) { Ability = A0, Moves = new(087,240,311,482) }, // (SH) Thundurus - new(645,0,70) { Ability = A0, Moves = new(328,157,523,411) }, // Landorus - new(643,0,70) { Ability = A0, Moves = new(568,326,558,406) }, // (SW) Reshiram - new(644,0,70) { Ability = A0, Moves = new(568,163,559,337) }, // (SH) Zekrom - new(646,0,70) { Ability = A0, Moves = new(058,304,247,184) }, // Kyurem - new(716,0,70) { Ability = A0, Moves = new(275,605,585,532) }, // (SW) Xerneas - new(717,0,70) { Ability = A0, Moves = new(269,613,407,389) }, // (SH) Yveltal - new(718,3,70) { Ability = A0, Moves = new(614,616,406,020) }, // Zygarde-3 - new(785,0,70) { Ability = A0, Moves = new(085,098,413,269) }, // Tapu Koko - new(786,0,70) { Ability = A0, Moves = new(094,583,478,204) }, // Tapu Lele - new(787,0,70) { Ability = A0, Moves = new(276,224,452,184) }, // Tapu Bulu - new(788,0,70) { Ability = A0, Moves = new(250,352,362,585) }, // Tapu Fini - new(791,0,70) { Ability = A0, Moves = new(428,083,231,568) }, // (SW) Solgaleo - new(792,0,70) { Ability = A0, Moves = new(247,585,277,129) }, // (SH) Lunala - new(800,0,70) { Ability = A0, Moves = new(427,451,408,475) }, // Necrozma - new(793,0,70) { Ability = A0, Moves = new(472,482,693,491) }, // Nihilego - new(794,0,70) { Ability = A0, Moves = new(612,269,141,223) }, // Buzzwole - new(795,0,70) { Ability = A0, Moves = new(136,129,675,679) }, // Pheromosa - new(796,0,70) { Ability = A0, Moves = new(438,435,598,693) }, // Xurkitree - new(798,0,70) { Ability = A0, Moves = new(410,314,348,014) }, // Kartana - new(797,0,70) { Ability = A0, Moves = new(073,479,360,089) }, // Celesteela - new(799,0,70) { Ability = A0, Moves = new(407,707,693,005) }, // Guzzlord - new(806,0,70) { Ability = A0, Moves = new(421,269,126,428) }, // Blacephalon - new(805,0,70) { Ability = A0, Moves = new(157,038,693,475) }, // Stakataka - }; - #endregion -} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters9.cs b/PKHeX.Core/Legality/Encounters/Data/Encounters9.cs new file mode 100644 index 000000000..6be305539 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Encounters9.cs @@ -0,0 +1,111 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.Shiny; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 9 Encounters +/// +internal static class Encounters9 +{ + internal static readonly EncounterArea9[] Slots = EncounterArea9.GetAreas(Get("wild_paldea", "sv"), SV); + + static Encounters9() + { + MarkEncounterTradeStrings(TradeGift_SV, TradeSV); + } + + private static readonly EncounterStatic9[] Encounter_SV = + { + // Starters + new(SV) { Gift = true, Species = 906, Shiny = Never, Level = 05, Location = 080, Ability = OnlyFirst, Size = 128 }, // Sprigatito + new(SV) { Gift = true, Species = 909, Shiny = Never, Level = 05, Location = 080, Ability = OnlyFirst, Size = 128 }, // Fuecoco + new(SV) { Gift = true, Species = 912, Shiny = Never, Level = 05, Location = 080, Ability = OnlyFirst, Size = 128 }, // Quaxly + + // Box Legendary (Ride Form) + new(SL) { Gift = true, Species = 998, Shiny = Never, Level = 68, Location = 070, Ability = OnlyFirst, Size = 128, Nature = Nature.Quirky, TeraType = GemType.Dragon, IVs = new(31,31,28,31,31,28), Moves = new(053,878,203,851) }, // Koraidon + new(VL) { Gift = true, Species = 999, Shiny = Never, Level = 68, Location = 070, Ability = OnlyFirst, Size = 128, Nature = Nature.Quirky, TeraType = GemType.Dragon, IVs = new(31,31,28,31,31,28), Moves = new(408,879,203,851) }, // Miraidon + + // Galarian Meowth from Salvatore (Specific Met Location depending on game, inside Academy's Staff Quarters) + new(SL) { Gift = true, Species = 052, Shiny = Never, Level = 05, Location = 130, Form = 2, FlawlessIVCount = 3 }, // Meowth-2 + new(VL) { Gift = true, Species = 052, Shiny = Never, Level = 05, Location = 131, Form = 2, FlawlessIVCount = 3 }, // Meowth-2 + + // Box Legendary (Battle Form) + new(SL) { Species = 998, Shiny = Never, Level = 72, Location = 124, Size = 128, Ability = OnlyFirst, Nature = Nature.Adamant, TeraType = GemType.Fighting, IVs = new(25,31,25,31,31,25), Moves = new(416,339,878,053) }, // Koraidon + new(VL) { Species = 999, Shiny = Never, Level = 72, Location = 124, Size = 128, Ability = OnlyFirst, Nature = Nature.Modest, TeraType = GemType.Electric, IVs = new(25,31,25,31,31,25), Moves = new(063,268,879,408) }, // Miraidon + + // Treasures of Ruin + new(SV) { Species = 994, Shiny = Never, Level = 60, Location = 109, Size = 128, FlawlessIVCount = 3 }, // Ting-Lu + new(SV) { Species = 995, Shiny = Never, Level = 60, Location = 022, Size = 128, FlawlessIVCount = 3 }, // Chien-Pao + new(SV) { Species = 996, Shiny = Never, Level = 60, Location = 006, Size = 128, FlawlessIVCount = 3 }, // Wo-Chien + new(SV) { Species = 997, Shiny = Never, Level = 60, Location = 048, Size = 128, FlawlessIVCount = 3 }, // Chi-Yu + + // Former Titans + new(SV) { Species = 944, Shiny = Never, Level = 29, Location = 032, Size = 255, Ability = OnlyFirst, Gender = 0, Nature = Nature.Quirky, IVs = new(30,30,30,30,30,30), Moves = new(231,029,035,201), IsTitan = true }, // Orthworm + new(SV) { Species = 952, Shiny = Never, Level = 57, Location = 040, Size = 255, Ability = OnlyFirst, Gender = 0, Nature = Nature.Quiet, IVs = new(30,30,30,30,30,30), Moves = new(330,196,269,406), IsTitan = true }, // Tatsugiri + new(SV) { Species = 959, Shiny = Never, Level = 20, Location = 022, Size = 255, Ability = OnlyHidden, Gender = 1, Nature = Nature.Jolly, IVs = new(30,30,30,30,30,30), Moves = new(088,017,365,259), IsTitan = true }, // Bombirdier + new(SV) { Species = 962, Shiny = Never, Level = 16, Location = 020, Size = 255, Ability = OnlyFirst, Gender = 1, Nature = Nature.Gentle, IVs = new(30,30,30,30,30,30), Moves = new(011,249,335,317), IsTitan = true }, // Klawf + new(SL) { Species = 978, Shiny = Never, Level = 45, Location = 024, Size = 255, Ability = OnlyFirst, Nature = Nature.Naughty, IVs = new(30,30,30,30,30,30), Moves = new(229,280,282,707), IsTitan = true }, // Great Tusk + new(VL) { Species = 986, Shiny = Never, Level = 45, Location = 024, Size = 255, Ability = OnlyFirst, Nature = Nature.Naughty, IVs = new(30,30,30,30,30,30), Moves = new(229,280,442,707), IsTitan = true }, // Iron Treads + + // Dummy Tatsugiri + new(SV) { Species = 952, Shiny = Never, Level = 45, Location = 040, Size = 128, }, // Tatsugiri + new(SV) { Species = 952, Shiny = Never, Level = 45, Location = 040, Size = 128, Form = 1 }, // Tatsugiri-1 + new(SV) { Species = 952, Shiny = Never, Level = 45, Location = 040, Size = 128, Form = 2 }, // Tatsugiri-2 + + #region Chest Form Gimmighoul + // Gimmighoul has 13 separate static encounter entries, all differing by Level. These can be placed in numerous parts of the map, so for now, manually define them all here. + //new(SV) { Species = 976, Shiny = Never, Level = 01, Location = -01 }, // Gimmighoul + + new(SV) { Species = 976, Shiny = Never, Level = 05, Location = 006 }, // Gimmighoul - South Province (Area One) + + new(SV) { Species = 976, Shiny = Never, Level = 10, Location = 012 }, // Gimmighoul - South Province (Area Two) + new(SV) { Species = 976, Shiny = Never, Level = 10, Location = 020 }, // Gimmighoul - South Province (Area Three) + + new(SV) { Species = 976, Shiny = Never, Level = 15, Location = 014 }, // Gimmighoul - South Province (Area Four) + new(SV) { Species = 976, Shiny = Never, Level = 15, Location = 018 }, // Gimmighoul - South Province (Area Five) + new(SV) { Species = 976, Shiny = Never, Level = 15, Location = 022 }, // Gimmighoul - West Province (Area One) + new(SV) { Species = 976, Shiny = Never, Level = 15, Location = 034 }, // Gimmighoul - East Province (Area One) + + new(SV) { Species = 976, Shiny = Never, Level = 20, Location = 024 }, // Gimmighoul - Asado Desert + + new(SV) { Species = 976, Shiny = Never, Level = 25, Location = 032 }, // Gimmighoul - East Province (Area Three) + new(SV) { Species = 976, Shiny = Never, Level = 25, Location = 058 }, // Gimmighoul - West Paldean Sea + + //new(SV) { Species = 976, Shiny = Never, Level = 30, Location = -01 }, // Gimmighoul + + new(SV) { Species = 976, Shiny = Never, Level = 35, Location = 038 }, // Gimmighoul - Glaseado Mountain + + new(SV) { Species = 976, Shiny = Never, Level = 40, Location = 016 }, // Gimmighoul - South Province (Area Six) + + //new(SV) { Species = 976, Shiny = Never, Level = 45, Location = -01 }, // Gimmighoul + + new(SV) { Species = 976, Shiny = Never, Level = 50, Location = 026 }, // Gimmighoul - West Province (Area Two) + new(SV) { Species = 976, Shiny = Never, Level = 50, Location = 040 }, // Gimmighoul - Casseroya Lake + new(SV) { Species = 976, Shiny = Never, Level = 50, Location = 046 }, // Gimmighoul - North Province (Area One) + new(SV) { Species = 976, Shiny = Never, Level = 50, Location = 048 }, // Gimmighoul - North Province (Area Two) + new(SV) { Species = 976, Shiny = Never, Level = 50, Location = 109 }, // Gimmighoul - Socarrat Trail + + //new(SV) { Species = 976, Shiny = Never, Level = 55, Location = -01 }, // Gimmighoul + + //new(SV) { Species = 976, Shiny = Never, Level = 60, Location = -01 }, // Gimmighoul + #endregion + }; + + private const string tradeSV = "tradesv"; + private static readonly string[][] TradeSV = Util.GetLanguageStrings10(tradeSV, "zh2"); + + internal static readonly EncounterTrade9[] TradeGift_SV = + { + new(SV, 872,10) { TID7 = 050724, IVs = new(31,18,13,20,28,26), OTGender = 0, Gender = 1, Nature = Nature.Bashful, }, // Snom + new(SV, 194,18) { Ability = OnlySecond, TID7 = 033081, IVs = new(27,18,25,13,16,31), OTGender = 1, Gender = 0, Nature = Nature.Relaxed, }, // Wooper + new(SV, 093,25) { Ability = OnlyFirst, TID7 = 016519, IVs = new(14,20,25,31,28,16), OTGender = 1, Gender = 1, Nature = Nature.Lonely, EvolveOnTrade = true }, // Haunter + }; + + private static readonly EncounterTera9[] Tera = EncounterTera9.GetArray(Get("gem_paldea")); + private static readonly EncounterFixed9[] Fixed = EncounterFixed9.GetArray(Get("fixed_paldea")); + internal static readonly EncounterStatic[] StaticSL = ArrayUtil.ConcatAll(GetEncounters(Encounter_SV, SL), Tera, Fixed); + internal static readonly EncounterStatic[] StaticVL = ArrayUtil.ConcatAll(GetEncounters(Encounter_SV, VL), Tera, Fixed); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters1.cs b/PKHeX.Core/Legality/Encounters/Data/Gen12/Encounters1.cs similarity index 100% rename from PKHeX.Core/Legality/Encounters/Data/Encounters1.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen12/Encounters1.cs diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters2.cs b/PKHeX.Core/Legality/Encounters/Data/Gen12/Encounters2.cs similarity index 100% rename from PKHeX.Core/Legality/Encounters/Data/Encounters2.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen12/Encounters2.cs diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3Colo.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3Colo.cs new file mode 100644 index 000000000..1cfb8d3dd --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3Colo.cs @@ -0,0 +1,106 @@ +using static PKHeX.Core.Encounters3ColoTeams; + +namespace PKHeX.Core; + +internal static class Encounters3Colo +{ + internal static readonly EncounterStatic3[] Encounter_ColoGift = + { + // Colosseum Starters: Gender locked to male + new(196, 25, GameVersion.COLO) { Gift = true, Location = 254, Gender = 0 }, // Espeon + new(197, 26, GameVersion.COLO) { Gift = true, Location = 254, Gender = 0, Moves = new(044) }, // Umbreon (Bite) + }; + + internal static readonly EncounterStaticShadow[] Encounter_Colo = + { + new(GameVersion.COLO, 01, 03000, ColoMakuhita) { Species = 296, Level = 30, Moves = new(193,116,233,238), Location = 005 }, // Makuhita: Miror B.Peon Trudly @ Phenac City + + new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 003 }, // Bayleef: Cipher Peon Verde @ Phenac City + new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 069 }, // Bayleef: Cipher Peon Verde @ Shadow PKMN Lab + new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 115 }, // Bayleef: Cipher Peon Verde @ Realgam Tower + new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 132 }, // Bayleef: Cipher Peon Verde @ Snagem Hideout + new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 003 }, // Quilava: Cipher Peon Rosso @ Phenac City + new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 069 }, // Quilava: Cipher Peon Rosso @ Shadow PKMN Lab + new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 115 }, // Quilava: Cipher Peon Rosso @ Realgam Tower + new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 132 }, // Quilava: Cipher Peon Rosso @ Snagem Hideout + new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 003 }, // Croconaw: Cipher Peon Bluno @ Phenac City + new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 069 }, // Croconaw: Cipher Peon Bluno @ Shadow PKMN Lab + new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 115 }, // Croconaw: Cipher Peon Bluno @ Realgam Tower + new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 132 }, // Croconaw: Cipher Peon Bluno @ Snagem Hideout + new(GameVersion.COLO, 05, 03000, First) { Species = 164, Level = 30, Moves = new(211,095,115,019), Location = 015 }, // Noctowl: Rider Nover @ Pyrite Town + new(GameVersion.COLO, 06, 03000, First) { Species = 180, Level = 30, Moves = new(085,086,178,084), Location = 015 }, // Flaaffy: St.Performer Diogo @ Pyrite Town + new(GameVersion.COLO, 07, 03000, First) { Species = 188, Level = 30, Moves = new(235,079,178,072), Location = 015 }, // Skiploom: Rider Leba @ Pyrite Town + new(GameVersion.COLO, 08, 04000, First) { Species = 195, Level = 30, Moves = new(341,133,021,057), Location = 015 }, // Quagsire: Bandana Guy Divel @ Pyrite Town + new(GameVersion.COLO, 09, 04000, First) { Species = 200, Level = 30, Moves = new(060,109,212,247), Location = 015 }, // Misdreavus: Rider Vant @ Pyrite Town + new(GameVersion.COLO, 10, 05000, First) { Species = 193, Level = 33, Moves = new(197,048,049,253), Location = 025 }, // Yanma: Cipher Peon Nore @ Pyrite Bldg + new(GameVersion.COLO, 10, 05000, First) { Species = 193, Level = 33, Moves = new(197,048,049,253), Location = 132 }, // Yanma: Cipher Peon Nore @ Snagem Hideout + new(GameVersion.COLO, 11, 05000, First) { Species = 162, Level = 33, Moves = new(231,270,098,070), Location = 015 }, // Furret: Rogue Cail @ Pyrite Town + new(GameVersion.COLO, 12, 04000, First) { Species = 218, Level = 30, Moves = new(241,281,088,053), Location = 015 }, // Slugma: Roller Boy Lon @ Pyrite Town + new(GameVersion.COLO, 13, 04000, First) { Species = 223, Level = 20, Moves = new(061,199,060,062), Location = 028 }, // Remoraid: Miror B.Peon Reath @ Pyrite Bldg + new(GameVersion.COLO, 13, 04000, First) { Species = 223, Level = 20, Moves = new(061,199,060,062), Location = 030 }, // Remoraid: Miror B.Peon Reath @ Pyrite Cave + new(GameVersion.COLO, 14, 05000, First) { Species = 226, Level = 33, Moves = new(017,048,061,036), Location = 028 }, // Mantine: Miror B.Peon Ferma @ Pyrite Bldg + new(GameVersion.COLO, 14, 05000, First) { Species = 226, Level = 33, Moves = new(017,048,061,036), Location = 030 }, // Mantine: Miror B.Peon Ferma @ Pyrite Cave + new(GameVersion.COLO, 15, 05000, First) { Species = 211, Level = 33, Moves = new(042,107,040,057), Location = 015 }, // Qwilfish: Hunter Doken @ Pyrite Bldg + new(GameVersion.COLO, 16, 05000, First) { Species = 307, Level = 33, Moves = new(197,347,093,136), Location = 031 }, // Meditite: Rider Twan @ Pyrite Cave + new(GameVersion.COLO, 17, 05000, First) { Species = 206, Level = 33, Moves = new(180,137,281,036), Location = 029 }, // Dunsparce: Rider Sosh @ Pyrite Cave + new(GameVersion.COLO, 18, 05000, First) { Species = 333, Level = 33, Moves = new(119,047,219,019), Location = 032 }, // Swablu: Hunter Zalo @ Pyrite Cave + new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 104 }, // Sudowoodo: Cipher Admin Miror B. @ Realgam Tower + new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 125 }, // Sudowoodo: Cipher Admin Miror B. @ Deep Colosseum + new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 030 }, // Sudowoodo: Cipher Admin Miror B. @ Pyrite Cave + new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 039 }, // Hitmontop: Cipher Peon Skrub @ Agate Village + new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 132 }, // Hitmontop: Cipher Peon Skrub @ Snagem Hideout + new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 068 }, // Hitmontop: Cipher Peon Skrub @ Shadow PKMN Lab + new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 106 }, // Entei: Cipher Admin Dakim @ Realgam Tower + new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 125 }, // Entei: Cipher Admin Dakim @ Deep Colosseum + new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 076 }, // Entei: Cipher Admin Dakim @ Mt. Battle + new(GameVersion.COLO, 22, 06000, First) { Species = 166, Level = 40, Moves = new(226,219,048,004), Location = 047 }, // Ledian: Cipher Peon Kloak @ The Under + new(GameVersion.COLO, 22, 06000, First) { Species = 166, Level = 40, Moves = new(226,219,048,004), Location = 132 }, // Ledian: Cipher Peon Kloak @ Snagem Hideout + new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,057), Location = 110 }, // Suicune (Surf): Cipher Admin Venus @ Realgam Tower + new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,056), Location = 125 }, // Suicune (Hydro Pump): Cipher Admin Venus @ Deep Colosseum + new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,057), Location = 055 }, // Suicune (Surf): Cipher Admin Venus @ The Under + new(GameVersion.COLO, 24, 06000, Gligar) { Species = 207, Level = 43, Moves = new(185,028,040,163), Location = 058 }, // Gligar: Hunter Frena @ The Under Subway + new(GameVersion.COLO, 24, 06000, Gligar) { Species = 207, Level = 43, Moves = new(185,028,040,163), Location = 133 }, // Gligar: Hunter Frena @ Snagem Hideout + new(GameVersion.COLO, 25, 06000, First) { Species = 234, Level = 43, Moves = new(310,095,043,036), Location = 058 }, // Stantler: Chaser Liaks @ The Under Subway + new(GameVersion.COLO, 25, 06000, First) { Species = 234, Level = 43, Moves = new(310,095,043,036), Location = 133 }, // Stantler: Chaser Liaks @ Snagem Hideout + new(GameVersion.COLO, 25, 06000, First) { Species = 221, Level = 43, Moves = new(203,316,091,059), Location = 058 }, // Piloswine: Bodybuilder Lonia @ The Under Subway + new(GameVersion.COLO, 26, 06000, First) { Species = 221, Level = 43, Moves = new(203,316,091,059), Location = 134 }, // Piloswine: Bodybuilder Lonia @ Snagem Hideout + new(GameVersion.COLO, 27, 06000, First) { Species = 215, Level = 43, Moves = new(185,103,154,196), Location = 058 }, // Sneasel: Rider Nelis @ The Under Subway + new(GameVersion.COLO, 27, 06000, First) { Species = 215, Level = 43, Moves = new(185,103,154,196), Location = 134 }, // Sneasel: Rider Nelis @ Snagem Hideout + new(GameVersion.COLO, 28, 06000, First) { Species = 190, Level = 43, Moves = new(226,321,154,129), Location = 067 }, // Aipom: Cipher Peon Cole @ Shadow PKMN Lab + new(GameVersion.COLO, 29, 06000, Murkrow) { Species = 198, Level = 43, Moves = new(185,212,101,019), Location = 067 }, // Murkrow: Cipher Peon Lare @ Shadow PKMN Lab + new(GameVersion.COLO, 30, 06000, First) { Species = 205, Level = 43, Moves = new(153,182,117,229), Location = 067 }, // Forretress: Cipher Peon Vana @ Shadow PKMN Lab + new(GameVersion.COLO, 31, 06000, First) { Species = 210, Level = 43, Moves = new(044,184,046,070), Location = 069 }, // Granbull: Cipher Peon Tanie @ Shadow PKMN Lab + new(GameVersion.COLO, 32, 06000, First) { Species = 329, Level = 43, Moves = new(242,103,328,225), Location = 068 }, // Vibrava: Cipher Peon Remil @ Shadow PKMN Lab + new(GameVersion.COLO, 33, 06000, First) { Species = 168, Level = 43, Moves = new(169,184,141,188), Location = 069 }, // Ariados: Cipher Peon Lesar @ Shadow PKMN Lab + + new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 113 }, // Raikou: Cipher Admin Ein @ Realgam Tower + new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 125 }, // Raikou: Cipher Admin Ein @ Deep Colosseum + new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 069 }, // Raikou: Cipher Admin Ein @ Shadow PKMN Lab + + new(GameVersion.COLO, 35, 07000, First) { Species = 192, Level = 45, Moves = new(241,074,275,076), Location = 109 }, // Sunflora: Cipher Peon Baila @ Realgam Tower + new(GameVersion.COLO, 35, 07000, First) { Species = 192, Level = 45, Moves = new(241,074,275,076), Location = 132 }, // Sunflora: Cipher Peon Baila @ Snagem Hideout + new(GameVersion.COLO, 36, 07000, First) { Species = 225, Level = 45, Moves = new(059,213,217,019), Location = 109 }, // Delibird: Cipher Peon Arton @ Realgam Tower + new(GameVersion.COLO, 36, 07000, First) { Species = 225, Level = 45, Moves = new(059,213,217,019), Location = 132 }, // Delibird: Cipher Peon Arton @ Snagem Hideout + new(GameVersion.COLO, 37, 07000, Heracross) { Species = 214, Level = 45, Moves = new(179,203,068,280), Location = 111 }, // Heracross: Cipher Peon Dioge @ Realgam Tower + new(GameVersion.COLO, 37, 07000, Heracross) { Species = 214, Level = 45, Moves = new(179,203,068,280), Location = 132 }, // Heracross: Cipher Peon Dioge @ Snagem Hideout + new(GameVersion.COLO, 38, 13000, First) { Species = 227, Level = 47, Moves = new(065,319,314,211), Location = 117 }, // Skarmory: Snagem Head Gonzap @ Realgam Tower + new(GameVersion.COLO, 38, 13000, First) { Species = 227, Level = 47, Moves = new(065,319,314,211), Location = 133 }, // Skarmory: Snagem Head Gonzap @ Snagem Hideout + + new(GameVersion.COLO, 39, 07000, First) { Species = 241, Level = 48, Moves = new(208,111,205,034), Location = 118 }, // Miltank: Bodybuilder Jomas @ Tower Colosseum + new(GameVersion.COLO, 40, 07000, First) { Species = 359, Level = 48, Moves = new(195,014,163,185), Location = 118 }, // Absol: Rider Delan @ Tower Colosseum + new(GameVersion.COLO, 41, 07000, First) { Species = 229, Level = 48, Moves = new(185,336,123,053), Location = 118 }, // Houndoom: Cipher Peon Nella @ Tower Colosseum + new(GameVersion.COLO, 42, 07000, First) { Species = 357, Level = 49, Moves = new(076,235,345,019), Location = 118 }, // Tropius: Cipher Peon Ston @ Tower Colosseum + new(GameVersion.COLO, 43, 15000, First) { Species = 376, Level = 50, Moves = new(063,334,232,094), Location = 118 }, // Metagross: Cipher Nascour @ Tower Colosseum + new(GameVersion.COLO, 44, 20000, First) { Species = 248, Level = 55, Moves = new(242,087,157,059), Location = 118 }, // Tyranitar: Cipher Head Evice @ Tower Colosseum + + new(GameVersion.COLO, 55, 07000, First) { Species = 235, Level = 45, Moves = new(166,039,003,231), Location = 132 }, // Smeargle: Team Snagem Biden @ Snagem Hideout + new(GameVersion.COLO, 56, 07000, Ursaring) { Species = 217, Level = 45, Moves = new(185,313,122,163), Location = 132 }, // Ursaring: Team Snagem Agrev @ Snagem Hideout + new(GameVersion.COLO, 57, 07000, First) { Species = 213, Level = 45, Moves = new(219,227,156,117), Location = 125 }, // Shuckle: Deep King Agnol @ Deep Colosseum + + new(GameVersion.COLO, 67, 05000, First) { Species = 176, Level = 20, Moves = new(118,204,186,281), Location = 001 }, // Togetic: Cipher Peon Fein @ Outskirt Stand + + new(GameVersion.COLO, 00, 00000, CTogepi) { Species = 175, Level = 20, Moves = new(118,204,186,281), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Togepi: Chaser ボデス @ Card e Room (Japanese games only) + new(GameVersion.COLO, 00, 00000, CMareep) { Species = 179, Level = 37, Moves = new(087,084,086,178), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Mareep: Hunter ホル @ Card e Room (Japanese games only) + new(GameVersion.COLO, 00, 00000, CScizor) { Species = 212, Level = 50, Moves = new(210,232,014,163), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Scizor: Bodybuilder ワーバン @ Card e Room (Japanese games only) + }; +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters3Shadow.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoShadow.cs similarity index 99% rename from PKHeX.Core/Legality/Encounters/Data/Encounters3Shadow.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoShadow.cs index 14bc1bffe..cfbca0a15 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters3Shadow.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoShadow.cs @@ -1,10 +1,10 @@ -// ReSharper disable StringLiteralTypo +// ReSharper disable StringLiteralTypo namespace PKHeX.Core; /// /// Team listings for that have a shadow Pokémon afterwards. /// -public static class Encounters3Shadow +public static class Encounters3ColoShadow { #region Colosseum diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoTeams.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoTeams.cs new file mode 100644 index 000000000..f40129d62 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3ColoTeams.cs @@ -0,0 +1,24 @@ +using System; +using static PKHeX.Core.Encounters3ColoShadow; + +namespace PKHeX.Core; + +/// +/// Permutations of teams, where a team may have multiple shadow Pokémon or alternate/re-battle scenarios. +/// +public static class Encounters3ColoTeams +{ + public static readonly TeamLock[] First = Array.Empty(); + + // Colo + public static readonly TeamLock[] ColoMakuhita = { CMakuhita }; + public static readonly TeamLock[] Gligar = { CGligar }; + public static readonly TeamLock[] Murkrow = { CMurkrow }; + public static readonly TeamLock[] Heracross = { CHeracross }; + public static readonly TeamLock[] Ursaring = { CUrsaring }; + + // E-Reader + public static readonly TeamLock[] CTogepi = {ETogepi}; + public static readonly TeamLock[] CMareep = {EMareep}; + public static readonly TeamLock[] CScizor = {EScizor}; +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters3.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3FRLG.cs similarity index 52% rename from PKHeX.Core/Legality/Encounters/Data/Encounters3.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3FRLG.cs index 206e1b1af..335115616 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters3.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3FRLG.cs @@ -7,78 +7,14 @@ namespace PKHeX.Core; /// /// Generation 3 Encounters /// -internal static class Encounters3 +internal static class Encounters3FRLG { - private static readonly EncounterArea3[] SlotsSwarmRSE = GetSwarm("rse_swarm", "rs", RSE); - internal static readonly EncounterArea3[] SlotsR = ArrayUtil.ConcatAll(GetRegular("r", "ru", R), SlotsSwarmRSE); - internal static readonly EncounterArea3[] SlotsS = ArrayUtil.ConcatAll(GetRegular("s", "sa", S), SlotsSwarmRSE); - internal static readonly EncounterArea3[] SlotsE = ArrayUtil.ConcatAll(GetRegular("e", "em", E), SlotsSwarmRSE); internal static readonly EncounterArea3[] SlotsFR = GetRegular("fr", "fr", FR); internal static readonly EncounterArea3[] SlotsLG = GetRegular("lg", "lg", LG); private static EncounterArea3[] GetRegular(string resource, string ident, GameVersion game) => EncounterArea3.GetAreas(Get(resource, ident), game); - private static EncounterArea3[] GetSwarm(string resource, string ident, GameVersion game) => EncounterArea3.GetAreasSwarm(Get(resource, ident), game); - static Encounters3() - { - MarkEncounterTradeStrings(TradeGift_RSE, TradeRSE); - MarkEncounterTradeStrings(TradeGift_FRLG, TradeFRLG); - } - - private static readonly EncounterStatic3[] Encounter_RSE_Roam = - { - new(380, 40, S) { Roaming = true, Location = 016 }, // Latias - new(380, 40, E) { Roaming = true, Location = 016 }, // Latias - new(381, 40, R) { Roaming = true, Location = 016 }, // Latios - new(381, 40, E) { Roaming = true, Location = 016 }, // Latios - }; - - private static readonly EncounterStatic3[] Encounter_RSE_Regular = - { - // Starters - new(152, 05, E ) { Gift = true, Location = 000 }, // Chikorita @ Littleroot Town - new(155, 05, E ) { Gift = true, Location = 000 }, // Cyndaquil - new(158, 05, E ) { Gift = true, Location = 000 }, // Totodile - new(252, 05, RSE) { Gift = true, Location = 016 }, // Treecko @ Route 101 - new(255, 05, RSE) { Gift = true, Location = 016 }, // Torchic - new(258, 05, RSE) { Gift = true, Location = 016 }, // Mudkip - - // Fossil @ Rustboro City - new(345, 20, RSE) { Gift = true, Location = 010 }, // Lileep - new(347, 20, RSE) { Gift = true, Location = 010 }, // Anorith - - // Gift - new(351, 25, RSE) { Gift = true, Location = 034 }, // Castform @ Weather Institute - new(374, 05, RSE) { Gift = true, Location = 013 }, // Beldum @ Mossdeep City - new(360, 05, RSE) { Gift = true, EggLocation = 253 }, // Wynaut Egg - - // Stationary - new(352, 30, RSE) { Location = 034 }, // Kecleon @ Route 119 - new(352, 30, RSE) { Location = 035 }, // Kecleon @ Route 120 - new(101, 30, RS ) { Location = 066 }, // Electrode @ Hideout (R:Magma Hideout/S:Aqua Hideout) - new(101, 30, E ) { Location = 197 }, // Electrode @ Aqua Hideout - new(185, 40, E ) { Location = 058 }, // Sudowoodo @ Battle Frontier - - // Stationary Lengendary - new(377, 40, RSE) { Location = 082 }, // Regirock @ Desert Ruins - new(378, 40, RSE) { Location = 081 }, // Regice @ Island Cave - new(379, 40, RSE) { Location = 083 }, // Registeel @ Ancient Tomb - new(380, 50, R ) { Location = 073 }, // Latias @ Southern Island - new(380, 50, E) { Location = 073, Fateful = true }, // Latias @ Southern Island - new(381, 50, S ) { Location = 073 }, // Latios @ Southern Island - new(381, 50, E) { Location = 073, Fateful = true }, // Latios @ Southern Island - new(382, 45, S ) { Location = 072 }, // Kyogre @ Cave of Origin - new(382, 70, E) { Location = 203 }, // Kyogre @ Marine Cave - new(383, 45, R ) { Location = 072 }, // Groudon @ Cave of Origin - new(383, 70, E) { Location = 205 }, // Groudon @ Terra Cave - new(384, 70, RSE) { Location = 085 }, // Rayquaza @ Sky Pillar - - // Event - new(151, 30, E) { Location = 201, Fateful = true }, // Mew @ Faraway Island (Unreleased outside of Japan) - new(249, 70, E) { Location = 211, Fateful = true }, // Lugia @ Navel Rock - new(250, 70, E) { Location = 211, Fateful = true }, // Ho-Oh @ Navel Rock - new(386, 30, E) { Location = 200, Fateful = true, Form = 3 }, // Deoxys @ Birth Island - }; + static Encounters3FRLG() => MarkEncounterTradeStrings(TradeGift_FRLG, TradeFRLG); private static readonly EncounterStatic3[] Encounter_FRLG_Roam = { @@ -139,26 +75,13 @@ static Encounters3() new(386, 30, LG) { Location = 187, Fateful = true, Form = 2 }, // Deoxys @ Birth Island }; - private static readonly EncounterStatic3[] Encounter_RSE = ArrayUtil.ConcatAll(Encounter_RSE_Roam, Encounter_RSE_Regular); private static readonly EncounterStatic3[] Encounter_FRLG = ArrayUtil.ConcatAll(Encounter_FRLG_Roam, Encounter_FRLG_Stationary); - private static readonly byte[] TradeContest_Cool = { 30, 05, 05, 05, 05, 10 }; + private static readonly byte[] TradeContest_Cool = { 30, 05, 05, 05, 05, 10 }; private static readonly byte[] TradeContest_Beauty = { 05, 30, 05, 05, 05, 10 }; - private static readonly byte[] TradeContest_Cute = { 05, 05, 30, 05, 05, 10 }; + private static readonly byte[] TradeContest_Cute = { 05, 05, 30, 05, 05, 10 }; private static readonly byte[] TradeContest_Clever = { 05, 05, 05, 30, 05, 10 }; - private static readonly byte[] TradeContest_Tough = { 05, 05, 05, 05, 30, 10 }; - - internal static readonly EncounterTrade3[] TradeGift_RSE = - { - new(RS, 0x00009C40, 296, 05) { Ability = OnlySecond, TID = 49562, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,5,4,4,4,4), Contest = TradeContest_Tough }, // Slakoth (Level 5 Breeding) -> Makuhita - new(RS, 0x498A2E17, 300, 03) { Ability = OnlyFirst, TID = 02259, SID = 00000, OTGender = 1, Gender = 1, IVs = new(5,4,4,5,4,4), Contest = TradeContest_Cute }, // Pikachu (Level 3 Viridian Forest) -> Skitty - new(RS, 0x4C970B7F, 222, 21) { Ability = OnlySecond, TID = 50183, SID = 00000, OTGender = 1, Gender = 1, IVs = new(4,4,5,4,4,5), Contest = TradeContest_Beauty }, // Bellossom (Level 21 Oddish -> Gloom -> Bellossom) -> Corsola - new(E , 0x00000084, 273, 04) { Ability = OnlySecond, TID = 38726, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,4,5,4,4,4), Contest = TradeContest_Cool }, // Ralts (Level 4 Route 102) -> Seedot - new(E , 0x0000006F, 311, 05) { Ability = OnlyFirst, TID = 08460, SID = 00001, OTGender = 0, Gender = 1, IVs = new(4,4,4,5,5,4), Contest = TradeContest_Cute }, // Volbeat (Level 5 Breeding) -> Plusle - new(E , 0x0000007F, 116, 05) { Ability = OnlyFirst, TID = 46285, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,4,4,4,5,4), Contest = TradeContest_Tough }, // Bagon (Level 5 Breeding) -> Horsea* - new(E , 0x0000008B, 052, 03) { Ability = OnlyFirst, TID = 25945, SID = 00001, OTGender = 1, Gender = 0, IVs = new(4,5,4,5,4,4), Contest = TradeContest_Clever }, // Skitty (Level 3 Trade)-> Meowth* - // If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability. - }; + private static readonly byte[] TradeContest_Tough = { 05, 05, 05, 05, 30, 10 }; internal static readonly EncounterTrade3[] TradeGift_FRLG = { @@ -177,14 +100,9 @@ static Encounters3() // If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability. }; - private const string tradeRSE = "traderse"; private const string tradeFRLG = "tradefrlg"; - private static readonly string[][] TradeRSE = Util.GetLanguageStrings7(tradeRSE); private static readonly string[][] TradeFRLG = Util.GetLanguageStrings7(tradeFRLG); - internal static readonly EncounterStatic3[] StaticR = GetEncounters(Encounter_RSE, R); - internal static readonly EncounterStatic3[] StaticS = GetEncounters(Encounter_RSE, S); - internal static readonly EncounterStatic3[] StaticE = GetEncounters(Encounter_RSE, E); internal static readonly EncounterStatic3[] StaticFR = GetEncounters(Encounter_FRLG, FR); internal static readonly EncounterStatic3[] StaticLG = GetEncounters(Encounter_FRLG, LG); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3RSE.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3RSE.cs new file mode 100644 index 000000000..f4d0898f6 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3RSE.cs @@ -0,0 +1,103 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 3 Encounters +/// +internal static class Encounters3RSE +{ + private static readonly EncounterArea3[] SlotsSwarmRSE = GetSwarm("rse_swarm", "rs", RSE); + internal static readonly EncounterArea3[] SlotsR = ArrayUtil.ConcatAll(GetRegular("r", "ru", R), SlotsSwarmRSE); + internal static readonly EncounterArea3[] SlotsS = ArrayUtil.ConcatAll(GetRegular("s", "sa", S), SlotsSwarmRSE); + internal static readonly EncounterArea3[] SlotsE = ArrayUtil.ConcatAll(GetRegular("e", "em", E), SlotsSwarmRSE); + + private static EncounterArea3[] GetRegular(string resource, string ident, GameVersion game) => EncounterArea3.GetAreas(Get(resource, ident), game); + private static EncounterArea3[] GetSwarm(string resource, string ident, GameVersion game) => EncounterArea3.GetAreasSwarm(Get(resource, ident), game); + + static Encounters3RSE() => MarkEncounterTradeStrings(TradeGift_RSE, TradeRSE); + + private static readonly EncounterStatic3[] Encounter_RSE_Roam = + { + new(380, 40, S) { Roaming = true, Location = 016 }, // Latias + new(380, 40, E) { Roaming = true, Location = 016 }, // Latias + new(381, 40, R) { Roaming = true, Location = 016 }, // Latios + new(381, 40, E) { Roaming = true, Location = 016 }, // Latios + }; + + private static readonly EncounterStatic3[] Encounter_RSE_Regular = + { + // Starters + new(152, 05, E ) { Gift = true, Location = 000 }, // Chikorita @ Littleroot Town + new(155, 05, E ) { Gift = true, Location = 000 }, // Cyndaquil + new(158, 05, E ) { Gift = true, Location = 000 }, // Totodile + new(252, 05, RSE) { Gift = true, Location = 016 }, // Treecko @ Route 101 + new(255, 05, RSE) { Gift = true, Location = 016 }, // Torchic + new(258, 05, RSE) { Gift = true, Location = 016 }, // Mudkip + + // Fossil @ Rustboro City + new(345, 20, RSE) { Gift = true, Location = 010 }, // Lileep + new(347, 20, RSE) { Gift = true, Location = 010 }, // Anorith + + // Gift + new(351, 25, RSE) { Gift = true, Location = 034 }, // Castform @ Weather Institute + new(374, 05, RSE) { Gift = true, Location = 013 }, // Beldum @ Mossdeep City + new(360, 05, RSE) { Gift = true, EggLocation = 253 }, // Wynaut Egg + + // Stationary + new(352, 30, RSE) { Location = 034 }, // Kecleon @ Route 119 + new(352, 30, RSE) { Location = 035 }, // Kecleon @ Route 120 + new(101, 30, RS ) { Location = 066 }, // Electrode @ Hideout (R:Magma Hideout/S:Aqua Hideout) + new(101, 30, E ) { Location = 197 }, // Electrode @ Aqua Hideout + new(185, 40, E ) { Location = 058 }, // Sudowoodo @ Battle Frontier + + // Stationary Lengendary + new(377, 40, RSE) { Location = 082 }, // Regirock @ Desert Ruins + new(378, 40, RSE) { Location = 081 }, // Regice @ Island Cave + new(379, 40, RSE) { Location = 083 }, // Registeel @ Ancient Tomb + new(380, 50, R ) { Location = 073 }, // Latias @ Southern Island + new(380, 50, E) { Location = 073, Fateful = true }, // Latias @ Southern Island + new(381, 50, S ) { Location = 073 }, // Latios @ Southern Island + new(381, 50, E) { Location = 073, Fateful = true }, // Latios @ Southern Island + new(382, 45, S ) { Location = 072 }, // Kyogre @ Cave of Origin + new(382, 70, E) { Location = 203 }, // Kyogre @ Marine Cave + new(383, 45, R ) { Location = 072 }, // Groudon @ Cave of Origin + new(383, 70, E) { Location = 205 }, // Groudon @ Terra Cave + new(384, 70, RSE) { Location = 085 }, // Rayquaza @ Sky Pillar + + // Event + new(151, 30, E) { Location = 201, Fateful = true }, // Mew @ Faraway Island (Unreleased outside of Japan) + new(249, 70, E) { Location = 211, Fateful = true }, // Lugia @ Navel Rock + new(250, 70, E) { Location = 211, Fateful = true }, // Ho-Oh @ Navel Rock + new(386, 30, E) { Location = 200, Fateful = true, Form = 3 }, // Deoxys @ Birth Island + }; + + private static readonly EncounterStatic3[] Encounter_RSE = ArrayUtil.ConcatAll(Encounter_RSE_Roam, Encounter_RSE_Regular); + + private static readonly byte[] TradeContest_Cool = { 30, 05, 05, 05, 05, 10 }; + private static readonly byte[] TradeContest_Beauty = { 05, 30, 05, 05, 05, 10 }; + private static readonly byte[] TradeContest_Cute = { 05, 05, 30, 05, 05, 10 }; + private static readonly byte[] TradeContest_Clever = { 05, 05, 05, 30, 05, 10 }; + private static readonly byte[] TradeContest_Tough = { 05, 05, 05, 05, 30, 10 }; + + internal static readonly EncounterTrade3[] TradeGift_RSE = + { + new(RS, 0x00009C40, 296, 05) { Ability = OnlySecond, TID = 49562, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,5,4,4,4,4), Contest = TradeContest_Tough }, // Slakoth (Level 5 Breeding) -> Makuhita + new(RS, 0x498A2E17, 300, 03) { Ability = OnlyFirst, TID = 02259, SID = 00000, OTGender = 1, Gender = 1, IVs = new(5,4,4,5,4,4), Contest = TradeContest_Cute }, // Pikachu (Level 3 Viridian Forest) -> Skitty + new(RS, 0x4C970B7F, 222, 21) { Ability = OnlySecond, TID = 50183, SID = 00000, OTGender = 1, Gender = 1, IVs = new(4,4,5,4,4,5), Contest = TradeContest_Beauty }, // Bellossom (Level 21 Oddish -> Gloom -> Bellossom) -> Corsola + new(E , 0x00000084, 273, 04) { Ability = OnlySecond, TID = 38726, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,4,5,4,4,4), Contest = TradeContest_Cool }, // Ralts (Level 4 Route 102) -> Seedot + new(E , 0x0000006F, 311, 05) { Ability = OnlyFirst, TID = 08460, SID = 00001, OTGender = 0, Gender = 1, IVs = new(4,4,4,5,5,4), Contest = TradeContest_Cute }, // Volbeat (Level 5 Breeding) -> Plusle + new(E , 0x0000007F, 116, 05) { Ability = OnlyFirst, TID = 46285, SID = 00000, OTGender = 0, Gender = 0, IVs = new(5,4,4,4,5,4), Contest = TradeContest_Tough }, // Bagon (Level 5 Breeding) -> Horsea* + new(E , 0x0000008B, 052, 03) { Ability = OnlyFirst, TID = 25945, SID = 00001, OTGender = 1, Gender = 0, IVs = new(4,5,4,5,4,4), Contest = TradeContest_Clever }, // Skitty (Level 3 Trade)-> Meowth* + // If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability. + }; + + private const string tradeRSE = "traderse"; + private static readonly string[][] TradeRSE = Util.GetLanguageStrings7(tradeRSE); + + internal static readonly EncounterStatic3[] StaticR = GetEncounters(Encounter_RSE, R); + internal static readonly EncounterStatic3[] StaticS = GetEncounters(Encounter_RSE, S); + internal static readonly EncounterStatic3[] StaticE = GetEncounters(Encounter_RSE, E); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters3GC.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XD.cs similarity index 54% rename from PKHeX.Core/Legality/Encounters/Data/Encounters3GC.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XD.cs index 7d9b38a00..2a94c550d 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters3GC.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XD.cs @@ -1,114 +1,9 @@ -using static PKHeX.Core.Encounters3Teams; +using static PKHeX.Core.Encounters3XDTeams; namespace PKHeX.Core; -internal static class Encounters3GC +internal static class Encounters3XD { - #region Colosseum - - private static readonly EncounterStatic3[] Encounter_ColoGift = - { - // Colosseum Starters: Gender locked to male - new(196, 25, GameVersion.COLO) { Gift = true, Location = 254, Gender = 0 }, // Espeon - new(197, 26, GameVersion.COLO) { Gift = true, Location = 254, Gender = 0, Moves = new(044) }, // Umbreon (Bite) - }; - - private static readonly EncounterStaticShadow[] Encounter_Colo = - { - new(GameVersion.COLO, 01, 03000, ColoMakuhita) { Species = 296, Level = 30, Moves = new(193,116,233,238), Location = 005 }, // Makuhita: Miror B.Peon Trudly @ Phenac City - - new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 003 }, // Bayleef: Cipher Peon Verde @ Phenac City - new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 069 }, // Bayleef: Cipher Peon Verde @ Shadow PKMN Lab - new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 115 }, // Bayleef: Cipher Peon Verde @ Realgam Tower - new(GameVersion.COLO, 02, 03000, First) { Species = 153, Level = 30, Moves = new(241,235,075,034), Location = 132 }, // Bayleef: Cipher Peon Verde @ Snagem Hideout - new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 003 }, // Quilava: Cipher Peon Rosso @ Phenac City - new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 069 }, // Quilava: Cipher Peon Rosso @ Shadow PKMN Lab - new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 115 }, // Quilava: Cipher Peon Rosso @ Realgam Tower - new(GameVersion.COLO, 03, 03000, First) { Species = 156, Level = 30, Moves = new(241,108,091,172), Location = 132 }, // Quilava: Cipher Peon Rosso @ Snagem Hideout - new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 003 }, // Croconaw: Cipher Peon Bluno @ Phenac City - new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 069 }, // Croconaw: Cipher Peon Bluno @ Shadow PKMN Lab - new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 115 }, // Croconaw: Cipher Peon Bluno @ Realgam Tower - new(GameVersion.COLO, 04, 03000, First) { Species = 159, Level = 30, Moves = new(240,184,044,057), Location = 132 }, // Croconaw: Cipher Peon Bluno @ Snagem Hideout - new(GameVersion.COLO, 05, 03000, First) { Species = 164, Level = 30, Moves = new(211,095,115,019), Location = 015 }, // Noctowl: Rider Nover @ Pyrite Town - new(GameVersion.COLO, 06, 03000, First) { Species = 180, Level = 30, Moves = new(085,086,178,084), Location = 015 }, // Flaaffy: St.Performer Diogo @ Pyrite Town - new(GameVersion.COLO, 07, 03000, First) { Species = 188, Level = 30, Moves = new(235,079,178,072), Location = 015 }, // Skiploom: Rider Leba @ Pyrite Town - new(GameVersion.COLO, 08, 04000, First) { Species = 195, Level = 30, Moves = new(341,133,021,057), Location = 015 }, // Quagsire: Bandana Guy Divel @ Pyrite Town - new(GameVersion.COLO, 09, 04000, First) { Species = 200, Level = 30, Moves = new(060,109,212,247), Location = 015 }, // Misdreavus: Rider Vant @ Pyrite Town - new(GameVersion.COLO, 10, 05000, First) { Species = 193, Level = 33, Moves = new(197,048,049,253), Location = 025 }, // Yanma: Cipher Peon Nore @ Pyrite Bldg - new(GameVersion.COLO, 10, 05000, First) { Species = 193, Level = 33, Moves = new(197,048,049,253), Location = 132 }, // Yanma: Cipher Peon Nore @ Snagem Hideout - new(GameVersion.COLO, 11, 05000, First) { Species = 162, Level = 33, Moves = new(231,270,098,070), Location = 015 }, // Furret: Rogue Cail @ Pyrite Town - new(GameVersion.COLO, 12, 04000, First) { Species = 218, Level = 30, Moves = new(241,281,088,053), Location = 015 }, // Slugma: Roller Boy Lon @ Pyrite Town - new(GameVersion.COLO, 13, 04000, First) { Species = 223, Level = 20, Moves = new(061,199,060,062), Location = 028 }, // Remoraid: Miror B.Peon Reath @ Pyrite Bldg - new(GameVersion.COLO, 13, 04000, First) { Species = 223, Level = 20, Moves = new(061,199,060,062), Location = 030 }, // Remoraid: Miror B.Peon Reath @ Pyrite Cave - new(GameVersion.COLO, 14, 05000, First) { Species = 226, Level = 33, Moves = new(017,048,061,036), Location = 028 }, // Mantine: Miror B.Peon Ferma @ Pyrite Bldg - new(GameVersion.COLO, 14, 05000, First) { Species = 226, Level = 33, Moves = new(017,048,061,036), Location = 030 }, // Mantine: Miror B.Peon Ferma @ Pyrite Cave - new(GameVersion.COLO, 15, 05000, First) { Species = 211, Level = 33, Moves = new(042,107,040,057), Location = 015 }, // Qwilfish: Hunter Doken @ Pyrite Bldg - new(GameVersion.COLO, 16, 05000, First) { Species = 307, Level = 33, Moves = new(197,347,093,136), Location = 031 }, // Meditite: Rider Twan @ Pyrite Cave - new(GameVersion.COLO, 17, 05000, First) { Species = 206, Level = 33, Moves = new(180,137,281,036), Location = 029 }, // Dunsparce: Rider Sosh @ Pyrite Cave - new(GameVersion.COLO, 18, 05000, First) { Species = 333, Level = 33, Moves = new(119,047,219,019), Location = 032 }, // Swablu: Hunter Zalo @ Pyrite Cave - new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 104 }, // Sudowoodo: Cipher Admin Miror B. @ Realgam Tower - new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 125 }, // Sudowoodo: Cipher Admin Miror B. @ Deep Colosseum - new(GameVersion.COLO, 19, 10000, First) { Species = 185, Level = 35, Moves = new(175,335,067,157), Location = 030 }, // Sudowoodo: Cipher Admin Miror B. @ Pyrite Cave - new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 039 }, // Hitmontop: Cipher Peon Skrub @ Agate Village - new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 132 }, // Hitmontop: Cipher Peon Skrub @ Snagem Hideout - new(GameVersion.COLO, 20, 06000, First) { Species = 237, Level = 38, Moves = new(097,116,167,229), Location = 068 }, // Hitmontop: Cipher Peon Skrub @ Shadow PKMN Lab - new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 106 }, // Entei: Cipher Admin Dakim @ Realgam Tower - new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 125 }, // Entei: Cipher Admin Dakim @ Deep Colosseum - new(GameVersion.COLO, 21, 13000, First) { Species = 244, Level = 40, Moves = new(241,043,044,126), Location = 076 }, // Entei: Cipher Admin Dakim @ Mt. Battle - new(GameVersion.COLO, 22, 06000, First) { Species = 166, Level = 40, Moves = new(226,219,048,004), Location = 047 }, // Ledian: Cipher Peon Kloak @ The Under - new(GameVersion.COLO, 22, 06000, First) { Species = 166, Level = 40, Moves = new(226,219,048,004), Location = 132 }, // Ledian: Cipher Peon Kloak @ Snagem Hideout - new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,057), Location = 110 }, // Suicune (Surf): Cipher Admin Venus @ Realgam Tower - new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,056), Location = 125 }, // Suicune (Hydro Pump): Cipher Admin Venus @ Deep Colosseum - new(GameVersion.COLO, 23, 13000, First) { Species = 245, Level = 40, Moves = new(240,043,016,057), Location = 055 }, // Suicune (Surf): Cipher Admin Venus @ The Under - new(GameVersion.COLO, 24, 06000, Gligar) { Species = 207, Level = 43, Moves = new(185,028,040,163), Location = 058 }, // Gligar: Hunter Frena @ The Under Subway - new(GameVersion.COLO, 24, 06000, Gligar) { Species = 207, Level = 43, Moves = new(185,028,040,163), Location = 133 }, // Gligar: Hunter Frena @ Snagem Hideout - new(GameVersion.COLO, 25, 06000, First) { Species = 234, Level = 43, Moves = new(310,095,043,036), Location = 058 }, // Stantler: Chaser Liaks @ The Under Subway - new(GameVersion.COLO, 25, 06000, First) { Species = 234, Level = 43, Moves = new(310,095,043,036), Location = 133 }, // Stantler: Chaser Liaks @ Snagem Hideout - new(GameVersion.COLO, 25, 06000, First) { Species = 221, Level = 43, Moves = new(203,316,091,059), Location = 058 }, // Piloswine: Bodybuilder Lonia @ The Under Subway - new(GameVersion.COLO, 26, 06000, First) { Species = 221, Level = 43, Moves = new(203,316,091,059), Location = 134 }, // Piloswine: Bodybuilder Lonia @ Snagem Hideout - new(GameVersion.COLO, 27, 06000, First) { Species = 215, Level = 43, Moves = new(185,103,154,196), Location = 058 }, // Sneasel: Rider Nelis @ The Under Subway - new(GameVersion.COLO, 27, 06000, First) { Species = 215, Level = 43, Moves = new(185,103,154,196), Location = 134 }, // Sneasel: Rider Nelis @ Snagem Hideout - new(GameVersion.COLO, 28, 06000, First) { Species = 190, Level = 43, Moves = new(226,321,154,129), Location = 067 }, // Aipom: Cipher Peon Cole @ Shadow PKMN Lab - new(GameVersion.COLO, 29, 06000, Murkrow) { Species = 198, Level = 43, Moves = new(185,212,101,019), Location = 067 }, // Murkrow: Cipher Peon Lare @ Shadow PKMN Lab - new(GameVersion.COLO, 30, 06000, First) { Species = 205, Level = 43, Moves = new(153,182,117,229), Location = 067 }, // Forretress: Cipher Peon Vana @ Shadow PKMN Lab - new(GameVersion.COLO, 31, 06000, First) { Species = 210, Level = 43, Moves = new(044,184,046,070), Location = 069 }, // Granbull: Cipher Peon Tanie @ Shadow PKMN Lab - new(GameVersion.COLO, 32, 06000, First) { Species = 329, Level = 43, Moves = new(242,103,328,225), Location = 068 }, // Vibrava: Cipher Peon Remil @ Shadow PKMN Lab - new(GameVersion.COLO, 33, 06000, First) { Species = 168, Level = 43, Moves = new(169,184,141,188), Location = 069 }, // Ariados: Cipher Peon Lesar @ Shadow PKMN Lab - - new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 113 }, // Raikou: Cipher Admin Ein @ Realgam Tower - new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 125 }, // Raikou: Cipher Admin Ein @ Deep Colosseum - new(GameVersion.COLO, 34, 13000, First) { Species = 243, Level = 40, Moves = new(240,043,098,087), Location = 069 }, // Raikou: Cipher Admin Ein @ Shadow PKMN Lab - - new(GameVersion.COLO, 35, 07000, First) { Species = 192, Level = 45, Moves = new(241,074,275,076), Location = 109 }, // Sunflora: Cipher Peon Baila @ Realgam Tower - new(GameVersion.COLO, 35, 07000, First) { Species = 192, Level = 45, Moves = new(241,074,275,076), Location = 132 }, // Sunflora: Cipher Peon Baila @ Snagem Hideout - new(GameVersion.COLO, 36, 07000, First) { Species = 225, Level = 45, Moves = new(059,213,217,019), Location = 109 }, // Delibird: Cipher Peon Arton @ Realgam Tower - new(GameVersion.COLO, 36, 07000, First) { Species = 225, Level = 45, Moves = new(059,213,217,019), Location = 132 }, // Delibird: Cipher Peon Arton @ Snagem Hideout - new(GameVersion.COLO, 37, 07000, Heracross) { Species = 214, Level = 45, Moves = new(179,203,068,280), Location = 111 }, // Heracross: Cipher Peon Dioge @ Realgam Tower - new(GameVersion.COLO, 37, 07000, Heracross) { Species = 214, Level = 45, Moves = new(179,203,068,280), Location = 132 }, // Heracross: Cipher Peon Dioge @ Snagem Hideout - new(GameVersion.COLO, 38, 13000, First) { Species = 227, Level = 47, Moves = new(065,319,314,211), Location = 117 }, // Skarmory: Snagem Head Gonzap @ Realgam Tower - new(GameVersion.COLO, 38, 13000, First) { Species = 227, Level = 47, Moves = new(065,319,314,211), Location = 133 }, // Skarmory: Snagem Head Gonzap @ Snagem Hideout - - new(GameVersion.COLO, 39, 07000, First) { Species = 241, Level = 48, Moves = new(208,111,205,034), Location = 118 }, // Miltank: Bodybuilder Jomas @ Tower Colosseum - new(GameVersion.COLO, 40, 07000, First) { Species = 359, Level = 48, Moves = new(195,014,163,185), Location = 118 }, // Absol: Rider Delan @ Tower Colosseum - new(GameVersion.COLO, 41, 07000, First) { Species = 229, Level = 48, Moves = new(185,336,123,053), Location = 118 }, // Houndoom: Cipher Peon Nella @ Tower Colosseum - new(GameVersion.COLO, 42, 07000, First) { Species = 357, Level = 49, Moves = new(076,235,345,019), Location = 118 }, // Tropius: Cipher Peon Ston @ Tower Colosseum - new(GameVersion.COLO, 43, 15000, First) { Species = 376, Level = 50, Moves = new(063,334,232,094), Location = 118 }, // Metagross: Cipher Nascour @ Tower Colosseum - new(GameVersion.COLO, 44, 20000, First) { Species = 248, Level = 55, Moves = new(242,087,157,059), Location = 118 }, // Tyranitar: Cipher Head Evice @ Tower Colosseum - - new(GameVersion.COLO, 55, 07000, First) { Species = 235, Level = 45, Moves = new(166,039,003,231), Location = 132 }, // Smeargle: Team Snagem Biden @ Snagem Hideout - new(GameVersion.COLO, 56, 07000, Ursaring) { Species = 217, Level = 45, Moves = new(185,313,122,163), Location = 132 }, // Ursaring: Team Snagem Agrev @ Snagem Hideout - new(GameVersion.COLO, 57, 07000, First) { Species = 213, Level = 45, Moves = new(219,227,156,117), Location = 125 }, // Shuckle: Deep King Agnol @ Deep Colosseum - - new(GameVersion.COLO, 67, 05000, First) { Species = 176, Level = 20, Moves = new(118,204,186,281), Location = 001 }, // Togetic: Cipher Peon Fein @ Outskirt Stand - - new(GameVersion.COLO, 00, 00000, CTogepi) { Species = 175, Level = 20, Moves = new(118,204,186,281), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Togepi: Chaser ボデス @ Card e Room (Japanese games only) - new(GameVersion.COLO, 00, 00000, CMareep) { Species = 179, Level = 37, Moves = new(087,084,086,178), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Mareep: Hunter ホル @ Card e Room (Japanese games only) - new(GameVersion.COLO, 00, 00000, CScizor) { Species = 212, Level = 50, Moves = new(210,232,014,163), Location = 128, IVs = new(0, 0, 0, 0, 0, 0) }, // Scizor: Bodybuilder ワーバン @ Card e Room (Japanese games only) - }; - #endregion - - #region XD - private static readonly EncounterStatic3[] Encounter_XDGift = { new(133, 10, GameVersion.XD) { Fateful = true, Gift = true, Location = 000, Moves = new(044) }, // Eevee (Bite) @@ -218,7 +113,5 @@ internal static class Encounters3GC new(92, 041, 21, 304, 21, 194, 21), // Cave (Zubat, Aron, Wooper) }; - internal static readonly EncounterStatic[] Encounter_CXD = ArrayUtil.ConcatAll(Encounter_ColoGift, Encounter_Colo, Encounter_XDGift, Encounter_XD); - - #endregion + internal static readonly EncounterStatic[] Encounter_CXD = ArrayUtil.ConcatAll(Encounters3Colo.Encounter_ColoGift, Encounters3Colo.Encounter_Colo, Encounter_XDGift, Encounter_XD); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDShadow.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDShadow.cs new file mode 100644 index 000000000..801970818 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDShadow.cs @@ -0,0 +1,1007 @@ +// ReSharper disable StringLiteralTypo +namespace PKHeX.Core; + +/// +/// Team listings for that have a shadow Pokémon afterwards. +/// +public static class Encounters3XDShadow +{ + public static readonly TeamLock XRalts = new( + 280, // Ralts + new[] { + new NPCLock(064, 00, 0, 063), // Kadabra (M) (Hardy) + new NPCLock(180, 06, 1, 127), // Flaaffy (F) (Docile) + new NPCLock(288, 18, 0, 127), // Vigoroth (M) (Bashful) + }); + + public static readonly TeamLock XPoochyena = new( + 261, // Poochyena + new[] { + new NPCLock(041, 12, 1, 127), // Zubat (F) (Serious) + }); + + public static readonly TeamLock XLedyba = new( + 165, // Ledyba + new[] { + new NPCLock(276, 00, 1, 127), // Taillow (F) (Hardy) + }); + + public static readonly TeamLock XSphealCipherLab = new( + 363, // Spheal + "Cipher Lab", + new[] { + new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky) + new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious) + }); + + public static readonly TeamLock XSphealPhenacCityandPost = new( + 363, // Spheal + "Phenac City and Post", + new[] { + new NPCLock(116, 24, 0, 063), // Horsea (M) (Quirky) + new NPCLock(118, 12, 1, 127), // Goldeen (F) (Serious) + new NPCLock(374, 00, 2, 255), // Beldum (-) (Hardy) + }); + + public static readonly TeamLock XGulpin = new( + 316, // Gulpin + new[] { + new NPCLock(109, 12, 1, 127), // Koffing (F) (Serious) + new NPCLock(088, 06, 0, 127), // Grimer (M) (Docile) + }); + + public static readonly TeamLock XSeedotCipherLab = new( + 273, // Seedot + "Cipher Lab", + new[] { + new NPCLock(043, 06, 0, 127), // Oddish (M) (Docile) + new NPCLock(331, 24, 1, 127), // Cacnea (F) (Quirky) + new NPCLock(285, 18, 1, 127), // Shroomish (F) (Bashful) + new NPCLock(270, 00, 0, 127), // Lotad (M) (Hardy) + new NPCLock(204, 12, 0, 127), // Pineco (M) (Serious) + }); + + public static readonly TeamLock XSeedotPhenacCity = new( + 273, // Seedot + "Phenac City", + new[] { + new NPCLock(043, 06, 0, 127), // Oddish (M) (Docile) + new NPCLock(331, 24, 1, 127), // Cacnea (F) (Quirky) + new NPCLock(285, 00, 1, 127), // Shroomish (F) (Hardy) + new NPCLock(270, 00, 1, 127), // Lotad (F) (Hardy) + new NPCLock(204, 06, 0, 127), // Pineco (M) (Docile) + }); + + public static readonly TeamLock XSeedotPost = new( + 273, // Seedot + "Post", + new[] { + new NPCLock(045, 06, 0, 127), // Vileplume (M) (Docile) + new NPCLock(332, 24, 1, 127), // Cacturne (F) (Quirky) + new NPCLock(286, 00, 1, 127), // Breloom (F) (Hardy) + new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy) + new NPCLock(205, 12, 0, 127), // Forretress (M) (Serious) + }); + + public static readonly TeamLock XSpinarak = new( + 167, // Spinarak + new[] { + new NPCLock(220, 12, 1, 127), // Swinub (F) (Serious) + new NPCLock(353, 06, 0, 127), // Shuppet (M) (Docile) + }); + + public static readonly TeamLock XNumel = new( + 322, // Numel + new[] { + new NPCLock(280, 06, 0, 127), // Ralts (M) (Docile) + new NPCLock(100, 00, 2, 255), // Voltorb (-) (Hardy) + new NPCLock(371, 24, 1, 127), // Bagon (F) (Quirky) + }); + + public static readonly TeamLock XShroomish = new( + 285, // Shroomish + new[] { + new NPCLock(209, 24, 1, 191), // Snubbull (F) (Quirky) + new NPCLock(352, 00, 1, 127), // Kecleon (F) (Hardy) + }); + + public static readonly TeamLock XDelcatty = new( + 301, // Delcatty + new[] { + new NPCLock(370, 06, 1, 191), // Luvdisc (F) (Docile) + new NPCLock(267, 00, 0, 127), // Beautifly (M) (Hardy) + new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky) + }); + + public static readonly TeamLock XVoltorb = new( + 100, // Voltorb + new[] { + new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy) + new NPCLock(271, 18, 0, 127), // Lombre (M) (Bashful) + new NPCLock(271, 12, 1, 127), // Lombre (F) (Serious) + }); + + public static readonly TeamLock XMakuhita = new( + 296, // Makuhita + new[] { + new NPCLock(352, 06, 0, 127), // Kecleon (M) (Docile) + new NPCLock(283, 18, 1, 127), // Surskit (F) (Bashful) + }); + + public static readonly TeamLock XVulpix = new( + 037, // Vulpix + new[] { + new NPCLock(167, 00, 0, 127), // Spinarak (M) (Hardy) + new NPCLock(267, 06, 1, 127), // Beautifly (F) (Docile) + new NPCLock(269, 18, 0, 127), // Dustox (M) (Bashful) + }); + + public static readonly TeamLock XDuskull = new( + 355, // Duskull + new[] { + new NPCLock(215, 12, 0, 127), // Sneasel (M) (Serious) + new NPCLock(193, 18, 1, 127), // Yanma (F) (Bashful) + new NPCLock(200, 24, 0, 127), // Misdreavus (M) (Quirky) + }); + + public static readonly TeamLock XMawile = new( + 303, // Mawile + new[] { + new NPCLock(294, 06, 0, 127), // Loudred (M) (Docile) + new NPCLock(203, 18, 1, 127), // Girafarig (F) (Bashful) + }); + + public static readonly TeamLock XSnorunt = new( + 361, // Snorunt + new[] { + new NPCLock(336, 06, 1, 127), // Seviper (F) (Docile) + }); + + public static readonly TeamLock XPineco = new( + 204, // Pineco + new[] { + new NPCLock(198, 06, 0, 127), // Murkrow (M) (Docile) + }); + + public static readonly TeamLock XNatu = new( + 177, // Natu + new[] { + new NPCLock(281, 00, 0, 127), // Kirlia (M) (Hardy) + new NPCLock(264, 00, 1, 127), // Linoone (F) (Hardy) + }); + + public static readonly TeamLock XRoselia = new( + 315, // Roselia + new[] { + new NPCLock(223, 06, 0, 127), // Remoraid (M) (Docile) + new NPCLock(042, 18, 0, 127), // Golbat (M) (Bashful) + }); + + public static readonly TeamLock XMeowth = new( + 052, // Meowth + new[] { + new NPCLock(064, 06, 0, 063), // Kadabra (M) (Docile) + new NPCLock(215, 00, 1, 127), // Sneasel (F) (Hardy) + new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful) + }); + + public static readonly TeamLock XSwinub = new( + 220, // Swinub + new[] { + new NPCLock(324, 18, 1, 127), // Torkoal (F) (Bashful) + new NPCLock(274, 00, 0, 127), // Nuzleaf (M) (Hardy) + }); + + public static readonly TeamLock XSpearow = new( + 021, // Spearow + new[] { + new NPCLock(279, 18, 0, 127), // Pelipper (M) (Bashful) + new NPCLock(309, 06, 1, 127), // Electrike (F) (Docile) + }); + + public static readonly TeamLock XGrimer = new( + 088, // Grimer + new[] { + new NPCLock(358, 12, 0, 127), // Chimecho (M) (Serious) + new NPCLock(234, 18, 0, 127), // Stantler (M) (Bashful) + }); + + public static readonly TeamLock XSeel = new( + 086, // Seel + new[] { + new NPCLock(163, 06, 0, 127), // Hoothoot (M) (Docile) + new NPCLock(075, 18, 0, 127), // Graveler (M) (Bashful) + new NPCLock(316, 18, 1, 127), // Gulpin (F) (Bashful) + }); + + public static readonly TeamLock XLunatone = new( + 337, // Lunatone + new[] { + new NPCLock(171, 00, 1, 127), // Lanturn (F) (Hardy) + new NPCLock(195, 18, 0, 127), // Quagsire (M) (Bashful) + }); + + public static readonly TeamLock XNosepass = new( + 299, // Nosepass + new[] { + new NPCLock(271, 00, 0, 127), // Lombre (M) (Hardy) + new NPCLock(271, 18, 0, 127), // Lombre (M) (Bashful) + new NPCLock(271, 12, 1, 127), // Lombre (F) (Serious) + }); + + public static readonly TeamLock XParas = new( + 046, // Paras + new[] { + new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky) + new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile) + }); + + public static readonly TeamLock XGrowlithe = new( + 058, // Growlithe + new[] { + new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky) + new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile) + new NPCLock(046), // Shadow Paras + }); + + public static readonly TeamLock XGrowlitheParasSeen = new( + 058, // Growlithe + "Paras Seen", + new[] { + new NPCLock(336, 24, 0, 127), // Seviper (M) (Quirky) + new NPCLock(198, 06, 1, 127), // Murkrow (F) (Docile) + new NPCLock(046, true), // Shadow Paras (Seen) + }); + + public static readonly TeamLock XPidgeotto = new( + 017, // Pidgeotto + new[] { + new NPCLock(015), // Shadow Beedrill + new NPCLock(162, 12, 0, 127), // Furret (M) (Serious) + new NPCLock(176, 18, 0, 031), // Togetic (M) (Bashful) + }); + + public static readonly TeamLock XPidgeottoBeedrillSeen = new( + 017, // Pidgeotto + "Beedrill Seen", + new[] { + new NPCLock(015, true), // Shadow Beedrill (Seen) + new NPCLock(162, 12, 0, 127), // Furret (M) (Serious) + new NPCLock(176, 18, 0, 031), // Togetic (M) (Bashful) + }); + + public static readonly TeamLock XTangela = new( + 114, // Tangela + new[] { + new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious) + new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile) + new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy) + }); + + public static readonly TeamLock XButterfree = new( + 012, // Butterfree + new[] { + new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious) + new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile) + new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy) + new NPCLock(114), // Shadow Tangela + }); + + public static readonly TeamLock XButterfreeTangelaSeen = new( + 012, // Butterfree + "Tangela Seen", + new[] { + new NPCLock(038, 12, 1, 191), // Ninetales (F) (Serious) + new NPCLock(189, 06, 0, 127), // Jumpluff (M) (Docile) + new NPCLock(184, 00, 1, 127), // Azumarill (F) (Hardy) + new NPCLock(114, true), // Shadow Tangela (Seen) + }); + + public static readonly TeamLock XMagneton = new( + 082, // Magneton + new[] { + new NPCLock(292, 18, 2, 255), // Shedinja (-) (Bashful) + new NPCLock(202, 00, 0, 127), // Wobbuffet (M) (Hardy) + new NPCLock(329, 12, 1, 127), // Vibrava (F) (Serious) + }); + + public static readonly TeamLock XVenomoth = new( + 049, // Venomoth + new[] { + new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful) + new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky) + new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious) + }); + + public static readonly TeamLock XWeepinbell = new( + 070, // Weepinbell + new[] { + new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful) + new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky) + new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious) + new NPCLock(049), // Shadow Venomoth + }); + + public static readonly TeamLock XWeepinbellVenomothSeen = new( + 070, // Weepinbell + "Venomoth Seen", + new[] { + new NPCLock(055, 18, 1, 127), // Golduck (F) (Bashful) + new NPCLock(237, 24, 0, 000), // Hitmontop (M) (Quirky) + new NPCLock(297, 12, 0, 063), // Hariyama (M) (Serious) + new NPCLock(049, true), // Shadow Venomoth (Seen) + }); + + public static readonly TeamLock XArbok = new( + 024, // Arbok + new[] { + new NPCLock(367, 06, 0, 127), // Huntail (M) (Docile) + new NPCLock(332, 00, 1, 127), // Cacturne (F) (Hardy) + new NPCLock(110, 12, 1, 127), // Weezing (F) (Serious) + new NPCLock(217, 18, 1, 127), // Ursaring (F) (Bashful) + }); + + public static readonly TeamLock XPrimeape = new( + 057, // Primeape + new[] { + new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful) + new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious) + new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile) + new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky) + }); + + public static readonly TeamLock XHypno = new( + 097, // Hypno + new[] { + new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful) + new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious) + new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile) + new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky) + new NPCLock(057), // Shadow Primeape + }); + + public static readonly TeamLock XHypnoPrimeapeSeen = new( + 097, // Hypno + "Primeape Seen", + new[] { + new NPCLock(305, 18, 1, 127), // Lairon (F) (Bashful) + new NPCLock(364, 12, 1, 127), // Sealeo (F) (Serious) + new NPCLock(199, 06, 1, 127), // Slowking (F) (Docile) + new NPCLock(217, 24, 0, 127), // Ursaring (M) (Quirky) + new NPCLock(057, true), // Shadow Primeape (Seen) + }); + + public static readonly TeamLock XGolduck = new( + 055, // Golduck + new[] { + new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky) + new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile) + new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful) + }); + + public static readonly TeamLock XSableye = new( + 302, // Sableye + new[] { + new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky) + new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile) + new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful) + new NPCLock(055), // Shadow Golduck + }); + + public static readonly TeamLock XSableyeGolduckSeen = new( + 302, // Sableye + "Golduck Seen", + new[] { + new NPCLock(342, 24, 0, 127), // Crawdaunt (M) (Quirky) + new NPCLock(279, 06, 1, 127), // Pelipper (F) (Docile) + new NPCLock(226, 18, 1, 127), // Mantine (F) (Bashful) + new NPCLock(055, true), // Shadow Golduck (Seen) + }); + + public static readonly TeamLock XDodrio = new( + 085, // Dodrio + new[] { + new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful) + }); + + public static readonly TeamLock XRaticate = new( + 020, // Raticate + new[] { + new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful) + new NPCLock(085), // Shadow Dodrio + new NPCLock(340, 18, 0, 127), // Whiscash (M) (Bashful) + }); + + public static readonly TeamLock XRaticateDodrioSeen = new( + 020, // Raticate + "Dodrio Seen", + new[] { + new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful) + new NPCLock(085, true), // Shadow Dodrio (Seen) + new NPCLock(340, 18, 0, 127), // Whiscash (M) (Bashful) + }); + + public static readonly TeamLock XFarfetchd = new( + 083, // Farfetch’d + new[] { + new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious) + new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy) + new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky) + }); + + public static readonly TeamLock XAltaria = new( + 334, // Altaria + new[] { + new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious) + new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy) + new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky) + new NPCLock(083), // Shadow Farfetch’d + }); + + public static readonly TeamLock XAltariaFarfetchdSeen = new( + 334, // Altaria + "Farfetch'd Seen", + new[] { + new NPCLock(282, 12, 0, 127), // Gardevoir (M) (Serious) + new NPCLock(368, 00, 1, 127), // Gorebyss (F) (Hardy) + new NPCLock(315, 24, 0, 127), // Roselia (M) (Quirky) + new NPCLock(083, true), // Shadow Farfetch’d (Seen) + }); + + public static readonly TeamLock XKangaskhan = new( + 115, // Kangaskhan + new[] { + new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy) + new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful) + new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious) + }); + + public static readonly TeamLock XBanette = new( + 354, // Banette + new[] { + new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy) + new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful) + new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious) + new NPCLock(115), // Shadow Kangaskhan + }); + + public static readonly TeamLock XBanetteKangaskhanSeen = new( + 354, // Banette + "Kangaskhan Seen", + new[] { + new NPCLock(101, 00, 2, 255), // Electrode (-) (Hardy) + new NPCLock(200, 18, 1, 127), // Misdreavus (F) (Bashful) + new NPCLock(344, 12, 2, 255), // Claydol (-) (Serious) + new NPCLock(115, true), // Shadow Kangaskhan (Seen) + }); + + public static readonly TeamLock XMagmar = new( + 126, // Magmar + new[] { + new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful) + new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful) + new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy) + }); + + public static readonly TeamLock XPinsir = new( + 127, // Pinsir + new[] { + new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful) + new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful) + new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy) + new NPCLock(126), // Shadow Magmar + }); + + public static readonly TeamLock XPinsirMagmarSeen = new( + 127, // Pinsir + "Magmar Seen", + new[] { + new NPCLock(229, 18, 0, 127), // Houndoom (M) (Bashful) + new NPCLock(038, 18, 0, 191), // Ninetales (M) (Bashful) + new NPCLock(045, 00, 1, 127), // Vileplume (F) (Hardy) + new NPCLock(126, true), // Shadow Magmar (Seen) + }); + + public static readonly TeamLock XRapidash = new( + 078, // Rapidash + new[] { + new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky) + new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile) + new NPCLock(089, 12, 1, 127), // Muk (F) (Serious) + }); + + public static readonly TeamLock XMagcargo = new( + 219, // Magcargo + new[] { + new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky) + new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile) + new NPCLock(089, 12, 1, 127), // Muk (F) (Serious) + new NPCLock(078), // Shadow Rapidash + }); + + public static readonly TeamLock XMagcargoRapidashSeen = new( + 219, // Magcargo + "Rapidash Seen", + new[] { + new NPCLock(323, 24, 0, 127), // Camerupt (M) (Quirky) + new NPCLock(110, 06, 0, 127), // Weezing (M) (Docile) + new NPCLock(089, 12, 1, 127), // Muk (F) (Serious) + new NPCLock(078, true), // Shadow Rapidash (Seen) + }); + + public static readonly TeamLock XHitmonchan = new( + 107, // Hitmonchan + new[] { + new NPCLock(308, 24, 0, 127), // Medicham (M) (Quirky) + new NPCLock(076, 06, 1, 127), // Golem (F) (Docile) + new NPCLock(178, 18, 1, 127), // Xatu (F) (Bashful) + }); + + public static readonly TeamLock XHitmonlee = new( + 106, // Hitmonlee + new[] { + new NPCLock(326, 18, 0, 127), // Grumpig (M) (Bashful) + new NPCLock(227, 12, 1, 127), // Skarmory (F) (Serious) + new NPCLock(375, 06, 2, 255), // Metang (-) (Docile) + new NPCLock(297, 24, 1, 063), // Hariyama (F) (Quirky) + }); + + public static readonly TeamLock XLickitung = new( + 108, // Lickitung + new[] { + new NPCLock(171, 24, 0, 127), // Lanturn (M) (Quirky) + new NPCLock(082, 06, 2, 255), // Magneton (-) (Docile) + }); + + public static readonly TeamLock XScyther = new( + 123, // Scyther + new[] + { + new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile) + new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky) + }); + + public static readonly TeamLock XChansey = new( + 113, // Chansey + new[] { + new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile) + new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky) + new NPCLock(123), // Shadow Scyther + }); + + public static readonly TeamLock XChanseyScytherSeen = new( + 113, // Chansey + "Scyther Seen", + new[] { + new NPCLock(234, 06, 1, 127), // Stantler (F) (Docile) + new NPCLock(295, 24, 0, 127), // Exploud (M) (Quirky) + new NPCLock(123, true), // Shadow Scyther (Seen) + }); + + public static readonly TeamLock XSolrock = new( + 338, // Solrock + new[] { + new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky) + new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile) + new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy) + }); + + public static readonly TeamLock XStarmie = new( + 121, // Starmie + new[] { + new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky) + new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile) + new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy) + new NPCLock(338), // Shadow Solrock + new NPCLock(351, 18, 0, 127), // Castform (M) (Bashful) + }); + + public static readonly TeamLock XStarmieSolrockSeen = new( + 121, // Starmie + "Solrock Seen", + new[] { + new NPCLock(375, 24, 2, 255), // Metang (-) (Quirky) + new NPCLock(195, 06, 0, 127), // Quagsire (M) (Docile) + new NPCLock(212, 00, 1, 127), // Scizor (F) (Hardy) + new NPCLock(338, true), // Shadow Solrock (Seen) + new NPCLock(351, 18, 0, 127), // Castform (M) (Bashful) + }); + + public static readonly TeamLock XElectabuzz = new( + 125, // Electabuzz + new[] { + new NPCLock(277), // Shadow Swellow + new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky) + new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile) + new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful) + }); + + public static readonly TeamLock XElectabuzzSwellowSeen = new( + 125, // Electabuzz + "Swellow Seen", + new[] { + new NPCLock(277, true), // Shadow Swellow (Seen) + new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky) + new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile) + new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful) + }); + + public static readonly TeamLock XSnorlax = new( + 143, // Snorlax + new[] { + new NPCLock(277), // Shadow Swellow + new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky) + new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile) + new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful) + new NPCLock(125), // Shadow Electabuzz + }); + + public static readonly TeamLock XSnorlaxSwellowSeen = new( + 143, // Snorlax + "Swellow Seen", + new[] { + new NPCLock(277, true), // Shadow Swellow (Seen) + new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky) + new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile) + new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful) + new NPCLock(125), // Shadow Electabuzz + }); + + public static readonly TeamLock XSnorlaxSwellowElectabuzzSeen = new( + 143, // Snorlax + "Swellow & Electabuzz Seen", + new[] { + new NPCLock(277, true), // Shadow Swellow (Seen) + new NPCLock(065, 24, 0, 063), // Alakazam (M) (Quirky) + new NPCLock(230, 6, 1, 127), // Kingdra (F) (Docile) + new NPCLock(214, 18, 1, 127), // Heracross (F) (Bashful) + new NPCLock(125, true), // Shadow Electabuzz + }); + + public static readonly TeamLock XPoliwrath = new( + 062, // Poliwrath + new[] { + new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful) + new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful) + new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky) + new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile) + }); + + public static readonly TeamLock XMrMime = new( + 122, // Mr. Mime + new[] { + new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful) + new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful) + new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky) + new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile) + new NPCLock(062), // Shadow Poliwrath + }); + + public static readonly TeamLock XMrMimePoliwrathSeen = new( + 122, // Mr. Mime + "Poliwrath Seen", + new[] { + new NPCLock(199, 18, 0, 127), // Slowking (M) (Bashful) + new NPCLock(217, 18, 0, 127), // Ursaring (M) (Bashful) + new NPCLock(306, 24, 0, 127), // Aggron (M) (Quirky) + new NPCLock(365, 06, 1, 127), // Walrein (F) (Docile) + new NPCLock(062, true), // Shadow Poliwrath (Seen) + }); + + public static readonly TeamLock XDugtrio = new( + 051, // Dugtrio + new[] { + new NPCLock(362, 00, 0, 127), // Glalie (M) (Hardy) + new NPCLock(181, 18, 0, 127), // Ampharos (M) (Bashful) + new NPCLock(286, 06, 1, 127), // Breloom (F) (Docile) + new NPCLock(232, 12, 0, 127), // Donphan (M) (Serious) + }); + + public static readonly TeamLock XManectric = new( + 310, // Manectric + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + }); + + public static readonly TeamLock XSalamence = new( + 373, // Salamence + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310), // Shadow Manectric + }); + + public static readonly TeamLock XMarowak = new( + 105, // Marowak + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310), // Shadow Manectric + new NPCLock(373), // Shadow Salamence + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + }); + + public static readonly TeamLock XLapras = new( + 131, // Lapras + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310), // Shadow Manectric + new NPCLock(373), // Shadow Salamence + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + new NPCLock(105), // Shadow Marowak + }); + + public static readonly TeamLock XSalamenceManectricSeen = new( + 373, // Salamence + "Manectric Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + }); + + public static readonly TeamLock XMarowakManectricSeen = new( + 105, // Marowak + "Manectric Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373), // Shadow Salamence + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + }); + + public static readonly TeamLock XMarowakManectricSalamenceSeen = new( + 105, // Marowak + "Manectric & Salamence Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373, true), // Shadow Salamence (Seen) + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + }); + + public static readonly TeamLock XLaprasManectricSeen = new( + 131, // Lapras + "Manectric Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373), // Shadow Salamence + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + new NPCLock(105), // Shadow Marowak + }); + + public static readonly TeamLock XLaprasManectricSalamenceSeen = new( + 131, // Lapras + "Manectric & Salamence Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373, true), // Shadow Salamence (Seen) + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + new NPCLock(105), // Shadow Marowak + }); + + public static readonly TeamLock XLaprasManectricMarowakSeen = new( + 131, // Lapras + "Manectric & Marowak Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373), // Shadow Salamence + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + new NPCLock(105, true), // Shadow Marowak (Seen) + }); + + public static readonly TeamLock XLaprasManectricSalamenceMarowakSeen = new( + 131, // Lapras + "Manectric & Salamence & Marowak Seen", + new[] { + new NPCLock(291, 06, 1, 127), // Ninjask (F) (Docile) + new NPCLock(310, true), // Shadow Manectric (Seen) + new NPCLock(373, true), // Shadow Salamence (Seen) + new NPCLock(330, 24, 0, 127), // Flygon (M) (Quirky) + new NPCLock(105, true), // Shadow Marowak (Seen) + }); + + public static readonly TeamLock XMoltres = new( + 146, // Moltres + new[] { + new NPCLock(112), // Shadow Rhydon + }); + + public static readonly TeamLock XExeggutor = new( + 103, // Exeggutor + new[] { + new NPCLock(112), // Shadow Rhydon + new NPCLock(146), // Shadow Moltres + }); + + public static readonly TeamLock XTauros = new( + 128, // Tauros + new[] { + new NPCLock(112), // Shadow Rhydon + new NPCLock(146), // Shadow Moltres + new NPCLock(103), // Shadow Exeggutor + }); + + public static readonly TeamLock XArticuno = new( + 144, // Articuno + new[] { + new NPCLock(112), // Shadow Rhydon + new NPCLock(146), // Shadow Moltres + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128), // Shadow Tauros + }); + + public static readonly TeamLock XZapdos = new( + 145, // Zapdos + new[] { + new NPCLock(112), // Shadow Rhydon + new NPCLock(146), // Shadow Moltres + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128), // Shadow Tauros + new NPCLock(144), // Shadow Articuno + }); + + public static readonly TeamLock XExeggutorRhydonMoltresSeen = new( + 103, // Exeggutor + "Rhydon & Moltres Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + }); + + public static readonly TeamLock XTaurosRhydonMoltresSeen = new( + 128, // Tauros + "Rhydon & Moltres Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + }); + + public static readonly TeamLock XTaurosRhydonMoltresExeggutorSeen = new( + 128, // Tauros + "Rhydon & Moltres & Exeggutor Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + }); + + public static readonly TeamLock XArticunoRhydonMoltresSeen = new( + 144, // Articuno + "Rhydon & Moltres Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128), // Shadow Tauros + }); + + public static readonly TeamLock XArticunoRhydonMoltresTaurosSeen = new( + 144, // Articuno + "Rhydon & Moltres & Tauros Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128, true), // Shadow Tauros (Seen) + }); + + public static readonly TeamLock XArticunoRhydonMoltresExeggutorSeen = new( + 144, // Articuno + "Rhydon & Moltres & Exeggutor Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128), // Shadow Tauros + }); + + public static readonly TeamLock XArticunoRhydonMoltresExeggutorTaurosSeen = new( + 144, // Articuno + "Rhydon & Moltres & Exeggutor & Tauros Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128, true), // Shadow Tauros (Seen) + }); + + public static readonly TeamLock XZapdosRhydonMoltresSeen = new( + 145, // Zapdos + "Rhydon & Moltres Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128), // Shadow Tauros + new NPCLock(144), // Shadow Articuno + }); + + public static readonly TeamLock XZapdosRhydonMoltresTaurosSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Tauros Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128, true), // Shadow Tauros (Seen) + new NPCLock(144), // Shadow Articuno + }); + + public static readonly TeamLock XZapdosRhydonMoltresArticunoSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Articuno Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128), // Shadow Tauros + new NPCLock(144, true), // Shadow Articuno (Seen) + }); + + public static readonly TeamLock XZapdosRhydonMoltresExeggutorSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Exeggutor Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128), // Shadow Tauros + new NPCLock(144), // Shadow Articuno + }); + + public static readonly TeamLock XZapdosRhydonMoltresTaurosArticunoSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Tauros & Articuno Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103), // Shadow Exeggutor + new NPCLock(128, true), // Shadow Tauros (Seen) + new NPCLock(144, true), // Shadow Articuno (Seen) + }); + + public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Exeggutor & Tauros Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128, true), // Shadow Tauros (Seen) + new NPCLock(144), // Shadow Articuno + }); + + public static readonly TeamLock XZapdosRhydonMoltresExeggutorArticunoSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Exeggutor & Articuno Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128), // Shadow Tauros + new NPCLock(144, true), // Shadow Articuno (Seen) + }); + + public static readonly TeamLock XZapdosRhydonMoltresExeggutorTaurosArticunoSeen = new( + 145, // Zapdos + "Rhydon & Moltres & Exeggutor & Tauros & Articuno Seen", + new[] { + new NPCLock(112, true), // Shadow Rhydon (Seen) + new NPCLock(146, true), // Shadow Moltres (Seen) + new NPCLock(103, true), // Shadow Exeggutor (Seen) + new NPCLock(128, true), // Shadow Tauros (Seen) + new NPCLock(144, true), // Shadow Articuno (Seen) + }); + + public static readonly TeamLock XDragonite = new( + 149, // Dragonite + new[] { + new NPCLock(272, 00, 0, 127), // Ludicolo (M) (Hardy) + new NPCLock(272, 18, 0, 127), // Ludicolo (M) (Bashful) + new NPCLock(272, 12, 1, 127), // Ludicolo (F) (Serious) + new NPCLock(272, 12, 1, 127), // Ludicolo (F) (Serious) + new NPCLock(272, 00, 0, 127), // Ludicolo (M) (Hardy) + }); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters3Teams.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDTeams.cs similarity index 90% rename from PKHeX.Core/Legality/Encounters/Data/Encounters3Teams.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDTeams.cs index 8ede13bd3..516727b1a 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters3Teams.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDTeams.cs @@ -1,27 +1,15 @@ -using System; -using static PKHeX.Core.Encounters3Shadow; +using System; +using static PKHeX.Core.Encounters3XDShadow; namespace PKHeX.Core; /// /// Permutations of teams, where a team may have multiple shadow Pokémon or alternate/re-battle scenarios. /// -public static class Encounters3Teams +public static class Encounters3XDTeams { public static readonly TeamLock[] First = Array.Empty(); - // Colo - public static readonly TeamLock[] ColoMakuhita = { CMakuhita }; - public static readonly TeamLock[] Gligar = { CGligar }; - public static readonly TeamLock[] Murkrow = { CMurkrow }; - public static readonly TeamLock[] Heracross = { CHeracross }; - public static readonly TeamLock[] Ursaring = { CUrsaring }; - - // E-Reader - public static readonly TeamLock[] CTogepi = {ETogepi}; - public static readonly TeamLock[] CMareep = {EMareep}; - public static readonly TeamLock[] CScizor = {EScizor}; - // XD public static readonly TeamLock[] Spheal = { XSphealCipherLab, XSphealPhenacCityandPost }; public static readonly TeamLock[] Seedot = { XSeedotCipherLab, XSeedotPhenacCity, XSeedotPost }; diff --git a/PKHeX.Core/Legality/Encounters/Data/EncountersWC3.cs b/PKHeX.Core/Legality/Encounters/Data/Gen3/EncountersWC3.cs similarity index 100% rename from PKHeX.Core/Legality/Encounters/Data/EncountersWC3.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen3/EncountersWC3.cs diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters4.cs b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4DPPt.cs similarity index 54% rename from PKHeX.Core/Legality/Encounters/Data/Encounters4.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4DPPt.cs index 209095872..36df4a354 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters4.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4DPPt.cs @@ -8,21 +8,13 @@ namespace PKHeX.Core; /// /// Generation 4 Encounters /// -internal static class Encounters4 +internal static class Encounters4DPPt { internal static readonly EncounterArea4[] SlotsD = EncounterArea4.GetAreas(Get("d", "da"), D); internal static readonly EncounterArea4[] SlotsP = EncounterArea4.GetAreas(Get("p", "pe"), P); internal static readonly EncounterArea4[] SlotsPt = EncounterArea4.GetAreas(Get("pt", "pt"), Pt); - internal static readonly EncounterArea4[] SlotsHG = EncounterArea4.GetAreas(Get("hg", "hg"), HG); - internal static readonly EncounterArea4[] SlotsSS = EncounterArea4.GetAreas(Get("ss", "ss"), SS); - private static readonly EncounterStatic4Pokewalker[] Encounter_PokeWalker = EncounterStatic4Pokewalker.GetAll(Util.GetBinaryResource("encounter_walker4.pkl")); - - static Encounters4() - { - MarkEncounterTradeStrings(TradeGift_DPPt, TradeDPPt); - MarkEncounterTradeStrings(TradeGift_HGSS, TradeHGSS); - } + static Encounters4DPPt() => MarkEncounterTradeStrings(TradeGift_DPPt, TradeDPPt); #region Static Encounter/Gift Tables private static readonly EncounterStatic4[] Encounter_DPPt = @@ -98,104 +90,6 @@ static Encounters4() new(Pt) { Roaming = true, Location = 16, Species = 145, Level = 60, GroundTile = Grass | Water }, // Zapdos new(Pt) { Roaming = true, Location = 16, Species = 146, Level = 60, GroundTile = Grass | Water }, // Moltres }; - - private static readonly EncounterStatic4[] Encounter_HGSS = - { - // Starters - new(HGSS) { Gift = true, Species = 001, Level = 05, Location = 138, GroundTile = Max_Pt }, // Bulbasaur @ Pallet Town - new(HGSS) { Gift = true, Species = 004, Level = 05, Location = 138, GroundTile = Max_Pt }, // Charmander - new(HGSS) { Gift = true, Species = 007, Level = 05, Location = 138, GroundTile = Max_Pt }, // Squirtle - new(HGSS) { Gift = true, Species = 152, Level = 05, Location = 126, GroundTile = Max_DP }, // Chikorita @ New Bark Town - new(HGSS) { Gift = true, Species = 155, Level = 05, Location = 126, GroundTile = Max_DP }, // Cyndaquil - new(HGSS) { Gift = true, Species = 158, Level = 05, Location = 126, GroundTile = Max_DP }, // Totodile - new(HGSS) { Gift = true, Species = 252, Level = 05, Location = 148, GroundTile = Max_Pt }, // Treecko @ Saffron City - new(HGSS) { Gift = true, Species = 255, Level = 05, Location = 148, GroundTile = Max_Pt }, // Torchic - new(HGSS) { Gift = true, Species = 258, Level = 05, Location = 148, GroundTile = Max_Pt }, // Mudkip - - // Fossils @ Pewter City - new(HGSS) { Gift = true, Species = 138, Level = 20, Location = 140, GroundTile = Max_Pt }, // Omanyte - new(HGSS) { Gift = true, Species = 140, Level = 20, Location = 140, GroundTile = Max_Pt }, // Kabuto - new(HGSS) { Gift = true, Species = 142, Level = 20, Location = 140, GroundTile = Max_Pt }, // Aerodactyl - new(HGSS) { Gift = true, Species = 345, Level = 20, Location = 140, GroundTile = Max_Pt }, // Lileep - new(HGSS) { Gift = true, Species = 347, Level = 20, Location = 140, GroundTile = Max_Pt }, // Anorith - new(HGSS) { Gift = true, Species = 408, Level = 20, Location = 140, GroundTile = Max_Pt }, // Cranidos - new(HGSS) { Gift = true, Species = 410, Level = 20, Location = 140, GroundTile = Max_Pt }, // Shieldon - - // Gift - new(HGSS) { Gift = true, Species = 072, Level = 15, Location = 130, GroundTile = Max_Pt }, // Tentacool @ Cianwood City - new(HGSS) { Gift = true, Species = 133, Level = 05, Location = 131, GroundTile = Max_Pt }, // Eevee @ Goldenrod City - new(HGSS) { Gift = true, Species = 147, Level = 15, Location = 222, GroundTile = Max_Pt, Moves = new(245) }, // Dratini @ Dragon's Den (ExtremeSpeed) - new(HGSS) { Gift = true, Species = 236, Level = 10, Location = 216, GroundTile = Max_Pt }, // Tyrogue @ Mt. Mortar - new(HGSS) { Gift = true, Species = 175, Level = 01, EggLocation = 2013, Moves = new((int)Move.Growl, (int)Move.Charm, (int)Move.Extrasensory) }, // Togepi Egg from Mr. Pokemon (Extrasensory as Egg move) - new(HGSS) { Gift = true, Species = 179, Level = 01, EggLocation = 2014 }, // Mareep Egg from Primo - new(HGSS) { Gift = true, Species = 194, Level = 01, EggLocation = 2014 }, // Wooper Egg from Primo - new(HGSS) { Gift = true, Species = 218, Level = 01, EggLocation = 2014 }, // Slugma Egg from Primo - - // Celadon City Game Corner - new(HGSS) { Gift = true, Species = 122, Level = 15, Location = 144, GroundTile = Max_Pt }, // Mr. Mime - new(HGSS) { Gift = true, Species = 133, Level = 15, Location = 144, GroundTile = Max_Pt }, // Eevee - new(HGSS) { Gift = true, Species = 137, Level = 15, Location = 144, GroundTile = Max_Pt }, // Porygon - - // Goldenrod City Game Corner - new(HGSS) { Gift = true, Species = 063, Level = 15, Location = 131, GroundTile = Max_Pt }, // Abra - new(HG ) { Gift = true, Species = 023, Level = 15, Location = 131, GroundTile = Max_Pt }, // Ekans - new( SS) { Gift = true, Species = 027, Level = 15, Location = 131, GroundTile = Max_Pt }, // Sandshrew - new(HGSS) { Gift = true, Species = 147, Level = 15, Location = 131, GroundTile = Max_Pt }, // Dratini - - // Team Rocket HQ Trap Floor - new(HGSS) { Species = 100, Level = 23, Location = 213, GroundTile = Building }, // Voltorb - new(HGSS) { Species = 074, Level = 21, Location = 213, GroundTile = Building }, // Geodude - new(HGSS) { Species = 109, Level = 21, Location = 213, GroundTile = Building }, // Koffing - - // Stationary - new(HGSS) { Species = 130, Level = 30, Location = 135, GroundTile = Water, Shiny = Shiny.Always }, // Gyarados @ Lake of Rage - new(HGSS) { Species = 131, Level = 20, Location = 210, GroundTile = Water }, // Lapras @ Union Cave Friday Only - new(HGSS) { Species = 101, Level = 23, Location = 213, GroundTile = Building }, // Electrode @ Team Rocket HQ - new(HGSS) { Species = 143, Level = 50, Location = 159 }, // Snorlax @ Route 11 - new(HGSS) { Species = 143, Level = 50, Location = 160 }, // Snorlax @ Route 12 - new(HGSS) { Species = 185, Level = 20, Location = 184 }, // Sudowoodo @ Route 36, Encounter does not have type - - new(HGSS) // Spiky-Eared Pichu @ Ilex Forest - { - Species = 172, - Level = 30, - Gender = 1, - Form = 1, - Nature = Nature.Naughty, - Location = 214, - Moves = new(344, 270, 207, 220), - GroundTile = Max_Pt, - Shiny = Shiny.Never, - }, - - // Stationary Legendary - new(HGSS) { Species = 144, Level = 50, Location = 203, GroundTile = Cave }, // Articuno @ Seafoam Islands - new(HGSS) { Species = 145, Level = 50, Location = 158 }, // Zapdos @ Route 10 - new(HGSS) { Species = 146, Level = 50, Location = 219, GroundTile = Cave }, // Moltres @ Mt. Silver Cave - new(HGSS) { Species = 150, Level = 70, Location = 199, GroundTile = Cave }, // Mewtwo @ Cerulean Cave - new(HGSS) { Species = 245, Level = 40, Location = 173 }, // Suicune @ Route 25 - new(HGSS) { Species = 245, Level = 40, Location = 206, GroundTile = Cave }, // Suicune @ Burned Tower - new( SS) { Species = 249, Level = 45, Location = 218, GroundTile = Water }, // Lugia @ Whirl Islands - new(HG ) { Species = 249, Level = 70, Location = 218, GroundTile = Water }, // Lugia @ Whirl Islands - new(HG ) { Species = 250, Level = 45, Location = 205, GroundTile = Building }, // Ho-Oh @ Bell Tower - new( SS) { Species = 250, Level = 70, Location = 205, GroundTile = Building }, // Ho-Oh @ Bell Tower - new( SS) { Species = 380, Level = 40, Location = 140, GroundTile = Building }, // Latias @ Pewter City - new(HG ) { Species = 381, Level = 40, Location = 140, GroundTile = Building }, // Latios @ Pewter City - new(HG ) { Species = 382, Level = 50, Location = 232, GroundTile = Cave }, // Kyogre @ Embedded Tower - new( SS) { Species = 383, Level = 50, Location = 232, GroundTile = Cave }, // Groudon @ Embedded Tower - new(HGSS) { Species = 384, Level = 50, Location = 232, GroundTile = Cave }, // Rayquaza @ Embedded Tower - new(HGSS) { Species = 483, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt }, // Dialga @ Sinjoh Ruins - new(HGSS) { Species = 484, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt }, // Palkia @ Sinjoh Ruins - new(HGSS) { Species = 487, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt, Form = 1, HeldItem = 112 }, // Giratina @ Sinjoh Ruins - - // Johto Roamers - new(HGSS) { Roaming = true, Species = 243, Location = 177, Level = 40, GroundTile = Grass | Water }, // Raikou - new(HGSS) { Roaming = true, Species = 244, Location = 177, Level = 40, GroundTile = Grass | Water }, // Entei - - // Kanto Roamers - new(HG ) { Roaming = true, Species = 380, Location = 149, Level = 35, GroundTile = Grass | Water }, // Latias - new( SS) { Roaming = true, Species = 381, Location = 149, Level = 35, GroundTile = Grass | Water }, // Latios - }; #endregion #region Trade Tables @@ -235,33 +129,11 @@ static Encounters4() internal static readonly EncounterTrade4[] TradeGift_DPPt = ArrayUtil.ConcatAll(TradeGift_DPPtIngame, RanchGifts); - internal static readonly EncounterTrade4PID[] TradeGift_HGSS = - { - new(HGSS, 0x000025EF, 095, 01) { Ability = OnlySecond, TID = 48926, SID = 00000, OTGender = 0, Gender = 0, IVs = new(25,20,25,15,15,15) }, // Bellsprout -> Onix - new(HGSS, 0x00002310, 066, 01) { Ability = OnlyFirst, TID = 37460, SID = 00000, OTGender = 0, Gender = 1, IVs = new(15,25,20,20,15,15) }, // Drowzee -> Machop - new(HGSS, 0x000001DB, 100, 01) { Ability = OnlySecond, TID = 29189, SID = 00000, OTGender = 0, Gender = 2, IVs = new(15,20,15,25,25,15) }, // Krabby -> Voltorb - new(HGSS, 0x0001FC0A, 085, 15) { Ability = OnlyFirst, TID = 00283, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,15,15,15) }, // Dragonair (15 from DPPt) -> Dodrio - new(HGSS, 0x0000D136, 082, 19) { Ability = OnlyFirst, TID = 50082, SID = 00000, OTGender = 0, Gender = 2, IVs = new(15,20,15,20,20,20) }, // Dugtrio (19 from Diglett's Cave) -> Magneton - new(HGSS, 0x000034E4, 178, 16) { Ability = OnlyFirst, TID = 15616, SID = 00000, OTGender = 0, Gender = 0, IVs = new(15,20,15,20,20,20) }, // Haunter (16 from Old Chateau) -> Xatu - new(HGSS, 0x00485876, 025, 02) { Ability = OnlyFirst, TID = 33038, SID = 00000, OTGender = 0, Gender = 1, IVs = new(20,25,18,31,25,13) }, // Pikachu - new(HGSS, 0x0012B6D4, 374, 31) { Ability = OnlyFirst, TID = 23478, SID = 00000, OTGender = 0, Gender = 2, IVs = new(28,29,24,23,24,25) }, // Forretress -> Beldum - new(HGSS, 0x0012971C, 111, 01) { Ability = OnlyFirst, TID = 06845, SID = 00000, OTGender = 0, Gender = 1, IVs = new(22,31,13,00,22,09), Moves = new(422) }, // Bonsly -> Rhyhorn - new(HGSS, 0x00101596, 208, 01) { Ability = OnlyFirst, TID = 26491, SID = 00000, OTGender = 1, Gender = 0, IVs = new(08,30,28,06,18,20) }, // Any -> Steelix - - //Gift - new(HGSS, 0x00006B5E, 021, 20) { Ability = OnlyFirst, TID = 01001, SID = 00000, OTGender = 0, Gender = 1, IVs = new(15,20,15,20,20,20), MetLocation = 183, Moves = new(043,031,228,332) },// Webster's Spearow - new(HGSS, 0x000214D7, 213, 20) { Ability = OnlySecond, TID = 04336, SID = 00001, OTGender = 0, Gender = 0, IVs = new(15,20,15,20,20,20), MetLocation = 130, Moves = new(132,117,227,219) },// Kirk's Shuckle - }; - private const string tradeDPPt = "tradedppt"; - private const string tradeHGSS = "tradehgss"; private static readonly string[][] TradeDPPt = Util.GetLanguageStrings8(tradeDPPt); - private static readonly string[][] TradeHGSS = Util.GetLanguageStrings8(tradeHGSS); #endregion internal static readonly EncounterStatic4[] StaticD = GetEncounters(Encounter_DPPt, D); internal static readonly EncounterStatic4[] StaticP = GetEncounters(Encounter_DPPt, P); internal static readonly EncounterStatic4[] StaticPt = GetEncounters(Encounter_DPPt, Pt); - internal static readonly EncounterStatic[] StaticHG = GetEncounters(ArrayUtil.ConcatAll(Encounter_HGSS, Encounter_PokeWalker), HG); - internal static readonly EncounterStatic[] StaticSS = GetEncounters(ArrayUtil.ConcatAll(Encounter_HGSS, Encounter_PokeWalker), SS); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4HGSS.cs b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4HGSS.cs new file mode 100644 index 000000000..dfdeada54 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4HGSS.cs @@ -0,0 +1,144 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.GroundTileAllowed; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 4 Encounters +/// +internal static class Encounters4HGSS +{ + internal static readonly EncounterArea4[] SlotsHG = EncounterArea4.GetAreas(Get("hg", "hg"), HG); + internal static readonly EncounterArea4[] SlotsSS = EncounterArea4.GetAreas(Get("ss", "ss"), SS); + + private static readonly EncounterStatic4Pokewalker[] Encounter_PokeWalker = EncounterStatic4Pokewalker.GetAll(Util.GetBinaryResource("encounter_walker4.pkl")); + + static Encounters4HGSS() => MarkEncounterTradeStrings(TradeGift_HGSS, TradeHGSS); + + #region Static Encounter/Gift Tables + private static readonly EncounterStatic4[] Encounter_HGSS = + { + // Starters + new(HGSS) { Gift = true, Species = 001, Level = 05, Location = 138, GroundTile = Max_Pt }, // Bulbasaur @ Pallet Town + new(HGSS) { Gift = true, Species = 004, Level = 05, Location = 138, GroundTile = Max_Pt }, // Charmander + new(HGSS) { Gift = true, Species = 007, Level = 05, Location = 138, GroundTile = Max_Pt }, // Squirtle + new(HGSS) { Gift = true, Species = 152, Level = 05, Location = 126, GroundTile = Max_DP }, // Chikorita @ New Bark Town + new(HGSS) { Gift = true, Species = 155, Level = 05, Location = 126, GroundTile = Max_DP }, // Cyndaquil + new(HGSS) { Gift = true, Species = 158, Level = 05, Location = 126, GroundTile = Max_DP }, // Totodile + new(HGSS) { Gift = true, Species = 252, Level = 05, Location = 148, GroundTile = Max_Pt }, // Treecko @ Saffron City + new(HGSS) { Gift = true, Species = 255, Level = 05, Location = 148, GroundTile = Max_Pt }, // Torchic + new(HGSS) { Gift = true, Species = 258, Level = 05, Location = 148, GroundTile = Max_Pt }, // Mudkip + + // Fossils @ Pewter City + new(HGSS) { Gift = true, Species = 138, Level = 20, Location = 140, GroundTile = Max_Pt }, // Omanyte + new(HGSS) { Gift = true, Species = 140, Level = 20, Location = 140, GroundTile = Max_Pt }, // Kabuto + new(HGSS) { Gift = true, Species = 142, Level = 20, Location = 140, GroundTile = Max_Pt }, // Aerodactyl + new(HGSS) { Gift = true, Species = 345, Level = 20, Location = 140, GroundTile = Max_Pt }, // Lileep + new(HGSS) { Gift = true, Species = 347, Level = 20, Location = 140, GroundTile = Max_Pt }, // Anorith + new(HGSS) { Gift = true, Species = 408, Level = 20, Location = 140, GroundTile = Max_Pt }, // Cranidos + new(HGSS) { Gift = true, Species = 410, Level = 20, Location = 140, GroundTile = Max_Pt }, // Shieldon + + // Gift + new(HGSS) { Gift = true, Species = 072, Level = 15, Location = 130, GroundTile = Max_Pt }, // Tentacool @ Cianwood City + new(HGSS) { Gift = true, Species = 133, Level = 05, Location = 131, GroundTile = Max_Pt }, // Eevee @ Goldenrod City + new(HGSS) { Gift = true, Species = 147, Level = 15, Location = 222, GroundTile = Max_Pt, Moves = new(245) }, // Dratini @ Dragon's Den (ExtremeSpeed) + new(HGSS) { Gift = true, Species = 236, Level = 10, Location = 216, GroundTile = Max_Pt }, // Tyrogue @ Mt. Mortar + new(HGSS) { Gift = true, Species = 175, Level = 01, EggLocation = 2013, Moves = new((int)Move.Growl, (int)Move.Charm, (int)Move.Extrasensory) }, // Togepi Egg from Mr. Pokemon (Extrasensory as Egg move) + new(HGSS) { Gift = true, Species = 179, Level = 01, EggLocation = 2014 }, // Mareep Egg from Primo + new(HGSS) { Gift = true, Species = 194, Level = 01, EggLocation = 2014 }, // Wooper Egg from Primo + new(HGSS) { Gift = true, Species = 218, Level = 01, EggLocation = 2014 }, // Slugma Egg from Primo + + // Celadon City Game Corner + new(HGSS) { Gift = true, Species = 122, Level = 15, Location = 144, GroundTile = Max_Pt }, // Mr. Mime + new(HGSS) { Gift = true, Species = 133, Level = 15, Location = 144, GroundTile = Max_Pt }, // Eevee + new(HGSS) { Gift = true, Species = 137, Level = 15, Location = 144, GroundTile = Max_Pt }, // Porygon + + // Goldenrod City Game Corner + new(HGSS) { Gift = true, Species = 063, Level = 15, Location = 131, GroundTile = Max_Pt }, // Abra + new(HG ) { Gift = true, Species = 023, Level = 15, Location = 131, GroundTile = Max_Pt }, // Ekans + new( SS) { Gift = true, Species = 027, Level = 15, Location = 131, GroundTile = Max_Pt }, // Sandshrew + new(HGSS) { Gift = true, Species = 147, Level = 15, Location = 131, GroundTile = Max_Pt }, // Dratini + + // Team Rocket HQ Trap Floor + new(HGSS) { Species = 100, Level = 23, Location = 213, GroundTile = Building }, // Voltorb + new(HGSS) { Species = 074, Level = 21, Location = 213, GroundTile = Building }, // Geodude + new(HGSS) { Species = 109, Level = 21, Location = 213, GroundTile = Building }, // Koffing + + // Stationary + new(HGSS) { Species = 130, Level = 30, Location = 135, GroundTile = Water, Shiny = Shiny.Always }, // Gyarados @ Lake of Rage + new(HGSS) { Species = 131, Level = 20, Location = 210, GroundTile = Water }, // Lapras @ Union Cave Friday Only + new(HGSS) { Species = 101, Level = 23, Location = 213, GroundTile = Building }, // Electrode @ Team Rocket HQ + new(HGSS) { Species = 143, Level = 50, Location = 159 }, // Snorlax @ Route 11 + new(HGSS) { Species = 143, Level = 50, Location = 160 }, // Snorlax @ Route 12 + new(HGSS) { Species = 185, Level = 20, Location = 184 }, // Sudowoodo @ Route 36, Encounter does not have type + + new(HGSS) // Spiky-Eared Pichu @ Ilex Forest + { + Species = 172, + Level = 30, + Gender = 1, + Form = 1, + Nature = Nature.Naughty, + Location = 214, + Moves = new(344, 270, 207, 220), + GroundTile = Max_Pt, + Shiny = Shiny.Never, + }, + + // Stationary Legendary + new(HGSS) { Species = 144, Level = 50, Location = 203, GroundTile = Cave }, // Articuno @ Seafoam Islands + new(HGSS) { Species = 145, Level = 50, Location = 158 }, // Zapdos @ Route 10 + new(HGSS) { Species = 146, Level = 50, Location = 219, GroundTile = Cave }, // Moltres @ Mt. Silver Cave + new(HGSS) { Species = 150, Level = 70, Location = 199, GroundTile = Cave }, // Mewtwo @ Cerulean Cave + new(HGSS) { Species = 245, Level = 40, Location = 173 }, // Suicune @ Route 25 + new(HGSS) { Species = 245, Level = 40, Location = 206, GroundTile = Cave }, // Suicune @ Burned Tower + new( SS) { Species = 249, Level = 45, Location = 218, GroundTile = Water }, // Lugia @ Whirl Islands + new(HG ) { Species = 249, Level = 70, Location = 218, GroundTile = Water }, // Lugia @ Whirl Islands + new(HG ) { Species = 250, Level = 45, Location = 205, GroundTile = Building }, // Ho-Oh @ Bell Tower + new( SS) { Species = 250, Level = 70, Location = 205, GroundTile = Building }, // Ho-Oh @ Bell Tower + new( SS) { Species = 380, Level = 40, Location = 140, GroundTile = Building }, // Latias @ Pewter City + new(HG ) { Species = 381, Level = 40, Location = 140, GroundTile = Building }, // Latios @ Pewter City + new(HG ) { Species = 382, Level = 50, Location = 232, GroundTile = Cave }, // Kyogre @ Embedded Tower + new( SS) { Species = 383, Level = 50, Location = 232, GroundTile = Cave }, // Groudon @ Embedded Tower + new(HGSS) { Species = 384, Level = 50, Location = 232, GroundTile = Cave }, // Rayquaza @ Embedded Tower + new(HGSS) { Species = 483, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt }, // Dialga @ Sinjoh Ruins + new(HGSS) { Species = 484, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt }, // Palkia @ Sinjoh Ruins + new(HGSS) { Species = 487, Level = 01, Location = 231, Gift = true, GroundTile = Max_Pt, Form = 1, HeldItem = 112 }, // Giratina @ Sinjoh Ruins + + // Johto Roamers + new(HGSS) { Roaming = true, Species = 243, Location = 177, Level = 40, GroundTile = Grass | Water }, // Raikou + new(HGSS) { Roaming = true, Species = 244, Location = 177, Level = 40, GroundTile = Grass | Water }, // Entei + + // Kanto Roamers + new(HG ) { Roaming = true, Species = 380, Location = 149, Level = 35, GroundTile = Grass | Water }, // Latias + new( SS) { Roaming = true, Species = 381, Location = 149, Level = 35, GroundTile = Grass | Water }, // Latios + }; + #endregion + #region Trade Tables + internal static readonly EncounterTrade4PID[] TradeGift_HGSS = + { + new(HGSS, 0x000025EF, 095, 01) { Ability = OnlySecond, TID = 48926, SID = 00000, OTGender = 0, Gender = 0, IVs = new(25,20,25,15,15,15) }, // Bellsprout -> Onix + new(HGSS, 0x00002310, 066, 01) { Ability = OnlyFirst, TID = 37460, SID = 00000, OTGender = 0, Gender = 1, IVs = new(15,25,20,20,15,15) }, // Drowzee -> Machop + new(HGSS, 0x000001DB, 100, 01) { Ability = OnlySecond, TID = 29189, SID = 00000, OTGender = 0, Gender = 2, IVs = new(15,20,15,25,25,15) }, // Krabby -> Voltorb + new(HGSS, 0x0001FC0A, 085, 15) { Ability = OnlyFirst, TID = 00283, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,15,15,15) }, // Dragonair (15 from DPPt) -> Dodrio + new(HGSS, 0x0000D136, 082, 19) { Ability = OnlyFirst, TID = 50082, SID = 00000, OTGender = 0, Gender = 2, IVs = new(15,20,15,20,20,20) }, // Dugtrio (19 from Diglett's Cave) -> Magneton + new(HGSS, 0x000034E4, 178, 16) { Ability = OnlyFirst, TID = 15616, SID = 00000, OTGender = 0, Gender = 0, IVs = new(15,20,15,20,20,20) }, // Haunter (16 from Old Chateau) -> Xatu + new(HGSS, 0x00485876, 025, 02) { Ability = OnlyFirst, TID = 33038, SID = 00000, OTGender = 0, Gender = 1, IVs = new(20,25,18,31,25,13) }, // Pikachu + new(HGSS, 0x0012B6D4, 374, 31) { Ability = OnlyFirst, TID = 23478, SID = 00000, OTGender = 0, Gender = 2, IVs = new(28,29,24,23,24,25) }, // Forretress -> Beldum + new(HGSS, 0x0012971C, 111, 01) { Ability = OnlyFirst, TID = 06845, SID = 00000, OTGender = 0, Gender = 1, IVs = new(22,31,13,00,22,09), Moves = new(422) }, // Bonsly -> Rhyhorn + new(HGSS, 0x00101596, 208, 01) { Ability = OnlyFirst, TID = 26491, SID = 00000, OTGender = 1, Gender = 0, IVs = new(08,30,28,06,18,20) }, // Any -> Steelix + + //Gift + new(HGSS, 0x00006B5E, 021, 20) { Ability = OnlyFirst, TID = 01001, SID = 00000, OTGender = 0, Gender = 1, IVs = new(15,20,15,20,20,20), MetLocation = 183, Moves = new(043,031,228,332) },// Webster's Spearow + new(HGSS, 0x000214D7, 213, 20) { Ability = OnlySecond, TID = 04336, SID = 00001, OTGender = 0, Gender = 0, IVs = new(15,20,15,20,20,20), MetLocation = 130, Moves = new(132,117,227,219) },// Kirk's Shuckle + }; + + private const string tradeHGSS = "tradehgss"; + private static readonly string[][] TradeHGSS = Util.GetLanguageStrings8(tradeHGSS); + #endregion + + internal static readonly EncounterStatic[] StaticHG = GetEncounters(ArrayUtil.ConcatAll(Encounter_HGSS, Encounter_PokeWalker), HG); + internal static readonly EncounterStatic[] StaticSS = GetEncounters(ArrayUtil.ConcatAll(Encounter_HGSS, Encounter_PokeWalker), SS); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5B2W2.cs b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5B2W2.cs new file mode 100644 index 000000000..352e8884b --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5B2W2.cs @@ -0,0 +1,230 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; +using static PKHeX.Core.Encounters5DR; + +namespace PKHeX.Core; + +/// +/// Generation 5 Encounters +/// +public static class Encounters5B2W2 +{ + internal static readonly EncounterArea5[] SlotsB2 = EncounterArea5.GetAreas(Get("b2", "52"), B2); + internal static readonly EncounterArea5[] SlotsW2 = EncounterArea5.GetAreas(Get("w2", "52"), W2); + + static Encounters5B2W2() => MarkEncounterTradeStrings(TradeGift_B2W2_Regular, TradeB2W2); + + #region DreamWorld Encounter + public static readonly EncounterStatic5[] DreamWorld_B2W2 = DreamWorldEntry.GetArray(B2W2, new DreamWorldEntry[] + { + // Pleasant Forest + new(535, 10, 496, 414, 352), // Tympole + new(546, 10, 073, 227, 388), // Cottonee + new(548, 10, 079, 204, 230), // Petilil + new(588, 10, 203, 224, 450), // Karrablast + new(616, 10, 051, 226, 227), // Shelmet + new(545, 30, 342, 390, 276), // Scolipede + + // Windswept Sky + new(519, 10, 016, 095, 234), // Pidove + new(561, 10, 095, 500, 257), // Sigilyph + new(580, 10, 432, 362, 382), // Ducklett + new(587, 10, 098, 403, 204), // Emolga + + // Sparkling Sea + new(550, 10, 029, 097, 428, Form: 0), // Basculin-Red + new(550, 10, 029, 097, 428, Form: 1), // Basculin-Blue + new(594, 10, 392, 243, 220), // Alomomola + new(618, 10, 189, 174, 281), // Stunfisk + new(564, 10, 205, 175, 334), // Tirtouga + + // Spooky Manor + new(605, 10, 377, 112, 417), // Elgyem + new(624, 10, 210, 427, 389), // Pawniard + new(596, 36, 486, 050, 228), // Galvantula + new(578, 32, 105, 286, 271), // Duosion + new(622, 10, 205, 007, 009), // Golett + + // Rugged Mountain + new(631, 10, 510, 257, 202), // Heatmor + new(632, 10, 210, 203, 422), // Durant + new(556, 10, 042, 073, 191), // Maractus + new(558, 34, 157, 068, 400), // Crustle + new(553, 40, 242, 068, 212), // Krookodile + + // Icy Cave + new(529, 10, 229, 319, 431), // Drilbur + new(621, 10, 044, 424, 389), // Druddigon + new(525, 25, 479, 174, 484), // Boldore + new(583, 35, 429, 420, 286), // Vanillish + new(600, 38, 451, 356, 393), // Klang + new(610, 10, 082, 068, 400), // Axew + + // Dream Park + new(531, 10, 270, 227, 281), // Audino + new(538, 10, 020, 008, 276), // Throh + new(539, 10, 249, 009, 530), // Sawk + new(559, 10, 067, 252, 409), // Scraggy + new(533, 25, 067, 183, 409), // Gurdurr + + // PGL + new(575, 32, 243, Gender: 0), // Gothorita + new(025, 10, 029, Gender: 0), // Pikachu + new(511, 10, 437, Gender: 0), // Pansage + new(513, 10, 257, Gender: 0), // Pansear + new(515, 10, 056, Gender: 0), // Panpour + new(387, 10, 254, Gender: 0), // Turtwig + new(390, 10, 252, Gender: 0), // Chimchar + new(393, 10, 297, Gender: 0), // Piplup + new(575, 32, 286, Gender: 0), // Gothorita + }); + #endregion + #region Static Encounter/Gift Tables + private static readonly EncounterStatic5[] Encounter_B2W2_Regular = + { + // Starters @ Aspertia City + new(B2W2) { Gift = true, Species = 495, Level = 05, Location = 117 }, // Snivy + new(B2W2) { Gift = true, Species = 498, Level = 05, Location = 117 }, // Tepig + new(B2W2) { Gift = true, Species = 501, Level = 05, Location = 117 }, // Oshawott + + // Fossils @ Nacrene City + new(B2W2) { Gift = true, Species = 138, Level = 25, Location = 007 }, // Omanyte + new(B2W2) { Gift = true, Species = 140, Level = 25, Location = 007 }, // Kabuto + new(B2W2) { Gift = true, Species = 142, Level = 25, Location = 007 }, // Aerodactyl + new(B2W2) { Gift = true, Species = 345, Level = 25, Location = 007 }, // Lileep + new(B2W2) { Gift = true, Species = 347, Level = 25, Location = 007 }, // Anorith + new(B2W2) { Gift = true, Species = 408, Level = 25, Location = 007 }, // Cranidos + new(B2W2) { Gift = true, Species = 410, Level = 25, Location = 007 }, // Shieldon + new(B2W2) { Gift = true, Species = 564, Level = 25, Location = 007 }, // Tirtouga + new(B2W2) { Gift = true, Species = 566, Level = 25, Location = 007 }, // Archen + + // Gift + new(B2W2) { Gift = true, Species = 133, Level = 10, Location = 008, Ability = OnlyHidden }, // HA Eevee @ Castelia City + new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 0 }, // HA Deerling @ Route 6 + new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 1 }, // HA Deerling @ Route 6 + new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 2 }, // HA Deerling @ Route 6 + new(B2W2) { Gift = true, Species = 585, Level = 30, Location = 019, Ability = OnlyHidden, Form = 3 }, // HA Deerling @ Route 6 + new(B2 ) { Gift = true, Species = 443, Level = 01, Location = 122, Shiny = Shiny.Always, Gender = 0 }, // Shiny Gible @ Floccesy Town + new( W2) { Gift = true, Species = 147, Level = 01, Location = 122, Shiny = Shiny.Always, Gender = 0 }, // Shiny Dratini @ Floccesy Town + new(B2W2) { Gift = true, Species = 129, Level = 05, Location = 068 } , // Magikarp @ Marvelous Bridge + new(B2W2) { Gift = true, Species = 440, Level = 01, EggLocation = 60003 }, // Happiny Egg from PKMN Breeder + + // Stationary + new(B2W2) { Species = 590, Level = 29, Location = 019 }, // Foongus @ Route 6 + new(B2W2) { Species = 591, Level = 43, Location = 024 }, // Amoonguss @ Route 11 + new(B2W2) { Species = 591, Level = 47, Location = 127 }, // Amoonguss @ Route 22 + new(B2W2) { Species = 591, Level = 56, Location = 128 }, // Amoonguss @ Route 23 + new(B2 ) { Species = 593, Level = 40, Location = 071, Ability = OnlyHidden, Gender = 0 }, // HA Jellicent @ Undella Bay Mon Only + new( W2) { Species = 593, Level = 40, Location = 071, Ability = OnlyHidden, Gender = 1 }, // HA Jellicent @ Undella Bay Thurs Only + new(B2W2) { Species = 593, Level = 40, Location = 071 }, // HA Jellicent @ Undella Bay EncounterSlot collision + new( W2) { Species = 628, Level = 25, Location = 017, Ability = OnlyHidden, Gender = 0 }, // HA Braviary @ Route 4 Mon Only + new(B2 ) { Species = 630, Level = 25, Location = 017, Ability = OnlyHidden, Gender = 1 }, // HA Mandibuzz @ Route 4 Thurs Only + new(B2W2) { Species = 637, Level = 35, Location = 035 }, // Volcarona @ Relic Castle + new(B2W2) { Species = 637, Level = 65, Location = 035 }, // Volcarona @ Relic Castle + new(B2W2) { Species = 558, Level = 42, Location = 141 }, // Crustle @ Seaside Cave + new(B2W2) { Species = 612, Level = 60, Location = 147, Shiny = Shiny.Always}, // Haxorus @ Nature Preserve + + // Stationary Legendary + new(B2W2) { Species = 377, Level = 65, Location = 150 }, // Regirock @ Rock Peak Chamber + new(B2W2) { Species = 378, Level = 65, Location = 151 }, // Regice @ Iceberg Chamber + new(B2W2) { Species = 379, Level = 65, Location = 152 }, // Registeel @ Iron Chamber + new( W2) { Species = 380, Level = 68, Location = 032 }, // Latias @ Dreamyard + new(B2 ) { Species = 381, Level = 68, Location = 032 }, // Latios @ Dreamyard + new(B2W2) { Species = 480, Level = 65, Location = 007 }, // Uxie @ Nacrene City + new(B2W2) { Species = 481, Level = 65, Location = 056 }, // Mesprit @ Celestial Tower + new(B2W2) { Species = 482, Level = 65, Location = 128 }, // Azelf @ Route 23 + new(B2W2) { Species = 485, Level = 68, Location = 132 }, // Heatran @ Reversal Mountain + new(B2W2) { Species = 486, Level = 68, Location = 038 }, // Regigigas @ Twist Mountain + new(B2W2) { Species = 488, Level = 68, Location = 068 }, // Cresselia @ Marvelous Bridge + new(B2W2) { Species = 638, Level = 45, Location = 026 }, // Cobalion @ Route 13 + new(B2W2) { Species = 638, Level = 65, Location = 026 }, // Cobalion @ Route 13 + new(B2W2) { Species = 639, Level = 45, Location = 127 }, // Terrakion @ Route 22 + new(B2W2) { Species = 639, Level = 65, Location = 127 }, // Terrakion @ Route 22 + new(B2W2) { Species = 640, Level = 45, Location = 024 }, // Virizion @ Route 11 + new(B2W2) { Species = 640, Level = 65, Location = 024 }, // Virizion @ Route 11 + new( W2) { Species = 643, Level = 70, Location = 039, Shiny = Shiny.Never }, // Reshiram @ Dragonspiral Tower + new(B2 ) { Species = 644, Level = 70, Location = 039, Shiny = Shiny.Never }, // Zekrom @ Dragonspiral Tower + new(B2W2) { Species = 646, Level = 70, Location = 061, Form = 0 }, // Kyurem @ Giant Chasm + }; + + private static readonly EncounterStatic5N[] Encounter_B2W2_N = + { + // N's Pokemon + new(0xFF01007F) { Species = 509, Level = 07, Location = 015, Ability = OnlySecond, Nature = Nature.Timid }, // Purloin @ Route 2 + new(0xFF01007F) { Species = 519, Level = 13, Location = 033, Ability = OnlySecond, Nature = Nature.Sassy }, // Pidove @ Pinwheel Forest + new(0xFF00003F) { Species = 532, Level = 13, Location = 033, Ability = OnlyFirst, Nature = Nature.Rash }, // Timburr @ Pinwheel Forest + new(0xFF01007F) { Species = 535, Level = 13, Location = 033, Ability = OnlySecond, Nature = Nature.Modest }, // Tympole @ Pinwheel Forest + new(0xFF00007F) { Species = 527, Level = 55, Location = 053, Ability = OnlyFirst, Nature = Nature.Timid }, // Woobat @ Wellspring Cave + new(0xFF01007F) { Species = 551, Level = 22, Location = 034, Ability = OnlySecond, Nature = Nature.Docile }, // Sandile @ Desert Resort + new(0xFF00007F) { Species = 554, Level = 22, Location = 034, Ability = OnlyFirst, Nature = Nature.Naive }, // Darumaka @ Desert Resort + new(0xFF00007F) { Species = 555, Level = 35, Location = 034, Ability = OnlyHidden, Nature = Nature.Calm }, // Darmanitan @ Desert Resort + new(0xFF00007F) { Species = 559, Level = 22, Location = 034, Ability = OnlyFirst, Nature = Nature.Lax }, // Scraggy @ Desert Resort + new(0xFF01007F) { Species = 561, Level = 22, Location = 034, Ability = OnlySecond, Nature = Nature.Gentle }, // Sigilyph @ Desert Resort + new(0xFF00007F) { Species = 525, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Naive }, // Boldore @ Chargestone Cave + new(0xFF01007F) { Species = 595, Level = 28, Location = 037, Ability = OnlySecond, Nature = Nature.Docile }, // Joltik @ Chargestone Cave + new(0xFF00007F) { Species = 597, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Bashful }, // Ferroseed @ Chargestone Cave + new(0xFF000000) { Species = 599, Level = 28, Location = 037, Ability = OnlyFirst, Nature = Nature.Rash }, // Klink @ Chargestone Cave + new(0xFF00001F) { Species = 570, Level = 25, Location = 010, Ability = OnlyFirst, Nature = Nature.Hasty, Gift = true }, // N's Zorua @ Driftveil City + }; + + private static readonly EncounterStatic5[] Encounter_B2W2 = ArrayUtil.ConcatAll(Encounter_B2W2_Regular, Encounter_B2W2_N, Encounter_DreamRadar); + #endregion + #region Trade Tables + internal static readonly EncounterTrade5[] TradeGift_B2W2_Regular = + { + new(B2 ) { Species = 548, Level = 20, Ability = OnlySecond, TID = 65217, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Timid }, // Petilil + new( W2) { Species = 546, Level = 20, Ability = OnlyFirst, TID = 05720, SID = 00001, OTGender = 0, Gender = 0, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Cottonee + new(B2W2) { Species = 526, Level = 35, Ability = OnlyFirst, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, IsNicknamed = false }, // Gigalith + new(B2W2) { Species = 465, Level = 45, Ability = OnlyFirst, TID = 27658, SID = 00001, OTGender = 0, Gender = 0, IVs = new(31,20,20,20,20,20), Nature = Nature.Hardy }, // Tangrowth + new(B2W2) { Species = 479, Level = 60, Ability = OnlyFirst, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new(20,20,20,20,20,31), Nature = Nature.Calm }, // Rotom + new(B2W2) { Species = 424, Level = 40, Ability = OnlySecond, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new(20,20,20,31,20,20), Nature = Nature.Jolly }, // Ambipom + new(B2W2) { Species = 065, Level = 40, Ability = OnlyFirst, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new(20,20,20,31,20,20), Nature = Nature.Timid }, // Alakazam + }; + + internal const int YancyTID = 10303; + internal const int CurtisTID = 54118; + private static readonly string[] TradeOT_B2W2_F = { string.Empty, "ルリ", "Yancy", "Brenda", "Lilì", "Sabine", string.Empty, "Belinda", "루리" }; + private static readonly string[] TradeOT_B2W2_M = { string.Empty, "テツ", "Curtis", "Julien", "Dadi", "Markus", string.Empty, "Julián", "철권" }; + + private static readonly EncounterTrade5[] TradeGift_B2W2_YancyCurtis = + { + // Player is Male + new(B2W2) { Species = 052, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Meowth + new(B2W2) { Species = 202, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Wobbuffet + new(B2W2) { Species = 280, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Ralts + new(B2W2) { Species = 410, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Shieldon + new(B2W2) { Species = 111, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Rhyhorn + new(B2W2) { Species = 422, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F, Form = 0 }, // Shellos-West + new(B2W2) { Species = 303, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Mawile + new(B2W2) { Species = 442, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Spiritomb + new(B2W2) { Species = 143, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Snorlax + new(B2W2) { Species = 216, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Teddiursa + new(B2W2) { Species = 327, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Spinda + new(B2W2) { Species = 175, Level = 50, Ability = OnlyHidden, TID = 10303, SID = 00000, OTGender = 1, TrainerNames = TradeOT_B2W2_F }, // Togepi + + // Player is Female + new(B2W2) { Species = 056, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Mankey + new(B2W2) { Species = 202, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Wobbuffet + new(B2W2) { Species = 280, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Ralts + new(B2W2) { Species = 408, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Cranidos + new(B2W2) { Species = 111, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Rhyhorn + new(B2W2) { Species = 422, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M, Form = 1 }, // Shellos-East + new(B2W2) { Species = 302, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Sableye + new(B2W2) { Species = 442, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Spiritomb + new(B2W2) { Species = 143, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Snorlax + new(B2W2) { Species = 231, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Phanpy + new(B2W2) { Species = 327, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Spinda + new(B2W2) { Species = 175, Level = 50, Ability = OnlyHidden, TID = 54118, SID = 00000, OTGender = 0, TrainerNames = TradeOT_B2W2_M }, // Togepi + }; + + private const string tradeB2W2 = "tradeb2w2"; + private static readonly string[][] TradeB2W2 = Util.GetLanguageStrings8(tradeB2W2); + + internal static readonly EncounterTrade5[] TradeGift_B2W2 = ArrayUtil.ConcatAll(TradeGift_B2W2_Regular, TradeGift_B2W2_YancyCurtis); + + #endregion + + internal static readonly EncounterStatic5[] StaticB2 = ArrayUtil.ConcatAll(GetEncounters(Encounter_B2W2, B2), DreamWorld_Common, DreamWorld_B2W2); + internal static readonly EncounterStatic5[] StaticW2 = ArrayUtil.ConcatAll(GetEncounters(Encounter_B2W2, W2), DreamWorld_Common, DreamWorld_B2W2); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5BW.cs b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5BW.cs new file mode 100644 index 000000000..d0bc13281 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5BW.cs @@ -0,0 +1,199 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; +using static PKHeX.Core.Encounters5DR; + +namespace PKHeX.Core; + +/// +/// Generation 5 Encounters +/// +public static class Encounters5BW +{ + internal static readonly EncounterArea5[] SlotsB = EncounterArea5.GetAreas(Get("b", "51"), B); + internal static readonly EncounterArea5[] SlotsW = EncounterArea5.GetAreas(Get("w", "51"), W); + + static Encounters5BW() => MarkEncounterTradeStrings(TradeGift_BW, TradeBW); + + #region Dream Radar Tables + + #endregion + #region DreamWorld Encounter + + public static readonly EncounterStatic5[] DreamWorld_BW = DreamWorldEntry.GetArray(BW, new DreamWorldEntry[] + { + // Pleasant Forest + new(029, 10, 010, 389, 162), // Nidoran♀ + new(032, 10, 064, 068, 162), // Nidoran♂ + new(174, 10, 047, 313, 270), // Igglybuff + new(187, 10, 235, 270, 331), // Hoppip + new(270, 10, 071, 073, 352), // Lotad + new(276, 10, 064, 119, 366), // Taillow + new(309, 10, 086, 423, 324), // Electrike + new(351, 10, 052, 466, 352), // Castform + new(417, 10, 098, 343, 351), // Pachirisu + + // Windswept Sky + new(012, 10, 093, 355, 314), // Butterfree + new(163, 10, 193, 101, 278), // Hoothoot + new(278, 10, 055, 239, 351), // Wingull + new(333, 10, 064, 297, 355), // Swablu + new(425, 10, 107, 095, 285), // Drifloon + new(441, 10, 119, 417, 272), // Chatot + + // Sparkling Sea + new(079, 10, 281, 335, 362), // Slowpoke + new(098, 10, 011, 133, 290), // Krabby + new(119, 33, 352, 214, 203), // Seaking + new(120, 10, 055, 278, 196), // Staryu + new(222, 10, 145, 109, 446), // Corsola + new(422, 10, 189, 281, 290, Form: 0), // Shellos-West + new(422, 10, 189, 281, 290, Form: 1), // Shellos-East + + // Spooky Manor + new(202, 15, 243, 204, 227), // Wobbuffet + new(238, 10, 186, 445, 285), // Smoochum + new(303, 10, 313, 424, 008), // Mawile + new(307, 10, 096, 409, 203), // Meditite + new(436, 10, 095, 285, 356), // Bronzor + new(052, 10, 010, 095, 290), // Meowth + new(479, 10, 086, 351, 324), // Rotom + new(280, 10, 093, 194, 270), // Ralts + new(302, 10, 193, 389, 180), // Sableye + new(442, 10, 180, 220, 196), // Spiritomb + + // Rugged Mountain + new(056, 10, 067, 179, 009), // Mankey + new(111, 10, 030, 068, 038), // Rhyhorn + new(231, 10, 175, 484, 402), // Phanpy + new(451, 10, 044, 097, 401), // Skorupi + new(216, 10, 313, 242, 264), // Teddiursa + new(296, 10, 292, 270, 008), // Makuhita + new(327, 10, 383, 252, 276), // Spinda + new(374, 10, 036, 428, 442), // Beldum + new(447, 10, 203, 418, 264), // Riolu + + // Icy Cave + new(173, 10, 227, 312, 214), // Cleffa + new(213, 10, 227, 270, 504), // Shuckle + new(299, 10, 033, 446, 246), // Nosepass + new(363, 10, 181, 090, 401), // Spheal + new(408, 10, 029, 442, 007), // Cranidos + new(206, 10, 111, 277, 446), // Dunsparce + new(410, 10, 182, 068, 090), // Shieldon + + // Dream Park + new(048, 10, 050, 226, 285), // Venonat + new(088, 10, 139, 114, 425), // Grimer + new(415, 10, 016, 366, 314), // Combee + new(015, 10, 031, 314, 210), // Beedrill + new(335, 10, 098, 458, 067), // Zangoose + new(336, 10, 044, 034, 401), // Seviper + + // PGL + new(134, 10, Gender: 0), // Vaporeon + new(135, 10, Gender: 0), // Jolteon + new(136, 10, Gender: 0), // Flareon + new(196, 10, Gender: 0), // Espeon + new(197, 10, Gender: 0), // Umbreon + new(470, 10, Gender: 0), // Leafeon + new(471, 10, Gender: 0), // Glaceon + new(001, 10, Gender: 0), // Bulbasaur + new(004, 10, Gender: 0), // Charmander + new(007, 10, Gender: 0), // Squirtle + new(453, 10, Gender: 0), // Croagunk + new(387, 10, Gender: 0), // Turtwig + new(390, 10, Gender: 0), // Chimchar + new(393, 10, Gender: 0), // Piplup + new(493, 100), // Arceus + new(252, 10, Gender: 0), // Treecko + new(255, 10, Gender: 0), // Torchic + new(258, 10, Gender: 0), // Mudkip + new(468, 10, 217, Gender: 0), // Togekiss + new(473, 34, Gender: 0), // Mamoswine + new(137, 10), // Porygon + new(384, 50), // Rayquaza + new(354, 37, 538, Gender: 1), // Banette + new(453, 10, 398, Gender: 0), // Croagunk + new(334, 35, 206, Gender: 0), // Altaria + new(242, 10), // Blissey + new(448, 10, 418, Gender: 0), // Lucario + new(189, 27, 206, Gender: 0), // Jumpluff + }); + + #endregion + #region Static Encounter/Gift Tables + private static readonly EncounterStatic5[] Encounter_BW = + { + // Starters @ Nuvema Town + new(BW) { Gift = true, Species = 495, Level = 05, Location = 004 }, // Snivy + new(BW) { Gift = true, Species = 498, Level = 05, Location = 004 }, // Tepig + new(BW) { Gift = true, Species = 501, Level = 05, Location = 004 }, // Oshawott + + // Fossils @ Nacrene City + new(BW) { Gift = true, Species = 138, Level = 25, Location = 007 }, // Omanyte + new(BW) { Gift = true, Species = 140, Level = 25, Location = 007 }, // Kabuto + new(BW) { Gift = true, Species = 142, Level = 25, Location = 007 }, // Aerodactyl + new(BW) { Gift = true, Species = 345, Level = 25, Location = 007 }, // Lileep + new(BW) { Gift = true, Species = 347, Level = 25, Location = 007 }, // Anorith + new(BW) { Gift = true, Species = 408, Level = 25, Location = 007 }, // Cranidos + new(BW) { Gift = true, Species = 410, Level = 25, Location = 007 }, // Shieldon + new(BW) { Gift = true, Species = 564, Level = 25, Location = 007 }, // Tirtouga + new(BW) { Gift = true, Species = 566, Level = 25, Location = 007 }, // Archen + + // Gift + new(BW) { Gift = true, Species = 511, Level = 10, Location = 032 }, // Pansage @ Dreamyard + new(BW) { Gift = true, Species = 513, Level = 10, Location = 032 }, // Pansear + new(BW) { Gift = true, Species = 515, Level = 10, Location = 032 }, // Panpour + new(BW) { Gift = true, Species = 129, Level = 05, Location = 068 }, // Magikarp @ Marvelous Bridge + new(BW) { Gift = true, Species = 636, Level = 01, EggLocation = 60003 }, // Larvesta Egg from Treasure Hunter + + // Stationary + new(BW) { Species = 518, Level = 50, Location = 032, Ability = OnlyHidden }, // Musharna @ Dreamyard Friday Only + new(BW) { Species = 590, Level = 20, Location = 019 }, // Foongus @ Route 6 + new(BW) { Species = 590, Level = 30, Location = 023 }, // Foongus @ Route 10 + new(BW) { Species = 591, Level = 40, Location = 023 }, // Amoonguss @ Route 10 + new(BW) { Species = 555, Level = 35, Location = 034, Ability = OnlyHidden }, // HA Darmanitan @ Desert Resort + new(BW) { Species = 637, Level = 70, Location = 035 }, // Volcarona @ Relic Castle + + // Stationary Legendary + new(BW) { Species = 638, Level = 42, Location = 074 }, // Cobalion @ Guidance Chamber + new(BW) { Species = 639, Level = 42, Location = 073 }, // Terrakion @ Trial Chamber + new(BW) { Species = 640, Level = 42, Location = 055 }, // Virizion @ Rumination Field + new(B ) { Species = 643, Level = 50, Location = 045, Shiny = Shiny.Never }, // Reshiram @ N's Castle + new(B ) { Species = 643, Level = 50, Location = 039, Shiny = Shiny.Never }, // Reshiram @ Dragonspiral Tower + new( W) { Species = 644, Level = 50, Location = 045, Shiny = Shiny.Never }, // Zekrom @ N's Castle + new( W) { Species = 644, Level = 50, Location = 039, Shiny = Shiny.Never }, // Zekrom @ Dragonspiral Tower + new(BW) { Species = 645, Level = 70, Location = 070 }, // Landorus @ Abundant Shrine + new(BW) { Species = 646, Level = 75, Location = 061 }, // Kyurem @ Giant Chasm + + // Event + new(BW) { Species = 494, Level = 15, Location = 062, Shiny = Shiny.Never}, // Victini @ Liberty Garden + new(BW) { Species = 570, Level = 10, Location = 008, Shiny = Shiny.Never, Gender = 0 }, // Zorua @ Castelia City + new(BW) { Species = 571, Level = 25, Location = 072, Shiny = Shiny.Never, Gender = 1 }, // Zoroark @ Lostlorn Forest + + // Roamer + new(B ) { Roaming = true, Species = 641, Level = 40, Location = 25 }, // Tornadus + new( W) { Roaming = true, Species = 642, Level = 40, Location = 25 }, // Thundurus + }; + + #endregion + #region Trade Tables + internal static readonly EncounterTrade5PID[] TradeGift_BW = + { + new(B , 0x64000000) { Species = 548, Level = 15, Ability = OnlyFirst, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Petilil + new( W, 0x6400007E) { Species = 546, Level = 15, Ability = OnlyFirst, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new(20,20,20,20,31,20), Nature = Nature.Modest }, // Cottonee + new(B , 0x9400007F) { Species = 550, Level = 25, Ability = OnlyFirst, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, Form = 0 }, // Basculin-Red + new( W, 0x9400007F) { Species = 550, Level = 25, Ability = OnlyFirst, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,31,20,20,20,20), Nature = Nature.Adamant, Form = 1 }, // Basculin-Blue + new(BW, 0xD400007F) { Species = 587, Level = 30, Ability = OnlyFirst, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new(20,20,31,20,20,20), Nature = Nature.Lax }, // Emolga + new(BW, 0x2A000000) { Species = 479, Level = 60, Ability = OnlyFirst, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new(20,20,20,20,20,31), Nature = Nature.Gentle }, // Rotom + new(BW, 0x6200001F) { Species = 446, Level = 60, Ability = OnlySecond, TID = 40217, SID = 00000, OTGender = 0, Gender = 0, IVs = new(31,20,20,20,20,20), Nature = Nature.Serious }, // Munchlax + }; + + private const string tradeBW = "tradebw"; + private static readonly string[][] TradeBW = Util.GetLanguageStrings8(tradeBW); + #endregion + + internal static readonly EncounterStatic5[] StaticB = ArrayUtil.ConcatAll(GetEncounters(Encounter_BW, B), DreamWorld_Common, DreamWorld_BW); + internal static readonly EncounterStatic5[] StaticW = ArrayUtil.ConcatAll(GetEncounters(Encounter_BW, W), DreamWorld_Common, DreamWorld_BW); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5DR.cs b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5DR.cs new file mode 100644 index 000000000..55242b3e3 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5DR.cs @@ -0,0 +1,223 @@ +using static PKHeX.Core.AbilityPermission; +using static PKHeX.Core.GameVersion; + +namespace PKHeX.Core; + +/// +/// Generation 5 Encounters +/// +public static class Encounters5DR +{ + #region Dream Radar Tables + + internal static readonly EncounterStatic5DR[] Encounter_DreamRadar = + { + new(079, 0), // Slowpoke + new(120, 0), // Staryu + new(137, 0), // Porygon + new(163, 0), // Hoothoot + new(174, 0), // Igglybuff + new(175, 0), // Togepi + new(213, 0), // Shuckle + new(238, 0), // Smoochum + new(249, 0), // Lugia (SoulSilver cart) + new(250, 0), // Ho-Oh (HeartGold cart) + new(280, 0), // Ralts + new(333, 0), // Swablu + new(374, 0), // Beldum + new(425, 0), // Drifloon + new(436, 0), // Bronzor + new(442, 0), // Spiritomb + new(447, 0), // Riolu + new(479, 0, Any12), // Rotom (no HA) + new(483, 0), // Dialga (Diamond cart) + new(484, 0), // Palkia (Pearl cart) + new(487, 0), // Giratina (Platinum cart) + new(517, 0), // Munna + new(561, 0), // Sigilyph + new(641, 1), // Therian Tornadus + new(642, 1), // Therian Thundurus + new(645, 1), // Therian Landorus + }; + + #endregion + #region DreamWorld Encounter + + public static readonly EncounterStatic5[] DreamWorld_Common = DreamWorldEntry.GetArray(Gen5, new DreamWorldEntry[] + { + // Pleasant Forest + new(019, 10, 098, 382, 231), // Rattata + new(043, 10, 230, 298, 202), // Oddish + new(069, 10, 022, 235, 402), // Bellsprout + new(077, 10, 033, 037, 257), // Ponyta + new(083, 10, 210, 355, 348), // Farfetch'd + new(084, 10, 045, 175, 355), // Doduo + new(102, 10, 140, 235, 202), // Exeggcute + new(108, 10, 122, 214, 431), // Lickitung + new(114, 10, 079, 073, 402), // Tangela + new(115, 10, 252, 068, 409), // Kangaskhan + new(161, 10, 010, 203, 343), // Sentret + new(179, 10, 084, 115, 351), // Mareep + new(191, 10, 072, 230, 414), // Sunkern + new(234, 10, 033, 050, 285), // Stantler + new(261, 10, 336, 305, 399), // Poochyena + new(283, 10, 145, 056, 202), // Surskit + new(399, 10, 033, 401, 290), // Bidoof + new(403, 10, 268, 393, 400), // Shinx + new(431, 10, 252, 372, 290), // Glameow + new(054, 10, 346, 227, 362), // Psyduck + new(058, 10, 044, 034, 203), // Growlithe + new(123, 10, 098, 226, 366), // Scyther + new(128, 10, 099, 231, 431), // Tauros + new(183, 10, 111, 453, 008), // Marill + new(185, 10, 175, 205, 272), // Sudowoodo + new(203, 10, 093, 243, 285), // Girafarig + new(241, 10, 111, 174, 231), // Miltank + new(263, 10, 033, 271, 387), // Zigzagoon + new(427, 10, 193, 252, 409), // Buneary + new(037, 10, 046, 257, 399), // Vulpix + new(060, 10, 095, 054, 214), // Poliwag + new(177, 10, 101, 297, 202), // Natu + new(239, 10, 084, 238, 393), // Elekid + new(300, 10, 193, 321, 445), // Skitty + + // Windswept Sky + new(016, 10, 016, 211, 290), // Pidgey + new(021, 10, 064, 185, 211), // Spearow + new(041, 10, 048, 095, 162), // Zubat + new(142, 10, 044, 372, 446), // Aerodactyl + new(165, 10, 004, 450, 009), // Ledyba + new(187, 10, 235, 227, 340), // Hoppip + new(193, 10, 098, 364, 202), // Yanma + new(198, 10, 064, 109, 355), // Murkrow + new(207, 10, 028, 364, 366), // Gligar + new(225, 10, 217, 420, 264), // Delibird + new(276, 10, 064, 203, 413), // Taillow + new(397, 14, 017, 297, 366), // Staravia + new(227, 10, 064, 065, 355), // Skarmory + new(357, 10, 016, 073, 318), // Tropius + + // Sparkling Sea + new(086, 10, 029, 333, 214), // Seel + new(090, 10, 110, 112, 196), // Shellder + new(116, 10, 145, 190, 362), // Horsea + new(118, 10, 064, 060, 352), // Goldeen + new(129, 10, 150, 175, 340), // Magikarp + new(138, 10, 044, 330, 196), // Omanyte + new(140, 10, 071, 175, 446), // Kabuto + new(170, 10, 086, 133, 351), // Chinchou + new(194, 10, 055, 034, 401), // Wooper + new(211, 10, 040, 453, 290), // Qwilfish + new(223, 10, 199, 350, 362), // Remoraid + new(226, 10, 048, 243, 314), // Mantine + new(320, 10, 055, 214, 340), // Wailmer + new(339, 10, 189, 214, 209), // Barboach + new(366, 10, 250, 445, 392), // Clamperl + new(369, 10, 055, 214, 414), // Relicanth + new(370, 10, 204, 300, 196), // Luvdisc + new(418, 10, 346, 163, 352), // Buizel + new(456, 10, 213, 186, 352), // Finneon + new(072, 10, 048, 367, 202), // Tentacool + new(318, 10, 044, 037, 399), // Carvanha + new(341, 10, 106, 232, 283), // Corphish + new(345, 10, 051, 243, 202), // Lileep + new(347, 10, 010, 446, 440), // Anorith + new(349, 10, 150, 445, 243), // Feebas + new(131, 10, 109, 032, 196), // Lapras + new(147, 10, 086, 352, 225), // Dratini + + // Spooky Manor + new(092, 10, 095, 050, 482), // Gastly + new(096, 10, 095, 427, 409), // Drowzee + new(122, 10, 112, 298, 285), // Mr. Mime + new(167, 10, 040, 527, 450), // Spinarak + new(200, 10, 149, 194, 517), // Misdreavus + new(228, 10, 336, 364, 399), // Houndour + new(325, 10, 149, 285, 278), // Spoink + new(353, 10, 101, 194, 220), // Shuppet + new(355, 10, 050, 220, 271), // Duskull + new(358, 10, 035, 095, 304), // Chimecho + new(434, 10, 103, 492, 389), // Stunky + new(209, 10, 204, 370, 038), // Snubbull + new(235, 10, 166, 445, 214), // Smeargle + new(313, 10, 148, 271, 366), // Volbeat + new(314, 10, 204, 313, 366), // Illumise + new(063, 10, 100, 285, 356), // Abra + + // Rugged Mountain + new(066, 10, 067, 418, 270), // Machop + new(081, 10, 319, 278, 356), // Magnemite + new(109, 10, 123, 399, 482), // Koffing + new(218, 10, 052, 517, 257), // Slugma + new(246, 10, 044, 399, 446), // Larvitar + new(324, 10, 052, 090, 446), // Torkoal + new(328, 10, 044, 324, 202), // Trapinch + new(331, 10, 071, 298, 009), // Cacnea + new(412, 10, 182, 450, 173), // Burmy + new(449, 10, 044, 254, 276), // Hippopotas + new(240, 10, 052, 009, 257), // Magby + new(322, 10, 052, 034, 257), // Numel + new(359, 10, 364, 224, 276), // Absol + new(453, 10, 040, 409, 441), // Croagunk + new(236, 10, 252, 364, 183), // Tyrogue + new(371, 10, 044, 349, 200), // Bagon + + // Icy Cave + new(027, 10, 028, 068, 162), // Sandshrew + new(074, 10, 111, 446, 431), // Geodude + new(095, 10, 020, 446, 431), // Onix + new(100, 10, 268, 324, 363), // Voltorb + new(104, 10, 125, 195, 067), // Cubone + new(293, 10, 253, 283, 428), // Whismur + new(304, 10, 106, 283, 457), // Aron + new(337, 10, 093, 414, 236), // Lunatone + new(338, 10, 093, 428, 234), // Solrock + new(343, 10, 229, 356, 428), // Baltoy + new(459, 10, 075, 419, 202), // Snover + new(050, 10, 028, 251, 446), // Diglett + new(215, 10, 269, 008, 067), // Sneasel + new(361, 10, 181, 311, 352), // Snorunt + new(220, 10, 316, 246, 333), // Swinub + new(443, 10, 082, 200, 203), // Gible + + // Dream Park + new(046, 10, 078, 440, 235), // Paras + new(204, 10, 120, 390, 356), // Pineco + new(265, 10, 040, 450, 173), // Wurmple + new(273, 10, 074, 331, 492), // Seedot + new(287, 10, 281, 400, 389), // Slakoth + new(290, 10, 141, 203, 400), // Nincada + new(311, 10, 086, 435, 324), // Plusle + new(312, 10, 086, 435, 324), // Minun + new(316, 10, 139, 151, 202), // Gulpin + new(352, 10, 185, 285, 513), // Kecleon + new(401, 10, 522, 283, 253), // Kricketot + new(420, 10, 073, 505, 331), // Cherubi + new(455, 10, 044, 476, 380), // Carnivine + new(023, 10, 040, 251, 399), // Ekans + new(175, 10, 118, 381, 253), // Togepi + new(190, 10, 010, 252, 007), // Aipom + new(285, 10, 078, 331, 264), // Shroomish + new(315, 10, 074, 079, 129), // Roselia + new(113, 10, 045, 068, 270), // Chansey + new(127, 10, 011, 370, 382), // Pinsir + new(133, 10, 028, 204, 129), // Eevee + new(143, 10, 133, 007, 278), // Snorlax + new(214, 10, 030, 175, 264), // Heracross + + // Pokémon Café Forest + new(061, 25, 240, 114, 352), // Poliwhirl + new(133, 10, 270, 204, 129), // Eevee + new(235, 10, 166, 445, 214), // Smeargle + new(412, 10, 182, 450, 173), // Burmy + + // PGL + new(212, 10, 211, Gender: 0), // Scizor + new(445, 48, Gender: 0), // Garchomp + new(149, 55, 245, Gender: 0), // Dragonite + new(248, 55, 069, Gender: 0), // Tyranitar + new(376, 45, 038, Gender: 2), // Metagross + }); + + #endregion +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters6.cs b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6AO.cs similarity index 61% rename from PKHeX.Core/Legality/Encounters/Data/Encounters6.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6AO.cs index 5b4f53d97..5ece2c629 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters6.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6AO.cs @@ -7,87 +7,20 @@ namespace PKHeX.Core; /// /// Generation 6 Encounters /// -internal static class Encounters6 +internal static class Encounters6AO { - private static readonly EncounterArea6XY FriendSafari = new(); - internal static readonly EncounterArea6XY[] SlotsX = EncounterArea6XY.GetAreas(Get("x", "xy"), X, FriendSafari); - internal static readonly EncounterArea6XY[] SlotsY = EncounterArea6XY.GetAreas(Get("y", "xy"), Y, FriendSafari); internal static readonly EncounterArea6AO[] SlotsA = EncounterArea6AO.GetAreas(Get("as", "ao"), AS); internal static readonly EncounterArea6AO[] SlotsO = EncounterArea6AO.GetAreas(Get("or", "ao"), OR); - static Encounters6() + static Encounters6AO() { - MarkEncounterTradeStrings(TradeGift_XY, TradeXY); MarkEncounterTradeStrings(TradeGift_AO, TradeAO); } - private const string tradeXY = "tradexy"; private const string tradeAO = "tradeao"; - private static readonly string[][] TradeXY = Util.GetLanguageStrings8(tradeXY); private static readonly string[][] TradeAO = Util.GetLanguageStrings8(tradeAO); #region Static Encounter/Gift Tables - private static readonly EncounterStatic6[] Encounter_XY = - { - // Kalos Starters @ Aquacorde Town - new(XY) { Gift = true, Species = 650, Level = 5, Location = 10 }, // Chespin - new(XY) { Gift = true, Species = 653, Level = 5, Location = 10 }, // Fennekin - new(XY) { Gift = true, Species = 656, Level = 5, Location = 10 }, // Froakie - - // Kanto Starters @ Lumiose City - new(XY) { Gift = true, Species = 1, Level = 10, Location = 22 }, // Bulbasaur - new(XY) { Gift = true, Species = 4, Level = 10, Location = 22 }, // Charmander - new(XY) { Gift = true, Species = 7, Level = 10, Location = 22 }, // Squirtle - - // Fossils @ Ambrette Town - new(XY) { Gift = true, Species = 138, Level = 20, Location = 44 }, // Omanyte - new(XY) { Gift = true, Species = 140, Level = 20, Location = 44 }, // Kabuto - new(XY) { Gift = true, Species = 142, Level = 20, Location = 44 }, // Aerodactyl - new(XY) { Gift = true, Species = 345, Level = 20, Location = 44 }, // Lileep - new(XY) { Gift = true, Species = 347, Level = 20, Location = 44 }, // Anorith - new(XY) { Gift = true, Species = 408, Level = 20, Location = 44 }, // Cranidos - new(XY) { Gift = true, Species = 410, Level = 20, Location = 44 }, // Shieldon - new(XY) { Gift = true, Species = 564, Level = 20, Location = 44 }, // Tirtouga - new(XY) { Gift = true, Species = 566, Level = 20, Location = 44 }, // Archen - new(XY) { Gift = true, Species = 696, Level = 20, Location = 44 }, // Tyrunt - new(XY) { Gift = true, Species = 698, Level = 20, Location = 44 }, // Amaura - - // Gift - new(XY) { Gift = true, Species = 448, Level = 32, Location = 60, Ability = OnlyFirst, IVs = new(06,25,16,31,25,19), Nature = Nature.Hasty, Gender = 0, Shiny = Shiny.Never }, // Lucario - new(XY) { Gift = true, Species = 131, Level = 30, Location = 62, Ability = OnlyFirst, IVs = new(31,20,20,20,20,20), Nature = Nature.Docile }, // Lapras - - // Stationary - new(XY) { Species = 143, Level = 15, Location = 038, Shiny = Shiny.Never }, // Snorlax - - // Shaking Trash Cans @ Lost Hotel - new(XY) { Species = 568, Level = 35, Location = 142 }, // Trubbish - new(XY) { Species = 569, Level = 36, Location = 142 }, // Garbodor - new(XY) { Species = 569, Level = 37, Location = 142 }, // Garbodor - new(XY) { Species = 569, Level = 38, Location = 142 }, // Garbodor - new(XY) { Species = 479, Level = 38, Location = 142 }, // Rotom - - // Shaking Trash Cans @ Pokemon Village - new(XY) { Species = 569, Level = 46, Location = 98 }, // Garbodor - new(XY) { Species = 569, Level = 47, Location = 98 }, // Garbodor - new(XY) { Species = 569, Level = 48, Location = 98 }, // Garbodor - new(XY) { Species = 569, Level = 49, Location = 98 }, // Garbodor - new(XY) { Species = 569, Level = 50, Location = 98 }, // Garbodor - new(XY) { Species = 354, Level = 46, Location = 98 }, // Banette - new(XY) { Species = 354, Level = 47, Location = 98 }, // Banette - new(XY) { Species = 354, Level = 48, Location = 98 }, // Banette - new(XY) { Species = 354, Level = 49, Location = 98 }, // Banette - new(XY) { Species = 354, Level = 50, Location = 98 }, // Banette - - // Stationary Legendary - new(X ) { Species = 716, Level = 50, Location = 138, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Xerneas - new( Y) { Species = 717, Level = 50, Location = 138, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Yveltal - new(XY) { Species = 718, Level = 70, Location = 140, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(XY) { Species = 150, Level = 70, Location = 168, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Mewtwo - new(XY) { Species = 144, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Articuno - new(XY) { Species = 145, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zapdos - new(XY) { Species = 146, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Moltres - }; - private static readonly EncounterStatic6 BaseCosplay = new(ORAS) { Location = 178, // Or 180, 186, 194 @@ -221,21 +154,6 @@ static Encounters6() #endregion #region Trade Tables - internal static readonly EncounterTrade6[] TradeGift_XY = - { - new(XY, 01,3,23,049) { Species = 129, Level = 05, Ability = OnlyFirst, TID = 44285, IVs = new(-1,31,-1,-1,31,-1), Gender = 0, Nature = Nature.Adamant }, // Magikarp - new(XY, 10,3,00,000) { Species = 133, Level = 05, Ability = OnlyFirst, TID = 29294, Gender = 1, Nature = Nature.Docile }, // Eevee - - new(XY, 15,4,13,017) { Species = 083, Level = 10, Ability = OnlyFirst, TID = 00185, IVs = new(-1,-1,-1,31,-1,-1), Gender = 0, Nature = Nature.Jolly }, // Farfetch'd - new(XY, 17,5,08,025) { Species = 208, Level = 20, Ability = OnlyFirst, TID = 19250, IVs = new(-1,-1,31,-1,-1,-1), Gender = 1, Nature = Nature.Impish }, // Steelix - new(XY, 18,7,20,709) { Species = 625, Level = 50, Ability = OnlyFirst, TID = 03447, IVs = new(-1,31,-1,-1,-1,-1), Gender = 0, Nature = Nature.Adamant }, // Bisharp - - new(XY, 02,3,11,005) { Species = 656, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,20,20,31,20,20), Gender = 0, Nature = Nature.Jolly }, // Froakie - new(XY, 02,3,09,005) { Species = 650, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,31,20,20,20,20), Gender = 0, Nature = Nature.Adamant }, // Chespin - new(XY, 02,3,18,005) { Species = 653, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,20,20,20,31,20), Gender = 0, Nature = Nature.Modest }, // Fennekin - new(XY, 51,4,04,033) { Species = 280, Level = 05, Ability = OnlyFirst, TID = 37110, IVs = new(20,20,20,31,31,20), Gender = 1, Nature = Nature.Modest, IsNicknamed = false }, // Ralts - }; - internal static readonly EncounterTrade6[] TradeGift_AO = { new(ORAS, 01,3,05,040) { Species = 296, Level = 09, Ability = OnlySecond, TID = 30724, IVs = new(-1,31,-1,-1,-1,-1), Gender = 0, Nature = Nature.Brave }, // Makuhita @@ -244,8 +162,6 @@ static Encounters6() }; #endregion - internal static readonly EncounterStatic6[] StaticX = GetEncounters(Encounter_XY, X); - internal static readonly EncounterStatic6[] StaticY = GetEncounters(Encounter_XY, Y); internal static readonly EncounterStatic6[] StaticA = GetEncounters(Encounter_AO, AS); internal static readonly EncounterStatic6[] StaticO = GetEncounters(Encounter_AO, OR); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6XY.cs b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6XY.cs new file mode 100644 index 000000000..f02d1a693 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6XY.cs @@ -0,0 +1,102 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 6 Encounters +/// +internal static class Encounters6XY +{ + private static readonly EncounterArea6XY FriendSafari = new(); + internal static readonly EncounterArea6XY[] SlotsX = EncounterArea6XY.GetAreas(Get("x", "xy"), X, FriendSafari); + internal static readonly EncounterArea6XY[] SlotsY = EncounterArea6XY.GetAreas(Get("y", "xy"), Y, FriendSafari); + + static Encounters6XY() => MarkEncounterTradeStrings(TradeGift_XY, TradeXY); + + private const string tradeXY = "tradexy"; + private static readonly string[][] TradeXY = Util.GetLanguageStrings8(tradeXY); + + #region Static Encounter/Gift Tables + private static readonly EncounterStatic6[] Encounter_XY = + { + // Kalos Starters @ Aquacorde Town + new(XY) { Gift = true, Species = 650, Level = 5, Location = 10 }, // Chespin + new(XY) { Gift = true, Species = 653, Level = 5, Location = 10 }, // Fennekin + new(XY) { Gift = true, Species = 656, Level = 5, Location = 10 }, // Froakie + + // Kanto Starters @ Lumiose City + new(XY) { Gift = true, Species = 1, Level = 10, Location = 22 }, // Bulbasaur + new(XY) { Gift = true, Species = 4, Level = 10, Location = 22 }, // Charmander + new(XY) { Gift = true, Species = 7, Level = 10, Location = 22 }, // Squirtle + + // Fossils @ Ambrette Town + new(XY) { Gift = true, Species = 138, Level = 20, Location = 44 }, // Omanyte + new(XY) { Gift = true, Species = 140, Level = 20, Location = 44 }, // Kabuto + new(XY) { Gift = true, Species = 142, Level = 20, Location = 44 }, // Aerodactyl + new(XY) { Gift = true, Species = 345, Level = 20, Location = 44 }, // Lileep + new(XY) { Gift = true, Species = 347, Level = 20, Location = 44 }, // Anorith + new(XY) { Gift = true, Species = 408, Level = 20, Location = 44 }, // Cranidos + new(XY) { Gift = true, Species = 410, Level = 20, Location = 44 }, // Shieldon + new(XY) { Gift = true, Species = 564, Level = 20, Location = 44 }, // Tirtouga + new(XY) { Gift = true, Species = 566, Level = 20, Location = 44 }, // Archen + new(XY) { Gift = true, Species = 696, Level = 20, Location = 44 }, // Tyrunt + new(XY) { Gift = true, Species = 698, Level = 20, Location = 44 }, // Amaura + + // Gift + new(XY) { Gift = true, Species = 448, Level = 32, Location = 60, Ability = OnlyFirst, IVs = new(06,25,16,31,25,19), Nature = Nature.Hasty, Gender = 0, Shiny = Shiny.Never }, // Lucario + new(XY) { Gift = true, Species = 131, Level = 30, Location = 62, Ability = OnlyFirst, IVs = new(31,20,20,20,20,20), Nature = Nature.Docile }, // Lapras + + // Stationary + new(XY) { Species = 143, Level = 15, Location = 038, Shiny = Shiny.Never }, // Snorlax + + // Shaking Trash Cans @ Lost Hotel + new(XY) { Species = 568, Level = 35, Location = 142 }, // Trubbish + new(XY) { Species = 569, Level = 36, Location = 142 }, // Garbodor + new(XY) { Species = 569, Level = 37, Location = 142 }, // Garbodor + new(XY) { Species = 569, Level = 38, Location = 142 }, // Garbodor + new(XY) { Species = 479, Level = 38, Location = 142 }, // Rotom + + // Shaking Trash Cans @ Pokemon Village + new(XY) { Species = 569, Level = 46, Location = 98 }, // Garbodor + new(XY) { Species = 569, Level = 47, Location = 98 }, // Garbodor + new(XY) { Species = 569, Level = 48, Location = 98 }, // Garbodor + new(XY) { Species = 569, Level = 49, Location = 98 }, // Garbodor + new(XY) { Species = 569, Level = 50, Location = 98 }, // Garbodor + new(XY) { Species = 354, Level = 46, Location = 98 }, // Banette + new(XY) { Species = 354, Level = 47, Location = 98 }, // Banette + new(XY) { Species = 354, Level = 48, Location = 98 }, // Banette + new(XY) { Species = 354, Level = 49, Location = 98 }, // Banette + new(XY) { Species = 354, Level = 50, Location = 98 }, // Banette + + // Stationary Legendary + new(X ) { Species = 716, Level = 50, Location = 138, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Xerneas + new( Y) { Species = 717, Level = 50, Location = 138, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Yveltal + new(XY) { Species = 718, Level = 70, Location = 140, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(XY) { Species = 150, Level = 70, Location = 168, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Mewtwo + new(XY) { Species = 144, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Articuno + new(XY) { Species = 145, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zapdos + new(XY) { Species = 146, Level = 70, Location = 146, Ability = OnlyFirst, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Moltres + }; + #endregion + #region Trade Tables + internal static readonly EncounterTrade6[] TradeGift_XY = + { + new(XY, 01,3,23,049) { Species = 129, Level = 05, Ability = OnlyFirst, TID = 44285, IVs = new(-1,31,-1,-1,31,-1), Gender = 0, Nature = Nature.Adamant }, // Magikarp + new(XY, 10,3,00,000) { Species = 133, Level = 05, Ability = OnlyFirst, TID = 29294, Gender = 1, Nature = Nature.Docile }, // Eevee + + new(XY, 15,4,13,017) { Species = 083, Level = 10, Ability = OnlyFirst, TID = 00185, IVs = new(-1,-1,-1,31,-1,-1), Gender = 0, Nature = Nature.Jolly }, // Farfetch'd + new(XY, 17,5,08,025) { Species = 208, Level = 20, Ability = OnlyFirst, TID = 19250, IVs = new(-1,-1,31,-1,-1,-1), Gender = 1, Nature = Nature.Impish }, // Steelix + new(XY, 18,7,20,709) { Species = 625, Level = 50, Ability = OnlyFirst, TID = 03447, IVs = new(-1,31,-1,-1,-1,-1), Gender = 0, Nature = Nature.Adamant }, // Bisharp + + new(XY, 02,3,11,005) { Species = 656, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,20,20,31,20,20), Gender = 0, Nature = Nature.Jolly }, // Froakie + new(XY, 02,3,09,005) { Species = 650, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,31,20,20,20,20), Gender = 0, Nature = Nature.Adamant }, // Chespin + new(XY, 02,3,18,005) { Species = 653, Level = 05, Ability = OnlyFirst, TID = 00037, IVs = new(20,20,20,20,31,20), Gender = 0, Nature = Nature.Modest }, // Fennekin + new(XY, 51,4,04,033) { Species = 280, Level = 05, Ability = OnlyFirst, TID = 37110, IVs = new(20,20,20,31,31,20), Gender = 1, Nature = Nature.Modest, IsNicknamed = false }, // Ralts + }; + #endregion + + internal static readonly EncounterStatic6[] StaticX = GetEncounters(Encounter_XY, X); + internal static readonly EncounterStatic6[] StaticY = GetEncounters(Encounter_XY, Y); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7b.cs b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7GG.cs similarity index 99% rename from PKHeX.Core/Legality/Encounters/Data/Encounters7b.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7GG.cs index 4dd6c40eb..5ed09ec77 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7b.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7GG.cs @@ -3,7 +3,7 @@ namespace PKHeX.Core; -internal static class Encounters7b +internal static class Encounters7GG { internal static readonly EncounterArea7b[] SlotsGP = EncounterArea7b.GetAreas(Get("gp", "gg"), GP); internal static readonly EncounterArea7b[] SlotsGE = EncounterArea7b.GetAreas(Get("ge", "gg"), GE); diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7SM.cs b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7SM.cs new file mode 100644 index 000000000..ce7e4f436 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7SM.cs @@ -0,0 +1,137 @@ +using static PKHeX.Core.EncounterUtil; +using static PKHeX.Core.GameVersion; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 7 Encounters +/// +internal static class Encounters7SM +{ + internal static readonly EncounterArea7[] SlotsSN = EncounterArea7.GetAreas(Get("sn", "sm"), SN); + internal static readonly EncounterArea7[] SlotsMN = EncounterArea7.GetAreas(Get("mn", "sm"), MN); + + static Encounters7SM() => MarkEncounterTradeStrings(TradeGift_SM, TradeSM); + + private static readonly EncounterStatic7[] Encounter_SM = // @ a\1\5\5 + { + // Gifts - 0.bin + new(SM) { Gift = true, Species = 722, Level = 5, Location = 024 }, // Rowlet + new(SM) { Gift = true, Species = 725, Level = 5, Location = 024 }, // Litten + new(SM) { Gift = true, Species = 728, Level = 5, Location = 024 }, // Popplio + new(SM) { Gift = true, Species = 138, Level = 15, Location = 058 }, // Omanyte + new(SM) { Gift = true, Species = 140, Level = 15, Location = 058 }, // Kabuto + // new(SM) { Gift = true, Species = 142, Level = 15, Location = 058 }, // Aerodactyl + new(SM) { Gift = true, Species = 345, Level = 15, Location = 058 }, // Lileep + new(SM) { Gift = true, Species = 347, Level = 15, Location = 058 }, // Anorith + new(SM) { Gift = true, Species = 408, Level = 15, Location = 058 }, // Cranidos + new(SM) { Gift = true, Species = 410, Level = 15, Location = 058 }, // Shieldon + new(SM) { Gift = true, Species = 564, Level = 15, Location = 058 }, // Tirtouga + new(SM) { Gift = true, Species = 566, Level = 15, Location = 058 }, // Archen + new(SM) { Gift = true, Species = 696, Level = 15, Location = 058 }, // Tyrunt + new(SM) { Gift = true, Species = 698, Level = 15, Location = 058 }, // Amaura + new(SM) { Gift = true, Species = 137, Level = 30, Location = 116 }, // Porygon @ Route 15 + new(SM) { Gift = true, Species = 133, Level = 1, EggLocation = 60002 }, // Eevee @ Nursery helpers + new(SM) { Gift = true, Species = 772, Level = 40, Location = 188, FlawlessIVCount = 3 }, // Type: Null + new(SN) { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = Shiny.Never, Ability = OnlySecond, FlawlessIVCount = 3 }, // Cosmog + new(MN) { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = Shiny.Never, Ability = OnlySecond, FlawlessIVCount = 3 }, // Cosmog + new(SM) { Gift = true, Species = 142, Level = 40, Location = 172 }, // Aerodactyl @ Seafolk Village + + new(SM) { Gift = true, Species = 718, Form = 0, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 1, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 2, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 3, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + + new(SM) { Gift = true, Species = 718, Form = 0, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 1, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 2, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + new(SM) { Gift = true, Species = 718, Form = 3, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde + + new(SM) // Magearna (Bottle Cap) 00 FF + { + Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = Shiny.Never, FlawlessIVCount = 3, HeldItem = 795, Ability = OnlySecond, + Fateful = true, Relearn = new(705, 430, 381, 270), Ball = 0x10, // Cherish + }, + + // Static Encounters - 1.bin + new(SM) { Species = 746, Level = 17, Location = 086, Shiny = Shiny.Never, Ability = OnlyFirst }, // Wishiwashi + new(SM) { Species = 746, Level = 18, Location = 086, Shiny = Shiny.Never, Ability = OnlyFirst }, // Wishiwashi + + new(SN) { Species = 791, Level = 55, Location = 176, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3, Relearn = new(713, 322, 242, 428) }, // Solgaleo + new(MN) { Species = 792, Level = 55, Location = 178, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3, Relearn = new(714, 322, 539, 247) }, // Lunala + + new(SM) { Species = 785, Level = 60, Location = 030, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Koko + new(SM) { Species = 786, Level = 60, Location = 092, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Lele + new(SM) { Species = 787, Level = 60, Location = 140, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Bulu + new(SM) { Species = 788, Level = 60, Location = 180, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Fini + + new(SM) { Species = 793, Level = 55, Location = 082, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Nihilego @ Wela Volcano Park + new(SM) { Species = 793, Level = 55, Location = 100, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Nihilego @ Diglett’s Tunnel + new(SN) { Species = 794, Level = 65, Location = 040, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Buzzwole @ Melemele Meadow + new(MN) { Species = 795, Level = 60, Location = 046, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Pheromosa @ Verdant Cavern (Trial Site) + new(SM) { Species = 796, Level = 65, Location = 090, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Xurkitree @ Lush Jungle + new(SM) { Species = 796, Level = 65, Location = 076, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Xurkitree @ Memorial Hill + new(SN) { Species = 798, Level = 60, Location = 134, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Kartana @ Malie Garden + new(SN) { Species = 798, Level = 60, Location = 120, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Kartana @ Route 17 + new(MN) { Species = 797, Level = 65, Location = 124, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Celesteela @ Haina Desert + new(MN) { Species = 797, Level = 65, Location = 134, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Celesteela @ Malie Garden + new(SM) { Species = 799, Level = 70, Location = 182, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Guzzlord @ Resolution Cave + new(SM) { Species = 800, Level = 75, Location = 036, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Necrozma @ Ten Carat Hill (Farthest Hollow) + + // QR Scan: Su/M/Tu/W/Th/F/Sa + // Melemele Island + new(SM) { Species = 155, Level = 12, Location = 010, Relearn = new(024, 052, 108, 043) }, // Cyndaquil @ Route 3 + new(SM) { Species = 158, Level = 12, Location = 042, Relearn = new(232, 099, 055, 043) }, // Totodile @ Seaward Cave + new(SM) { Species = 633, Level = 13, Location = 034, Relearn = new(372, 029, 044, 116) }, // Deino @ Ten Carat Hill + new(SM) { Species = 116, Level = 18, Location = 014, Relearn = new(225, 239, 055, 043) }, // Horsea @ Kala'e Bay + new(SM) { Species = 599, Level = 08, Location = 020, Relearn = new(268, 011, 000, 000) }, // Klink @ Hau'oli City + new(SM) { Species = 152, Level = 10, Location = 012, Relearn = new(073, 077, 075, 045) }, // Chikorita @ Route 2 + new(SM) { Species = 607, Level = 10, Location = 038, Relearn = new(051, 109, 083, 123) }, // Litwick @ Hau'oli Cemetery + + // Akala Island + new(SM) { Species = 574, Level = 17, Location = 054, Relearn = new(399, 060, 003, 313) }, // Gothita @ Route 6 + new(SM) { Species = 363, Level = 19, Location = 056, Relearn = new(392, 362, 301, 227) }, // Spheal @ Route 7 + new(SM) { Species = 404, Level = 20, Location = 058, Relearn = new(598, 044, 209, 268) }, // Luxio @ Route 8 + new(SM) { Species = 679, Level = 23, Location = 094, Relearn = new(194, 332, 425, 475) }, // Honedge @ Akala Outskirts + new(SM) { Species = 543, Level = 14, Location = 050, Relearn = new(390, 228, 103, 040) }, // Venipede @ Route 4 + new(SM) { Species = 069, Level = 16, Location = 052, Relearn = new(491, 077, 079, 035) }, // Bellsprout @ Route 5 + new(SM) { Species = 183, Level = 17, Location = 086, Relearn = new(453, 270, 061, 205) }, // Marill @ Brooklet Hill + + // Ula'ula Island + new(SM) { Species = 111, Level = 30, Location = 138, Relearn = new(130, 350, 498, 523) }, // Rhyhorn @ Blush Mountain + new(SM) { Species = 220, Level = 31, Location = 114, Relearn = new(573, 036, 420, 196) }, // Swinub @ Tapu Village + new(SM) { Species = 578, Level = 33, Location = 118, Relearn = new(101, 248, 283, 473) }, // Duosion @ Route 16 + new(SM) { Species = 315, Level = 34, Location = 128, Relearn = new(437, 275, 230, 390) }, // Roselia @ Ula'ula Meadow + new(SM) { Species = 397, Level = 27, Location = 106, Relearn = new(355, 018, 283, 104) }, // Staravia @ Route 10 + new(SM) { Species = 288, Level = 27, Location = 108, Relearn = new(359, 498, 163, 203) }, // Vigoroth @ Route 11 + new(SM) { Species = 610, Level = 28, Location = 136, Relearn = new(231, 337, 206, 163) }, // Axew @ Mount Hokulani + + // Poni Island + new(SM) { Species = 604, Level = 55, Location = 164, Relearn = new(435, 051, 029, 306) }, // Eelektross @ Poni Grove + new(SM) { Species = 534, Level = 57, Location = 166, Relearn = new(409, 276, 264, 444) }, // Conkeldurr @ Poni Plains + new(SM) { Species = 468, Level = 59, Location = 170, Relearn = new(248, 403, 396, 245) }, // Togekiss @ Poni Gauntlet + new(SM) { Species = 542, Level = 57, Location = 156, Relearn = new(382, 437, 014, 494) }, // Leavanny @ Poni Meadow + new(SM) { Species = 497, Level = 43, Location = 184, Relearn = new(137, 489, 348, 021) }, // Serperior @ Exeggutor Island + new(SM) { Species = 503, Level = 43, Location = 158, Relearn = new(362, 227, 453, 279) }, // Samurott @ Poni Wilds + new(SM) { Species = 500, Level = 43, Location = 160, Relearn = new(276, 053, 372, 535) }, // Emboar @ Ancient Poni Path + }; + + internal static readonly EncounterTrade7[] TradeGift_SM = // @ a\1\5\5 + { + // Trades - 4.bin + new(SM) { Species = 066, Form = 0, Level = 09, Ability = OnlySecond, TID = 00410, SID = 00000, IVs = new(-1,31,-1,-1,-1,-1), OTGender = 1, Gender = 0, Nature = Nature.Brave }, // Machop + new(SM) { Species = 761, Form = 0, Level = 16, Ability = OnlyFirst, TID = 20683, SID = 00009, IVs = new(-1,31,-1,-1,-1,-1), OTGender = 0, Gender = 1, Nature = Nature.Adamant }, // Bounsweet + new(SM) { Species = 061, Form = 0, Level = 22, Ability = OnlySecond, TID = 01092, SID = 00009, IVs = new(31,-1,-1,-1,-1,-1), OTGender = 1, Gender = 1, Nature = Nature.Naughty }, // Poliwhirl + new(SM) { Species = 440, Form = 0, Level = 27, Ability = OnlySecond, TID = 10913, SID = 00000, IVs = new(-1,-1,-1,-1,31,-1), OTGender = 1, Gender = 1, Nature = Nature.Calm }, // Happiny + new(SM) { Species = 075, Form = 1, Level = 32, Ability = OnlyFirst, TID = 20778, SID = 00009, IVs = new(-1,-1,31,-1,-1,-1), OTGender = 0, Gender = 0, Nature = Nature.Impish, EvolveOnTrade = true }, // Graveler-1 + new(SM) { Species = 762, Form = 0, Level = 43, Ability = OnlyFirst, TID = 20679, SID = 00009, IVs = new(-1,-1,-1,-1,-1,31), OTGender = 1, Gender = 1, Nature = Nature.Careful }, // Steenee + new(SM) { Species = 663, Form = 0, Level = 59, Ability = OnlyHidden, TID = 56734, SID = 00008, IVs = new(-1,-1,-1,31,-1,-1), OTGender = 0, Gender = 0, Nature = Nature.Jolly }, // Talonflame + }; + + private const string tradeSM = "tradesm"; + private static readonly string[][] TradeSM = Util.GetLanguageStrings10(tradeSM); + + internal static readonly EncounterStatic7[] StaticSN = GetEncounters(Encounter_SM, SN); + internal static readonly EncounterStatic7[] StaticMN = GetEncounters(Encounter_SM, MN); +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7USUM.cs similarity index 66% rename from PKHeX.Core/Legality/Encounters/Data/Encounters7.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7USUM.cs index 8cbaa6b7e..5d1d92f5d 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters7.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7USUM.cs @@ -7,133 +7,12 @@ namespace PKHeX.Core; /// /// Generation 7 Encounters /// -internal static class Encounters7 +internal static class Encounters7USUM { - internal static readonly EncounterArea7[] SlotsSN = EncounterArea7.GetAreas(Get("sn", "sm"), SN); - internal static readonly EncounterArea7[] SlotsMN = EncounterArea7.GetAreas(Get("mn", "sm"), MN); internal static readonly EncounterArea7[] SlotsUS = EncounterArea7.GetAreas(Get("us", "uu"), US); internal static readonly EncounterArea7[] SlotsUM = EncounterArea7.GetAreas(Get("um", "uu"), UM); - static Encounters7() - { - MarkEncounterTradeStrings(TradeGift_SM, TradeSM); - MarkEncounterTradeStrings(TradeGift_USUM, TradeUSUM); - } - - private static readonly EncounterStatic7[] Encounter_SM = // @ a\1\5\5 - { - // Gifts - 0.bin - new(SM) { Gift = true, Species = 722, Level = 5, Location = 024 }, // Rowlet - new(SM) { Gift = true, Species = 725, Level = 5, Location = 024 }, // Litten - new(SM) { Gift = true, Species = 728, Level = 5, Location = 024 }, // Popplio - new(SM) { Gift = true, Species = 138, Level = 15, Location = 058 }, // Omanyte - new(SM) { Gift = true, Species = 140, Level = 15, Location = 058 }, // Kabuto - // new(SM) { Gift = true, Species = 142, Level = 15, Location = 058 }, // Aerodactyl - new(SM) { Gift = true, Species = 345, Level = 15, Location = 058 }, // Lileep - new(SM) { Gift = true, Species = 347, Level = 15, Location = 058 }, // Anorith - new(SM) { Gift = true, Species = 408, Level = 15, Location = 058 }, // Cranidos - new(SM) { Gift = true, Species = 410, Level = 15, Location = 058 }, // Shieldon - new(SM) { Gift = true, Species = 564, Level = 15, Location = 058 }, // Tirtouga - new(SM) { Gift = true, Species = 566, Level = 15, Location = 058 }, // Archen - new(SM) { Gift = true, Species = 696, Level = 15, Location = 058 }, // Tyrunt - new(SM) { Gift = true, Species = 698, Level = 15, Location = 058 }, // Amaura - new(SM) { Gift = true, Species = 137, Level = 30, Location = 116 }, // Porygon @ Route 15 - new(SM) { Gift = true, Species = 133, Level = 1, EggLocation = 60002 }, // Eevee @ Nursery helpers - new(SM) { Gift = true, Species = 772, Level = 40, Location = 188, FlawlessIVCount = 3 }, // Type: Null - new(SN) { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = Shiny.Never, Ability = OnlySecond, FlawlessIVCount = 3 }, // Cosmog - new(MN) { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = Shiny.Never, Ability = OnlySecond, FlawlessIVCount = 3 }, // Cosmog - new(SM) { Gift = true, Species = 142, Level = 40, Location = 172 }, // Aerodactyl @ Seafolk Village - - new(SM) { Gift = true, Species = 718, Form = 0, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 1, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 2, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 3, Level = 30, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - - new(SM) { Gift = true, Species = 718, Form = 0, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 1, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 2, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - new(SM) { Gift = true, Species = 718, Form = 3, Level = 50, Location = 118, Shiny = Shiny.Never, FlawlessIVCount = 3 }, // Zygarde - - new(SM) // Magearna (Bottle Cap) 00 FF - { - Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = Shiny.Never, FlawlessIVCount = 3, HeldItem = 795, Ability = OnlySecond, - Fateful = true, Relearn = new(705, 430, 381, 270), Ball = 0x10, // Cherish - }, - - // Static Encounters - 1.bin - new(SM) { Species = 746, Level = 17, Location = 086, Shiny = Shiny.Never, Ability = OnlyFirst }, // Wishiwashi - new(SM) { Species = 746, Level = 18, Location = 086, Shiny = Shiny.Never, Ability = OnlyFirst }, // Wishiwashi - - new(SN) { Species = 791, Level = 55, Location = 176, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3, Relearn = new(713, 322, 242, 428) }, // Solgaleo - new(MN) { Species = 792, Level = 55, Location = 178, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3, Relearn = new(714, 322, 539, 247) }, // Lunala - - new(SM) { Species = 785, Level = 60, Location = 030, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Koko - new(SM) { Species = 786, Level = 60, Location = 092, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Lele - new(SM) { Species = 787, Level = 60, Location = 140, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Bulu - new(SM) { Species = 788, Level = 60, Location = 180, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Tapu Fini - - new(SM) { Species = 793, Level = 55, Location = 082, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Nihilego @ Wela Volcano Park - new(SM) { Species = 793, Level = 55, Location = 100, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Nihilego @ Diglett’s Tunnel - new(SN) { Species = 794, Level = 65, Location = 040, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Buzzwole @ Melemele Meadow - new(MN) { Species = 795, Level = 60, Location = 046, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Pheromosa @ Verdant Cavern (Trial Site) - new(SM) { Species = 796, Level = 65, Location = 090, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Xurkitree @ Lush Jungle - new(SM) { Species = 796, Level = 65, Location = 076, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Xurkitree @ Memorial Hill - new(SN) { Species = 798, Level = 60, Location = 134, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Kartana @ Malie Garden - new(SN) { Species = 798, Level = 60, Location = 120, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Kartana @ Route 17 - new(MN) { Species = 797, Level = 65, Location = 124, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Celesteela @ Haina Desert - new(MN) { Species = 797, Level = 65, Location = 134, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Celesteela @ Malie Garden - new(SM) { Species = 799, Level = 70, Location = 182, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Guzzlord @ Resolution Cave - new(SM) { Species = 800, Level = 75, Location = 036, Shiny = Shiny.Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Necrozma @ Ten Carat Hill (Farthest Hollow) - - // QR Scan: Su/M/Tu/W/Th/F/Sa - // Melemele Island - new(SM) { Species = 155, Level = 12, Location = 010, Relearn = new(024, 052, 108, 043) }, // Cyndaquil @ Route 3 - new(SM) { Species = 158, Level = 12, Location = 042, Relearn = new(232, 099, 055, 043) }, // Totodile @ Seaward Cave - new(SM) { Species = 633, Level = 13, Location = 034, Relearn = new(372, 029, 044, 116) }, // Deino @ Ten Carat Hill - new(SM) { Species = 116, Level = 18, Location = 014, Relearn = new(225, 239, 055, 043) }, // Horsea @ Kala'e Bay - new(SM) { Species = 599, Level = 08, Location = 020, Relearn = new(268, 011, 000, 000) }, // Klink @ Hau'oli City - new(SM) { Species = 152, Level = 10, Location = 012, Relearn = new(073, 077, 075, 045) }, // Chikorita @ Route 2 - new(SM) { Species = 607, Level = 10, Location = 038, Relearn = new(051, 109, 083, 123) }, // Litwick @ Hau'oli Cemetery - - // Akala Island - new(SM) { Species = 574, Level = 17, Location = 054, Relearn = new(399, 060, 003, 313) }, // Gothita @ Route 6 - new(SM) { Species = 363, Level = 19, Location = 056, Relearn = new(392, 362, 301, 227) }, // Spheal @ Route 7 - new(SM) { Species = 404, Level = 20, Location = 058, Relearn = new(598, 044, 209, 268) }, // Luxio @ Route 8 - new(SM) { Species = 679, Level = 23, Location = 094, Relearn = new(194, 332, 425, 475) }, // Honedge @ Akala Outskirts - new(SM) { Species = 543, Level = 14, Location = 050, Relearn = new(390, 228, 103, 040) }, // Venipede @ Route 4 - new(SM) { Species = 069, Level = 16, Location = 052, Relearn = new(491, 077, 079, 035) }, // Bellsprout @ Route 5 - new(SM) { Species = 183, Level = 17, Location = 086, Relearn = new(453, 270, 061, 205) }, // Marill @ Brooklet Hill - - // Ula'ula Island - new(SM) { Species = 111, Level = 30, Location = 138, Relearn = new(130, 350, 498, 523) }, // Rhyhorn @ Blush Mountain - new(SM) { Species = 220, Level = 31, Location = 114, Relearn = new(573, 036, 420, 196) }, // Swinub @ Tapu Village - new(SM) { Species = 578, Level = 33, Location = 118, Relearn = new(101, 248, 283, 473) }, // Duosion @ Route 16 - new(SM) { Species = 315, Level = 34, Location = 128, Relearn = new(437, 275, 230, 390) }, // Roselia @ Ula'ula Meadow - new(SM) { Species = 397, Level = 27, Location = 106, Relearn = new(355, 018, 283, 104) }, // Staravia @ Route 10 - new(SM) { Species = 288, Level = 27, Location = 108, Relearn = new(359, 498, 163, 203) }, // Vigoroth @ Route 11 - new(SM) { Species = 610, Level = 28, Location = 136, Relearn = new(231, 337, 206, 163) }, // Axew @ Mount Hokulani - - // Poni Island - new(SM) { Species = 604, Level = 55, Location = 164, Relearn = new(435, 051, 029, 306) }, // Eelektross @ Poni Grove - new(SM) { Species = 534, Level = 57, Location = 166, Relearn = new(409, 276, 264, 444) }, // Conkeldurr @ Poni Plains - new(SM) { Species = 468, Level = 59, Location = 170, Relearn = new(248, 403, 396, 245) }, // Togekiss @ Poni Gauntlet - new(SM) { Species = 542, Level = 57, Location = 156, Relearn = new(382, 437, 014, 494) }, // Leavanny @ Poni Meadow - new(SM) { Species = 497, Level = 43, Location = 184, Relearn = new(137, 489, 348, 021) }, // Serperior @ Exeggutor Island - new(SM) { Species = 503, Level = 43, Location = 158, Relearn = new(362, 227, 453, 279) }, // Samurott @ Poni Wilds - new(SM) { Species = 500, Level = 43, Location = 160, Relearn = new(276, 053, 372, 535) }, // Emboar @ Ancient Poni Path - }; - - internal static readonly EncounterTrade7[] TradeGift_SM = // @ a\1\5\5 - { - // Trades - 4.bin - new(SM) { Species = 066, Form = 0, Level = 09, Ability = OnlySecond, TID = 00410, SID = 00000, IVs = new(-1,31,-1,-1,-1,-1), OTGender = 1, Gender = 0, Nature = Nature.Brave }, // Machop - new(SM) { Species = 761, Form = 0, Level = 16, Ability = OnlyFirst, TID = 20683, SID = 00009, IVs = new(-1,31,-1,-1,-1,-1), OTGender = 0, Gender = 1, Nature = Nature.Adamant }, // Bounsweet - new(SM) { Species = 061, Form = 0, Level = 22, Ability = OnlySecond, TID = 01092, SID = 00009, IVs = new(31,-1,-1,-1,-1,-1), OTGender = 1, Gender = 1, Nature = Nature.Naughty }, // Poliwhirl - new(SM) { Species = 440, Form = 0, Level = 27, Ability = OnlySecond, TID = 10913, SID = 00000, IVs = new(-1,-1,-1,-1,31,-1), OTGender = 1, Gender = 1, Nature = Nature.Calm }, // Happiny - new(SM) { Species = 075, Form = 1, Level = 32, Ability = OnlyFirst, TID = 20778, SID = 00009, IVs = new(-1,-1,31,-1,-1,-1), OTGender = 0, Gender = 0, Nature = Nature.Impish, EvolveOnTrade = true }, // Graveler-1 - new(SM) { Species = 762, Form = 0, Level = 43, Ability = OnlyFirst, TID = 20679, SID = 00009, IVs = new(-1,-1,-1,-1,-1,31), OTGender = 1, Gender = 1, Nature = Nature.Careful }, // Steenee - new(SM) { Species = 663, Form = 0, Level = 59, Ability = OnlyHidden, TID = 56734, SID = 00008, IVs = new(-1,-1,-1,31,-1,-1), OTGender = 0, Gender = 0, Nature = Nature.Jolly }, // Talonflame - }; + static Encounters7USUM() => MarkEncounterTradeStrings(TradeGift_USUM, TradeUSUM); private static readonly EncounterStatic7[] Encounter_USUM = { @@ -349,13 +228,9 @@ static Encounters7() new(USUM) { Species = 128, Form = 0, Level = 59, Ability = OnlyFirst, TID = 56734, SID = 00008, IVs = new(-1,-1,-1,31,-1,-1), OTGender = 0, Gender = 0, Nature = Nature.Jolly }, // Tauros }; - private const string tradeSM = "tradesm"; private const string tradeUSUM = "tradeusum"; - private static readonly string[][] TradeSM = Util.GetLanguageStrings10(tradeSM); private static readonly string[][] TradeUSUM = Util.GetLanguageStrings10(tradeUSUM); - internal static readonly EncounterStatic7[] StaticSN = GetEncounters(Encounter_SM, SN); - internal static readonly EncounterStatic7[] StaticMN = GetEncounters(Encounter_SM, MN); internal static readonly EncounterStatic7[] StaticUS = GetEncounters(Encounter_USUM, US); internal static readonly EncounterStatic7[] StaticUM = GetEncounters(Encounter_USUM, UM); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8.cs b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8.cs similarity index 58% rename from PKHeX.Core/Legality/Encounters/Data/Encounters8.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8.cs index 80f1b86f4..6d41c702d 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Encounters8.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8.cs @@ -29,736 +29,739 @@ static Encounters8() MarkEncounterTradeStrings(TradeGift_SWSH, TradeSWSH); } - private static readonly EncounterStatic8[] Encounter_SWSH = + private static readonly EncounterStatic8[] Encounter_SWSH_0 = { // gifts - new(SWSH) { Gift = true, Species = 810, Shiny = Never, Level = 05, Location = 006 }, // Grookey - new(SWSH) { Gift = true, Species = 813, Shiny = Never, Level = 05, Location = 006 }, // Scorbunny - new(SWSH) { Gift = true, Species = 816, Shiny = Never, Level = 05, Location = 006 }, // Sobble + new() { Gift = true, Species = 810, Shiny = Never, Level = 05, Location = 006 }, // Grookey + new() { Gift = true, Species = 813, Shiny = Never, Level = 05, Location = 006 }, // Scorbunny + new() { Gift = true, Species = 816, Shiny = Never, Level = 05, Location = 006 }, // Sobble - new(SWSH) { Gift = true, Species = 772, Shiny = Never, Level = 50, Location = 158, FlawlessIVCount = 3 }, // Type: Null - new(SWSH) { Gift = true, Species = 848, Shiny = Never, Level = 01, Location = 040, IVs = new(-1,31,-1,-1,31,-1), Ball = 11 }, // Toxel, Attack flawless + new() { Gift = true, Species = 772, Shiny = Never, Level = 50, Location = 158, FlawlessIVCount = 3 }, // Type: Null + new() { Gift = true, Species = 848, Shiny = Never, Level = 01, Location = 040, IVs = new(-1,31,-1,-1,31,-1), Ball = 11 }, // Toxel, Attack flawless - new(SWSH) { Gift = true, Species = 880, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Dracozolt @ Route 6 - new(SWSH) { Gift = true, Species = 881, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Arctozolt @ Route 6 - new(SWSH) { Gift = true, Species = 882, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Dracovish @ Route 6 - new(SWSH) { Gift = true, Species = 883, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Arctovish @ Route 6 + new() { Gift = true, Species = 880, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Dracozolt @ Route 6 + new() { Gift = true, Species = 881, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Arctozolt @ Route 6 + new() { Gift = true, Species = 882, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Dracovish @ Route 6 + new() { Gift = true, Species = 883, FlawlessIVCount = 3, Level = 10, Location = 068 }, // Arctovish @ Route 6 - new(SWSH) { Gift = true, Species = 004, Shiny = Never, Level = 05, Location = 006, FlawlessIVCount = 3, CanGigantamax = true, Ability = OnlyFirst }, // Charmander - new(SWSH) { Gift = true, Species = 025, Shiny = Never, Level = 10, Location = 156, FlawlessIVCount = 6, CanGigantamax = true }, // Pikachu - new(SWSH) { Gift = true, Species = 133, Shiny = Never, Level = 10, Location = 156, FlawlessIVCount = 6, CanGigantamax = true }, // Eevee + new() { Gift = true, Species = 004, Shiny = Never, Level = 05, Location = 006, FlawlessIVCount = 3, CanGigantamax = true, Ability = OnlyFirst }, // Charmander + new() { Gift = true, Species = 025, Shiny = Never, Level = 10, Location = 156, FlawlessIVCount = 6, CanGigantamax = true }, // Pikachu + new() { Gift = true, Species = 133, Shiny = Never, Level = 10, Location = 156, FlawlessIVCount = 6, CanGigantamax = true }, // Eevee // DLC gifts - new(SWSH) { Gift = true, Species = 001, Level = 05, Location = 196, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, CanGigantamax = true }, // Bulbasaur - new(SWSH) { Gift = true, Species = 007, Level = 05, Location = 196, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, CanGigantamax = true }, // Squirtle - new(SWSH) { Gift = true, Species = 137, Level = 25, Location = 196, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Porygon - new(SWSH) { Gift = true, Species = 891, Level = 10, Location = 196, Shiny = Never, FlawlessIVCount = 3 }, // Kubfu + new() { Gift = true, Species = 001, Level = 05, Location = 196, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, CanGigantamax = true }, // Bulbasaur + new() { Gift = true, Species = 007, Level = 05, Location = 196, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, CanGigantamax = true }, // Squirtle + new() { Gift = true, Species = 137, Level = 25, Location = 196, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Porygon + new() { Gift = true, Species = 891, Level = 10, Location = 196, Shiny = Never, FlawlessIVCount = 3 }, // Kubfu - new(SWSH) { Gift = true, Species = 079, Level = 10, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Slowpoke - new(SWSH) { Gift = true, Species = 722, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Rowlet - new(SWSH) { Gift = true, Species = 725, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Litten - new(SWSH) { Gift = true, Species = 728, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Popplio - new(SWSH) { Gift = true, Species = 026, Level = 30, Location = 164, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, Form = 01 }, // Raichu-1 - new(SWSH) { Gift = true, Species = 027, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Sandshrew-1 - new(SWSH) { Gift = true, Species = 037, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Vulpix-1 - new(SWSH) { Gift = true, Species = 052, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Meowth-1 - new(SWSH) { Gift = true, Species = 103, Level = 30, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Exeggutor-1 - new(SWSH) { Gift = true, Species = 105, Level = 30, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Marowak-1 - new(SWSH) { Gift = true, Species = 050, Level = 20, Location = 164, Shiny = Never, Ability = OnlyHidden, Gender = 0, Nature = Nature.Jolly, FlawlessIVCount = 6, Form = 01 }, // Diglett-1 + new() { Gift = true, Species = 079, Level = 10, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Slowpoke + new() { Gift = true, Species = 722, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Rowlet + new() { Gift = true, Species = 725, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Litten + new() { Gift = true, Species = 728, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3 }, // Popplio + new() { Gift = true, Species = 026, Level = 30, Location = 164, Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3, Form = 01 }, // Raichu-1 + new() { Gift = true, Species = 027, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Sandshrew-1 + new() { Gift = true, Species = 037, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Vulpix-1 + new() { Gift = true, Species = 052, Level = 05, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Meowth-1 + new() { Gift = true, Species = 103, Level = 30, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Exeggutor-1 + new() { Gift = true, Species = 105, Level = 30, Location = 164, Shiny = Never, Ability = OnlyHidden, FlawlessIVCount = 3, Form = 01 }, // Marowak-1 + new() { Gift = true, Species = 050, Level = 20, Location = 164, Shiny = Never, Ability = OnlyHidden, Gender = 0, Nature = Nature.Jolly, FlawlessIVCount = 6, Form = 01 }, // Diglett-1 - new(SWSH) { Gift = true, Species = 789, Level = 05, Location = 206, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Cosmog - new(SWSH) { Gift = true, Species = 803, Level = 20, Location = 244, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Ball = 26 }, // Poipole + new() { Gift = true, Species = 789, Level = 05, Location = 206, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Cosmog + new() { Gift = true, Species = 803, Level = 20, Location = 244, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Ball = 26 }, // Poipole // Technically a gift, but copies ball from Calyrex. - new(SWSH) { Species = 896, Level = 75, Location = 220, ScriptedNoMarks = true, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Relearn = new(556) }, // Glastrier - new(SWSH) { Species = 897, Level = 75, Location = 220, ScriptedNoMarks = true, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Relearn = new(247) }, // Spectrier + new() { Species = 896, Level = 75, Location = 220, ScriptedNoMarks = true, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Relearn = new(556) }, // Glastrier + new() { Species = 897, Level = 75, Location = 220, ScriptedNoMarks = true, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Relearn = new(247) }, // Spectrier #region Static Part 1 // encounters new(SW ) { Species = 888, Level = 70, Location = 66, ScriptedNoMarks = true, Moves = new(533,014,442,242), Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Zacian new( SH) { Species = 889, Level = 70, Location = 66, ScriptedNoMarks = true, Moves = new(163,242,442,334), Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Zamazenta - new(SWSH) { Species = 890, Level = 60, Location = 66, ScriptedNoMarks = true, Moves = new(440,406,053,744), Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Eternatus-1 (reverts to form 0) + new() { Species = 890, Level = 60, Location = 66, ScriptedNoMarks = true, Moves = new(440,406,053,744), Shiny = Never, Ability = OnlyFirst, FlawlessIVCount = 3 }, // Eternatus-1 (reverts to form 0) // Motostoke Stadium Static Encounters - new(SWSH) { Species = 037, Level = 24, Location = 24, ScriptedNoMarks = true }, // Vulpix at Motostoke Stadium - //new( SH) { Species = 058, Level = 24, Location = 24, ScriptedNoMarks = true }, // Growlithe at Motostoke Stadium (both versions have Vulpix) - new(SWSH) { Species = 607, Level = 25, Location = 24, ScriptedNoMarks = true }, // Litwick at Motostoke Stadium - new(SWSH) { Species = 850, Level = 25, Location = 24, ScriptedNoMarks = true, FlawlessIVCount = 3 }, // Sizzlipede at Motostoke Stadium + new() { Species = 037, Level = 24, Location = 24, ScriptedNoMarks = true }, // Vulpix at Motostoke Stadium + //new( SH) { Species = 058, Level = 24, Location = 24, ScriptedNoMarks = true }, // Growlithe at Motostoke Stadium (both versions have Vulpix) + new() { Species = 607, Level = 25, Location = 24, ScriptedNoMarks = true }, // Litwick at Motostoke Stadium + new() { Species = 850, Level = 25, Location = 24, ScriptedNoMarks = true, FlawlessIVCount = 3 }, // Sizzlipede at Motostoke Stadium - new(SWSH) { Species = 618, Level = 25, Location = 054, Moves = new(389,319,279,341), Form = 01, Ability = OnlyFirst }, // Stunfisk in Galar Mine No. 2 - new(SWSH) { Species = 618, Level = 48, Location = 008, Moves = new(779,330,340,334), Form = 01 }, // Stunfisk in the Slumbering Weald - new(SWSH) { Species = 527, Level = 16, Location = 030, Moves = new(000) }, // Woobat in Galar Mine - new(SWSH) { Species = 838, Level = 18, Location = 030, Moves = new(488,397,229,033) }, // Carkol in Galar Mine - new(SWSH) { Species = 834, Level = 24, Location = 054, Moves = new(317,029,055,044) }, // Drednaw in Galar Mine No. 2 - new(SWSH) { Species = 423, Level = 50, Location = 054, Moves = new(240,414,330,246), FlawlessIVCount = 3, Form = 01 }, // Gastrodon in Galar Mine No. 2 - new(SWSH) { Species = 859, Level = 31, Location = 076, ScriptedNoMarks = true, Moves = new(259,389,207,372) }, // Impidimp in Glimwood Tangle - new(SWSH) { Species = 860, Level = 38, Location = 076, ScriptedNoMarks = true, Moves = new(793,399,259,389) }, // Morgrem in Glimwood Tangle - new(SWSH) { Species = 835, Level = 08, Location = 018, Moves = new(039,033,609,000) }, // Yamper on Route 2 - new(SWSH) { Species = 834, Level = 50, Location = 018, Moves = new(710,746,068,317), FlawlessIVCount = 3 }, // Drednaw on Route 2 - new(SWSH) { Species = 833, Level = 08, Location = 018, Moves = new(044,055,000,000) }, // Chewtle on Route 2 - new(SWSH) { Species = 131, Level = 55, Location = 018, Moves = new(056,240,058,034), FlawlessIVCount = 3 }, // Lapras on Route 2 - new(SWSH) { Species = 862, Level = 50, Location = 018, Moves = new(269,068,792,184) }, // Obstagoon on Route 2 - new(SWSH) { Species = 822, Level = 18, Location = 028, Moves = new(681,468,031,365), Shiny = Never }, // Corvisquire on Route 3 - new(SWSH) { Species = 050, Level = 17, Location = 032, Moves = new(523,189,310,045) }, // Diglett on Route 4 - new(SWSH) { Species = 830, Level = 22, Location = 040, Moves = new(178,496,075,047) }, // Eldegoss on Route 5 - new(SWSH) { Species = 558, Level = 40, Location = 086, Moves = new(404,350,446,157) }, // Crustle on Route 8 - new(SWSH) { Species = 870, Level = 40, Location = 086, Moves = new(748,660,179,203) }, // Falinks on Route 8 - new(SWSH) { Species = 362, Level = 55, Location = 090, Moves = new(573,329,104,182), FlawlessIVCount = 3, Weather = Snowing }, // Glalie on Route 9 - new(SWSH) { Species = 853, Level = 50, Location = 092, Moves = new(753,576,276,179), Weather = Snowing }, // Grapploct on Route 9 (in Circhester Bay) - //new(SWSH) { Species = 822, Level = 35, Location = -1, Moves = new(065,184,269,365) }, // Corvisquire - new(SWSH) { Species = 614, Level = 55, Location = 106, Moves = new(276,059,156,329), Weather = Snowstorm }, // Beartic on Route 10 - new(SWSH) { Species = 460, Level = 55, Location = 106, Moves = new(008,059,452,275), Weather = Snowstorm }, // Abomasnow on Route 10 - new(SWSH) { Species = 342, Level = 50, Location = 034, Moves = new(242,014,534,400), FlawlessIVCount = 3 }, // Crawdaunt in the town of Turffield + new() { Species = 618, Level = 25, Location = 054, Moves = new(389,319,279,341), Form = 01, Ability = OnlyFirst }, // Stunfisk in Galar Mine No. 2 + new() { Species = 618, Level = 48, Location = 008, Moves = new(779,330,340,334), Form = 01 }, // Stunfisk in the Slumbering Weald + new() { Species = 527, Level = 16, Location = 030, Moves = new(000) }, // Woobat in Galar Mine + new() { Species = 838, Level = 18, Location = 030, Moves = new(488,397,229,033) }, // Carkol in Galar Mine + new() { Species = 834, Level = 24, Location = 054, Moves = new(317,029,055,044) }, // Drednaw in Galar Mine No. 2 + new() { Species = 423, Level = 50, Location = 054, Moves = new(240,414,330,246), FlawlessIVCount = 3, Form = 01 }, // Gastrodon in Galar Mine No. 2 + new() { Species = 859, Level = 31, Location = 076, ScriptedNoMarks = true, Moves = new(259,389,207,372) }, // Impidimp in Glimwood Tangle + new() { Species = 860, Level = 38, Location = 076, ScriptedNoMarks = true, Moves = new(793,399,259,389) }, // Morgrem in Glimwood Tangle + new() { Species = 835, Level = 08, Location = 018, Moves = new(039,033,609,000) }, // Yamper on Route 2 + new() { Species = 834, Level = 50, Location = 018, Moves = new(710,746,068,317), FlawlessIVCount = 3 }, // Drednaw on Route 2 + new() { Species = 833, Level = 08, Location = 018, Moves = new(044,055,000,000) }, // Chewtle on Route 2 + new() { Species = 131, Level = 55, Location = 018, Moves = new(056,240,058,034), FlawlessIVCount = 3 }, // Lapras on Route 2 + new() { Species = 862, Level = 50, Location = 018, Moves = new(269,068,792,184) }, // Obstagoon on Route 2 + new() { Species = 822, Level = 18, Location = 028, Moves = new(681,468,031,365), Shiny = Never }, // Corvisquire on Route 3 + new() { Species = 050, Level = 17, Location = 032, Moves = new(523,189,310,045) }, // Diglett on Route 4 + new() { Species = 830, Level = 22, Location = 040, Moves = new(178,496,075,047) }, // Eldegoss on Route 5 + new() { Species = 558, Level = 40, Location = 086, Moves = new(404,350,446,157) }, // Crustle on Route 8 + new() { Species = 870, Level = 40, Location = 086, Moves = new(748,660,179,203) }, // Falinks on Route 8 + new() { Species = 362, Level = 55, Location = 090, Moves = new(573,329,104,182), FlawlessIVCount = 3, Weather = Snowing }, // Glalie on Route 9 + new() { Species = 853, Level = 50, Location = 092, Moves = new(753,576,276,179), Weather = Snowing }, // Grapploct on Route 9 (in Circhester Bay) + //new() { Species = 822, Level = 35, Location = -1, Moves = new(065,184,269,365) }, // Corvisquire + new() { Species = 614, Level = 55, Location = 106, Moves = new(276,059,156,329), Weather = Snowstorm }, // Beartic on Route 10 + new() { Species = 460, Level = 55, Location = 106, Moves = new(008,059,452,275), Weather = Snowstorm }, // Abomasnow on Route 10 + new() { Species = 342, Level = 50, Location = 034, Moves = new(242,014,534,400), FlawlessIVCount = 3 }, // Crawdaunt in the town of Turffield #endregion + }; - #region Static Part 2 + private static readonly EncounterStatic8[] Encounter_SWSH_Strong0 = + { // Some of these may be crossover cases. For now, just log the locations they can show up in and re-categorize later. - new(SWSH) { Species = 095, Level = 26, Location = 122, Weather = All }, // Onix in the Rolling Fields - new(SWSH) { Species = 291, Level = 15, Location = 122, Weather = All }, // Ninjask in the Rolling Fields - new(SWSH) { Species = 660, Level = 15, Location = 122, Weather = All }, // Diggersby in the Rolling Fields - new(SWSH) { Species = 832, Level = 65, Location = 122, Weather = All }, // Dubwool in the Rolling Fields - new(SWSH) { Species = 416, Level = 26, Location = 122 }, // Vespiquen in the Rolling Fields - new(SWSH) { Species = 675, Level = 32, Location = 122, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Pangoro in the Rolling Fields - new(SWSH) { Species = 315, Level = 15, Location = 122, Weather = Normal | Overcast | Raining | Intense_Sun | Snowing | Sandstorm | Heavy_Fog }, // Roselia in the Rolling Fields - new(SWSH) { Species = 750, Level = 31, Location = 122, Weather = Normal | Overcast | Intense_Sun | Sandstorm | Heavy_Fog }, // Mudsdale in the Rolling Fields - new(SWSH) { Species = 310, Level = 26, Location = 122, Weather = Thunderstorm }, // Manectric in the Rolling Fields - new(SWSH) { Species = 025, Level = 15, Location = 122, Weather = Thunderstorm }, // Pikachu in the Rolling Fields - new(SWSH) { Species = 660, Level = 26, Location = 122, Weather = Overcast | Intense_Sun | Icy | Sandstorm}, // Diggersby in the Rolling Fields - new(SWSH) { Species = 281, Level = 26, Location = 122, Weather = Heavy_Fog }, // Kirlia in the Rolling Fields - new(SWSH) { Species = 282, Level = 32, Location = 122, Weather = Heavy_Fog }, // Gardevoir in the Rolling Fields - new(SWSH) { Species = 439, Level = 15, Location = 122, Weather = Snowstorm }, // Mime Jr. in the Rolling Fields - new(SWSH) { Species = 221, Level = 33, Location = 122, Weather = Icy }, // Piloswine in the Rolling Fields - new(SWSH) { Species = 221, Level = 33, Location = 122, Weather = Icy }, // Piloswine in the Rolling Fields - new(SWSH) { Species = 558, Level = 34, Location = 122, Weather = Sandstorm }, // Crustle in the Rolling Fields - new(SWSH) { Species = 093, Level = 31, Location = 122, Weather = Stormy }, // Haunter in the Rolling Fields - new(SWSH) { Species = 279, Level = 26, Location = 122, Crossover = new(128, 138), Weather = Stormy }, // Pelipper in the Rolling Fields, North Lake Miloch, East Lake Axewell - new(SWSH) { Species = 760, Level = 34, Location = 124, Weather = All }, // Bewear in the Dappled Grove - new(SWSH) { Species = 826, Level = 65, Location = 124, Weather = All }, // Orbeetle in the Dappled Grove - new(SWSH) { Species = 045, Level = 36, Location = 124, Weather = Normal | Overcast | Heavy_Fog }, // Vileplume in the Dappled Grove + new() { Species = 095, Level = 26, Location = 122, Weather = All }, // Onix in the Rolling Fields + new() { Species = 291, Level = 15, Location = 122, Weather = All }, // Ninjask in the Rolling Fields + new() { Species = 660, Level = 15, Location = 122, Weather = All }, // Diggersby in the Rolling Fields + new() { Species = 832, Level = 65, Location = 122, Weather = All }, // Dubwool in the Rolling Fields + new() { Species = 416, Level = 26, Location = 122 }, // Vespiquen in the Rolling Fields + new() { Species = 675, Level = 32, Location = 122, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Pangoro in the Rolling Fields + new() { Species = 315, Level = 15, Location = 122, Weather = Normal | Overcast | Raining | Intense_Sun | Snowing | Sandstorm | Heavy_Fog }, // Roselia in the Rolling Fields + new() { Species = 750, Level = 31, Location = 122, Weather = Normal | Overcast | Intense_Sun | Sandstorm | Heavy_Fog }, // Mudsdale in the Rolling Fields + new() { Species = 310, Level = 26, Location = 122, Weather = Thunderstorm }, // Manectric in the Rolling Fields + new() { Species = 025, Level = 15, Location = 122, Weather = Thunderstorm }, // Pikachu in the Rolling Fields + new() { Species = 660, Level = 26, Location = 122, Weather = Overcast | Intense_Sun | Icy | Sandstorm}, // Diggersby in the Rolling Fields + new() { Species = 281, Level = 26, Location = 122, Weather = Heavy_Fog }, // Kirlia in the Rolling Fields + new() { Species = 282, Level = 32, Location = 122, Weather = Heavy_Fog }, // Gardevoir in the Rolling Fields + new() { Species = 439, Level = 15, Location = 122, Weather = Snowstorm }, // Mime Jr. in the Rolling Fields + new() { Species = 221, Level = 33, Location = 122, Weather = Icy }, // Piloswine in the Rolling Fields + new() { Species = 221, Level = 33, Location = 122, Weather = Icy }, // Piloswine in the Rolling Fields + new() { Species = 558, Level = 34, Location = 122, Weather = Sandstorm }, // Crustle in the Rolling Fields + new() { Species = 093, Level = 31, Location = 122, Weather = Stormy }, // Haunter in the Rolling Fields + new() { Species = 279, Level = 26, Location = 122, Crossover = new(128, 138), Weather = Stormy }, // Pelipper in the Rolling Fields, North Lake Miloch, East Lake Axewell + new() { Species = 760, Level = 34, Location = 124, Weather = All }, // Bewear in the Dappled Grove + new() { Species = 826, Level = 65, Location = 124, Weather = All }, // Orbeetle in the Dappled Grove + new() { Species = 045, Level = 36, Location = 124, Weather = Normal | Overcast | Heavy_Fog }, // Vileplume in the Dappled Grove new(SW ) { Species = 275, Level = 34, Location = 124, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Shiftry in the Dappled Grove new( SH) { Species = 272, Level = 34, Location = 124, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Ludicolo in the Dappled Grove - new(SWSH) { Species = 675, Level = 32, Location = 124, Weather = Intense_Sun | Icy | Sandstorm }, // Pangoro in the Dappled Grove - new(SWSH) { Species = 537, Level = 36, Location = 124, Weather = Stormy }, // Seismitoad in the Dappled Grove - new(SWSH) { Species = 583, Level = 36, Location = 124, Weather = Icy }, // Vanillish in the Dappled Grove - new(SWSH) { Species = 344, Level = 36, Location = 124, Weather = Intense_Sun | Sandstorm }, // Claydol in the Dappled Grove - new(SWSH) { Species = 426, Level = 34, Location = 126, Weather = Normal | Intense_Sun | Snowing }, // Drifblim at Watchtower Ruins - new(SWSH) { Species = 823, Level = 65, Location = 126, Weather = All }, // Corviknight at Watchtower Ruins - new(SWSH) { Species = 093, Level = 34, Location = 126, Weather = Overcast | Stormy | Snowstorm | Sandstorm | Heavy_Fog }, // Haunter at Watchtower Ruins - new(SWSH) { Species = 356, Level = 40, Location = 126, Crossover = new(130), Weather = Overcast | Stormy | Heavy_Fog }, // Dusclops at Watchtower Ruins, West Lake Axewell - new(SWSH) { Species = 362, Level = 40, Location = 126, Crossover = new(130), Weather = Icy }, // Glalie at Watchtower Ruins, West Lake Axewell - new(SWSH) { Species = 623, Level = 40, Location = 126, Crossover = new(130), Weather = Normal | Intense_Sun | Sandstorm }, // Golurk at Watchtower Ruins, West Lake Axewell - new(SWSH) { Species = 569, Level = 36, Location = 128, Weather = Normal | Overcast | Stormy }, // Garbodor at East Lake Axewell - new(SWSH) { Species = 119, Level = 46, Location = 128, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Seaking at East Lake Axewell - new(SWSH) { Species = 279, Level = 46, Location = 128, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Pelipper at East Lake Axewell - new(SWSH) { Species = 110, Level = 65, Location = 128, Form = 01, Weather = All }, // Weezing at East Lake Axewell - new(SWSH) { Species = 221, Level = 36, Location = 128, Weather = Icy }, // Piloswine at East Lake Axewell - new(SWSH) { Species = 750, Level = 36, Location = 128, Weather = Intense_Sun | Sandstorm }, // Mudsdale at East Lake Axewell - new(SWSH) { Species = 437, Level = 36, Location = 128, Weather = Heavy_Fog }, // Bronzong at East Lake Axewell - new(SWSH) { Species = 091, Level = 46, Location = 128, Crossover = new(130), Weather = Normal | Heavy_Fog }, // Cloyster at East/West Lake Axewell - new(SWSH) { Species = 584, Level = 47, Location = 128, Crossover = new(130, 134, 138, 142), Weather = Icy }, // Vanilluxe at North/East/South/West Lake Miloch/Axewell, Bridge Field - new(SWSH) { Species = 130, Level = 56, Location = 128, Crossover = new(130, 142, 146), Weather = All }, // Gyarados in East/West Lake Axewell, Bridge Field, Dusty Bowl - new(SWSH) { Species = 178, Level = 26, Location = 128, Crossover = new(138), Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Xatu at East Lake Axewell, North Lake Miloch - new(SWSH) { Species = 593, Level = 46, Location = 128, Crossover = new(138, 154), Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Jellicent at East Lake Axewell, North Lake Miloch, Lake of Outrage - new(SWSH) { Species = 171, Level = 46, Location = 128, Crossover = new(154), Weather = Normal | Thunderstorm | Heavy_Fog }, // Lanturn at East Lake Axewell, the Lake of Outrage - new(SWSH) { Species = 195, Level = 15, Location = 130, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Quagsire at West Lake Axewell - new(SWSH) { Species = 099, Level = 28, Location = 130 }, // Kingler at West Lake Axewell - new(SWSH) { Species = 660, Level = 15, Location = 130, Weather = Intense_Sun | Icy | Sandstorm }, // Diggersby at West Lake Axewell - new(SWSH) { Species = 834, Level = 65, Location = 130, Weather = All }, // Drednaw at West Lake Axewell - new(SWSH) { Species = 279, Level = 28, Location = 130, Weather = Stormy }, // Pelipper at West Lake Axewell - new(SWSH) { Species = 536, Level = 28, Location = 130, Weather = Overcast | Icy | Sandstorm | Heavy_Fog }, // Palpitoad at West Lake Axewell - new(SWSH) { Species = 660, Level = 28, Location = 130, Weather = Intense_Sun }, // Diggersby at West Lake Axewell - new(SWSH) { Species = 853, Level = 56, Location = 130, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Grapploct at West Lake Axewell - new(SWSH) { Species = 593, Level = 46, Location = 130, Weather = Overcast | Raining | Heavy_Fog }, // Jellicent at West Lake Axewell - new(SWSH) { Species = 119, Level = 46, Location = 130, Crossover = new(142), Weather = Normal | Overcast | Sandstorm }, // Seaking at West Lake Axewell, Bridge Field - new(SWSH) { Species = 131, Level = 56, Location = 130, Crossover = new(134, 138, 154), Weather = Normal | Stormy | Icy | Heavy_Fog }, // Lapras at North/East/South Lake Miloch/Axewell, the Lake of Outrage - new(SWSH) { Species = 612, Level = 60, Location = 132, Ability = OnlyFirst, Weather = Normal | Overcast | Raining | Intense_Sun | Sandstorm | Heavy_Fog }, // Haxorus on Axew’s Eye - new(SWSH) { Species = 845, Level = 65, Location = 132, Weather = All }, // Cramorant on Axew’s Eye - new(SWSH) { Species = 537, Level = 60, Location = 132, Weather = Thunderstorm }, // Seismitoad on Axew’s Eye - new(SWSH) { Species = 460, Level = 60, Location = 132, Weather = Icy }, // Abomasnow on Axew’s Eye - new(SWSH) { Species = 067, Level = 26, Location = 134, Weather = All }, // Machoke at South Lake Miloch - new(SWSH) { Species = 828, Level = 65, Location = 134, Weather = All }, // Thievul at South Lake Miloch - new(SWSH) { Species = 119, Level = 46, Location = 134, Weather = Normal | Overcast | Stormy | Sandstorm }, // Seaking at South Lake Miloch - new(SWSH) { Species = 435, Level = 34, Location = 134, Weather = Normal | Overcast | Icy | Sandstorm | Heavy_Fog }, // Skuntank at South Lake Miloch - new(SWSH) { Species = 099, Level = 31, Location = 134, Weather = Normal | Thunderstorm }, // Kingler at South Lake Miloch - new(SWSH) { Species = 342, Level = 31, Location = 134, Weather = Normal | Thunderstorm }, // Crawdaunt at South Lake Miloch - new(SWSH) { Species = 171, Level = 46, Location = 134, Weather = Thunderstorm }, // Lanturn at South Lake Miloch - new(SWSH) { Species = 224, Level = 46, Location = 134, Weather = Normal | Intense_Sun | Sandstorm | Heavy_Fog }, // Octillery at South Lake Miloch - new(SWSH) { Species = 340, Level = 46, Location = 134, Weather = Normal | Thunderstorm | Intense_Sun | Sandstorm }, // Whiscash at South Lake Miloch - new(SWSH) { Species = 536, Level = 34, Location = 134, Weather = Stormy }, // Palpitoad at South Lake Miloch - new(SWSH) { Species = 558, Level = 34, Location = 134, Weather = Intense_Sun }, // Crustle at South Lake Miloch - new(SWSH) { Species = 067, Level = 31, Location = 134, Weather = Overcast | Intense_Sun | Icy | Sandstorm }, // Machoke at South Lake Miloch - new(SWSH) { Species = 426, Level = 31, Location = 134, Weather = Heavy_Fog }, // Drifblim at South Lake Miloch - new(SWSH) { Species = 596, Level = 46, Location = 134, Weather = All }, // Galvantula at South Lake Miloch - new(SWSH) { Species = 426, Level = 46, Location = 134, Crossover = new(138), Weather = Normal | Overcast | Snowstorm | Heavy_Fog }, // Drifblim at North/South Lake Miloch - new(SWSH) { Species = 130, Level = 60, Location = 134, Crossover = new(138, 154), Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Gyarados at North/South Lake Miloch, the Lake of Outrage - new(SWSH) { Species = 593, Level = 46, Location = 134, Crossover = new(142), Weather = Raining | Heavy_Fog }, // Jellicent at South Lake Miloch, Bridge Field - new(SWSH) { Species = 350, Level = 60, Location = 134, Crossover = new(154), Gender = 0, Ability = OnlyFirst, Weather = Heavy_Fog }, // Milotic at South Lake Miloch, the Lake of Outrage - new(SWSH) { Species = 208, Level = 50, Location = 136, Weather = All }, // Steelix near the Giant’s Seat - new(SWSH) { Species = 738, Level = 46, Location = 136, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Vikavolt near the Giant’s Seat - new(SWSH) { Species = 112, Level = 46, Location = 136 }, // Rhydon near the Giant’s Seat - new(SWSH) { Species = 625, Level = 52, Location = 136, Weather = All }, // Bisharp near the Giant’s Seat - new(SWSH) { Species = 884, Level = 65, Location = 136, Weather = All }, // Duraludon near the Giant’s Seat - new(SWSH) { Species = 437, Level = 46, Location = 136, Weather = Overcast | Raining }, // Bronzong near the Giant’s Seat - new(SWSH) { Species = 460, Level = 46, Location = 136, Weather = Icy }, // Abomasnow near the Giant’s Seat - new(SWSH) { Species = 750, Level = 46, Location = 136, Weather = Intense_Sun }, // Mudsdale near the Giant’s Seat - new(SWSH) { Species = 623, Level = 46, Location = 136, Weather = Sandstorm }, // Golurk near the Giant’s Seat - new(SWSH) { Species = 356, Level = 46, Location = 136, Weather = Heavy_Fog }, // Dusclops near the Giant’s Seat - new(SWSH) { Species = 518, Level = 46, Location = 136, Weather = Heavy_Fog }, // Musharna near the Giant’s Seat - new(SWSH) { Species = 362, Level = 46, Location = 136, Weather = Icy }, // Glalie near the Giant’s Seat - new(SWSH) { Species = 596, Level = 46, Location = 136, Weather = Raining }, // Galvantula near the Giant’s Seat - new(SWSH) { Species = 823, Level = 50, Location = 138, Weather = All }, // Corviknight at North Lake Miloch - new(SWSH) { Species = 510, Level = 28, Location = 138, Weather = All }, // Liepard at North Lake Miloch - new(SWSH) { Species = 119, Level = 46, Location = 138, Weather = Stormy | Sandstorm }, // Seaking at North Lake Miloch - new(SWSH) { Species = 448, Level = 36, Location = 138 }, // Lucario at North Lake Miloch - new(SWSH) { Species = 340, Level = 46, Location = 138, Weather = Normal | Overcast | Thunderstorm | Intense_Sun | Sandstorm }, // Whiscash at North Lake Miloch - new(SWSH) { Species = 836, Level = 65, Location = 138, Weather = All }, // Boltund at North Lake Miloch - new(SWSH) { Species = 537, Level = 36, Location = 138, Weather = Overcast | Thunderstorm }, // Seismitoad at North Lake Miloch - new(SWSH) { Species = 435, Level = 36, Location = 138, Weather = Raining | Intense_Sun | Sandstorm }, // Skuntank at North Lake Miloch - new(SWSH) { Species = 583, Level = 36, Location = 138, Weather = Icy }, // Vanillish at North Lake Miloch - new(SWSH) { Species = 426, Level = 36, Location = 138, Weather = Heavy_Fog }, // Drifblim at North Lake Miloch - new(SWSH) { Species = 130, Level = 56, Location = 138, Crossover = new(154), Weather = Overcast | Intense_Sun | Sandstorm }, // Gyarados in North Lake Miloch, Lake of Outrage - new(SWSH) { Species = 625, Level = 52, Location = 140, Weather = Snowstorm }, // Bisharp at the Motostoke Riverbank - new(SWSH) { Species = 143, Level = 36, Location = 140, Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Snorlax at the Motostoke Riverbank - new(SWSH) { Species = 452, Level = 40, Location = 140, Weather = Normal | Stormy | Intense_Sun | Sandstorm }, // Drapion at the Motostoke Riverbank - new(SWSH) { Species = 561, Level = 36, Location = 140, Weather = All }, // Sigilyph at the Motostoke Riverbank - new(SWSH) { Species = 534, Level = 55, Location = 140, Ability = OnlyFirst, Weather = Normal | Overcast | Stormy | Snowing | Heavy_Fog }, // Conkeldurr at the Motostoke Riverbank - new(SWSH) { Species = 320, Level = 56, Location = 140, Weather = All }, // Wailmer at the Motostoke Riverbank - new(SWSH) { Species = 561, Level = 40, Location = 140, Weather = Normal | Overcast | Heavy_Fog }, // Sigilyph at the Motostoke Riverbank - new(SWSH) { Species = 830, Level = 65, Location = 140, Weather = All }, // Eldegoss at the Motostoke Riverbank - new(SWSH) { Species = 036, Level = 36, Location = 140, Weather = Heavy_Fog }, // Clefable at the Motostoke Riverbank - new(SWSH) { Species = 743, Level = 40, Location = 140, Weather = Overcast | Icy | Heavy_Fog }, // Ribombee at the Motostoke Riverbank - new(SWSH) { Species = 112, Level = 55, Location = 140, Weather = Intense_Sun | Sandstorm }, // Rhydon at the Motostoke Riverbank - new(SWSH) { Species = 823, Level = 40, Location = 140, Weather = Stormy | Intense_Sun | Icy | Sandstorm }, // Corviknight at the Motostoke Riverbank - new(SWSH) { Species = 760, Level = 40, Location = 140, Crossover = new(142), Weather = Thunderstorm | Sandstorm }, // Bewear in Bridge Field, Motostoke Riverbank - new(SWSH) { Species = 264, Level = 40, Location = 140, Crossover = new(142), Form = 01, Weather = All }, // Linoone at the Motostoke Riverbank, Bridge Field - new(SWSH) { Species = 569, Level = 40, Location = 142, Weather = All }, // Garbodor in Bridge Field - new(SWSH) { Species = 279, Level = 46, Location = 142, Weather = Intense_Sun }, // Pelipper in Bridge Field - new(SWSH) { Species = 743, Level = 40, Location = 142, Weather = Normal | Overcast | Intense_Sun | Heavy_Fog }, // Ribombee in Bridge Field - new(SWSH) { Species = 475, Level = 60, Location = 142, Weather = Normal | Overcast | Stormy | Intense_Sun | Sandstorm }, // Gallade in Bridge Field - new(SWSH) { Species = 606, Level = 42, Location = 142, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Beheeyem in Bridge Field - new(SWSH) { Species = 715, Level = 50, Location = 142, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Noivern in Bridge Field - new(SWSH) { Species = 537, Level = 46, Location = 142, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Seismitoad in Bridge Field - new(SWSH) { Species = 768, Level = 50, Location = 142, Weather = Normal | Stormy }, // Golisopod in Bridge Field - new(SWSH) { Species = 760, Level = 42, Location = 142, Weather = Normal | Stormy | Icy | Sandstorm | Heavy_Fog }, // Bewear in Bridge Field - new(SWSH) { Species = 820, Level = 42, Location = 142, Weather = All }, // Greedent in Bridge Field - new(SWSH) { Species = 862, Level = 65, Location = 142, Weather = All }, // Obstagoon in Bridge Field - new(SWSH) { Species = 537, Level = 36, Location = 142, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Seismitoad in Bridge Field - new(SWSH) { Species = 614, Level = 60, Location = 142, Weather = Snowing }, // Beartic in Bridge Field - new(SWSH) { Species = 461, Level = 60, Location = 142, Weather = Snowstorm }, // Weavile in Bridge Field - new(SWSH) { Species = 518, Level = 60, Location = 142, Weather = Heavy_Fog }, // Musharna in Bridge Field - new(SWSH) { Species = 437, Level = 42, Location = 142, Weather = Stormy }, // Bronzong in Bridge Field - new(SWSH) { Species = 344, Level = 42, Location = 142, Weather = Intense_Sun | Sandstorm }, // Claydol in Bridge Field - new(SWSH) { Species = 452, Level = 50, Location = 142, Weather = Overcast }, // Drapion in Bridge Field - new(SWSH) { Species = 164, Level = 50, Location = 142, Weather = Snowing }, // Noctowl in Bridge Field - new(SWSH) { Species = 760, Level = 46, Location = 142, Weather = Intense_Sun | Sandstorm }, // Bewear in Bridge Field - new(SWSH) { Species = 675, Level = 42, Location = 142, Weather = Overcast | Intense_Sun }, // Pangoro in Bridge Field - new(SWSH) { Species = 584, Level = 50, Location = 142, Weather = Icy }, // Vanilluxe in Bridge Field - new(SWSH) { Species = 112, Level = 50, Location = 142, Weather = Intense_Sun | Sandstorm }, // Rhydon in Bridge Field - new(SWSH) { Species = 778, Level = 50, Location = 142, Weather = Heavy_Fog }, // Mimikyu in Bridge Field - new(SWSH) { Species = 598, Level = 40, Location = 142, Crossover = new(144), Weather = All }, // Ferrothorn in Bridge Field, Stony Wilderness - new(SWSH) { Species = 344, Level = 42, Location = 144, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Claydol in the Stony Wilderness - new(SWSH) { Species = 437, Level = 42, Location = 144, Weather = Stormy | Icy | Heavy_Fog }, // Bronzong in Stony Wilderness - new(SWSH) { Species = 477, Level = 60, Location = 144, Weather = All }, // Dusknoir in the Stony Wilderness - new(SWSH) { Species = 623, Level = 43, Location = 144, Weather = All }, // Golurk in the Stony Wilderness - new(SWSH) { Species = 561, Level = 40, Location = 144, Weather = Normal | Stormy | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Sigilyph in the Stony Wilderness - new(SWSH) { Species = 558, Level = 34, Location = 144, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Crustle in the Stony Wilderness - new(SWSH) { Species = 112, Level = 41, Location = 144, Weather = All }, // Rhydon in the Stony Wilderness - new(SWSH) { Species = 763, Level = 36, Location = 144, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Tsareena in the Stony Wilderness - new(SWSH) { Species = 861, Level = 65, Location = 144, Gender = 0, Weather = All }, // Grimmsnarl in the Stony Wilderness - new(SWSH) { Species = 521, Level = 40, Location = 144, Weather = Overcast }, // Unfezant in the Stony Wilderness - new(SWSH) { Species = 752, Level = 34, Location = 144, Weather = Raining }, // Araquanid in the Stony Wilderness - new(SWSH) { Species = 750, Level = 41, Location = 146, Weather = Normal | Intense_Sun | Sandstorm }, // Mudsdale in Dusty Bowl - new(SWSH) { Species = 185, Level = 41, Location = 146, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Sudowoodo in Dusty Bowl - new(SWSH) { Species = 437, Level = 41, Location = 146, Weather = Normal | Stormy | Icy | Heavy_Fog }, // Bronzong in Dusty Bowl + new() { Species = 675, Level = 32, Location = 124, Weather = Intense_Sun | Icy | Sandstorm }, // Pangoro in the Dappled Grove + new() { Species = 537, Level = 36, Location = 124, Weather = Stormy }, // Seismitoad in the Dappled Grove + new() { Species = 583, Level = 36, Location = 124, Weather = Icy }, // Vanillish in the Dappled Grove + new() { Species = 344, Level = 36, Location = 124, Weather = Intense_Sun | Sandstorm }, // Claydol in the Dappled Grove + new() { Species = 426, Level = 34, Location = 126, Weather = Normal | Intense_Sun | Snowing }, // Drifblim at Watchtower Ruins + new() { Species = 823, Level = 65, Location = 126, Weather = All }, // Corviknight at Watchtower Ruins + new() { Species = 093, Level = 34, Location = 126, Weather = Overcast | Stormy | Snowstorm | Sandstorm | Heavy_Fog }, // Haunter at Watchtower Ruins + new() { Species = 356, Level = 40, Location = 126, Crossover = new(130), Weather = Overcast | Stormy | Heavy_Fog }, // Dusclops at Watchtower Ruins, West Lake Axewell + new() { Species = 362, Level = 40, Location = 126, Crossover = new(130), Weather = Icy }, // Glalie at Watchtower Ruins, West Lake Axewell + new() { Species = 623, Level = 40, Location = 126, Crossover = new(130), Weather = Normal | Intense_Sun | Sandstorm }, // Golurk at Watchtower Ruins, West Lake Axewell + new() { Species = 569, Level = 36, Location = 128, Weather = Normal | Overcast | Stormy }, // Garbodor at East Lake Axewell + new() { Species = 119, Level = 46, Location = 128, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Seaking at East Lake Axewell + new() { Species = 279, Level = 46, Location = 128, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Pelipper at East Lake Axewell + new() { Species = 110, Level = 65, Location = 128, Form = 01, Weather = All }, // Weezing at East Lake Axewell + new() { Species = 221, Level = 36, Location = 128, Weather = Icy }, // Piloswine at East Lake Axewell + new() { Species = 750, Level = 36, Location = 128, Weather = Intense_Sun | Sandstorm }, // Mudsdale at East Lake Axewell + new() { Species = 437, Level = 36, Location = 128, Weather = Heavy_Fog }, // Bronzong at East Lake Axewell + new() { Species = 091, Level = 46, Location = 128, Crossover = new(130), Weather = Normal | Heavy_Fog }, // Cloyster at East/West Lake Axewell + new() { Species = 584, Level = 47, Location = 128, Crossover = new(130, 134, 138, 142), Weather = Icy }, // Vanilluxe at North/East/South/West Lake Miloch/Axewell, Bridge Field + new() { Species = 130, Level = 56, Location = 128, Crossover = new(130, 142, 146), Weather = All }, // Gyarados in East/West Lake Axewell, Bridge Field, Dusty Bowl + new() { Species = 178, Level = 26, Location = 128, Crossover = new(138), Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Xatu at East Lake Axewell, North Lake Miloch + new() { Species = 593, Level = 46, Location = 128, Crossover = new(138, 154), Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Jellicent at East Lake Axewell, North Lake Miloch, Lake of Outrage + new() { Species = 171, Level = 46, Location = 128, Crossover = new(154), Weather = Normal | Thunderstorm | Heavy_Fog }, // Lanturn at East Lake Axewell, the Lake of Outrage + new() { Species = 195, Level = 15, Location = 130, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Quagsire at West Lake Axewell + new() { Species = 099, Level = 28, Location = 130 }, // Kingler at West Lake Axewell + new() { Species = 660, Level = 15, Location = 130, Weather = Intense_Sun | Icy | Sandstorm }, // Diggersby at West Lake Axewell + new() { Species = 834, Level = 65, Location = 130, Weather = All }, // Drednaw at West Lake Axewell + new() { Species = 279, Level = 28, Location = 130, Weather = Stormy }, // Pelipper at West Lake Axewell + new() { Species = 536, Level = 28, Location = 130, Weather = Overcast | Icy | Sandstorm | Heavy_Fog }, // Palpitoad at West Lake Axewell + new() { Species = 660, Level = 28, Location = 130, Weather = Intense_Sun }, // Diggersby at West Lake Axewell + new() { Species = 853, Level = 56, Location = 130, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Grapploct at West Lake Axewell + new() { Species = 593, Level = 46, Location = 130, Weather = Overcast | Raining | Heavy_Fog }, // Jellicent at West Lake Axewell + new() { Species = 119, Level = 46, Location = 130, Crossover = new(142), Weather = Normal | Overcast | Sandstorm }, // Seaking at West Lake Axewell, Bridge Field + new() { Species = 131, Level = 56, Location = 130, Crossover = new(134, 138, 154), Weather = Normal | Stormy | Icy | Heavy_Fog }, // Lapras at North/East/South Lake Miloch/Axewell, the Lake of Outrage + new() { Species = 612, Level = 60, Location = 132, Ability = OnlyFirst, Weather = Normal | Overcast | Raining | Intense_Sun | Sandstorm | Heavy_Fog }, // Haxorus on Axew’s Eye + new() { Species = 845, Level = 65, Location = 132, Weather = All }, // Cramorant on Axew’s Eye + new() { Species = 537, Level = 60, Location = 132, Weather = Thunderstorm }, // Seismitoad on Axew’s Eye + new() { Species = 460, Level = 60, Location = 132, Weather = Icy }, // Abomasnow on Axew’s Eye + new() { Species = 067, Level = 26, Location = 134, Weather = All }, // Machoke at South Lake Miloch + new() { Species = 828, Level = 65, Location = 134, Weather = All }, // Thievul at South Lake Miloch + new() { Species = 119, Level = 46, Location = 134, Weather = Normal | Overcast | Stormy | Sandstorm }, // Seaking at South Lake Miloch + new() { Species = 435, Level = 34, Location = 134, Weather = Normal | Overcast | Icy | Sandstorm | Heavy_Fog }, // Skuntank at South Lake Miloch + new() { Species = 099, Level = 31, Location = 134, Weather = Normal | Thunderstorm }, // Kingler at South Lake Miloch + new() { Species = 342, Level = 31, Location = 134, Weather = Normal | Thunderstorm }, // Crawdaunt at South Lake Miloch + new() { Species = 171, Level = 46, Location = 134, Weather = Thunderstorm }, // Lanturn at South Lake Miloch + new() { Species = 224, Level = 46, Location = 134, Weather = Normal | Intense_Sun | Sandstorm | Heavy_Fog }, // Octillery at South Lake Miloch + new() { Species = 340, Level = 46, Location = 134, Weather = Normal | Thunderstorm | Intense_Sun | Sandstorm }, // Whiscash at South Lake Miloch + new() { Species = 536, Level = 34, Location = 134, Weather = Stormy }, // Palpitoad at South Lake Miloch + new() { Species = 558, Level = 34, Location = 134, Weather = Intense_Sun }, // Crustle at South Lake Miloch + new() { Species = 067, Level = 31, Location = 134, Weather = Overcast | Intense_Sun | Icy | Sandstorm }, // Machoke at South Lake Miloch + new() { Species = 426, Level = 31, Location = 134, Weather = Heavy_Fog }, // Drifblim at South Lake Miloch + new() { Species = 596, Level = 46, Location = 134, Weather = All }, // Galvantula at South Lake Miloch + new() { Species = 426, Level = 46, Location = 134, Crossover = new(138), Weather = Normal | Overcast | Snowstorm | Heavy_Fog }, // Drifblim at North/South Lake Miloch + new() { Species = 130, Level = 60, Location = 134, Crossover = new(138, 154), Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Gyarados at North/South Lake Miloch, the Lake of Outrage + new() { Species = 593, Level = 46, Location = 134, Crossover = new(142), Weather = Raining | Heavy_Fog }, // Jellicent at South Lake Miloch, Bridge Field + new() { Species = 350, Level = 60, Location = 134, Crossover = new(154), Gender = 0, Ability = OnlyFirst, Weather = Heavy_Fog }, // Milotic at South Lake Miloch, the Lake of Outrage + new() { Species = 208, Level = 50, Location = 136, Weather = All }, // Steelix near the Giant’s Seat + new() { Species = 738, Level = 46, Location = 136, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Vikavolt near the Giant’s Seat + new() { Species = 112, Level = 46, Location = 136 }, // Rhydon near the Giant’s Seat + new() { Species = 625, Level = 52, Location = 136, Weather = All }, // Bisharp near the Giant’s Seat + new() { Species = 884, Level = 65, Location = 136, Weather = All }, // Duraludon near the Giant’s Seat + new() { Species = 437, Level = 46, Location = 136, Weather = Overcast | Raining }, // Bronzong near the Giant’s Seat + new() { Species = 460, Level = 46, Location = 136, Weather = Icy }, // Abomasnow near the Giant’s Seat + new() { Species = 750, Level = 46, Location = 136, Weather = Intense_Sun }, // Mudsdale near the Giant’s Seat + new() { Species = 623, Level = 46, Location = 136, Weather = Sandstorm }, // Golurk near the Giant’s Seat + new() { Species = 356, Level = 46, Location = 136, Weather = Heavy_Fog }, // Dusclops near the Giant’s Seat + new() { Species = 518, Level = 46, Location = 136, Weather = Heavy_Fog }, // Musharna near the Giant’s Seat + new() { Species = 362, Level = 46, Location = 136, Weather = Icy }, // Glalie near the Giant’s Seat + new() { Species = 596, Level = 46, Location = 136, Weather = Raining }, // Galvantula near the Giant’s Seat + new() { Species = 823, Level = 50, Location = 138, Weather = All }, // Corviknight at North Lake Miloch + new() { Species = 510, Level = 28, Location = 138, Weather = All }, // Liepard at North Lake Miloch + new() { Species = 119, Level = 46, Location = 138, Weather = Stormy | Sandstorm }, // Seaking at North Lake Miloch + new() { Species = 448, Level = 36, Location = 138 }, // Lucario at North Lake Miloch + new() { Species = 340, Level = 46, Location = 138, Weather = Normal | Overcast | Thunderstorm | Intense_Sun | Sandstorm }, // Whiscash at North Lake Miloch + new() { Species = 836, Level = 65, Location = 138, Weather = All }, // Boltund at North Lake Miloch + new() { Species = 537, Level = 36, Location = 138, Weather = Overcast | Thunderstorm }, // Seismitoad at North Lake Miloch + new() { Species = 435, Level = 36, Location = 138, Weather = Raining | Intense_Sun | Sandstorm }, // Skuntank at North Lake Miloch + new() { Species = 583, Level = 36, Location = 138, Weather = Icy }, // Vanillish at North Lake Miloch + new() { Species = 426, Level = 36, Location = 138, Weather = Heavy_Fog }, // Drifblim at North Lake Miloch + new() { Species = 130, Level = 56, Location = 138, Crossover = new(154), Weather = Overcast | Intense_Sun | Sandstorm }, // Gyarados in North Lake Miloch, Lake of Outrage + new() { Species = 625, Level = 52, Location = 140, Weather = Snowstorm }, // Bisharp at the Motostoke Riverbank + new() { Species = 143, Level = 36, Location = 140, Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Snorlax at the Motostoke Riverbank + new() { Species = 452, Level = 40, Location = 140, Weather = Normal | Stormy | Intense_Sun | Sandstorm }, // Drapion at the Motostoke Riverbank + new() { Species = 561, Level = 36, Location = 140, Weather = All }, // Sigilyph at the Motostoke Riverbank + new() { Species = 534, Level = 55, Location = 140, Ability = OnlyFirst, Weather = Normal | Overcast | Stormy | Snowing | Heavy_Fog }, // Conkeldurr at the Motostoke Riverbank + new() { Species = 320, Level = 56, Location = 140, Weather = All }, // Wailmer at the Motostoke Riverbank + new() { Species = 561, Level = 40, Location = 140, Weather = Normal | Overcast | Heavy_Fog }, // Sigilyph at the Motostoke Riverbank + new() { Species = 830, Level = 65, Location = 140, Weather = All }, // Eldegoss at the Motostoke Riverbank + new() { Species = 036, Level = 36, Location = 140, Weather = Heavy_Fog }, // Clefable at the Motostoke Riverbank + new() { Species = 743, Level = 40, Location = 140, Weather = Overcast | Icy | Heavy_Fog }, // Ribombee at the Motostoke Riverbank + new() { Species = 112, Level = 55, Location = 140, Weather = Intense_Sun | Sandstorm }, // Rhydon at the Motostoke Riverbank + new() { Species = 823, Level = 40, Location = 140, Weather = Stormy | Intense_Sun | Icy | Sandstorm }, // Corviknight at the Motostoke Riverbank + new() { Species = 760, Level = 40, Location = 140, Crossover = new(142), Weather = Thunderstorm | Sandstorm }, // Bewear in Bridge Field, Motostoke Riverbank + new() { Species = 264, Level = 40, Location = 140, Crossover = new(142), Form = 01, Weather = All }, // Linoone at the Motostoke Riverbank, Bridge Field + new() { Species = 569, Level = 40, Location = 142, Weather = All }, // Garbodor in Bridge Field + new() { Species = 279, Level = 46, Location = 142, Weather = Intense_Sun }, // Pelipper in Bridge Field + new() { Species = 743, Level = 40, Location = 142, Weather = Normal | Overcast | Intense_Sun | Heavy_Fog }, // Ribombee in Bridge Field + new() { Species = 475, Level = 60, Location = 142, Weather = Normal | Overcast | Stormy | Intense_Sun | Sandstorm }, // Gallade in Bridge Field + new() { Species = 606, Level = 42, Location = 142, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Beheeyem in Bridge Field + new() { Species = 715, Level = 50, Location = 142, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Noivern in Bridge Field + new() { Species = 537, Level = 46, Location = 142, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Seismitoad in Bridge Field + new() { Species = 768, Level = 50, Location = 142, Weather = Normal | Stormy }, // Golisopod in Bridge Field + new() { Species = 760, Level = 42, Location = 142, Weather = Normal | Stormy | Icy | Sandstorm | Heavy_Fog }, // Bewear in Bridge Field + new() { Species = 820, Level = 42, Location = 142, Weather = All }, // Greedent in Bridge Field + new() { Species = 862, Level = 65, Location = 142, Weather = All }, // Obstagoon in Bridge Field + new() { Species = 537, Level = 36, Location = 142, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Seismitoad in Bridge Field + new() { Species = 614, Level = 60, Location = 142, Weather = Snowing }, // Beartic in Bridge Field + new() { Species = 461, Level = 60, Location = 142, Weather = Snowstorm }, // Weavile in Bridge Field + new() { Species = 518, Level = 60, Location = 142, Weather = Heavy_Fog }, // Musharna in Bridge Field + new() { Species = 437, Level = 42, Location = 142, Weather = Stormy }, // Bronzong in Bridge Field + new() { Species = 344, Level = 42, Location = 142, Weather = Intense_Sun | Sandstorm }, // Claydol in Bridge Field + new() { Species = 452, Level = 50, Location = 142, Weather = Overcast }, // Drapion in Bridge Field + new() { Species = 164, Level = 50, Location = 142, Weather = Snowing }, // Noctowl in Bridge Field + new() { Species = 760, Level = 46, Location = 142, Weather = Intense_Sun | Sandstorm }, // Bewear in Bridge Field + new() { Species = 675, Level = 42, Location = 142, Weather = Overcast | Intense_Sun }, // Pangoro in Bridge Field + new() { Species = 584, Level = 50, Location = 142, Weather = Icy }, // Vanilluxe in Bridge Field + new() { Species = 112, Level = 50, Location = 142, Weather = Intense_Sun | Sandstorm }, // Rhydon in Bridge Field + new() { Species = 778, Level = 50, Location = 142, Weather = Heavy_Fog }, // Mimikyu in Bridge Field + new() { Species = 598, Level = 40, Location = 142, Crossover = new(144), Weather = All }, // Ferrothorn in Bridge Field, Stony Wilderness + new() { Species = 344, Level = 42, Location = 144, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Claydol in the Stony Wilderness + new() { Species = 437, Level = 42, Location = 144, Weather = Stormy | Icy | Heavy_Fog }, // Bronzong in Stony Wilderness + new() { Species = 477, Level = 60, Location = 144, Weather = All }, // Dusknoir in the Stony Wilderness + new() { Species = 623, Level = 43, Location = 144, Weather = All }, // Golurk in the Stony Wilderness + new() { Species = 561, Level = 40, Location = 144, Weather = Normal | Stormy | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Sigilyph in the Stony Wilderness + new() { Species = 558, Level = 34, Location = 144, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Crustle in the Stony Wilderness + new() { Species = 112, Level = 41, Location = 144, Weather = All }, // Rhydon in the Stony Wilderness + new() { Species = 763, Level = 36, Location = 144, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Tsareena in the Stony Wilderness + new() { Species = 861, Level = 65, Location = 144, Gender = 0, Weather = All }, // Grimmsnarl in the Stony Wilderness + new() { Species = 521, Level = 40, Location = 144, Weather = Overcast }, // Unfezant in the Stony Wilderness + new() { Species = 752, Level = 34, Location = 144, Weather = Raining }, // Araquanid in the Stony Wilderness + new() { Species = 750, Level = 41, Location = 146, Weather = Normal | Intense_Sun | Sandstorm }, // Mudsdale in Dusty Bowl + new() { Species = 185, Level = 41, Location = 146, Weather = Normal | Overcast | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Sudowoodo in Dusty Bowl + new() { Species = 437, Level = 41, Location = 146, Weather = Normal | Stormy | Icy | Heavy_Fog }, // Bronzong in Dusty Bowl new(SW ) { Species = 784, Level = 60, Location = 146, Ability = OnlyFirst, Weather = Normal | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Kommo-o in Dusty Bowl new( SH) { Species = 248, Level = 60, Location = 146, Weather = Normal | Intense_Sun | Icy | Sandstorm | Heavy_Fog }, // Tyranitar in Dusty Bowl - new(SWSH) { Species = 213, Level = 34, Location = 146, Weather = All }, // Shuckle in Dusty Bowl - new(SWSH) { Species = 330, Level = 51, Location = 146, Weather = Normal | Sandstorm }, // Flygon in Dusty Bowl - new(SWSH) { Species = 526, Level = 51, Location = 146, Weather = Normal | Intense_Sun }, // Gigalith in Dusty Bowl - new(SWSH) { Species = 844, Level = 65, Location = 146, Weather = All }, // Sandaconda in Dusty Bowl - new(SWSH) { Species = 537, Level = 41, Location = 146, Weather = Stormy }, // Seismitoad in Dusty Bowl - new(SWSH) { Species = 435, Level = 41, Location = 146, Weather = Overcast }, // Skuntank in Dusty Bowl - new(SWSH) { Species = 221, Level = 41, Location = 146, Weather = Icy }, // Piloswine in Dusty Bowl - new(SWSH) { Species = 356, Level = 41, Location = 146, Weather = Heavy_Fog }, // Dusclops in Dusty Bowl - new(SWSH) { Species = 344, Level = 41, Location = 146, Weather = Overcast | Intense_Sun | Sandstorm }, // Claydol in Dusty Bowl - new(SWSH) { Species = 689, Level = 60, Location = 146, Weather = Overcast | Stormy }, // Barbaracle in Dusty Bowl - new(SWSH) { Species = 561, Level = 51, Location = 146, Weather = Overcast | Stormy | Intense_Sun | Icy | Heavy_Fog }, // Sigilyph in Dusty Bowl - new(SWSH) { Species = 623, Level = 51, Location = 146, Weather = Overcast | Stormy | Icy | Sandstorm | Heavy_Fog }, // Golurk in Dusty Bowl - new(SWSH) { Species = 423, Level = 56, Location = 146, Crossover = new(148), Form = 01, Weather = All }, // Gastrodon in Dusty Bowl, Giant’s Mirror - new(SWSH) { Species = 208, Level = 50, Location = 148, Weather = All }, // Steelix around the Giant’s Mirror - new(SWSH) { Species = 068, Level = 60, Location = 148, Ability = OnlyFirst, Weather = All }, // Machamp around the Giant’s Mirror - new(SWSH) { Species = 182, Level = 41, Location = 148, Weather = Normal | Intense_Sun | Heavy_Fog }, // Bellossom around the Giant’s Mirror - new(SWSH) { Species = 521, Level = 41, Location = 148, Weather = Normal | Overcast | Intense_Sun }, // Unfezant around the Giant’s Mirror - new(SWSH) { Species = 045, Level = 41, Location = 148, Weather = Overcast | Stormy | Icy | Sandstorm }, // Vileplume around the Giant’s Mirror - new(SWSH) { Species = 863, Level = 65, Location = 148, Weather = All }, // Perrserker around the Giant’s Mirror - new(SWSH) { Species = 537, Level = 60, Location = 148, Weather = Raining }, // Seismitoad around the Giant’s Mirror - new(SWSH) { Species = 460, Level = 60, Location = 148, Weather = Snowing }, // Abomasnow around the Giant’s Mirror - new(SWSH) { Species = 178, Level = 41, Location = 148, Weather = Raining | Icy | Sandstorm | Heavy_Fog }, // Xatu around the Giant’s Mirror - new(SWSH) { Species = 701, Level = 36, Location = 150, Weather = All }, // Hawlucha on the Hammerlocke Hills - new(SWSH) { Species = 711, Level = 41, Location = 150, Weather = All }, // Gourgeist on the Hammerlocke Hills - new(SWSH) { Species = 879, Level = 65, Location = 150, Weather = All }, // Copperajah on the Hammerlocke Hills - new(SWSH) { Species = 600, Level = 46, Location = 150, Weather = Normal | Overcast | Raining | Snowing }, // Klang on the Hammerlocke Hills - new(SWSH) { Species = 823, Level = 38, Location = 150, Weather = All }, // Corviknight on the Hammerlocke Hills - new(SWSH) { Species = 045, Level = 41, Location = 150, Weather = Overcast | Stormy | Icy | Sandstorm }, // Vileplume on the Hammerlocke Hills - new(SWSH) { Species = 601, Level = 49, Location = 150, Weather = Thunderstorm | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Klinklang on the Hammerlocke Hills - new(SWSH) { Species = 407, Level = 41, Location = 150, Weather = Overcast | Heavy_Fog }, // Roserade on the Hammerlocke Hills - new(SWSH) { Species = 460, Level = 41, Location = 150, Weather = Icy}, // Abomasnow on the Hammerlocke Hills - //new(SWSH) { Species = 510, Level = 31, Location = -1, }, // Liepard - new(SWSH) { Species = 768, Level = 60, Location = 152, Weather = Raining }, // Golisopod near the Giant’s Cap - new(SWSH) { Species = 614, Level = 60, Location = 152, Weather = Snowing }, // Beartic near the Giant’s Cap - new(SWSH) { Species = 530, Level = 46, Location = 152, Weather = Intense_Sun | Sandstorm }, // Excadrill near the Giant’s Cap - new(SWSH) { Species = 362, Level = 46, Location = 152, Weather = Icy }, // Glalie near the Giant’s Cap - new(SWSH) { Species = 537, Level = 46, Location = 152, Weather = Raining }, // Seismitoad near the Giant’s Cap - new(SWSH) { Species = 681, Level = 58, Location = 152, Weather = Heavy_Fog }, // Aegislash near the Giant’s Cap - new(SWSH) { Species = 094, Level = 60, Location = 152, Weather = Normal | Overcast | Thunderstorm | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Gengar near the Giant’s Cap - new(SWSH) { Species = 823, Level = 39, Location = 152, Weather = All }, // Corviknight near the Giant’s Cap - new(SWSH) { Species = 573, Level = 46, Location = 152, Weather = Normal | Overcast | Heavy_Fog }, // Cinccino near the Giant’s Cap - new(SWSH) { Species = 826, Level = 41, Location = 152, Weather = All }, // Orbeetle near the Giant’s Cap - new(SWSH) { Species = 834, Level = 36, Location = 152, Weather = All }, // Drednaw near the Giant’s Cap - new(SWSH) { Species = 680, Level = 56, Location = 152, Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Doublade near the Giant’s Cap - new(SWSH) { Species = 839, Level = 65, Location = 152, Weather = All }, // Coalossal near the Giant’s Cap - new(SWSH) { Species = 853, Level = 56, Location = 154, Weather = All }, // Grapploct at the Lake of Outrage - new(SWSH) { Species = 282, Level = 60, Location = 154, Weather = Normal | Heavy_Fog }, // Gardevoir at the Lake of Outrage - new(SWSH) { Species = 470, Level = 56, Location = 154, Weather = Normal }, // Leafeon at the Lake of Outrage - new(SWSH) { Species = 119, Level = 46, Location = 154, Weather = Overcast | Intense_Sun | Sandstorm }, // Seaking at Lake of Outrage - new(SWSH) { Species = 858, Level = 65, Location = 154, Gender = 1, Weather = All }, // Hatterene at the Lake of Outrage - new(SWSH) { Species = 112, Level = 60, Location = 154, Weather = Sandstorm }, // Rhydon at the Lake of Outrage - new(SWSH) { Species = 609, Level = 60, Location = 154, Weather = Intense_Sun }, // Chandelure at the Lake of Outrage - new(SWSH) { Species = 713, Level = 60, Location = 154, Weather = Icy }, // Avalugg at the Lake of Outrage - new(SWSH) { Species = 756, Level = 60, Location = 154, Weather = Overcast | Stormy }, // Shiinotic at the Lake of Outrage - new(SWSH) { Species = 134, Level = 56, Location = 154, Weather = Raining }, // Vaporeon at the Lake of Outrage - new(SWSH) { Species = 135, Level = 56, Location = 154, Weather = Thunderstorm }, // Jolteon at the Lake of Outrage - new(SWSH) { Species = 196, Level = 56, Location = 154, Weather = Overcast }, // Espeon at the Lake of Outrage - new(SWSH) { Species = 471, Level = 56, Location = 154, Weather = Icy }, // Glaceon at the Lake of Outrage - new(SWSH) { Species = 136, Level = 56, Location = 154, Weather = Intense_Sun }, // Flareon at the Lake of Outrage - new(SWSH) { Species = 197, Level = 56, Location = 154, Weather = Sandstorm }, // Umbreon at the Lake of Outrage - new(SWSH) { Species = 700, Level = 56, Location = 154, Weather = Heavy_Fog }, // Sylveon at the Lake of Outrage - #endregion + new() { Species = 213, Level = 34, Location = 146, Weather = All }, // Shuckle in Dusty Bowl + new() { Species = 330, Level = 51, Location = 146, Weather = Normal | Sandstorm }, // Flygon in Dusty Bowl + new() { Species = 526, Level = 51, Location = 146, Weather = Normal | Intense_Sun }, // Gigalith in Dusty Bowl + new() { Species = 844, Level = 65, Location = 146, Weather = All }, // Sandaconda in Dusty Bowl + new() { Species = 537, Level = 41, Location = 146, Weather = Stormy }, // Seismitoad in Dusty Bowl + new() { Species = 435, Level = 41, Location = 146, Weather = Overcast }, // Skuntank in Dusty Bowl + new() { Species = 221, Level = 41, Location = 146, Weather = Icy }, // Piloswine in Dusty Bowl + new() { Species = 356, Level = 41, Location = 146, Weather = Heavy_Fog }, // Dusclops in Dusty Bowl + new() { Species = 344, Level = 41, Location = 146, Weather = Overcast | Intense_Sun | Sandstorm }, // Claydol in Dusty Bowl + new() { Species = 689, Level = 60, Location = 146, Weather = Overcast | Stormy }, // Barbaracle in Dusty Bowl + new() { Species = 561, Level = 51, Location = 146, Weather = Overcast | Stormy | Intense_Sun | Icy | Heavy_Fog }, // Sigilyph in Dusty Bowl + new() { Species = 623, Level = 51, Location = 146, Weather = Overcast | Stormy | Icy | Sandstorm | Heavy_Fog }, // Golurk in Dusty Bowl + new() { Species = 423, Level = 56, Location = 146, Crossover = new(148), Form = 01, Weather = All }, // Gastrodon in Dusty Bowl, Giant’s Mirror + new() { Species = 208, Level = 50, Location = 148, Weather = All }, // Steelix around the Giant’s Mirror + new() { Species = 068, Level = 60, Location = 148, Ability = OnlyFirst, Weather = All }, // Machamp around the Giant’s Mirror + new() { Species = 182, Level = 41, Location = 148, Weather = Normal | Intense_Sun | Heavy_Fog }, // Bellossom around the Giant’s Mirror + new() { Species = 521, Level = 41, Location = 148, Weather = Normal | Overcast | Intense_Sun }, // Unfezant around the Giant’s Mirror + new() { Species = 045, Level = 41, Location = 148, Weather = Overcast | Stormy | Icy | Sandstorm }, // Vileplume around the Giant’s Mirror + new() { Species = 863, Level = 65, Location = 148, Weather = All }, // Perrserker around the Giant’s Mirror + new() { Species = 537, Level = 60, Location = 148, Weather = Raining }, // Seismitoad around the Giant’s Mirror + new() { Species = 460, Level = 60, Location = 148, Weather = Snowing }, // Abomasnow around the Giant’s Mirror + new() { Species = 178, Level = 41, Location = 148, Weather = Raining | Icy | Sandstorm | Heavy_Fog }, // Xatu around the Giant’s Mirror + new() { Species = 701, Level = 36, Location = 150, Weather = All }, // Hawlucha on the Hammerlocke Hills + new() { Species = 711, Level = 41, Location = 150, Weather = All }, // Gourgeist on the Hammerlocke Hills + new() { Species = 879, Level = 65, Location = 150, Weather = All }, // Copperajah on the Hammerlocke Hills + new() { Species = 600, Level = 46, Location = 150, Weather = Normal | Overcast | Raining | Snowing }, // Klang on the Hammerlocke Hills + new() { Species = 823, Level = 38, Location = 150, Weather = All }, // Corviknight on the Hammerlocke Hills + new() { Species = 045, Level = 41, Location = 150, Weather = Overcast | Stormy | Icy | Sandstorm }, // Vileplume on the Hammerlocke Hills + new() { Species = 601, Level = 49, Location = 150, Weather = Thunderstorm | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Klinklang on the Hammerlocke Hills + new() { Species = 407, Level = 41, Location = 150, Weather = Overcast | Heavy_Fog }, // Roserade on the Hammerlocke Hills + new() { Species = 460, Level = 41, Location = 150, Weather = Icy}, // Abomasnow on the Hammerlocke Hills + //new() { Species = 510, Level = 31, Location = -1, }, // Liepard + new() { Species = 768, Level = 60, Location = 152, Weather = Raining }, // Golisopod near the Giant’s Cap + new() { Species = 614, Level = 60, Location = 152, Weather = Snowing }, // Beartic near the Giant’s Cap + new() { Species = 530, Level = 46, Location = 152, Weather = Intense_Sun | Sandstorm }, // Excadrill near the Giant’s Cap + new() { Species = 362, Level = 46, Location = 152, Weather = Icy }, // Glalie near the Giant’s Cap + new() { Species = 537, Level = 46, Location = 152, Weather = Raining }, // Seismitoad near the Giant’s Cap + new() { Species = 681, Level = 58, Location = 152, Weather = Heavy_Fog }, // Aegislash near the Giant’s Cap + new() { Species = 094, Level = 60, Location = 152, Weather = Normal | Overcast | Thunderstorm | Intense_Sun | Snowstorm | Sandstorm | Heavy_Fog }, // Gengar near the Giant’s Cap + new() { Species = 823, Level = 39, Location = 152, Weather = All }, // Corviknight near the Giant’s Cap + new() { Species = 573, Level = 46, Location = 152, Weather = Normal | Overcast | Heavy_Fog }, // Cinccino near the Giant’s Cap + new() { Species = 826, Level = 41, Location = 152, Weather = All }, // Orbeetle near the Giant’s Cap + new() { Species = 834, Level = 36, Location = 152, Weather = All }, // Drednaw near the Giant’s Cap + new() { Species = 680, Level = 56, Location = 152, Weather = Normal | Overcast | Stormy | Intense_Sun | Icy | Sandstorm }, // Doublade near the Giant’s Cap + new() { Species = 839, Level = 65, Location = 152, Weather = All }, // Coalossal near the Giant’s Cap + new() { Species = 853, Level = 56, Location = 154, Weather = All }, // Grapploct at the Lake of Outrage + new() { Species = 282, Level = 60, Location = 154, Weather = Normal | Heavy_Fog }, // Gardevoir at the Lake of Outrage + new() { Species = 470, Level = 56, Location = 154, Weather = Normal }, // Leafeon at the Lake of Outrage + new() { Species = 119, Level = 46, Location = 154, Weather = Overcast | Intense_Sun | Sandstorm }, // Seaking at Lake of Outrage + new() { Species = 858, Level = 65, Location = 154, Gender = 1, Weather = All }, // Hatterene at the Lake of Outrage + new() { Species = 112, Level = 60, Location = 154, Weather = Sandstorm }, // Rhydon at the Lake of Outrage + new() { Species = 609, Level = 60, Location = 154, Weather = Intense_Sun }, // Chandelure at the Lake of Outrage + new() { Species = 713, Level = 60, Location = 154, Weather = Icy }, // Avalugg at the Lake of Outrage + new() { Species = 756, Level = 60, Location = 154, Weather = Overcast | Stormy }, // Shiinotic at the Lake of Outrage + new() { Species = 134, Level = 56, Location = 154, Weather = Raining }, // Vaporeon at the Lake of Outrage + new() { Species = 135, Level = 56, Location = 154, Weather = Thunderstorm }, // Jolteon at the Lake of Outrage + new() { Species = 196, Level = 56, Location = 154, Weather = Overcast }, // Espeon at the Lake of Outrage + new() { Species = 471, Level = 56, Location = 154, Weather = Icy }, // Glaceon at the Lake of Outrage + new() { Species = 136, Level = 56, Location = 154, Weather = Intense_Sun }, // Flareon at the Lake of Outrage + new() { Species = 197, Level = 56, Location = 154, Weather = Sandstorm }, // Umbreon at the Lake of Outrage + new() { Species = 700, Level = 56, Location = 154, Weather = Heavy_Fog }, // Sylveon at the Lake of Outrage + }; - #region R1 Static Encounters - new(SWSH) { Species = 079, Level = 12, Location = 016, ScriptedNoMarks = true, Form = 01, Shiny = Never }, // Slowpoke-1 at Wedgehurst Station - new(SWSH) { Species = 321, Level = 80, Location = 186, Weather = All_IoA }, // Wailord in the Workout Sea + private static readonly EncounterStatic8[] Encounter_SWSH_Strong1 = + { + new() { Species = 079, Level = 12, Location = 016, ScriptedNoMarks = true, Form = 01, Shiny = Never }, // Slowpoke-1 at Wedgehurst Station + new() { Species = 321, Level = 80, Location = 186, Weather = All_IoA }, // Wailord in the Workout Sea - new(SWSH) { Species = 748, Level = 20, Location = 164, Weather = Normal | Heavy_Fog }, // Toxapex in the Fields of Honor - new(SWSH) { Species = 099, Level = 20, Location = 164, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Kingler in the Fields of Honor - new(SWSH) { Species = 834, Level = 20, Location = 164, Weather = Intense_Sun }, // Drednaw in the Fields of Honor - new(SWSH) { Species = 764, Level = 15, Location = 164 }, // Comfey in the Fields of Honor - new(SWSH) { Species = 744, Level = 15, Location = 164, Weather = Normal | Intense_Sun }, // Rockruff in the Fields of Honor - new(SWSH) { Species = 121, Level = 20, Location = 164, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Starmie in the Fields of Honor - new(SWSH) { Species = 428, Level = 22, Location = 164, Weather = Normal | Intense_Sun }, // Lopunny in the Fields of Honor - new(SWSH) { Species = 687, Level = 26, Location = 164, Crossover = new(166), Weather = Overcast | Raining }, // Malamar in the Fields of Honor, Soothing Wetlands - new(SWSH) { Species = 404, Level = 20, Location = 164, Crossover = new(166), Weather = Thunderstorm }, // Luxio in the Fields of Honor, Soothing Wetlands - new(SWSH) { Species = 570, Level = 15, Location = 164, Crossover = new(166), Weather = Overcast | Heavy_Fog }, // Zorua in the Fields of Honor, Soothing Wetlands - new(SWSH) { Species = 040, Level = 27, Location = 164, Crossover = new(166), Weather = Heavy_Fog }, // Wigglytuff in the Fields of Honor, Soothing Wetlands - new(SWSH) { Species = 183, Level = 15, Location = 164, Crossover = new(166), Weather = Raining }, // Marill in the Fields of Honor, Soothing Wetlands - new(SWSH) { Species = 662, Level = 20, Location = 164, Crossover = new(166), Weather = Intense_Sun }, // Fletchinder in the Fields of Honor, in the Soothing Wetlands - new(SWSH) { Species = 064, Level = 20, Location = 164, Crossover = new(166), Weather = Heavy_Fog }, // Kadabra in the Fields of Honor, in the Soothing Wetlands - new(SWSH) { Species = 025, Level = 15, Location = 164, Crossover = new(166), Weather = Thunderstorm }, // Pikachu in the Fields of Honor, in the Soothing Wetlands - new(SWSH) { Species = 834, Level = 20, Location = 166, Weather = Normal | Overcast | Sandstorm | Intense_Sun }, // Drednaw in the Soothing Wetlands - new(SWSH) { Species = 764, Level = 15, Location = 166, Weather = Normal | Intense_Sun | Heavy_Fog }, // Comfey in the Soothing Wetlands - new(SWSH) { Species = 744, Level = 15, Location = 166 }, // Rockruff in the Soothing Wetlands - new(SWSH) { Species = 195, Level = 20, Location = 166, Weather = Normal | Overcast | Raining | Intense_Sun | Heavy_Fog }, // Quagsire in the Soothing Wetlands - new(SWSH) { Species = 626, Level = 20, Location = 166, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Bouffalant in the Soothing Wetlands - new(SWSH) { Species = 242, Level = 22, Location = 166, Weather = Heavy_Fog }, // Blissey in the Soothing Wetlands - new(SWSH) { Species = 452, Level = 22, Location = 166, Weather = Normal | Overcast | Raining }, // Drapion in the Soothing Wetlands - new(SWSH) { Species = 463, Level = 27, Location = 166, Weather = Normal | Raining }, // Lickilicky in the Soothing Wetlands - new(SWSH) { Species = 405, Level = 32, Location = 166, Weather = Thunderstorm }, // Luxray in the Soothing Wetlands - new(SWSH) { Species = 428, Level = 22, Location = 166 }, // Lopunny in the Soothing Wetlands - new(SWSH) { Species = 186, Level = 32, Location = 166, Weather = Stormy }, // Politoed in the Soothing Wetlands - new(SWSH) { Species = 061, Level = 20, Location = 166, Weather = Stormy | Heavy_Fog }, // Poliwhirl in the Soothing Wetlands - new(SWSH) { Species = 549, Level = 22, Location = 166, Weather = Intense_Sun }, // Lilligant in the Soothing Wetlands + new() { Species = 748, Level = 20, Location = 164, Weather = Normal | Heavy_Fog }, // Toxapex in the Fields of Honor + new() { Species = 099, Level = 20, Location = 164, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Kingler in the Fields of Honor + new() { Species = 834, Level = 20, Location = 164, Weather = Intense_Sun }, // Drednaw in the Fields of Honor + new() { Species = 764, Level = 15, Location = 164 }, // Comfey in the Fields of Honor + new() { Species = 744, Level = 15, Location = 164, Weather = Normal | Intense_Sun }, // Rockruff in the Fields of Honor + new() { Species = 121, Level = 20, Location = 164, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Starmie in the Fields of Honor + new() { Species = 428, Level = 22, Location = 164, Weather = Normal | Intense_Sun }, // Lopunny in the Fields of Honor + new() { Species = 687, Level = 26, Location = 164, Crossover = new(166), Weather = Overcast | Raining }, // Malamar in the Fields of Honor, Soothing Wetlands + new() { Species = 404, Level = 20, Location = 164, Crossover = new(166), Weather = Thunderstorm }, // Luxio in the Fields of Honor, Soothing Wetlands + new() { Species = 570, Level = 15, Location = 164, Crossover = new(166), Weather = Overcast | Heavy_Fog }, // Zorua in the Fields of Honor, Soothing Wetlands + new() { Species = 040, Level = 27, Location = 164, Crossover = new(166), Weather = Heavy_Fog }, // Wigglytuff in the Fields of Honor, Soothing Wetlands + new() { Species = 183, Level = 15, Location = 164, Crossover = new(166), Weather = Raining }, // Marill in the Fields of Honor, Soothing Wetlands + new() { Species = 662, Level = 20, Location = 164, Crossover = new(166), Weather = Intense_Sun }, // Fletchinder in the Fields of Honor, in the Soothing Wetlands + new() { Species = 064, Level = 20, Location = 164, Crossover = new(166), Weather = Heavy_Fog }, // Kadabra in the Fields of Honor, in the Soothing Wetlands + new() { Species = 025, Level = 15, Location = 164, Crossover = new(166), Weather = Thunderstorm }, // Pikachu in the Fields of Honor, in the Soothing Wetlands + new() { Species = 834, Level = 20, Location = 166, Weather = Normal | Overcast | Sandstorm | Intense_Sun }, // Drednaw in the Soothing Wetlands + new() { Species = 764, Level = 15, Location = 166, Weather = Normal | Intense_Sun | Heavy_Fog }, // Comfey in the Soothing Wetlands + new() { Species = 744, Level = 15, Location = 166 }, // Rockruff in the Soothing Wetlands + new() { Species = 195, Level = 20, Location = 166, Weather = Normal | Overcast | Raining | Intense_Sun | Heavy_Fog }, // Quagsire in the Soothing Wetlands + new() { Species = 626, Level = 20, Location = 166, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Bouffalant in the Soothing Wetlands + new() { Species = 242, Level = 22, Location = 166, Weather = Heavy_Fog }, // Blissey in the Soothing Wetlands + new() { Species = 452, Level = 22, Location = 166, Weather = Normal | Overcast | Raining }, // Drapion in the Soothing Wetlands + new() { Species = 463, Level = 27, Location = 166, Weather = Normal | Raining }, // Lickilicky in the Soothing Wetlands + new() { Species = 405, Level = 32, Location = 166, Weather = Thunderstorm }, // Luxray in the Soothing Wetlands + new() { Species = 428, Level = 22, Location = 166 }, // Lopunny in the Soothing Wetlands + new() { Species = 186, Level = 32, Location = 166, Weather = Stormy }, // Politoed in the Soothing Wetlands + new() { Species = 061, Level = 20, Location = 166, Weather = Stormy | Heavy_Fog }, // Poliwhirl in the Soothing Wetlands + new() { Species = 549, Level = 22, Location = 166, Weather = Intense_Sun }, // Lilligant in the Soothing Wetlands new(SW ) { Species = 559, Level = 20, Location = 166, Weather = Overcast }, // Scraggy in the Soothing Wetlands new( SH) { Species = 453, Level = 20, Location = 166, Weather = Overcast }, // Croagunk in the Soothing Wetlands - new(SWSH) { Species = 663, Level = 32, Location = 166, Weather = Intense_Sun }, // Talonflame in the Soothing Wetlands - new(SWSH) { Species = 026, Level = 26, Location = 166, Crossover = new(168), Weather = Thunderstorm }, // Raichu in the Soothing Wetlands, in the Forest of Focus - new(SWSH) { Species = 184, Level = 21, Location = 166, Crossover = new(168), Weather = Heavy_Fog }, // Azumarill in the Soothing Wetlands, in the Forest of Focus - new(SWSH) { Species = 587, Level = 20, Location = 166, Crossover = new(168), Weather = All_IoA }, // Emolga in the Soothing Wetlands (c), Forest of Focus - new(SWSH) { Species = 847, Level = 42, Location = 166, Crossover = new(170), Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Barraskewda in the Soothing Wetlands, Challenge Beach - //new(SWSH) { Species = 834, Level = 21, Location = -1 }, // Drednaw - //new(SWSH) { Species = 768, Level = 26, Location = -1 }, // Golisopod - new(SWSH) { Species = 025, Level = 22, Location = 168, Weather = Normal | Overcast | Stormy }, // Pikachu in the Forest of Focus + new() { Species = 663, Level = 32, Location = 166, Weather = Intense_Sun }, // Talonflame in the Soothing Wetlands + new() { Species = 026, Level = 26, Location = 166, Crossover = new(168), Weather = Thunderstorm }, // Raichu in the Soothing Wetlands, in the Forest of Focus + new() { Species = 184, Level = 21, Location = 166, Crossover = new(168), Weather = Heavy_Fog }, // Azumarill in the Soothing Wetlands, in the Forest of Focus + new() { Species = 587, Level = 20, Location = 166, Crossover = new(168), Weather = All_IoA }, // Emolga in the Soothing Wetlands (c), Forest of Focus + new() { Species = 847, Level = 42, Location = 166, Crossover = new(170), Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Barraskewda in the Soothing Wetlands, Challenge Beach + //new() { Species = 834, Level = 21, Location = -1 }, // Drednaw + //new() { Species = 768, Level = 26, Location = -1 }, // Golisopod + new() { Species = 025, Level = 22, Location = 168, Weather = Normal | Overcast | Stormy }, // Pikachu in the Forest of Focus new(SW ) { Species = 766, Level = 26, Location = 168 }, // Passimian in the Forest of Focus new( SH) { Species = 765, Level = 26, Location = 168 }, // Oranguru in the Forest of Focus - new(SWSH) { Species = 342, Level = 26, Location = 168, Weather = Overcast | Stormy }, // Crawdaunt in the Forest of Focus - new(SWSH) { Species = 040, Level = 26, Location = 168, Weather = Heavy_Fog }, // Wigglytuff in the Forest of Focus - new(SWSH) { Species = 028, Level = 26, Location = 168, Weather = Sandstorm }, // Sandslash in the Forest of Focus - new(SWSH) { Species = 589, Level = 32, Location = 168, Weather = Sandstorm }, // Escavalier in the Forest of Focus - new(SWSH) { Species = 104, Level = 20, Location = 168, Weather = Sandstorm }, // Cubone in the Forest of Focus - new(SWSH) { Species = 545, Level = 32, Location = 168, Weather = Overcast }, // Scolipede in the Forest of Focus + new() { Species = 342, Level = 26, Location = 168, Weather = Overcast | Stormy }, // Crawdaunt in the Forest of Focus + new() { Species = 040, Level = 26, Location = 168, Weather = Heavy_Fog }, // Wigglytuff in the Forest of Focus + new() { Species = 028, Level = 26, Location = 168, Weather = Sandstorm }, // Sandslash in the Forest of Focus + new() { Species = 589, Level = 32, Location = 168, Weather = Sandstorm }, // Escavalier in the Forest of Focus + new() { Species = 104, Level = 20, Location = 168, Weather = Sandstorm }, // Cubone in the Forest of Focus + new() { Species = 545, Level = 32, Location = 168, Weather = Overcast }, // Scolipede in the Forest of Focus new(SW ) { Species = 127, Level = 26, Location = 168, Weather = Intense_Sun }, // Pinsir in the Forest of Focus new( SH) { Species = 214, Level = 26, Location = 168, Weather = Intense_Sun }, // Heracross in the Forest of Focus - new(SWSH) { Species = 636, Level = 15, Location = 168, Weather = Intense_Sun }, // Larvesta in the Forest of Focus - new(SWSH) { Species = 465, Level = 36, Location = 168, Weather = Intense_Sun }, // Tangrowth in the Forest of Focus + new() { Species = 636, Level = 15, Location = 168, Weather = Intense_Sun }, // Larvesta in the Forest of Focus + new() { Species = 465, Level = 36, Location = 168, Weather = Intense_Sun }, // Tangrowth in the Forest of Focus new(SW ) { Species = 616, Level = 20, Location = 168, Weather = Stormy }, // Shelmet in the Forest of Focus new( SH) { Species = 704, Level = 20, Location = 168, Weather = Stormy }, // Goomy in the Forest of Focus - new(SWSH) { Species = 172, Level = 20, Location = 168, Weather = Thunderstorm }, // Pichu in the Forest of Focus - new(SWSH) { Species = 845, Level = 20, Location = 168, Weather = Normal | Raining | Intense_Sun | Heavy_Fog }, // Cramorant in the Forest of Focus - new(SWSH) { Species = 617, Level = 32, Location = 168, Weather = Raining }, // Accelgor in the Forest of Focus - new(SWSH) { Species = 055, Level = 26, Location = 168, Weather = Raining }, // Golduck in the Forest of Focus - new(SWSH) { Species = 591, Level = 26, Location = 168, Weather = Normal | Overcast | Raining | Intense_Sun }, // Amoonguss in the Forest of Focus - new(SWSH) { Species = 764, Level = 22, Location = 168, Weather = Intense_Sun | Heavy_Fog }, // Comfey in the Forest of Focus - new(SWSH) { Species = 570, Level = 22, Location = 168, Weather = Heavy_Fog }, // Zorua in the Forest of Focus - new(SWSH) { Species = 039, Level = 20, Location = 168, Weather = Heavy_Fog }, // Jigglypuff in the Forest of Focus - new(SWSH) { Species = 847, Level = 42, Location = 168, Weather = Stormy | Heavy_Fog }, // Barraskewda in the Forest of Focus - new(SWSH) { Species = 340, Level = 42, Location = 168, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Whiscash in the Forest of Focus - new(SWSH) { Species = 754, Level = 27, Location = 168, Crossover = new(170), Weather = Intense_Sun }, // Lurantis in the Forest of Focus, on Challenge Beach - new(SWSH) { Species = 282, Level = 36, Location = 168, Crossover = new(180), Weather = Heavy_Fog }, // Gardevoir in the Forest of Focus, Training Lowlands - //new(SWSH) { Species = 475, Level = 20, Location = -1 }, // Gallade - //new(SWSH) { Species = 625, Level = 20, Location = -1 }, // Bisharp - //new(SWSH) { Species = 082, Level = 27, Location = -1 }, // Magneton - //new(SWSH) { Species = 105, Level = 20, Location = -1 }, // Marowak - new(SWSH) { Species = 183, Level = 15, Location = 170 }, // Marill on Challenge Beach - new(SWSH) { Species = 462, Level = 36, Location = 170, Weather = Thunderstorm }, // Magnezone on Challenge Beach - new(SWSH) { Species = 026, Level = 29, Location = 170, Weather = Thunderstorm }, // Raichu on Challenge Beach - new(SWSH) { Species = 637, Level = 42, Location = 170, Weather = Intense_Sun }, // Volcarona on Challenge Beach - new(SWSH) { Species = 687, Level = 29, Location = 170, Weather = Overcast | Raining }, // Malamar on Challenge Beach - new(SWSH) { Species = 428, Level = 27, Location = 170, Weather = Normal | Sandstorm | Heavy_Fog }, // Lopunny on Challenge Beach - new(SWSH) { Species = 452, Level = 27, Location = 170, Weather = Overcast | Raining }, // Drapion on Challenge Beach - //new(SWSH) { Species = 558, Level = 20, Location = -1 }, // Crustle - new(SWSH) { Species = 764, Level = 25, Location = 170, Weather = Normal | Intense_Sun | Heavy_Fog }, // Comfey on Challenge Beach - new(SWSH) { Species = 877, Level = 25, Location = 170, Weather = Normal | Overcast | Stormy }, // Morpeko on Challenge Beach - new(SWSH) { Species = 834, Level = 26, Location = 170, Weather = Normal | Overcast | Thunderstorm | Intense_Sun }, // Drednaw on Challenge Beach - new(SWSH) { Species = 040, Level = 29, Location = 170, Weather = Heavy_Fog }, // Wigglytuff on Challenge Beach - new(SWSH) { Species = 528, Level = 27, Location = 170, Weather = Overcast }, // Swoobat on Challenge Beach - new(SWSH) { Species = 279, Level = 26, Location = 170, Weather = All_IoA }, // Pelipper on Challenge Beach - new(SWSH) { Species = 082, Level = 26, Location = 170, Weather = Thunderstorm }, // Magneton on Challenge Beach - new(SWSH) { Species = 426, Level = 26, Location = 170, Weather = Overcast | Heavy_Fog }, // Drifblim on Challenge Beach - new(SWSH) { Species = 768, Level = 36, Location = 170, Weather = Raining }, // Golisopod on Challenge Beach - new(SWSH) { Species = 662, Level = 26, Location = 170, Weather = Intense_Sun }, // Fletchinder on Challenge Beach - new(SWSH) { Species = 342, Level = 27, Location = 170, Weather = Overcast | Raining }, // Crawdaunt on Challenge Beach - new(SWSH) { Species = 184, Level = 27, Location = 170, Weather = Heavy_Fog }, // Azumarill on Challenge Beach - new(SWSH) { Species = 549, Level = 26, Location = 170, Weather = Intense_Sun }, // Lilligant on Challenge Beach - new(SWSH) { Species = 845, Level = 24, Location = 170, Weather = Normal | Overcast | Raining | Intense_Sun | Heavy_Fog }, // Cramorant on Challenge Beach - new(SWSH) { Species = 055, Level = 27, Location = 170, Ability = OnlySecond, Weather = Thunderstorm | Intense_Sun }, // Golduck on Challenge Beach - new(SWSH) { Species = 702, Level = 25, Location = 170, Weather = Normal | Stormy }, // Dedenne on Challenge Beach - //new(SWSH) { Species = 113, Level = 27, Location = -1 }, // Chansey - new(SWSH) { Species = 405, Level = 36, Location = 170, Weather = Thunderstorm }, // Luxray on Challenge Beach - new(SWSH) { Species = 099, Level = 26, Location = 170, Weather = Normal | Raining | Sandstorm | Intense_Sun }, // Kingler on Challenge Beach - new(SWSH) { Species = 121, Level = 26, Location = 170, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Starmie on Challenge Beach - new(SWSH) { Species = 748, Level = 26, Location = 170, Weather = Overcast | Stormy | Heavy_Fog }, // Toxapex on Challenge Beach - new(SWSH) { Species = 224, Level = 45, Location = 170, Weather = Normal | Intense_Sun }, // Octillery on Challenge Beach - new(SWSH) { Species = 171, Level = 42, Location = 170, Weather = Thunderstorm | Heavy_Fog }, // Lanturn on Challenge Beach - new(SWSH) { Species = 593, Level = 42, Location = 170, Weather = Overcast | Raining | Heavy_Fog }, // Jellicent on Challenge Beach - new(SWSH) { Species = 342, Level = 42, Location = 170, Crossover = new(180), Weather = Overcast }, // Crawdaunt on Challenge Beach, Training Lowlands - new(SWSH) { Species = 091, Level = 42, Location = 170, Weather = Raining | Heavy_Fog }, // Cloyster on Challenge Beach - new(SWSH) { Species = 130, Level = 50, Location = 170, Weather = Normal | Raining | Intense_Sun }, // Gyarados on Challenge Beach - new(SWSH) { Species = 130, Level = 50, Location = 178, Weather = Normal | Stormy | Intense_Sun }, // Gyarados in Loop Lagoon - new(SWSH) { Species = 062, Level = 36, Location = 172 }, // Poliwrath in Brawlers’ Cave - new(SWSH) { Species = 294, Level = 26, Location = 172 }, // Loudred in Brawlers’ Cave - new(SWSH) { Species = 528, Level = 26, Location = 172 }, // Swoobat in Brawlers’ Cave - new(SWSH) { Species = 621, Level = 36, Location = 172 }, // Druddigon in Brawlers’ Cave - new(SWSH) { Species = 055, Level = 26, Location = 172 }, // Golduck in Brawlers’ Cave - new(SWSH) { Species = 526, Level = 42, Location = 172 }, // Gigalith in Brawlers’ Cave + new() { Species = 172, Level = 20, Location = 168, Weather = Thunderstorm }, // Pichu in the Forest of Focus + new() { Species = 845, Level = 20, Location = 168, Weather = Normal | Raining | Intense_Sun | Heavy_Fog }, // Cramorant in the Forest of Focus + new() { Species = 617, Level = 32, Location = 168, Weather = Raining }, // Accelgor in the Forest of Focus + new() { Species = 055, Level = 26, Location = 168, Weather = Raining }, // Golduck in the Forest of Focus + new() { Species = 591, Level = 26, Location = 168, Weather = Normal | Overcast | Raining | Intense_Sun }, // Amoonguss in the Forest of Focus + new() { Species = 764, Level = 22, Location = 168, Weather = Intense_Sun | Heavy_Fog }, // Comfey in the Forest of Focus + new() { Species = 570, Level = 22, Location = 168, Weather = Heavy_Fog }, // Zorua in the Forest of Focus + new() { Species = 039, Level = 20, Location = 168, Weather = Heavy_Fog }, // Jigglypuff in the Forest of Focus + new() { Species = 847, Level = 42, Location = 168, Weather = Stormy | Heavy_Fog }, // Barraskewda in the Forest of Focus + new() { Species = 340, Level = 42, Location = 168, Weather = Normal | Overcast | Intense_Sun | Sandstorm }, // Whiscash in the Forest of Focus + new() { Species = 754, Level = 27, Location = 168, Crossover = new(170), Weather = Intense_Sun }, // Lurantis in the Forest of Focus, on Challenge Beach + new() { Species = 282, Level = 36, Location = 168, Crossover = new(180), Weather = Heavy_Fog }, // Gardevoir in the Forest of Focus, Training Lowlands + //new() { Species = 475, Level = 20, Location = -1 }, // Gallade + //new() { Species = 625, Level = 20, Location = -1 }, // Bisharp + //new() { Species = 082, Level = 27, Location = -1 }, // Magneton + //new() { Species = 105, Level = 20, Location = -1 }, // Marowak + new() { Species = 183, Level = 15, Location = 170 }, // Marill on Challenge Beach + new() { Species = 462, Level = 36, Location = 170, Weather = Thunderstorm }, // Magnezone on Challenge Beach + new() { Species = 026, Level = 29, Location = 170, Weather = Thunderstorm }, // Raichu on Challenge Beach + new() { Species = 637, Level = 42, Location = 170, Weather = Intense_Sun }, // Volcarona on Challenge Beach + new() { Species = 687, Level = 29, Location = 170, Weather = Overcast | Raining }, // Malamar on Challenge Beach + new() { Species = 428, Level = 27, Location = 170, Weather = Normal | Sandstorm | Heavy_Fog }, // Lopunny on Challenge Beach + new() { Species = 452, Level = 27, Location = 170, Weather = Overcast | Raining }, // Drapion on Challenge Beach + //new() { Species = 558, Level = 20, Location = -1 }, // Crustle + new() { Species = 764, Level = 25, Location = 170, Weather = Normal | Intense_Sun | Heavy_Fog }, // Comfey on Challenge Beach + new() { Species = 877, Level = 25, Location = 170, Weather = Normal | Overcast | Stormy }, // Morpeko on Challenge Beach + new() { Species = 834, Level = 26, Location = 170, Weather = Normal | Overcast | Thunderstorm | Intense_Sun }, // Drednaw on Challenge Beach + new() { Species = 040, Level = 29, Location = 170, Weather = Heavy_Fog }, // Wigglytuff on Challenge Beach + new() { Species = 528, Level = 27, Location = 170, Weather = Overcast }, // Swoobat on Challenge Beach + new() { Species = 279, Level = 26, Location = 170, Weather = All_IoA }, // Pelipper on Challenge Beach + new() { Species = 082, Level = 26, Location = 170, Weather = Thunderstorm }, // Magneton on Challenge Beach + new() { Species = 426, Level = 26, Location = 170, Weather = Overcast | Heavy_Fog }, // Drifblim on Challenge Beach + new() { Species = 768, Level = 36, Location = 170, Weather = Raining }, // Golisopod on Challenge Beach + new() { Species = 662, Level = 26, Location = 170, Weather = Intense_Sun }, // Fletchinder on Challenge Beach + new() { Species = 342, Level = 27, Location = 170, Weather = Overcast | Raining }, // Crawdaunt on Challenge Beach + new() { Species = 184, Level = 27, Location = 170, Weather = Heavy_Fog }, // Azumarill on Challenge Beach + new() { Species = 549, Level = 26, Location = 170, Weather = Intense_Sun }, // Lilligant on Challenge Beach + new() { Species = 845, Level = 24, Location = 170, Weather = Normal | Overcast | Raining | Intense_Sun | Heavy_Fog }, // Cramorant on Challenge Beach + new() { Species = 055, Level = 27, Location = 170, Ability = OnlySecond, Weather = Thunderstorm | Intense_Sun }, // Golduck on Challenge Beach + new() { Species = 702, Level = 25, Location = 170, Weather = Normal | Stormy }, // Dedenne on Challenge Beach + //new() { Species = 113, Level = 27, Location = -1 }, // Chansey + new() { Species = 405, Level = 36, Location = 170, Weather = Thunderstorm }, // Luxray on Challenge Beach + new() { Species = 099, Level = 26, Location = 170, Weather = Normal | Raining | Sandstorm | Intense_Sun }, // Kingler on Challenge Beach + new() { Species = 121, Level = 26, Location = 170, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Starmie on Challenge Beach + new() { Species = 748, Level = 26, Location = 170, Weather = Overcast | Stormy | Heavy_Fog }, // Toxapex on Challenge Beach + new() { Species = 224, Level = 45, Location = 170, Weather = Normal | Intense_Sun }, // Octillery on Challenge Beach + new() { Species = 171, Level = 42, Location = 170, Weather = Thunderstorm | Heavy_Fog }, // Lanturn on Challenge Beach + new() { Species = 593, Level = 42, Location = 170, Weather = Overcast | Raining | Heavy_Fog }, // Jellicent on Challenge Beach + new() { Species = 342, Level = 42, Location = 170, Crossover = new(180), Weather = Overcast }, // Crawdaunt on Challenge Beach, Training Lowlands + new() { Species = 091, Level = 42, Location = 170, Weather = Raining | Heavy_Fog }, // Cloyster on Challenge Beach + new() { Species = 130, Level = 50, Location = 170, Weather = Normal | Raining | Intense_Sun }, // Gyarados on Challenge Beach + new() { Species = 130, Level = 50, Location = 178, Weather = Normal | Stormy | Intense_Sun }, // Gyarados in Loop Lagoon + new() { Species = 062, Level = 36, Location = 172 }, // Poliwrath in Brawlers’ Cave + new() { Species = 294, Level = 26, Location = 172 }, // Loudred in Brawlers’ Cave + new() { Species = 528, Level = 26, Location = 172 }, // Swoobat in Brawlers’ Cave + new() { Species = 621, Level = 36, Location = 172 }, // Druddigon in Brawlers’ Cave + new() { Species = 055, Level = 26, Location = 172 }, // Golduck in Brawlers’ Cave + new() { Species = 526, Level = 42, Location = 172 }, // Gigalith in Brawlers’ Cave new(SW ) { Species = 744, Level = 22, Location = 172, Crossover = new(174), Weather = Normal | Overcast }, // Rockruff on Challenge Road, Brawlers' Cave (c) new( SH) { Species = 744, Level = 22, Location = 172, Crossover = new(174), Weather = Normal | Overcast | Intense_Sun | Heavy_Fog }, // Rockruff on Challenge Road, Brawlers' Cave (c) new(SW ) { Species = 560, Level = 26, Location = 172, Crossover = new(174, 180), Weather = Stormy }, // Scrafty on Challenge Road, Brawlers’ Cave (c), Training Lowlands new( SH) { Species = 454, Level = 26, Location = 172, Crossover = new(174, 180), Weather = Stormy }, // Toxicroak on Challenge Road, Brawlers’ Cave (c), Training Lowlands - new(SWSH) { Species = 558, Level = 26, Location = 172, Crossover = new(174, 180), Weather = Sandstorm }, // Crustle on Challenge Road, Brawlers’ Cave (c), Training Lowlands - new(SWSH) { Species = 340, Level = 42, Location = 172, Crossover = new(176) }, // Whiscash in Courageous Cavern, Brawlers' Cave - new(SWSH) { Species = 620, Level = 28, Location = 174 }, // Mienshao on Challenge Road - new(SWSH) { Species = 625, Level = 36, Location = 174, Weather = Overcast }, // Bisharp on Challenge Road - new(SWSH) { Species = 758, Level = 28, Location = 174, Gender = 1, Weather = Intense_Sun }, // Salazzle on Challenge Road - new(SWSH) { Species = 475, Level = 32, Location = 174, Weather = Heavy_Fog }, // Gallade on Challenge Road - new(SWSH) { Species = 745, Level = 32, Location = 174 }, // Lycanroc on Challenge Road - new(SWSH) { Species = 745, Level = 32, Location = 174, Form = 01, Weather = Overcast }, // Lycanroc-1 on Challenge Road - new(SWSH) { Species = 212, Level = 40, Location = 174, Weather = Sandstorm }, // Scizor on Challenge Road + new() { Species = 558, Level = 26, Location = 172, Crossover = new(174, 180), Weather = Sandstorm }, // Crustle on Challenge Road, Brawlers’ Cave (c), Training Lowlands + new() { Species = 340, Level = 42, Location = 172, Crossover = new(176) }, // Whiscash in Courageous Cavern, Brawlers' Cave + new() { Species = 620, Level = 28, Location = 174 }, // Mienshao on Challenge Road + new() { Species = 625, Level = 36, Location = 174, Weather = Overcast }, // Bisharp on Challenge Road + new() { Species = 758, Level = 28, Location = 174, Gender = 1, Weather = Intense_Sun }, // Salazzle on Challenge Road + new() { Species = 475, Level = 32, Location = 174, Weather = Heavy_Fog }, // Gallade on Challenge Road + new() { Species = 745, Level = 32, Location = 174 }, // Lycanroc on Challenge Road + new() { Species = 745, Level = 32, Location = 174, Form = 01, Weather = Overcast }, // Lycanroc-1 on Challenge Road + new() { Species = 212, Level = 40, Location = 174, Weather = Sandstorm }, // Scizor on Challenge Road new(SW ) { Species = 127, Level = 26, Location = 174, Weather = Intense_Sun }, // Pinsir on Challenge Road new( SH) { Species = 214, Level = 26, Location = 174, Weather = Intense_Sun }, // Heracross on Challenge Road new(SW ) { Species = 782, Level = 22, Location = 174, Weather = Intense_Sun | Sandstorm | Heavy_Fog }, // Jangmo-o on Challenge Road - new(SWSH) { Species = 227, Level = 26, Location = 174, Weather = Normal | Raining | Intense_Sun | Sandstorm }, // Skarmory on Challenge Road - new(SWSH) { Species = 426, Level = 26, Location = 174, Weather = Heavy_Fog }, // Drifblim on Challenge Road + new() { Species = 227, Level = 26, Location = 174, Weather = Normal | Raining | Intense_Sun | Sandstorm }, // Skarmory on Challenge Road + new() { Species = 426, Level = 26, Location = 174, Weather = Heavy_Fog }, // Drifblim on Challenge Road new(SW ) { Species = 628, Level = 26, Location = 174, Weather = Overcast }, // Braviary on Challenge Road new( SH) { Species = 630, Level = 26, Location = 174, Weather = Overcast }, // Mandibuzz on Challenge Road - new(SWSH) { Species = 082, Level = 26, Location = 174, Weather = Thunderstorm }, // Magneton on Challenge Road - new(SWSH) { Species = 507, Level = 28, Location = 174, Crossover = new(180), Weather = Normal | Heavy_Fog }, // Herdier on Challenge Road, Training Lowlands - new(SWSH) { Species = 558, Level = 28, Location = 176 }, // Crustle in Courageous Cavern - new(SWSH) { Species = 768, Level = 32, Location = 176 }, // Golisopod in Courageous Cavern - new(SWSH) { Species = 528, Level = 28, Location = 176 }, // Swoobat in Courageous Cavern - new(SWSH) { Species = 834, Level = 28, Location = 176 }, // Drednaw in Courageous Cavern - new(SWSH) { Species = 621, Level = 42, Location = 176 }, // Druddigon in Courageous Cavern - new(SWSH) { Species = 847, Level = 42, Location = 176 }, // Barraskewda in the Courageous Cavern - new(SWSH) { Species = 073, Level = 42, Location = 176 }, // Tentacruel in Courageous Cavern - //new(SWSH) { Species = 526, Level = 42, Location = -1 }, // Gigalith - //new(SWSH) { Species = 113, Level = 30, Location = -1 }, // Chansey - //new(SWSH) { Species = 768, Level = 32, Location = -1 }, // Golisopod - //new(SWSH) { Species = 558, Level = 30, Location = -1 }, // Crustle - new(SWSH) { Species = 593, Level = 42, Location = 178, Weather = Overcast | Heavy_Fog }, // Jellicent in Loop Lagoon - new(SWSH) { Species = 687, Level = 32, Location = 178, Weather = Overcast | Raining }, // Malamar in Loop Lagoon - new(SWSH) { Species = 040, Level = 32, Location = 178, Weather = Heavy_Fog }, // Wigglytuff in Loop Lagoon - new(SWSH) { Species = 404, Level = 30, Location = 178, Weather = Thunderstorm }, // Luxio in Loop Lagoon - new(SWSH) { Species = 834, Level = 30, Location = 178, Weather = Normal | Intense_Sun }, // Drednaw in Loop Lagoon - new(SWSH) { Species = 871, Level = 22, Location = 178, Weather = Normal | Stormy | Heavy_Fog }, // Pincurchin in Loop Lagoon - new(SWSH) { Species = 748, Level = 26, Location = 178, Weather = Overcast | Raining | Heavy_Fog }, // Toxapex in Loop Lagoon - new(SWSH) { Species = 853, Level = 32, Location = 178, Weather = Normal | Overcast | Intense_Sun | Heavy_Fog }, // Grapploct in Loop Lagoon - new(SWSH) { Species = 770, Level = 32, Location = 178, Weather = Overcast | Heavy_Fog }, // Palossand in Loop Lagoon - new(SWSH) { Species = 065, Level = 50, Location = 178, Weather = Normal | Raining }, // Alakazam in Loop Lagoon - new(SWSH) { Species = 571, Level = 50, Location = 178, Weather = Overcast | Heavy_Fog }, // Zoroark in Loop Lagoon - new(SWSH) { Species = 462, Level = 50, Location = 178, Weather = Thunderstorm }, // Magnezone in Loop Lagoon - new(SWSH) { Species = 744, Level = 40, Location = 178 }, // Rockruff in Loop Lagoon - new(SWSH) { Species = 636, Level = 40, Location = 178, Weather = Intense_Sun }, // Larvesta in Loop Lagoon - new(SWSH) { Species = 279, Level = 42, Location = 178, Weather = Raining }, // Pelipper in Loop Lagoon - new(SWSH) { Species = 405, Level = 50, Location = 178, Weather = Thunderstorm }, // Luxray in Loop Lagoon - new(SWSH) { Species = 663, Level = 50, Location = 178, Weather = Intense_Sun }, // Talonflame in Loop Lagoon - new(SWSH) { Species = 508, Level = 42, Location = 180 }, // Stoutland in the Training Lowlands - new(SWSH) { Species = 625, Level = 36, Location = 180, Weather = Overcast }, // Bisharp in the Training Lowlands - new(SWSH) { Species = 405, Level = 36, Location = 180, Weather = Thunderstorm }, // Luxray in the Training Lowlands - new(SWSH) { Species = 663, Level = 36, Location = 180, Weather = Intense_Sun }, // Talonflame in the Training Lowlands - new(SWSH) { Species = 040, Level = 30, Location = 180, Weather = Heavy_Fog }, // Wigglytuff in the Training Lowlands - new(SWSH) { Species = 099, Level = 28, Location = 180, Weather = Normal | Overcast | Stormy | Intense_Sun | Sandstorm }, // Kingler in the Training Lowlands - new(SWSH) { Species = 115, Level = 32, Location = 180, Weather = Normal | Overcast }, // Kangaskhan in the Training Lowlands - new(SWSH) { Species = 123, Level = 28, Location = 180, Weather = Normal | Intense_Sun }, // Scyther in the Training Lowlands - new(SWSH) { Species = 404, Level = 28, Location = 180, Weather = Thunderstorm }, // Luxio in the Training Lowlands - new(SWSH) { Species = 764, Level = 28, Location = 180, Weather = Heavy_Fog }, // Comfey in the Training Lowlands - new(SWSH) { Species = 452, Level = 28, Location = 180, Weather = Overcast | Intense_Sun }, // Drapion in the Training Lowlands - new(SWSH) { Species = 279, Level = 28, Location = 180, Weather = Raining }, // Pelipper in the Training Lowlands + new() { Species = 082, Level = 26, Location = 174, Weather = Thunderstorm }, // Magneton on Challenge Road + new() { Species = 507, Level = 28, Location = 174, Crossover = new(180), Weather = Normal | Heavy_Fog }, // Herdier on Challenge Road, Training Lowlands + new() { Species = 558, Level = 28, Location = 176 }, // Crustle in Courageous Cavern + new() { Species = 768, Level = 32, Location = 176 }, // Golisopod in Courageous Cavern + new() { Species = 528, Level = 28, Location = 176 }, // Swoobat in Courageous Cavern + new() { Species = 834, Level = 28, Location = 176 }, // Drednaw in Courageous Cavern + new() { Species = 621, Level = 42, Location = 176 }, // Druddigon in Courageous Cavern + new() { Species = 847, Level = 42, Location = 176 }, // Barraskewda in the Courageous Cavern + new() { Species = 073, Level = 42, Location = 176 }, // Tentacruel in Courageous Cavern + //new() { Species = 526, Level = 42, Location = -1 }, // Gigalith + //new() { Species = 113, Level = 30, Location = -1 }, // Chansey + //new() { Species = 768, Level = 32, Location = -1 }, // Golisopod + //new() { Species = 558, Level = 30, Location = -1 }, // Crustle + new() { Species = 593, Level = 42, Location = 178, Weather = Overcast | Heavy_Fog }, // Jellicent in Loop Lagoon + new() { Species = 687, Level = 32, Location = 178, Weather = Overcast | Raining }, // Malamar in Loop Lagoon + new() { Species = 040, Level = 32, Location = 178, Weather = Heavy_Fog }, // Wigglytuff in Loop Lagoon + new() { Species = 404, Level = 30, Location = 178, Weather = Thunderstorm }, // Luxio in Loop Lagoon + new() { Species = 834, Level = 30, Location = 178, Weather = Normal | Intense_Sun }, // Drednaw in Loop Lagoon + new() { Species = 871, Level = 22, Location = 178, Weather = Normal | Stormy | Heavy_Fog }, // Pincurchin in Loop Lagoon + new() { Species = 748, Level = 26, Location = 178, Weather = Overcast | Raining | Heavy_Fog }, // Toxapex in Loop Lagoon + new() { Species = 853, Level = 32, Location = 178, Weather = Normal | Overcast | Intense_Sun | Heavy_Fog }, // Grapploct in Loop Lagoon + new() { Species = 770, Level = 32, Location = 178, Weather = Overcast | Heavy_Fog }, // Palossand in Loop Lagoon + new() { Species = 065, Level = 50, Location = 178, Weather = Normal | Raining }, // Alakazam in Loop Lagoon + new() { Species = 571, Level = 50, Location = 178, Weather = Overcast | Heavy_Fog }, // Zoroark in Loop Lagoon + new() { Species = 462, Level = 50, Location = 178, Weather = Thunderstorm }, // Magnezone in Loop Lagoon + new() { Species = 744, Level = 40, Location = 178 }, // Rockruff in Loop Lagoon + new() { Species = 636, Level = 40, Location = 178, Weather = Intense_Sun }, // Larvesta in Loop Lagoon + new() { Species = 279, Level = 42, Location = 178, Weather = Raining }, // Pelipper in Loop Lagoon + new() { Species = 405, Level = 50, Location = 178, Weather = Thunderstorm }, // Luxray in Loop Lagoon + new() { Species = 663, Level = 50, Location = 178, Weather = Intense_Sun }, // Talonflame in Loop Lagoon + new() { Species = 508, Level = 42, Location = 180 }, // Stoutland in the Training Lowlands + new() { Species = 625, Level = 36, Location = 180, Weather = Overcast }, // Bisharp in the Training Lowlands + new() { Species = 405, Level = 36, Location = 180, Weather = Thunderstorm }, // Luxray in the Training Lowlands + new() { Species = 663, Level = 36, Location = 180, Weather = Intense_Sun }, // Talonflame in the Training Lowlands + new() { Species = 040, Level = 30, Location = 180, Weather = Heavy_Fog }, // Wigglytuff in the Training Lowlands + new() { Species = 099, Level = 28, Location = 180, Weather = Normal | Overcast | Stormy | Intense_Sun | Sandstorm }, // Kingler in the Training Lowlands + new() { Species = 115, Level = 32, Location = 180, Weather = Normal | Overcast }, // Kangaskhan in the Training Lowlands + new() { Species = 123, Level = 28, Location = 180, Weather = Normal | Intense_Sun }, // Scyther in the Training Lowlands + new() { Species = 404, Level = 28, Location = 180, Weather = Thunderstorm }, // Luxio in the Training Lowlands + new() { Species = 764, Level = 28, Location = 180, Weather = Heavy_Fog }, // Comfey in the Training Lowlands + new() { Species = 452, Level = 28, Location = 180, Weather = Overcast | Intense_Sun }, // Drapion in the Training Lowlands + new() { Species = 279, Level = 28, Location = 180, Weather = Raining }, // Pelipper in the Training Lowlands new(SW ) { Species = 127, Level = 28, Location = 180, Weather = Normal | Intense_Sun }, // Pinsir in the Training Lowlands new( SH) { Species = 214, Level = 28, Location = 180, Weather = Normal | Intense_Sun }, // Heracross in the Training Lowlands - new(SWSH) { Species = 528, Level = 28, Location = 180, Weather = Overcast }, // Swoobat in the Training Lowlands - new(SWSH) { Species = 241, Level = 28, Location = 180, Weather = Normal | Overcast | Intense_Sun }, // Miltank in the Training Lowlands - new(SWSH) { Species = 082, Level = 28, Location = 180, Weather = Thunderstorm }, // Magneton in the Training Lowlands - new(SWSH) { Species = 662, Level = 28, Location = 180, Weather = Intense_Sun }, // Fletchinder in the Training Lowlands - new(SWSH) { Species = 227, Level = 26, Location = 180, Weather = Sandstorm }, // Skarmory in the Training Lowlands + new() { Species = 528, Level = 28, Location = 180, Weather = Overcast }, // Swoobat in the Training Lowlands + new() { Species = 241, Level = 28, Location = 180, Weather = Normal | Overcast | Intense_Sun }, // Miltank in the Training Lowlands + new() { Species = 082, Level = 28, Location = 180, Weather = Thunderstorm }, // Magneton in the Training Lowlands + new() { Species = 662, Level = 28, Location = 180, Weather = Intense_Sun }, // Fletchinder in the Training Lowlands + new() { Species = 227, Level = 26, Location = 180, Weather = Sandstorm }, // Skarmory in the Training Lowlands new(SW ) { Species = 782, Level = 22, Location = 180, Weather = Sandstorm }, // Jangmo-o in Training Lowlands - new(SWSH) { Species = 128, Level = 28, Location = 180, Weather = All_IoA }, // Tauros in the Training Lowlands - new(SWSH) { Species = 687, Level = 28, Location = 180, Weather = Overcast | Raining }, // Malamar in the Training Lowlands - new(SWSH) { Species = 549, Level = 28, Location = 180, Weather = Intense_Sun }, // Lilligant in the Training Lowlands - new(SWSH) { Species = 426, Level = 28, Location = 180, Weather = Heavy_Fog }, // Drifblim in the Training Lowlands - new(SWSH) { Species = 055, Level = 26, Location = 180, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Golduck in the Training Lowlands - new(SWSH) { Species = 184, Level = 26, Location = 180, Weather = Heavy_Fog }, // Azumarill in the Training Lowlands - new(SWSH) { Species = 617, Level = 36, Location = 180, Weather = Thunderstorm }, // Accelgor in the Training Lowlands - new(SWSH) { Species = 212, Level = 42, Location = 180, Weather = Sandstorm }, // Scizor in the Training Lowlands - new(SWSH) { Species = 589, Level = 36, Location = 180, Weather = Sandstorm }, // Escavalier in the Training Lowlands - new(SWSH) { Species = 616, Level = 26, Location = 180, Weather = Raining }, // Shelmet in the Training Lowlands - new(SWSH) { Species = 588, Level = 26, Location = 180, Weather = Overcast }, // Karrablast in the Training Lowlands - new(SWSH) { Species = 847, Level = 42, Location = 180, Weather = Normal | Stormy | Intense_Sun | Sandstorm | Heavy_Fog }, // Barraskewda in the Training Lowlands - new(SWSH) { Species = 553, Level = 50, Location = 184, Weather = Overcast | Raining }, // Krookodile in the Potbottom Desert - new(SWSH) { Species = 464, Level = 50, Location = 184, Weather = Normal | Intense_Sun | Sandstorm | Heavy_Fog }, // Rhyperior in the Potbottom Desert - new(SWSH) { Species = 105, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Heavy_Fog }, // Marowak in the Potbottom Desert - new(SWSH) { Species = 552, Level = 42, Location = 184, Weather = Overcast | Raining }, // Krokorok in the Potbottom Desert - new(SWSH) { Species = 112, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Sandstorm }, // Rhydon in the Potbottom Desert - new(SWSH) { Species = 324, Level = 42, Location = 184, Weather = Intense_Sun | Heavy_Fog }, // Torkoal in the Potbottom Desert - new(SWSH) { Species = 844, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Heavy_Fog }, // Sandaconda in the Potbottom Desert - new(SWSH) { Species = 637, Level = 50, Location = 184, Weather = Intense_Sun }, // Volcarona in the Potbottom Desert - new(SWSH) { Species = 028, Level = 42, Location = 184, Weather = Sandstorm }, // Sandslash in the Potbottom Desert + new() { Species = 128, Level = 28, Location = 180, Weather = All_IoA }, // Tauros in the Training Lowlands + new() { Species = 687, Level = 28, Location = 180, Weather = Overcast | Raining }, // Malamar in the Training Lowlands + new() { Species = 549, Level = 28, Location = 180, Weather = Intense_Sun }, // Lilligant in the Training Lowlands + new() { Species = 426, Level = 28, Location = 180, Weather = Heavy_Fog }, // Drifblim in the Training Lowlands + new() { Species = 055, Level = 26, Location = 180, Weather = Normal | Overcast | Stormy | Intense_Sun }, // Golduck in the Training Lowlands + new() { Species = 184, Level = 26, Location = 180, Weather = Heavy_Fog }, // Azumarill in the Training Lowlands + new() { Species = 617, Level = 36, Location = 180, Weather = Thunderstorm }, // Accelgor in the Training Lowlands + new() { Species = 212, Level = 42, Location = 180, Weather = Sandstorm }, // Scizor in the Training Lowlands + new() { Species = 589, Level = 36, Location = 180, Weather = Sandstorm }, // Escavalier in the Training Lowlands + new() { Species = 616, Level = 26, Location = 180, Weather = Raining }, // Shelmet in the Training Lowlands + new() { Species = 588, Level = 26, Location = 180, Weather = Overcast }, // Karrablast in the Training Lowlands + new() { Species = 847, Level = 42, Location = 180, Weather = Normal | Stormy | Intense_Sun | Sandstorm | Heavy_Fog }, // Barraskewda in the Training Lowlands + new() { Species = 553, Level = 50, Location = 184, Weather = Overcast | Raining }, // Krookodile in the Potbottom Desert + new() { Species = 464, Level = 50, Location = 184, Weather = Normal | Intense_Sun | Sandstorm | Heavy_Fog }, // Rhyperior in the Potbottom Desert + new() { Species = 105, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Heavy_Fog }, // Marowak in the Potbottom Desert + new() { Species = 552, Level = 42, Location = 184, Weather = Overcast | Raining }, // Krokorok in the Potbottom Desert + new() { Species = 112, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Sandstorm }, // Rhydon in the Potbottom Desert + new() { Species = 324, Level = 42, Location = 184, Weather = Intense_Sun | Heavy_Fog }, // Torkoal in the Potbottom Desert + new() { Species = 844, Level = 42, Location = 184, Weather = Normal | Intense_Sun | Heavy_Fog }, // Sandaconda in the Potbottom Desert + new() { Species = 637, Level = 50, Location = 184, Weather = Intense_Sun }, // Volcarona in the Potbottom Desert + new() { Species = 028, Level = 42, Location = 184, Weather = Sandstorm }, // Sandslash in the Potbottom Desert new(SW ) { Species = 628, Level = 42, Location = 184, Weather = Normal | Overcast | Raining | Sandstorm | Intense_Sun | Heavy_Fog }, // Braviary in the Potbottom Desert new( SH) { Species = 630, Level = 42, Location = 184, Weather = Normal | Overcast | Raining | Sandstorm | Intense_Sun | Heavy_Fog }, // Mandibuzz in the Potbottom Desert - new(SWSH) { Species = 479, Level = 50, Location = 186, FlawlessIVCount = 3, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom in the Workout Sea - new(SWSH) { Species = 479, Level = 50, Location = 186, Form = 01, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-1 in the Workout Sea - new(SWSH) { Species = 479, Level = 50, Location = 186, Form = 02, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-2 in the Workout Sea - new(SWSH) { Species = 479, Level = 50, Location = 186, Form = 03, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-3 in the Workout Sea - new(SWSH) { Species = 479, Level = 50, Location = 186, Form = 04, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-4 in the Workout Sea - new(SWSH) { Species = 479, Level = 50, Location = 186, Form = 05, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-5 in the Workout Sea - new(SWSH) { Species = 132, Level = 50, Location = 186, FlawlessIVCount = 3 }, // Ditto in the Workout Sea - //new(SWSH) { Species = 242, Level = 50, Location = -1 }, // Blissey - new(SWSH) { Species = 103, Level = 50, Location = 190, Weather = Normal | Raining | Intense_Sun }, // Exeggutor in the Insular Sea - new(SWSH) { Species = 571, Level = 50, Location = 190, Weather = Overcast }, // Zoroark in the Insular Sea - new(SWSH) { Species = 462, Level = 50, Location = 190, Weather = Thunderstorm }, // Magnezone in the Insular Sea - new(SWSH) { Species = 637, Level = 50, Location = 190, Weather = Intense_Sun }, // Volcarona in the Insular Sea - new(SWSH) { Species = 279, Level = 45, Location = 190, Weather = Overcast | Stormy }, // Pelipper in the Insular Sea - new(SWSH) { Species = 065, Level = 50, Location = 190, Weather = Heavy_Fog }, // Alakazam in the Insular Sea - new(SWSH) { Species = 764, Level = 50, Location = 190, Crossover = new(194), Weather = Heavy_Fog }, // Comfey in the Insular Sea, Honeycalm Sea - new(SWSH) { Species = 230, Level = 60, Location = 192, Weather = Thunderstorm }, // Kingdra in the Honeycalm Sea - new(SWSH) { Species = 117, Level = 45, Location = 192, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Seadra in the Honeycalm Sea - new(SWSH) { Species = 549, Level = 45, Location = 194, Weather = Normal | Intense_Sun }, // Lilligant on Honeycalm Island - new(SWSH) { Species = 415, Level = 40, Location = 194, Weather = Overcast | Stormy }, // Combee on Honeycalm Island - #endregion + new() { Species = 479, Level = 50, Location = 186, FlawlessIVCount = 3, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom in the Workout Sea + new() { Species = 479, Level = 50, Location = 186, Form = 01, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-1 in the Workout Sea + new() { Species = 479, Level = 50, Location = 186, Form = 02, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-2 in the Workout Sea + new() { Species = 479, Level = 50, Location = 186, Form = 03, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-3 in the Workout Sea + new() { Species = 479, Level = 50, Location = 186, Form = 04, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-4 in the Workout Sea + new() { Species = 479, Level = 50, Location = 186, Form = 05, Weather = Normal | Stormy | Intense_Sun | Heavy_Fog }, // Rotom-5 in the Workout Sea + new() { Species = 132, Level = 50, Location = 186, FlawlessIVCount = 3 }, // Ditto in the Workout Sea + //new() { Species = 242, Level = 50, Location = -1 }, // Blissey + new() { Species = 103, Level = 50, Location = 190, Weather = Normal | Raining | Intense_Sun }, // Exeggutor in the Insular Sea + new() { Species = 571, Level = 50, Location = 190, Weather = Overcast }, // Zoroark in the Insular Sea + new() { Species = 462, Level = 50, Location = 190, Weather = Thunderstorm }, // Magnezone in the Insular Sea + new() { Species = 637, Level = 50, Location = 190, Weather = Intense_Sun }, // Volcarona in the Insular Sea + new() { Species = 279, Level = 45, Location = 190, Weather = Overcast | Stormy }, // Pelipper in the Insular Sea + new() { Species = 065, Level = 50, Location = 190, Weather = Heavy_Fog }, // Alakazam in the Insular Sea + new() { Species = 764, Level = 50, Location = 190, Crossover = new(194), Weather = Heavy_Fog }, // Comfey in the Insular Sea, Honeycalm Sea + new() { Species = 230, Level = 60, Location = 192, Weather = Thunderstorm }, // Kingdra in the Honeycalm Sea + new() { Species = 117, Level = 45, Location = 192, Weather = Normal | Overcast | Stormy | Intense_Sun | Heavy_Fog }, // Seadra in the Honeycalm Sea + new() { Species = 549, Level = 45, Location = 194, Weather = Normal | Intense_Sun }, // Lilligant on Honeycalm Island + new() { Species = 415, Level = 40, Location = 194, Weather = Overcast | Stormy }, // Combee on Honeycalm Island + }; - #region R2 Static Encounters - new(SWSH) { Species = 144, Level = 70, Location = 208, Crossover = new(210, 212, 214), Moves = new(821,542,427, 375), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All_CT }, // Articuno-1 in the Crown Tundra - new(SWSH) { Species = 145, Level = 70, Location = 122, Crossover = new(124, 126, 128, 130), Moves = new(823,065,179,116), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All }, // Zapdos-1 in a Wild Area - new(SWSH) { Species = 146, Level = 70, Location = 164, Crossover = new(166, 170, 178, 186, 188, 190, 192), Moves = new(822,542,389,417), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All_IoA }, // Moltres-1 on the Isle of Armor - new(SWSH) { Species = 377, Level = 70, Location = 236, ScriptedNoMarks = true, Moves = new(276,444,359,174), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regirock - new(SWSH) { Species = 378, Level = 70, Location = 238, ScriptedNoMarks = true, Moves = new(058,192,133,196), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regice - new(SWSH) { Species = 379, Level = 70, Location = 240, ScriptedNoMarks = true, Moves = new(484,430,334,451), FlawlessIVCount = 3, Ability = OnlyFirst }, // Registeel - new(SWSH) { Species = 894, Level = 70, Location = 242, ScriptedNoMarks = true, Moves = new(819,527,245,393), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regieleki - new(SWSH) { Species = 895, Level = 70, Location = 242, ScriptedNoMarks = true, Moves = new(820,337,359,673), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regidrago - new(SWSH) { Species = 486, Level =100, Location = 210, ScriptedNoMarks = true, Moves = new(416,428,359,462), FlawlessIVCount = 3, Ability = OnlyFirst, DynamaxLevel = 10 }, // Regigigas in the Giant’s Bed - new(SWSH) { Species = 638, Level = 70, Location = 226, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = No_Sun_Sand }, // Cobalion at the Frigid Sea - new(SWSH) { Species = 639, Level = 70, Location = 232, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = Overcast }, // Terrakion in Lakeside Cavern - new(SWSH) { Species = 640, Level = 70, Location = 210, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = All_CT }, // Virizion at Giant's Bed - new(SWSH) { Species = 647, Level = 65, Location = 230, Moves = new(548,533,014,056), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Fateful = true, Weather = All_Ballimere }, // Keldeo-1 at Ballimere Lake - //new(SWSH) { Species = 896, Level = 75, Location = -1, Moves = new(556,037,419,023}, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Glastrier - //new(SWSH) { Species = 897, Level = 75, Location = -1, Moves = new(247,037,506,024}, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Spectrier - new(SWSH) { Species = 898, Level = 80, Location = 220, Moves = new(202,094,473,505), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, ScriptedNoMarks = true }, // Calyrex - new(SWSH) { Species = 442, Level = 72, Location = 230, FlawlessIVCount = 3, Ability = OnlyHidden, Weather = All_Ballimere }, // Spiritomb at Ballimere Lake + private static readonly EncounterStatic8[] Encounter_SWSH_Strong2 = + { + new() { Species = 144, Level = 70, Location = 208, Crossover = new(210, 212, 214), Moves = new(821,542,427, 375), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All_CT }, // Articuno-1 in the Crown Tundra + new() { Species = 145, Level = 70, Location = 122, Crossover = new(124, 126, 128, 130), Moves = new(823,065,179,116), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All }, // Zapdos-1 in a Wild Area + new() { Species = 146, Level = 70, Location = 164, Crossover = new(166, 170, 178, 186, 188, 190, 192), Moves = new(822,542,389,417), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Weather = All_IoA }, // Moltres-1 on the Isle of Armor + new() { Species = 377, Level = 70, Location = 236, ScriptedNoMarks = true, Moves = new(276,444,359,174), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regirock + new() { Species = 378, Level = 70, Location = 238, ScriptedNoMarks = true, Moves = new(058,192,133,196), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regice + new() { Species = 379, Level = 70, Location = 240, ScriptedNoMarks = true, Moves = new(484,430,334,451), FlawlessIVCount = 3, Ability = OnlyFirst }, // Registeel + new() { Species = 894, Level = 70, Location = 242, ScriptedNoMarks = true, Moves = new(819,527,245,393), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regieleki + new() { Species = 895, Level = 70, Location = 242, ScriptedNoMarks = true, Moves = new(820,337,359,673), FlawlessIVCount = 3, Ability = OnlyFirst }, // Regidrago + new() { Species = 486, Level =100, Location = 210, ScriptedNoMarks = true, Moves = new(416,428,359,462), FlawlessIVCount = 3, Ability = OnlyFirst, DynamaxLevel = 10 }, // Regigigas in the Giant’s Bed + new() { Species = 638, Level = 70, Location = 226, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = No_Sun_Sand }, // Cobalion at the Frigid Sea + new() { Species = 639, Level = 70, Location = 232, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = Overcast }, // Terrakion in Lakeside Cavern + new() { Species = 640, Level = 70, Location = 210, FlawlessIVCount = 3, Ability = OnlyFirst, Weather = All_CT }, // Virizion at Giant's Bed + new() { Species = 647, Level = 65, Location = 230, Moves = new(548,533,014,056), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, Form = 01, Fateful = true, Weather = All_Ballimere }, // Keldeo-1 at Ballimere Lake + //new() { Species = 896, Level = 75, Location = -1, Moves = new(556,037,419,023}, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Glastrier + //new() { Species = 897, Level = 75, Location = -1, Moves = new(247,037,506,024}, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Spectrier + new() { Species = 898, Level = 80, Location = 220, Moves = new(202,094,473,505), FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst, ScriptedNoMarks = true }, // Calyrex + new() { Species = 442, Level = 72, Location = 230, FlawlessIVCount = 3, Ability = OnlyHidden, Weather = All_Ballimere }, // Spiritomb at Ballimere Lake // suspected unused or uncatchable - //new(SWSH) { Species = 803, Level = 60, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Poipole - //new(SWSH) { Species = 789, Level = 60, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Cosmog - //new(SWSH) { Species = 494, Level = 70, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Victini + //new() { Species = 803, Level = 60, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Poipole + //new() { Species = 789, Level = 60, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Cosmog + //new() { Species = 494, Level = 70, Location = -1, FlawlessIVCount = 3, Shiny = Never, Ability = OnlyFirst }, // Victini - new(SWSH) { Species = 473, Level = 65, Location = 204, Weather = Normal | Overcast | Intense_Sun | Icy }, // Mamoswine on Slippery Slope - new(SWSH) { Species = 460, Level = 65, Location = 204, Weather = Snowing }, // Abomasnow on Slippery Slope - new(SWSH) { Species = 698, Level = 60, Location = 204, Weather = Normal | Overcast | Icy }, // Amaura on Slippery Slope - new(SWSH) { Species = 333, Level = 60, Location = 204, Weather = Overcast | Snowing }, // Swablu on Slippery Slope - new(SWSH) { Species = 124, Level = 62, Location = 204, Weather = Icy | Heavy_Fog }, // Jynx on Slippery Slope - new(SWSH) { Species = 857, Level = 62, Location = 204, Weather = Heavy_Fog }, // Hattrem on Slippery Slope - new(SWSH) { Species = 478, Level = 63, Location = 204, Weather = Snowstorm }, // Froslass on Slippery Slope - new(SWSH) { Species = 362, Level = 63, Location = 204, Weather = Snowstorm }, // Glalie on Slippery Slope - new(SWSH) { Species = 467, Level = 65, Location = 204, Weather = Intense_Sun }, // Magmortar on Slippery Slope - new(SWSH) { Species = 143, Level = 65, Location = 204, Weather = Normal | Intense_Sun }, // Snorlax on Slippery Slope - new(SWSH) { Species = 872, Level = 60, Location = 204, Weather = Normal | Heavy_Fog }, // Snom on Slippery Slope - new(SWSH) { Species = 832, Level = 63, Location = 204, Crossover = new(208), Weather = Normal | Intense_Sun }, // Dubwool on Slippery Slope, Frostpoint Field + new() { Species = 473, Level = 65, Location = 204, Weather = Normal | Overcast | Intense_Sun | Icy }, // Mamoswine on Slippery Slope + new() { Species = 460, Level = 65, Location = 204, Weather = Snowing }, // Abomasnow on Slippery Slope + new() { Species = 698, Level = 60, Location = 204, Weather = Normal | Overcast | Icy }, // Amaura on Slippery Slope + new() { Species = 333, Level = 60, Location = 204, Weather = Overcast | Snowing }, // Swablu on Slippery Slope + new() { Species = 124, Level = 62, Location = 204, Weather = Icy | Heavy_Fog }, // Jynx on Slippery Slope + new() { Species = 857, Level = 62, Location = 204, Weather = Heavy_Fog }, // Hattrem on Slippery Slope + new() { Species = 478, Level = 63, Location = 204, Weather = Snowstorm }, // Froslass on Slippery Slope + new() { Species = 362, Level = 63, Location = 204, Weather = Snowstorm }, // Glalie on Slippery Slope + new() { Species = 467, Level = 65, Location = 204, Weather = Intense_Sun }, // Magmortar on Slippery Slope + new() { Species = 143, Level = 65, Location = 204, Weather = Normal | Intense_Sun }, // Snorlax on Slippery Slope + new() { Species = 872, Level = 60, Location = 204, Weather = Normal | Heavy_Fog }, // Snom on Slippery Slope + new() { Species = 832, Level = 63, Location = 204, Crossover = new(208), Weather = Normal | Intense_Sun }, // Dubwool on Slippery Slope, Frostpoint Field new(SW ) { Species = 576, Level = 65, Location = 204, Crossover = new(208), Weather = Heavy_Fog }, // Gothitelle on Slippery Slope, Frostpoint Field new( SH) { Species = 579, Level = 65, Location = 204, Crossover = new(208), Weather = Heavy_Fog }, // Reuniclus on Slippery Slope, Frostpoint Field - new(SWSH) { Species = 461, Level = 63, Location = 204, Crossover = new(208), Weather = Overcast }, // Weavile on Slippery Slope, Frostpoint Field - new(SWSH) { Species = 531, Level = 62, Location = 204, Crossover = new(208), Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Audino on Slippery Slope, Frostpoint Field - new(SWSH) { Species = 615, Level = 62, Location = 204, Crossover = new(208, 210), Weather = Icy }, // Cryogonal on Slippery Slope, Frostpoint Field, Giant’s Bed - new(SWSH) { Species = 778, Level = 62, Location = 204, Crossover = new(208, 210, 212), Weather = Heavy_Fog }, // Mimikyu on Slippery Slope, Frostpoint Field, Giant’s Bed, Old Cemetery - new(SWSH) { Species = 126, Level = 62, Location = 204, Crossover = new(210), Weather = Intense_Sun }, // Magmar on Slippery Slope, Giant’s Bed - new(SWSH) { Species = 861, Level = 65, Location = 204, Crossover = new(210), Weather = Heavy_Fog }, // Grimmsnarl on Slippery Slope, Giant’s Bed - new(SWSH) { Species = 709, Level = 63, Location = 204, Crossover = new(210, 212), Weather = Overcast }, // Trevenant on Slippery Slope, Giant's Bed, Old Cemetery - new(SWSH) { Species = 124, Level = 62, Location = 208, Weather = Snowing | Heavy_Fog }, // Jynx in Frostpoint Field - new(SWSH) { Species = 460, Level = 65, Location = 208, Weather = Normal | Overcast | Intense_Sun | Snowing }, // Abomasnow in Frostpoint Field - new(SWSH) { Species = 698, Level = 60, Location = 208, Weather = Normal | Icy }, // Amaura in Frostpoint Field - new(SWSH) { Species = 133, Level = 60, Location = 208, Weather = Snowstorm }, // Eevee in Frostpoint Field - new(SWSH) { Species = 029, Level = 60, Location = 208, Weather = Normal | Overcast | Intense_Sun | Icy }, // Nidoran♀ in Frostpoint Field - new(SWSH) { Species = 032, Level = 60, Location = 208, Weather = Normal | Overcast | Intense_Sun | Icy }, // Nidoran♂ in Frostpoint Field - new(SWSH) { Species = 359, Level = 62, Location = 208, Weather = Snowstorm }, // Absol in Frostpoint Field - new(SWSH) { Species = 143, Level = 65, Location = 208, Weather = Normal | Stormy | Intense_Sun | Overcast }, // Snorlax in Frostpoint Field - new(SWSH) { Species = 584, Level = 65, Location = 208, Crossover = new(210), Weather = Icy }, // Vanilluxe in Frostpoint Field, Giant’s Bed - new(SWSH) { Species = 333, Level = 60, Location = 208, Crossover = new(210), Weather = Overcast }, // Swablu in Frostpoint Field, Giant’s Bed - new(SWSH) { Species = 034, Level = 65, Location = 208, Crossover = new(210), Weather = No_Sun_Sand }, // Nidoking in Frostpoint Field, Giant’s Bed - new(SWSH) { Species = 030, Level = 63, Location = 208, Crossover = new(210), Weather = All_CT }, // Nidorina in Frostpoint Field (c), in the Giant’s Bed - new(SWSH) { Species = 858, Level = 65, Location = 208, Crossover = new(210), Weather = Heavy_Fog }, // Hatterene in Frostpoint Field, Giant’s Bed - new(SWSH) { Species = 437, Level = 65, Location = 208, Crossover = new(222), Weather = Normal | Overcast }, // Bronzong in Frostpoint Field (c), Giant’s Foot - new(SWSH) { Species = 029, Level = 60, Location = 210, Weather = Normal | Stormy | Intense_Sun }, // Nidoran♀ in the Giant’s Bed - new(SWSH) { Species = 832, Level = 63, Location = 210 }, // Dubwool in the Giant’s Bed + new() { Species = 461, Level = 63, Location = 204, Crossover = new(208), Weather = Overcast }, // Weavile on Slippery Slope, Frostpoint Field + new() { Species = 531, Level = 62, Location = 204, Crossover = new(208), Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Audino on Slippery Slope, Frostpoint Field + new() { Species = 615, Level = 62, Location = 204, Crossover = new(208, 210), Weather = Icy }, // Cryogonal on Slippery Slope, Frostpoint Field, Giant’s Bed + new() { Species = 778, Level = 62, Location = 204, Crossover = new(208, 210, 212), Weather = Heavy_Fog }, // Mimikyu on Slippery Slope, Frostpoint Field, Giant’s Bed, Old Cemetery + new() { Species = 126, Level = 62, Location = 204, Crossover = new(210), Weather = Intense_Sun }, // Magmar on Slippery Slope, Giant’s Bed + new() { Species = 861, Level = 65, Location = 204, Crossover = new(210), Weather = Heavy_Fog }, // Grimmsnarl on Slippery Slope, Giant’s Bed + new() { Species = 709, Level = 63, Location = 204, Crossover = new(210, 212), Weather = Overcast }, // Trevenant on Slippery Slope, Giant's Bed, Old Cemetery + new() { Species = 124, Level = 62, Location = 208, Weather = Snowing | Heavy_Fog }, // Jynx in Frostpoint Field + new() { Species = 460, Level = 65, Location = 208, Weather = Normal | Overcast | Intense_Sun | Snowing }, // Abomasnow in Frostpoint Field + new() { Species = 698, Level = 60, Location = 208, Weather = Normal | Icy }, // Amaura in Frostpoint Field + new() { Species = 133, Level = 60, Location = 208, Weather = Snowstorm }, // Eevee in Frostpoint Field + new() { Species = 029, Level = 60, Location = 208, Weather = Normal | Overcast | Intense_Sun | Icy }, // Nidoran♀ in Frostpoint Field + new() { Species = 032, Level = 60, Location = 208, Weather = Normal | Overcast | Intense_Sun | Icy }, // Nidoran♂ in Frostpoint Field + new() { Species = 359, Level = 62, Location = 208, Weather = Snowstorm }, // Absol in Frostpoint Field + new() { Species = 143, Level = 65, Location = 208, Weather = Normal | Stormy | Intense_Sun | Overcast }, // Snorlax in Frostpoint Field + new() { Species = 584, Level = 65, Location = 208, Crossover = new(210), Weather = Icy }, // Vanilluxe in Frostpoint Field, Giant’s Bed + new() { Species = 333, Level = 60, Location = 208, Crossover = new(210), Weather = Overcast }, // Swablu in Frostpoint Field, Giant’s Bed + new() { Species = 034, Level = 65, Location = 208, Crossover = new(210), Weather = No_Sun_Sand }, // Nidoking in Frostpoint Field, Giant’s Bed + new() { Species = 030, Level = 63, Location = 208, Crossover = new(210), Weather = All_CT }, // Nidorina in Frostpoint Field (c), in the Giant’s Bed + new() { Species = 858, Level = 65, Location = 208, Crossover = new(210), Weather = Heavy_Fog }, // Hatterene in Frostpoint Field, Giant’s Bed + new() { Species = 437, Level = 65, Location = 208, Crossover = new(222), Weather = Normal | Overcast }, // Bronzong in Frostpoint Field (c), Giant’s Foot + new() { Species = 029, Level = 60, Location = 210, Weather = Normal | Stormy | Intense_Sun }, // Nidoran♀ in the Giant’s Bed + new() { Species = 832, Level = 63, Location = 210 }, // Dubwool in the Giant’s Bed new(SW ) { Species = 874, Level = 63, Location = 210, Weather = All_CT }, // Stonjourner in the Giant’s Bed new( SH) { Species = 143, Level = 65, Location = 210, Weather = All_CT }, // Snorlax in the Giant’s Bed - new(SWSH) { Species = 142, Level = 65, Location = 210, Weather = All_CT }, // Aerodactyl in the Giant’s Bed - new(SWSH) { Species = 133, Level = 60, Location = 210 }, // Eevee in the Giant’s Bed - new(SWSH) { Species = 470, Level = 63, Location = 210 }, // Leafeon in the Giant’s Bed - new(SWSH) { Species = 033, Level = 63, Location = 210, Weather = All_CT }, // Nidorino in the Giant’s Bed - new(SWSH) { Species = 534, Level = 65, Location = 210 }, // Conkeldurr in the Giant’s Bed - new(SWSH) { Species = 820, Level = 65, Location = 210, Weather = No_Sun_Sand }, // Greedent in the Giant’s Bed - new(SWSH) { Species = 031, Level = 65, Location = 210, Weather = Normal | Overcast | Raining | Intense_Sun | Icy | Heavy_Fog }, // Nidoqueen in the Giant’s Bed - new(SWSH) { Species = 862, Level = 65, Location = 210, Weather = Overcast | Raining }, // Obstagoon in the Giant’s Bed - new(SWSH) { Species = 609, Level = 65, Location = 210, Weather = Overcast | Heavy_Fog }, // Chandelure in the Giant’s Bed - new(SWSH) { Species = 752, Level = 65, Location = 210, Weather = Stormy }, // Araquanid in the Giant’s Bed - new(SWSH) { Species = 134, Level = 63, Location = 210, Weather = Raining }, // Vaporeon in the Giant’s Bed - new(SWSH) { Species = 596, Level = 63, Location = 210, Weather = Thunderstorm }, // Galvantula in the Giant’s Bed - new(SWSH) { Species = 466, Level = 65, Location = 210, Weather = Thunderstorm }, // Electivire in the Giant’s Bed - new(SWSH) { Species = 135, Level = 63, Location = 210, Weather = Thunderstorm }, // Jolteon in the Giant’s Bed - new(SWSH) { Species = 125, Level = 63, Location = 210, Weather = Thunderstorm }, // Electabuzz in the Giant’s Bed - new(SWSH) { Species = 467, Level = 63, Location = 210, Weather = Intense_Sun }, // Magmortar in the Giant’s Bed - new(SWSH) { Species = 631, Level = 63, Location = 210, Weather = Intense_Sun }, // Heatmor in the Giant’s Bed - new(SWSH) { Species = 632, Level = 63, Location = 210, Weather = Intense_Sun }, // Durant in the Giant’s Bed - new(SWSH) { Species = 136, Level = 63, Location = 210, Weather = Intense_Sun }, // Flareon in the Giant’s Bed - new(SWSH) { Species = 197, Level = 63, Location = 210, Weather = Overcast }, // Umbreon in the Giant’s Bed - new(SWSH) { Species = 196, Level = 63, Location = 210, Weather = Snowing }, // Espeon in the Giant’s Bed - new(SWSH) { Species = 359, Level = 65, Location = 210, Weather = Snowstorm }, // Absol in the Giant’s Bed - new(SWSH) { Species = 471, Level = 63, Location = 210, Weather = Snowstorm }, // Glaceon in the Giant’s Bed - new(SWSH) { Species = 700, Level = 63, Location = 210, Weather = Heavy_Fog }, // Sylveon in the Giant’s Bed - new(SWSH) { Species = 036, Level = 63, Location = 210, Weather = Heavy_Fog }, // Clefable in the Giant’s Bed - new(SWSH) { Species = 340, Level = 65, Location = 210, Weather = All_CT }, // Whiscash in the Giant’s Bed - new(SWSH) { Species = 855, Level = 63, Location = 210, Crossover = new(212), Weather = Normal | Stormy | Intense_Sun | Snowstorm | Heavy_Fog }, // Polteageist in the Giant’s Bed, Old Cemetery - new(SWSH) { Species = 887, Level = 65, Location = 210, Crossover = new(212), Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Dragapult in the Giant’s Bed, Old Cemetery - new(SWSH) { Species = 478, Level = 65, Location = 210, Crossover = new(212, 214), Weather = Icy }, // Froslass in the Giant’s Bed, Old Cemetery, Snowslide Slope - new(SWSH) { Species = 437, Level = 63, Location = 210, Crossover = new(214), Weather = All_CT }, // Bronzong in the Giant’s Bed, Snowslide Slope (c) - new(SWSH) { Species = 362, Level = 65, Location = 210, Crossover = new(214), Weather = Icy }, // Glalie in the Giant’s Bed, Snowslide Slope - new(SWSH) { Species = 334, Level = 65, Location = 210, Crossover = new(218, 222, 226, 230), Weather = Overcast }, // Altaria in the Giant’s Bed, Path to the Peak, Giant’s Foot, Frigid Sea, Ballimere Lake - new(SWSH) { Species = 344, Level = 65, Location = 210, Crossover = new(222), Weather = Overcast | Stormy | Intense_Sun | Icy | Heavy_Fog }, // Claydol in the Giant’s Bed, Giant’s Foot - new(SWSH) { Species = 531, Level = 62, Location = 210, Crossover = new(222, 230), Weather = All_CT }, // Audino in the Giant’s Bed, Giant’s Foot - new(SWSH) { Species = 130, Level = 67, Location = 210, Crossover = new(230), Weather = Normal | Overcast | Stormy | Intense_Sun | Icy }, // Gyarados in the Giant’s Bed, Ballimere Lake - new(SWSH) { Species = 350, Level = 67, Location = 210, Crossover = new(230), Weather = Heavy_Fog }, // Milotic in the Giant’s Bed, Ballimere Lake + new() { Species = 142, Level = 65, Location = 210, Weather = All_CT }, // Aerodactyl in the Giant’s Bed + new() { Species = 133, Level = 60, Location = 210 }, // Eevee in the Giant’s Bed + new() { Species = 470, Level = 63, Location = 210 }, // Leafeon in the Giant’s Bed + new() { Species = 033, Level = 63, Location = 210, Weather = All_CT }, // Nidorino in the Giant’s Bed + new() { Species = 534, Level = 65, Location = 210 }, // Conkeldurr in the Giant’s Bed + new() { Species = 820, Level = 65, Location = 210, Weather = No_Sun_Sand }, // Greedent in the Giant’s Bed + new() { Species = 031, Level = 65, Location = 210, Weather = Normal | Overcast | Raining | Intense_Sun | Icy | Heavy_Fog }, // Nidoqueen in the Giant’s Bed + new() { Species = 862, Level = 65, Location = 210, Weather = Overcast | Raining }, // Obstagoon in the Giant’s Bed + new() { Species = 609, Level = 65, Location = 210, Weather = Overcast | Heavy_Fog }, // Chandelure in the Giant’s Bed + new() { Species = 752, Level = 65, Location = 210, Weather = Stormy }, // Araquanid in the Giant’s Bed + new() { Species = 134, Level = 63, Location = 210, Weather = Raining }, // Vaporeon in the Giant’s Bed + new() { Species = 596, Level = 63, Location = 210, Weather = Thunderstorm }, // Galvantula in the Giant’s Bed + new() { Species = 466, Level = 65, Location = 210, Weather = Thunderstorm }, // Electivire in the Giant’s Bed + new() { Species = 135, Level = 63, Location = 210, Weather = Thunderstorm }, // Jolteon in the Giant’s Bed + new() { Species = 125, Level = 63, Location = 210, Weather = Thunderstorm }, // Electabuzz in the Giant’s Bed + new() { Species = 467, Level = 63, Location = 210, Weather = Intense_Sun }, // Magmortar in the Giant’s Bed + new() { Species = 631, Level = 63, Location = 210, Weather = Intense_Sun }, // Heatmor in the Giant’s Bed + new() { Species = 632, Level = 63, Location = 210, Weather = Intense_Sun }, // Durant in the Giant’s Bed + new() { Species = 136, Level = 63, Location = 210, Weather = Intense_Sun }, // Flareon in the Giant’s Bed + new() { Species = 197, Level = 63, Location = 210, Weather = Overcast }, // Umbreon in the Giant’s Bed + new() { Species = 196, Level = 63, Location = 210, Weather = Snowing }, // Espeon in the Giant’s Bed + new() { Species = 359, Level = 65, Location = 210, Weather = Snowstorm }, // Absol in the Giant’s Bed + new() { Species = 471, Level = 63, Location = 210, Weather = Snowstorm }, // Glaceon in the Giant’s Bed + new() { Species = 700, Level = 63, Location = 210, Weather = Heavy_Fog }, // Sylveon in the Giant’s Bed + new() { Species = 036, Level = 63, Location = 210, Weather = Heavy_Fog }, // Clefable in the Giant’s Bed + new() { Species = 340, Level = 65, Location = 210, Weather = All_CT }, // Whiscash in the Giant’s Bed + new() { Species = 855, Level = 63, Location = 210, Crossover = new(212), Weather = Normal | Stormy | Intense_Sun | Snowstorm | Heavy_Fog }, // Polteageist in the Giant’s Bed, Old Cemetery + new() { Species = 887, Level = 65, Location = 210, Crossover = new(212), Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Dragapult in the Giant’s Bed, Old Cemetery + new() { Species = 478, Level = 65, Location = 210, Crossover = new(212, 214), Weather = Icy }, // Froslass in the Giant’s Bed, Old Cemetery, Snowslide Slope + new() { Species = 437, Level = 63, Location = 210, Crossover = new(214), Weather = All_CT }, // Bronzong in the Giant’s Bed, Snowslide Slope (c) + new() { Species = 362, Level = 65, Location = 210, Crossover = new(214), Weather = Icy }, // Glalie in the Giant’s Bed, Snowslide Slope + new() { Species = 334, Level = 65, Location = 210, Crossover = new(218, 222, 226, 230), Weather = Overcast }, // Altaria in the Giant’s Bed, Path to the Peak, Giant’s Foot, Frigid Sea, Ballimere Lake + new() { Species = 344, Level = 65, Location = 210, Crossover = new(222), Weather = Overcast | Stormy | Intense_Sun | Icy | Heavy_Fog }, // Claydol in the Giant’s Bed, Giant’s Foot + new() { Species = 531, Level = 62, Location = 210, Crossover = new(222, 230), Weather = All_CT }, // Audino in the Giant’s Bed, Giant’s Foot + new() { Species = 130, Level = 67, Location = 210, Crossover = new(230), Weather = Normal | Overcast | Stormy | Intense_Sun | Icy }, // Gyarados in the Giant’s Bed, Ballimere Lake + new() { Species = 350, Level = 67, Location = 210, Crossover = new(230), Weather = Heavy_Fog }, // Milotic in the Giant’s Bed, Ballimere Lake new( SH) { Species = 078, Level = 67, Location = 212, Form = 01, Weather = Heavy_Fog }, // Rapidash-1 in the Old Cemetery - new(SWSH) { Species = 872, Level = 62, Location = 214, Weather = Normal | Overcast }, // Snom on Snowslide Slope - new(SWSH) { Species = 698, Level = 62, Location = 214, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Amaura on Snowslide Slope - new(SWSH) { Species = 621, Level = 65, Location = 214, Weather = Normal | Intense_Sun }, // Druddigon on Snowslide Slope - new(SWSH) { Species = 832, Level = 65, Location = 214, Weather = Normal | Intense_Sun }, // Dubwool on Snowslide Slope - new(SWSH) { Species = 699, Level = 65, Location = 214, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Aurorus on Snowslide Slope - new(SWSH) { Species = 376, Level = 68, Location = 214, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Metagross on Snowslide Slope - new(SWSH) { Species = 461, Level = 65, Location = 214, Weather = Overcast }, // Weavile on Snowslide Slope - new(SWSH) { Species = 709, Level = 65, Location = 214, Weather = Overcast }, // Trevenant on Snowslide Slope - new(SWSH) { Species = 467, Level = 67, Location = 214, Weather = Intense_Sun }, // Magmortar on Snowslide Slope - new(SWSH) { Species = 362, Level = 67, Location = 214, Weather = Icy }, // Glalie on Snowslide Slope - new(SWSH) { Species = 375, Level = 63, Location = 214, Crossover = new(216), Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Metang on Snowslide Slope, Tunnel to the Top (c) - new(SWSH) { Species = 615, Level = 65, Location = 214, Crossover = new(222), Weather = Icy }, // Cryogonal on Snowslide Slope, Giant’s Foot - new(SWSH) { Species = 614, Level = 67, Location = 214, Crossover = new(226, 228), Weather = Icy }, // Beartic on Snowslide Slope, Frigid Sea, Three-Point Pass - new(SWSH) { Species = 126, Level = 65, Location = 214, Crossover = new(230), Weather = Intense_Sun }, // Magmar on Snowslide Slope, Ballimere Lake - new(SWSH) { Species = 584, Level = 67, Location = 214, Weather = Icy }, // Vanilluxe on Snowslide Slope + new() { Species = 872, Level = 62, Location = 214, Weather = Normal | Overcast }, // Snom on Snowslide Slope + new() { Species = 698, Level = 62, Location = 214, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Amaura on Snowslide Slope + new() { Species = 621, Level = 65, Location = 214, Weather = Normal | Intense_Sun }, // Druddigon on Snowslide Slope + new() { Species = 832, Level = 65, Location = 214, Weather = Normal | Intense_Sun }, // Dubwool on Snowslide Slope + new() { Species = 699, Level = 65, Location = 214, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Aurorus on Snowslide Slope + new() { Species = 376, Level = 68, Location = 214, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Metagross on Snowslide Slope + new() { Species = 461, Level = 65, Location = 214, Weather = Overcast }, // Weavile on Snowslide Slope + new() { Species = 709, Level = 65, Location = 214, Weather = Overcast }, // Trevenant on Snowslide Slope + new() { Species = 467, Level = 67, Location = 214, Weather = Intense_Sun }, // Magmortar on Snowslide Slope + new() { Species = 362, Level = 67, Location = 214, Weather = Icy }, // Glalie on Snowslide Slope + new() { Species = 375, Level = 63, Location = 214, Crossover = new(216), Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Metang on Snowslide Slope, Tunnel to the Top (c) + new() { Species = 615, Level = 65, Location = 214, Crossover = new(222), Weather = Icy }, // Cryogonal on Snowslide Slope, Giant’s Foot + new() { Species = 614, Level = 67, Location = 214, Crossover = new(226, 228), Weather = Icy }, // Beartic on Snowslide Slope, Frigid Sea, Three-Point Pass + new() { Species = 126, Level = 65, Location = 214, Crossover = new(230), Weather = Intense_Sun }, // Magmar on Snowslide Slope, Ballimere Lake + new() { Species = 584, Level = 67, Location = 214, Weather = Icy }, // Vanilluxe on Snowslide Slope new(SW ) { Species = 555, Level = 67, Location = 214, Form = 02, Weather = Snowstorm }, // Darmanitan-2 on Snowslide Slope - new(SWSH) { Species = 861, Level = 67, Location = 214, Weather = Heavy_Fog }, // Grimmsnarl on Snowslide Slope - new(SWSH) { Species = 359, Level = 67, Location = 214, Crossover = new(218, 222), Weather = Snowstorm }, // Absol on Snowslide Slope, Path to the Peak, Giant’s Foot - new(SWSH) { Species = 778, Level = 65, Location = 214, Crossover = new(222, 230), Weather = Heavy_Fog }, // Mimikyu on Snowslide Slope, Giant’s Foot, Ballimere Lake - new(SWSH) { Species = 036, Level = 65, Location = 214, Weather = Heavy_Fog }, // Clefable on Snowslide Slope - new(SWSH) { Species = 036, Level = 65, Location = 216, Weather = Overcast }, // Clefable in the Tunnel to the Top - new(SWSH) { Species = 621, Level = 65, Location = 216, Weather = Overcast }, // Druddigon in the Tunnel to the Top - new(SWSH) { Species = 478, Level = 65, Location = 216, Weather = Overcast }, // Froslass in the Tunnel to the Top + new() { Species = 861, Level = 67, Location = 214, Weather = Heavy_Fog }, // Grimmsnarl on Snowslide Slope + new() { Species = 359, Level = 67, Location = 214, Crossover = new(218, 222), Weather = Snowstorm }, // Absol on Snowslide Slope, Path to the Peak, Giant’s Foot + new() { Species = 778, Level = 65, Location = 214, Crossover = new(222, 230), Weather = Heavy_Fog }, // Mimikyu on Snowslide Slope, Giant’s Foot, Ballimere Lake + new() { Species = 036, Level = 65, Location = 214, Weather = Heavy_Fog }, // Clefable on Snowslide Slope + new() { Species = 036, Level = 65, Location = 216, Weather = Overcast }, // Clefable in the Tunnel to the Top + new() { Species = 621, Level = 65, Location = 216, Weather = Overcast }, // Druddigon in the Tunnel to the Top + new() { Species = 478, Level = 65, Location = 216, Weather = Overcast }, // Froslass in the Tunnel to the Top new(SW ) { Species = 371, Level = 65, Location = 216, Weather = Overcast }, // Bagon in the Tunnel to the Top new( SH) { Species = 443, Level = 65, Location = 216, Weather = Overcast }, // Gible in the Tunnel to the Top new(SW ) { Species = 373, Level = 68, Location = 216, Weather = Overcast }, // Salamence in the Tunnel to the Top new( SH) { Species = 445, Level = 68, Location = 216, Weather = Overcast }, // Garchomp in the Tunnel to the Top - new(SWSH) { Species = 703, Level = 65, Location = 216, Weather = Overcast }, // Carbink in the Tunnel to the Top - new(SWSH) { Species = 041, Level = 63, Location = 216, Crossover = new(224), Weather = Overcast }, // Zubat in the Tunnel to the Top, Roaring-Sea Caves - new(SWSH) { Species = 042, Level = 65, Location = 216, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Golbat in the Tunnel to the Top - new(SWSH) { Species = 873, Level = 65, Location = 218, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Frosmoth on the Path to the Peak + new() { Species = 703, Level = 65, Location = 216, Weather = Overcast }, // Carbink in the Tunnel to the Top + new() { Species = 041, Level = 63, Location = 216, Crossover = new(224), Weather = Overcast }, // Zubat in the Tunnel to the Top, Roaring-Sea Caves + new() { Species = 042, Level = 65, Location = 216, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Golbat in the Tunnel to the Top + new() { Species = 873, Level = 65, Location = 218, Weather = Normal | Overcast | Intense_Sun | Icy | Heavy_Fog }, // Frosmoth on the Path to the Peak new(SW ) { Species = 373, Level = 68, Location = 218, Weather = Intense_Sun }, // Salamence on the Path to the Peak new( SH) { Species = 445, Level = 68, Location = 218, Weather = Intense_Sun }, // Garchomp on the Path to the Peak - new(SWSH) { Species = 621, Level = 65, Location = 218 }, // Druddigon on the Path to the Peak - new(SWSH) { Species = 851, Level = 67, Location = 222, Weather = Normal | Intense_Sun }, // Centiskorch at the Giant’s Foot - new(SWSH) { Species = 879, Level = 67, Location = 222, Weather = Overcast | Stormy | Icy | Heavy_Fog }, // Copperajah at the Giant’s Foot - new(SWSH) { Species = 534, Level = 67, Location = 222 }, // Conkeldurr at the Giant’s Foot + new() { Species = 621, Level = 65, Location = 218 }, // Druddigon on the Path to the Peak + new() { Species = 851, Level = 67, Location = 222, Weather = Normal | Intense_Sun }, // Centiskorch at the Giant’s Foot + new() { Species = 879, Level = 67, Location = 222, Weather = Overcast | Stormy | Icy | Heavy_Fog }, // Copperajah at the Giant’s Foot + new() { Species = 534, Level = 67, Location = 222 }, // Conkeldurr at the Giant’s Foot new(SW ) { Species = 138, Level = 63, Location = 222, Weather = All_CT }, // Omanyte at the Giant’s Foot new( SH) { Species = 140, Level = 63, Location = 222, Weather = All_CT }, // Kabuto at the Giant’s Foot - new(SWSH) { Species = 566, Level = 63, Location = 222, Weather = All_CT }, // Archen at the Giant’s Foot - new(SWSH) { Species = 126, Level = 65, Location = 222, Weather = Intense_Sun }, // Magmar at the Giant’s Foot - new(SWSH) { Species = 752, Level = 67, Location = 222, Crossover = new(230), Weather = Raining }, // Araquanid at Ballimere Lake, Giant’s Foot - new(SWSH) { Species = 125, Level = 65, Location = 222, Crossover = new(230), Weather = Thunderstorm }, // Electabuzz at the Giant’s Foot, Ballimere Lake - //new(SWSH) { Species = 567, Level = 67, Location = -1 }, // Archeops + new() { Species = 566, Level = 63, Location = 222, Weather = All_CT }, // Archen at the Giant’s Foot + new() { Species = 126, Level = 65, Location = 222, Weather = Intense_Sun }, // Magmar at the Giant’s Foot + new() { Species = 752, Level = 67, Location = 222, Crossover = new(230), Weather = Raining }, // Araquanid at Ballimere Lake, Giant’s Foot + new() { Species = 125, Level = 65, Location = 222, Crossover = new(230), Weather = Thunderstorm }, // Electabuzz at the Giant’s Foot, Ballimere Lake + //new() { Species = 567, Level = 67, Location = -1 }, // Archeops new(SW ) { Species = 635, Level = 68, Location = 224, Weather = No_Sun_Sand }, // Hydreigon in Roaring-Sea Caves, weather from Frigid Sea new( SH) { Species = 248, Level = 68, Location = 224, Weather = No_Sun_Sand }, // Tyranitar in Roaring-Sea Caves, weather from Frigid Sea - new(SWSH) { Species = 448, Level = 67, Location = 224, Weather = Overcast }, // Lucario in Roaring-Sea Caves - new(SWSH) { Species = 042, Level = 65, Location = 224, Weather = Overcast }, // Golbat in the Roaring-Sea Caves + new() { Species = 448, Level = 67, Location = 224, Weather = Overcast }, // Lucario in Roaring-Sea Caves + new() { Species = 042, Level = 65, Location = 224, Weather = Overcast }, // Golbat in the Roaring-Sea Caves new( SH) { Species = 141, Level = 68, Location = 224, Weather = Overcast }, // Kabutops in Roaring-Sea Caves new(SW ) { Species = 139, Level = 68, Location = 224, Weather = Overcast }, // Omastar in Roaring-Sea Caves - new(SWSH) { Species = 363, Level = 63, Location = 226, Weather = No_Sun_Sand }, // Spheal at the Frigid Sea - new(SWSH) { Species = 364, Level = 65, Location = 226, Weather = No_Sun_Sand }, // Sealeo at the Frigid Sea - new(SWSH) { Species = 564, Level = 63, Location = 226, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Tirtouga at the Frigid Sea - new(SWSH) { Species = 713, Level = 65, Location = 226, Weather = No_Sun_Sand }, // Avalugg at the Frigid Sea - new(SWSH) { Species = 365, Level = 68, Location = 226, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Walrein at the Frigid Sea - new(SWSH) { Species = 565, Level = 67, Location = 226, Weather = Normal | Stormy | Intense_Sun }, // Carracosta at the Frigid Sea - new(SWSH) { Species = 871, Level = 65, Location = 226, Weather = Thunderstorm }, // Pincurchin at the Frigid Sea + new() { Species = 363, Level = 63, Location = 226, Weather = No_Sun_Sand }, // Spheal at the Frigid Sea + new() { Species = 364, Level = 65, Location = 226, Weather = No_Sun_Sand }, // Sealeo at the Frigid Sea + new() { Species = 564, Level = 63, Location = 226, Weather = Normal | Overcast | Stormy | Heavy_Fog }, // Tirtouga at the Frigid Sea + new() { Species = 713, Level = 65, Location = 226, Weather = No_Sun_Sand }, // Avalugg at the Frigid Sea + new() { Species = 365, Level = 68, Location = 226, Weather = Normal | Overcast | Icy | Heavy_Fog }, // Walrein at the Frigid Sea + new() { Species = 565, Level = 67, Location = 226, Weather = Normal | Stormy | Intense_Sun }, // Carracosta at the Frigid Sea + new() { Species = 871, Level = 65, Location = 226, Weather = Thunderstorm }, // Pincurchin at the Frigid Sea new( SH) { Species = 875, Level = 65, Location = 226, Weather = No_Sun_Sand }, // Eiscue at the Frigid Sea - new(SWSH) { Species = 623, Level = 65, Location = 226, Crossover = new(228), Weather = All_CT }, // Golurk at the Frigid Sea (c), Three-Point Pass - new(SWSH) { Species = 467, Level = 68, Location = 226, Crossover = new(230), Weather = Intense_Sun }, // Magmortar at Frigid Sea (c), Ballimere Lake - new(SWSH) { Species = 466, Level = 68, Location = 226, Crossover = new(228, 230), Weather = Thunderstorm }, // Electivire at the Frigid Sea, Three-Point Pass, Ballimere Lake - new(SWSH) { Species = 858, Level = 67, Location = 226, Crossover = new(230), Weather = Heavy_Fog }, // Hatterene at the Frigid Sea, Ballimere Lake - new(SWSH) { Species = 887, Level = 68, Location = 228, Weather = Normal | Overcast | Raining | Intense_Sun | Icy | Heavy_Fog }, // Dragapult in Three-Point Pass - new(SWSH) { Species = 531, Level = 62, Location = 230, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Audino at Ballimere Lake - new(SWSH) { Species = 584, Level = 67, Location = 230, Weather = Snowing }, // Vanilluxe at Ballimere Lake - new(SWSH) { Species = 823, Level = 68, Location = 230, Weather = Normal | Icy }, // Corviknight at Ballimere Lake - new(SWSH) { Species = 862, Level = 68, Location = 230, Weather = Overcast }, // Obstagoon at Ballimere Lake - new(SWSH) { Species = 715, Level = 67, Location = 230, Weather = Overcast | Raining }, // Noivern at Ballimere Lake - new(SWSH) { Species = 547, Level = 65, Location = 230, Weather = Normal | Raining }, // Whimsicott at Ballimere Lake - new(SWSH) { Species = 836, Level = 67, Location = 230, Weather = Normal | Stormy | Snowing | Heavy_Fog }, // Boltund at Ballimere Lake - new(SWSH) { Species = 830, Level = 65, Location = 230, Weather = Raining | Intense_Sun }, // Eldegoss at Ballimere Lake + new() { Species = 623, Level = 65, Location = 226, Crossover = new(228), Weather = All_CT }, // Golurk at the Frigid Sea (c), Three-Point Pass + new() { Species = 467, Level = 68, Location = 226, Crossover = new(230), Weather = Intense_Sun }, // Magmortar at Frigid Sea (c), Ballimere Lake + new() { Species = 466, Level = 68, Location = 226, Crossover = new(228, 230), Weather = Thunderstorm }, // Electivire at the Frigid Sea, Three-Point Pass, Ballimere Lake + new() { Species = 858, Level = 67, Location = 226, Crossover = new(230), Weather = Heavy_Fog }, // Hatterene at the Frigid Sea, Ballimere Lake + new() { Species = 887, Level = 68, Location = 228, Weather = Normal | Overcast | Raining | Intense_Sun | Icy | Heavy_Fog }, // Dragapult in Three-Point Pass + new() { Species = 531, Level = 62, Location = 230, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Audino at Ballimere Lake + new() { Species = 584, Level = 67, Location = 230, Weather = Snowing }, // Vanilluxe at Ballimere Lake + new() { Species = 823, Level = 68, Location = 230, Weather = Normal | Icy }, // Corviknight at Ballimere Lake + new() { Species = 862, Level = 68, Location = 230, Weather = Overcast }, // Obstagoon at Ballimere Lake + new() { Species = 715, Level = 67, Location = 230, Weather = Overcast | Raining }, // Noivern at Ballimere Lake + new() { Species = 547, Level = 65, Location = 230, Weather = Normal | Raining }, // Whimsicott at Ballimere Lake + new() { Species = 836, Level = 67, Location = 230, Weather = Normal | Stormy | Snowing | Heavy_Fog }, // Boltund at Ballimere Lake + new() { Species = 830, Level = 65, Location = 230, Weather = Raining | Intense_Sun }, // Eldegoss at Ballimere Lake new(SW ) { Species = 876, Level = 65, Location = 230, Weather = Normal | Heavy_Fog }, // Indeedee at Ballimere Lake new( SH) { Species = 876, Level = 65, Location = 230, Form = 01, Weather = Normal | Heavy_Fog }, // Indeedee-1 at Ballimere Lake - new(SWSH) { Species = 696, Level = 63, Location = 230, Weather = All_CT }, // Tyrunt at Ballimere Lake - new(SWSH) { Species = 213, Level = 65, Location = 230, Weather = Normal | Intense_Sun }, // Shuckle at Ballimere Lake - new(SWSH) { Species = 820, Level = 68, Location = 230, Weather = All_Ballimere }, // Greedent at Ballimere Lake - new(SWSH) { Species = 877, Level = 65, Location = 230, Weather = Overcast | Thunderstorm }, // Morpeko at Ballimere Lake - new(SWSH) { Species = 596, Level = 67, Location = 230, Weather = Thunderstorm }, // Galvantula at Ballimere Lake - new(SWSH) { Species = 839, Level = 68, Location = 230, Weather = Normal | Thunderstorm | Intense_Sun | Snowing | Heavy_Fog }, // Coalossal at Ballimere Lake - new(SWSH) { Species = 697, Level = 69, Location = 230, Weather = All_Ballimere }, // Tyrantrum at Ballimere Lake - new(SWSH) { Species = 531, Level = 65, Location = 230, Weather = Heavy_Fog }, // Audino at Ballimere Lake - new(SWSH) { Species = 304, Level = 63, Location = 230, Weather = All_Ballimere }, // Aron at Ballimere Lake - new(SWSH) { Species = 149, Level = 70, Location = 230, Weather = Raining | Thunderstorm }, // Dragonite at Ballimere Lake - new(SWSH) { Species = 348, Level = 67, Location = 230, Weather = Raining | Thunderstorm }, // Armaldo at Ballimere Lake - new(SWSH) { Species = 347, Level = 63, Location = 230, Weather = All_Ballimere }, // Anorith at Ballimere Lake - new(SWSH) { Species = 369, Level = 65, Location = 230, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Relicanth at Ballimere Lake - new(SWSH) { Species = 147, Level = 63, Location = 230, Weather = Raining | Heavy_Fog }, // Dratini at Ballimere Lake - new(SWSH) { Species = 148, Level = 65, Location = 230, Weather = Thunderstorm | Heavy_Fog }, // Dragonair at Ballimere Lake - new(SWSH) { Species = 615, Level = 65, Location = 230, Weather = Icy }, // Cryogonal at Ballimere Lake - new(SWSH) { Species = 715, Level = 67, Location = 232, Weather = Overcast }, // Noivern in Lakeside Cave - new(SWSH) { Species = 306, Level = 68, Location = 232, Weather = Overcast }, // Aggron in Lakeside Cave - new(SWSH) { Species = 598, Level = 67, Location = 232, Weather = All_Ballimere }, // Ferrothorn in Lakeside Cave - new(SWSH) { Species = 305, Level = 63, Location = 232, Weather = Overcast }, // Lairon in Lakeside Cave - new(SWSH) { Species = 839, Level = 68, Location = 232, Weather = Overcast }, // Coalossal in Lakeside Cave - new(SWSH) { Species = 820, Level = 68, Location = 234, Weather = All_Ballimere }, // Greedent at Dyna Tree Hill - #endregion + new() { Species = 696, Level = 63, Location = 230, Weather = All_CT }, // Tyrunt at Ballimere Lake + new() { Species = 213, Level = 65, Location = 230, Weather = Normal | Intense_Sun }, // Shuckle at Ballimere Lake + new() { Species = 820, Level = 68, Location = 230, Weather = All_Ballimere }, // Greedent at Ballimere Lake + new() { Species = 877, Level = 65, Location = 230, Weather = Overcast | Thunderstorm }, // Morpeko at Ballimere Lake + new() { Species = 596, Level = 67, Location = 230, Weather = Thunderstorm }, // Galvantula at Ballimere Lake + new() { Species = 839, Level = 68, Location = 230, Weather = Normal | Thunderstorm | Intense_Sun | Snowing | Heavy_Fog }, // Coalossal at Ballimere Lake + new() { Species = 697, Level = 69, Location = 230, Weather = All_Ballimere }, // Tyrantrum at Ballimere Lake + new() { Species = 531, Level = 65, Location = 230, Weather = Heavy_Fog }, // Audino at Ballimere Lake + new() { Species = 304, Level = 63, Location = 230, Weather = All_Ballimere }, // Aron at Ballimere Lake + new() { Species = 149, Level = 70, Location = 230, Weather = Raining | Thunderstorm }, // Dragonite at Ballimere Lake + new() { Species = 348, Level = 67, Location = 230, Weather = Raining | Thunderstorm }, // Armaldo at Ballimere Lake + new() { Species = 347, Level = 63, Location = 230, Weather = All_Ballimere }, // Anorith at Ballimere Lake + new() { Species = 369, Level = 65, Location = 230, Weather = Normal | Overcast | Stormy | Intense_Sun | Snowing }, // Relicanth at Ballimere Lake + new() { Species = 147, Level = 63, Location = 230, Weather = Raining | Heavy_Fog }, // Dratini at Ballimere Lake + new() { Species = 148, Level = 65, Location = 230, Weather = Thunderstorm | Heavy_Fog }, // Dragonair at Ballimere Lake + new() { Species = 615, Level = 65, Location = 230, Weather = Icy }, // Cryogonal at Ballimere Lake + new() { Species = 715, Level = 67, Location = 232, Weather = Overcast }, // Noivern in Lakeside Cave + new() { Species = 306, Level = 68, Location = 232, Weather = Overcast }, // Aggron in Lakeside Cave + new() { Species = 598, Level = 67, Location = 232, Weather = All_Ballimere }, // Ferrothorn in Lakeside Cave + new() { Species = 305, Level = 63, Location = 232, Weather = Overcast }, // Lairon in Lakeside Cave + new() { Species = 839, Level = 68, Location = 232, Weather = Overcast }, // Coalossal in Lakeside Cave + new() { Species = 820, Level = 68, Location = 234, Weather = All_Ballimere }, // Greedent at Dyna Tree Hill }; private const string tradeSWSH = "tradeswsh"; @@ -798,6 +801,9 @@ static Encounters8() internal static readonly EncounterTrade8[] TradeGift_SWSH = ArrayUtil.ConcatAll(TradeGift_Regular, TradeGift_R1); - internal static readonly EncounterStatic[] StaticSW = ArrayUtil.ConcatAll(Nest_Common, Nest_SW, Nest_SH, Dist_DLC2, Dist_DLC1, Dist_Base, GetEncounters(Crystal_SWSH, SW), DynAdv_SWSH, GetEncounters(Encounter_SWSH, SW)); - internal static readonly EncounterStatic[] StaticSH = ArrayUtil.ConcatAll(Nest_Common, Nest_SW, Nest_SH, Dist_DLC2, Dist_DLC1, Dist_Base, GetEncounters(Crystal_SWSH, SH), DynAdv_SWSH, GetEncounters(Encounter_SWSH, SH)); + internal static readonly EncounterStatic[] StaticSW = ArrayUtil.ConcatAll(Nest_SW, Nest_SH, Dist_SW, Dist_SH, DynAdv_SWSH, Crystal_SWSH, + GetEncounters(new EncounterStatic[][] { Encounter_SWSH_0, Encounter_SWSH_Strong0, Encounter_SWSH_Strong1, Encounter_SWSH_Strong2 }, SH)); + + internal static readonly EncounterStatic[] StaticSH = ArrayUtil.ConcatAll(Nest_SW, Nest_SH, Dist_SW, Dist_SH, DynAdv_SWSH, Crystal_SWSH, + GetEncounters(new EncounterStatic[][] { Encounter_SWSH_0, Encounter_SWSH_Strong0, Encounter_SWSH_Strong1, Encounter_SWSH_Strong2 }, SW)); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8Nest.cs b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8Nest.cs new file mode 100644 index 000000000..65777d74e --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8Nest.cs @@ -0,0 +1,334 @@ +using System; +using System.Collections.Generic; +using static PKHeX.Core.GameVersion; + +namespace PKHeX.Core; + +internal static class Encounters8Nest +{ + internal static readonly IReadOnlyList NestLocations = new [] + { + new byte[] {144, 134, 122}, // 000 : Stony Wilderness, South Lake Miloch, Rolling Fields + new byte[] {144, 126}, // 001 : Stony Wilderness, Watchtower Ruins + new byte[] {144, 122}, // 002 : Stony Wilderness, Rolling Fields + new byte[] {142, 124, 122}, // 003 : Bridge Field, Dappled Grove, Rolling Fields + new byte[] {142, 134}, // 004 : Bridge Field, South Lake Miloch + new byte[] {144, 126}, // 005 : Stony Wilderness, Watchtower Ruins + new byte[] {128, 130}, // 006 : East Lake Axewell, West Lake Axewell + new byte[] {154, 142, 134}, // 007 : Lake of Outrage, Bridge Field, South Lake Miloch + new byte[] {146, 130}, // 008 : Dusty Bowl, West Lake Axewell + new byte[] {146, 138}, // 009 : Dusty Bowl, North Lake Miloch + new byte[] {146, 136}, // 010 : Dusty Bowl, Giants Seat + new byte[] {150, 144, 136}, // 011 : Hammerlocke Hills, Stony Wilderness, Giants Seat + new byte[] {142}, // 012 : Bridge Field + new byte[] {150, 144, 140}, // 013 : Hammerlocke Hills, Stony Wilderness, Motostoke Riverbank + new byte[] {146, 136}, // 014 : Dusty Bowl, Giants Seat + new byte[] {142, 122}, // 015 : Bridge Field, Rolling Fields + new byte[] {146}, // 016 : Dusty Bowl + new byte[] {154, 152, 144}, // 017 : Lake of Outrage, Giants Cap, Stony Wilderness + new byte[] {150, 144}, // 018 : Hammerlocke Hills, Stony Wilderness + new byte[] {146}, // 019 : Dusty Bowl + new byte[] {146}, // 020 : Dusty Bowl + new byte[] {144}, // 021 : Stony Wilderness + new byte[] {150, 152}, // 022 : Hammerlocke Hills, Giants Cap + new byte[] {152, 140}, // 023 : Giants Cap, Motostoke Riverbank + new byte[] {154, 148}, // 024 : Lake of Outrage, Giants Mirror + new byte[] {124}, // 025 : Dappled Grove + new byte[] {148, 144, 142}, // 026 : Giants Mirror, Stony Wilderness, Bridge Field + new byte[] {148, 124, 146}, // 027 : Giants Mirror, Dappled Grove AND Dusty Bowl (Giant's Mirror load-line overlap) + new byte[] {138, 128}, // 028 : North Lake Miloch, East Lake Axewell + new byte[] {150, 152, 140}, // 029 : Hammerlocke Hills, Giants Cap, Motostoke Riverbank + new byte[] {128, 122}, // 030 : East Lake Axewell, Rolling Fields + new byte[] {150, 152}, // 031 : Hammerlocke Hills, Giants Cap + new byte[] {150, 122}, // 032 : Hammerlocke Hills, Rolling Fields + new byte[] {154, 142}, // 033 : Lake of Outrage, Bridge Field + new byte[] {144, 130}, // 034 : Stony Wilderness, West Lake Axewell + new byte[] {142, 146, 148}, // 035 : Bridge Field, Dusty Bowl, Giants Mirror + new byte[] {122}, // 036 : Rolling Fields + new byte[] {132}, // 037 : Axew's Eye + new byte[] {128, 122}, // 038 : East Lake Axewell, Rolling Fields + new byte[] {144, 142, 140}, // 039 : Stony Wilderness, Bridge Field, Motostoke Riverbank + new byte[] {134, 138}, // 040 : South Lake Miloch, North Lake Miloch + new byte[] {148, 130}, // 041 : Giants Mirror, West Lake Axewell + new byte[] {148, 144, 134, 146}, // 042 : Giants Mirror, Stony Wilderness, South Lake Miloch AND Dusty Bowl (Giant's Mirror load-line overlap) + new byte[] {154, 142, 128, 130}, // 043 : Lake of Outrage, Bridge Field, East Lake Axewell, West Lake Axewell + new byte[] {150, 136}, // 044 : Hammerlocke Hills, Giants Seat + new byte[] {142, 134, 122}, // 045 : Bridge Field, South Lake Miloch, Rolling Fields + new byte[] {126}, // 046 : Watchtower Ruins + new byte[] {146, 138, 122, 134}, // 047 : Dusty Bowl, North Lake Miloch, Rolling Fields, South Lake Miloch + new byte[] {146, 136}, // 048 : Dusty Bowl, Giants Seat + new byte[] {144, 140, 126}, // 049 : Stony Wilderness, Motostoke Riverbank, Watchtower Ruins + new byte[] {144, 136, 122}, // 050 : Stony Wilderness, Giants Seat, Rolling Fields + new byte[] {146, 142, 122}, // 051 : Dusty Bowl, Bridge Field, Rolling Fields + new byte[] {150}, // 052 : Hammerlocke Hills + new byte[] {146, 144}, // 053 : Dusty Bowl, Stony Wilderness + new byte[] {152, 146, 144}, // 054 : Giants Cap, Dusty Bowl, Stony Wilderness + new byte[] {154, 140}, // 055 : Lake of Outrage, Motostoke Riverbank + new byte[] {150}, // 056 : Hammerlocke Hills + new byte[] {124}, // 057 : Dappled Grove + new byte[] {144, 142, 124}, // 058 : Stony Wilderness, Bridge Field, Dappled Grove + new byte[] {152, 140, 138}, // 059 : Giants Cap, Motostoke Riverbank, North Lake Miloch + new byte[] {150, 128}, // 060 : Hammerlocke Hills, East Lake Axewell + new byte[] {150, 122}, // 061 : Hammerlocke Hills, Rolling Fields + new byte[] {144, 142, 130}, // 062 : Stony Wilderness, Bridge Field, West Lake Axewell + new byte[] {132, 122}, // 063 : Axew's Eye, Rolling Fields + new byte[] {142, 140, 128, 122}, // 064 : Bridge Field, Motostoke Riverbank, East Lake Axewell, Rolling Fields + new byte[] {144}, // 065 : Stony Wilderness + new byte[] {148}, // 066 : Giants Mirror + new byte[] {150}, // 067 : Hammerlocke Hills + new byte[] {148}, // 068 : Giants Mirror + new byte[] {148}, // 069 : Giants Mirror + new byte[] {152}, // 070 : Giants Cap + new byte[] {148}, // 071 : Giants Mirror + new byte[] {150}, // 072 : Hammerlocke Hills + new byte[] {154}, // 073 : Lake of Outrage + new byte[] {146, 130}, // 074 : Dusty Bowl, West Lake Axewell + new byte[] {138, 134}, // 075 : North Lake Miloch, South Lake Miloch + new byte[] {154}, // 076 : Lake of Outrage + new byte[] {152}, // 077 : Giants Cap + new byte[] {124}, // 078 : Dappled Grove + new byte[] {144}, // 079 : Stony Wilderness + new byte[] {144}, // 080 : Stony Wilderness + new byte[] {142}, // 081 : Bridge Field + new byte[] {136}, // 082 : Giants Seat + new byte[] {136}, // 083 : Giants Seat + new byte[] {144}, // 084 : Stony Wilderness + new byte[] {128}, // 085 : East Lake Axewell + new byte[] {142}, // 086 : Bridge Field + new byte[] {146}, // 087 : Dusty Bowl + new byte[] {152}, // 088 : Giants Cap + new byte[] {122}, // 089 : Rolling Fields + new byte[] {130, 134}, // 090 : West Lake Axewell, South Lake Miloch + new byte[] {142, 124}, // 091 : Bridge Field, Dappled Grove + new byte[] {146}, // 092 : Dusty Bowl + Array.Empty(), // 093 : None + Array.Empty(), // 094 : None + Array.Empty(), // 095 : None + Array.Empty(), // 096 : None + Array.Empty(), // 097 : None + new byte[] {164, 166, 188, 190}, // 098 : Fields of Honor, Soothing Wetlands, Stepping-Stone Sea, Insular Sea + new byte[] {164, 166, 188, 190}, // 099 : Fields of Honor, Soothing Wetlands, Stepping-Stone Sea, Insular Sea + new byte[] {166, 176, 180}, // 100 : Soothing Wetlands, Courageous Cavern, Training Lowlands + new byte[] {166, 176, 180}, // 101 : Soothing Wetlands, Courageous Cavern, Training Lowlands + new byte[] {170, 176, 184, 188}, // 102 : Challenge Beach, Courageous Cavern, Potbottom Desert, Stepping-Stone Sea + new byte[] {170, 176, 188}, // 103 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea + new byte[] {164, 168, 170, 192}, // 104 : Fields of Honor, Forest of Focus, Challenge Beach, Honeycalm Sea + new byte[] {164, 168, 170, 192}, // 105 : Fields of Honor, Forest of Focus, Challenge Beach, Honeycalm Sea + new byte[] {174, 178, 186, 188}, // 106 : Challenge Road, Loop Lagoon, Workout Sea, Stepping-Stone Sea + new byte[] {174, 178, 186, 188}, // 107 : Challenge Road, Loop Lagoon, Workout Sea, Stepping-Stone Sea + new byte[] {164, 168, 180, 186}, // 108 : Fields of Honor, Forest of Focus, Training Lowlands, Workout Sea + new byte[] {164, 168, 186}, // 109 : Fields of Honor, Forest of Focus, Workout Sea + new byte[] {164, 166, 180, 190}, // 110 : Fields of Honor, Soothing Wetlands, Training Lowlands, Insular Sea + new byte[] {164, 166, 180, 190}, // 111 : Fields of Honor, Soothing Wetlands, Training Lowlands, Insular Sea + new byte[] {164, 170, 178, 184}, // 112 : Fields of Honor, Challenge Beach, Loop Lagoon, Potbottom Desert + new byte[] {164, 170, 178, 184}, // 113 : Fields of Honor, Challenge Beach, Loop Lagoon, Potbottom Desert + new byte[] {164, 180, 184}, // 114 : Fields of Honor, Training Lowlands, Potbottom Desert + new byte[] {164, 180, 184}, // 115 : Fields of Honor, Training Lowlands, Potbottom Desert + new byte[] {166, 170, 180, 188}, // 116 : Soothing Wetlands, Challenge Beach, Training Lowlands, Stepping-Stone Sea + new byte[] {166, 170, 180, 188}, // 117 : Soothing Wetlands, Challenge Beach, Training Lowlands, Stepping-Stone Sea + new byte[] {166, 168, 180, 188}, // 118 : Soothing Wetlands, Forest of Focus, Training Lowlands, Stepping-Stone Sea + new byte[] {166, 168, 180, 188}, // 119 : Soothing Wetlands, Forest of Focus, Training Lowlands, Stepping-Stone Sea + new byte[] {166, 174, 186, 192}, // 120 : Soothing Wetlands, Challenge Road, Workout Sea, Honeycalm Sea + new byte[] {166, 174, 186, 192}, // 121 : Soothing Wetlands, Challenge Road, Workout Sea, Honeycalm Sea + new byte[] {164, 170, 174, 192}, // 122 : Fields of Honor, Challenge Beach, Challenge Road, Honeycalm Sea + new byte[] {164, 170, 174, 192}, // 123 : Fields of Honor, Challenge Beach, Challenge Road, Honeycalm Sea + new byte[] {164, 166, 168, 190}, // 124 : Fields of Honor, Soothing Wetlands, Forest of Focus, Insular Sea + new byte[] {164, 166, 168, 190}, // 125 : Fields of Honor, Soothing Wetlands, Forest of Focus, Insular Sea + new byte[] {170, 176, 188}, // 126 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea + new byte[] {170, 176, 188}, // 127 : Challenge Beach, Courageous Cavern, Stepping-Stone Sea + new byte[] {172, 176, 188}, // 128 : Brawlers' Cave, Courageous Cavern, Stepping-Stone Sea + new byte[] {172, 176, 188}, // 129 : Brawlers' Cave, Courageous Cavern, Stepping-Stone Sea + new byte[] {178, 186, 192}, // 130 : Loop Lagoon, Workout Sea, Honeycalm Sea + new byte[] {186, 192}, // 131 : Workout Sea, Honeycalm Sea + new byte[] {164, 166, 176}, // 132 : Fields of Honor, Soothing Wetlands, Courageous Cavern + new byte[] {164, 166, 176}, // 133 : Fields of Honor, Soothing Wetlands, Courageous Cavern + new byte[] {166, 168, 170, 176}, // 134 : Soothing Wetlands, Forest of Focus, Challenge Beach, Courageous Cavern + new byte[] {166, 168, 170}, // 135 : Soothing Wetlands, Forest of Focus, Challenge Beach + new byte[] {164, 170, 178, 190}, // 136 : Fields of Honor, Challenge Beach, Loop Lagoon, Insular Sea + new byte[] {164, 170, 178}, // 137 : Fields of Honor, Challenge Beach, Loop Lagoon + new byte[] {186, 188, 190, 192}, // 138 : Workout Sea, Stepping-Stone Sea, Insular Sea, Honeycalm Sea + new byte[] {186, 188, 190, 192}, // 139 : Workout Sea, Stepping-Stone Sea, Insular Sea, Honeycalm Sea + Array.Empty(), // 140 : None + Array.Empty(), // 141 : None + new byte[] {194}, // 142 : Honeycalm Island + new byte[] {194}, // 143 : Honeycalm Island + new byte[] {168, 180}, // 144 : Forest of Focus, Training Lowlands + new byte[] {186, 188}, // 145 : Workout Sea, Stepping-Stone Sea + new byte[] {190}, // 146 : Insular Sea + new byte[] {176}, // 147 : Courageous Cavern + new byte[] {180}, // 148 : Training Lowlands + new byte[] {184}, // 149 : Potbottom Desert + new byte[] {178}, // 150 : Loop Lagoon + new byte[] {186}, // 151 : Workout Sea + new byte[] {186}, // 152 : Workout Sea + new byte[] {168, 180}, // 153 : Forest of Focus, Training Lowlands + new byte[] {186, 188}, // 154 : Workout Sea, Stepping-Stone Sea + new byte[] {174}, // 155 : Challenge Road + new byte[] {174}, // 156 : Challenge Road + + new byte[] {204,210,222,230}, // 157 : Slippery Slope, Giant's Bed, Giant's Foot, Ballimere Lake + new byte[] {204,210,222,230}, // 158 : Slippery Slope, Giant's Bed, Giant's Foot, Ballimere Lake + new byte[] {210,214,222,230}, // 159 : Giant's Bed, Snowslide Slope, Giant's Foot, Ballimere Lake + new byte[] {210,214,222,230}, // 160 : Giant's Bed, Snowslide Slope, Giant's Foot, Ballimere Lake + new byte[] {210,222,226,230}, // 161 : Giant's Bed, Giant's Foot, Frigid Sea, Ballimere Lake + new byte[] {210,222,226,230}, // 162 : Giant's Bed, Giant's Foot, Frigid Sea, Ballimere Lake + new byte[] {208,210,226,228,230},// 163 : Frostpoint Field, Giant's Bed, Frigid Sea, Three-Point Pass, Ballimere Lake + new byte[] {208,210,226,228,230},// 164 : Frostpoint Field, Giant's Bed, Frigid Sea, Three-Point Pass, Ballimere Lake + new byte[] {204,210,220,222,230},// 165 : Slippery Slope, Giant's Bed, Crown Shrine, Giant's Foot, Ballimere Lake + new byte[] {204,210,220,222,230},// 166 : Slippery Slope, Giant's Bed, Crown Shrine, Giant's Foot, Ballimere Lake + new byte[] {204,214,226}, // 167 : Slippery Slope, Snowslide Slope, Frigid Sea + new byte[] {204,214,226}, // 168 : Slippery Slope, Snowslide Slope, Frigid Sea + new byte[] {210,226}, // 169 : Giant's Bed, Frigid Sea + new byte[] {210,226}, // 170 : Giant's Bed, Frigid Sea + new byte[] {208,210,214,226,230},// 171 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake + new byte[] {208,210,214,226,230},// 172 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake + new byte[] {210,226,230}, // 173 : Giant's Bed, Frigid Sea, Ballimere Lake + new byte[] {210,226,230}, // 174 : Giant's Bed, Frigid Sea, Ballimere Lake + new byte[] {208,210,226,230,234},// 175 : Frostpoint Field, Giant's Bed, Frigid Sea, Ballimere Lake, Dyna Tree Hill + new byte[] {208,210,226,230,234},// 176 : Frostpoint Field, Giant's Bed, Frigid Sea, Ballimere Lake, Dyna Tree Hill + new byte[] {210,214,218,230}, // 177 : Giant's Bed, Snowslide Slope, Path to the Peak, Ballimere Lake + new byte[] {210,214,218,230}, // 178 : Giant's Bed, Snowslide Slope, Path to the Peak, Ballimere Lake + new byte[] {204,210,214,230}, // 179 : Slippery Slope, Giant's Bed, Snowslide Slope, Ballimere Lake + new byte[] {204,210,214,230}, // 180 : Slippery Slope, Giant's Bed, Snowslide Slope, Ballimere Lake + new byte[] {204,212,222,226,230},// 181 : Slippery Slope, Old Cemetery, Giant's Foot, Frigid Sea, Ballimere Lake + new byte[] {204,212,222,226,230},// 182 : Slippery Slope, Old Cemetery, Giant's Foot, Frigid Sea, Ballimere Lake + new byte[] {210,218,226,228,230},// 183 : Giant's Bed, Path to the Peak, Frigid Sea, Three-Point Pass, Ballimere Lake + new byte[] {210,218,226,228,230},// 184 : Giant's Bed, Path to the Peak, Frigid Sea, Three-Point Pass, Ballimere Lake + new byte[] {208,210,214,222,226},// 185 : Frostpoint Field, Giant's Bed, Snowslide Slope, Giant's Foot, Frigid Sea + new byte[] {208,210,214,222,226},// 186 : Frostpoint Field, Giant's Bed, Snowslide Slope, Giant's Foot, Frigid Sea + new byte[] {210,214,218,226}, // 187 : Giant's Bed, Snowslide Slope, Path to the Peak, Frigid Sea + new byte[] {210,214,218,226}, // 188 : Giant's Bed, Snowslide Slope, Path to the Peak, Frigid Sea + new byte[] {208,210,214,226,230},// 189 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake + new byte[] {208,210,214,226,230},// 190 : Frostpoint Field, Giant's Bed, Snowslide Slope, Frigid Sea, Ballimere Lake + new byte[] {210,212,230}, // 191 : Giant's Bed, Old Cemetery, Ballimere Lake + new byte[] {210,212,230}, // 192 : Giant's Bed, Old Cemetery, Ballimere Lake + new byte[] {230}, // 193 : Ballimere Lake + new byte[] {230}, // 194 : Ballimere Lake + new byte[] {214}, // 195 : Snowslide Slope + new byte[] {214}, // 196 : Snowslide Slope + }; + + /// + /// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode. + /// + internal static readonly HashSet InaccessibleRank12DistributionLocations = new() {154,178,186,188,190,192,194,226,228,230,234}; // Areas that are entirely restricted to water + + /// + /// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode. + /// + internal static readonly Dictionary InaccessibleRank12Nests = new() + { + {128, new byte[] {6,43}}, // East Lake Axewell + {130, new byte[] {6,41,43}}, // West Lake Axewell + {132, new byte[] {37,63}}, // Axew's Eye + {134, new byte[] {7,40,75,90}}, // South Lake Miloch + {138, new byte[] {40,75}}, // North Lake Miloch + {142, new byte[] {7,43}}, // Bridge Field + {146, new byte[] {8,74}}, // Dusty Bowl + {148, new byte[] {41,66}}, // Giant's Mirror + {154, new byte[] {7,17,24,33,43,55,73,76}}, // Lake of Outrage + {164, new byte[] {136,137}}, // Fields of Honor + {168, new byte[] {124,125,134,135,144,153}}, // Forest of Focus + {170, new byte[] {126,127}}, // Challenge Beach + {176, new byte[] {132,133}}, // Courageous Cavern + {178, new byte[] {106,107,112,113,130,136,137,150}}, // Loop Lagoon + {180, new byte[] {116,117}}, // Training Lowlands + {186, new byte[] {106,107,108,109,120,121,130,131,138,139,145,151,152,154}}, // Workout Sea + {188, new byte[] {98,99,102,103,106,107,116,117,118,119,126,127,128,129,138,139,145,154}}, // Stepping-Stone Sea + {190, new byte[] {98,99,110,111,124,125,136,138,139,146}}, // Insular Sea + {192, new byte[] {104,105,120,121,122,123,130,131,138,139}}, // Honeycalm Sea + {194, new byte[] {142,143}}, // Honeycalm Island + {210, new byte[] {169,170,183,184}}, // Giant's Bed + {222, new byte[] {181,182,185,186}}, // Giant's Foot + {226, new byte[] {161,162,163,164,167,168,169,170,171,172,173,174,175,176,181,182,183,184,185,186,187,188,189,190}}, // Frigid Sea + {228, new byte[] {163,164,183,184}}, // Three-Point Pass + {230, new byte[] {157,158,159,160,161,162,163,164,165,166,171,172,173,174,175,176,177,178,179,180,181,182,183,184,189,190,191,192,193,194}}, // Ballimere Lake + {234, new byte[] {175,176}}, // Dyna Tree Hill + + {162, new byte[] {6,7,37,40,41,43,66,73,75,76,130,131,138,139,142,143,145,146,150,151,152,154,169,170,193,194}}, // Completely inaccessible + }; + + // Abilities Allowed + private const AbilityPermission A0 = AbilityPermission.OnlyFirst; + //private const AbilityPermission A1 = AbilityPermission.OnlySecond; + private const AbilityPermission A2 = AbilityPermission.OnlyHidden; + private const AbilityPermission A3 = AbilityPermission.Any12; + //private const AbilityPermission A4 = AbilityPermission.Any12H; + + internal const int SharedNest = 162; + internal const int Watchtower = 126; + internal const int MaxLair = 244; + + internal static readonly EncounterStatic8N[] Nest_SW = GetBase("sw", SW); + internal static readonly EncounterStatic8N[] Nest_SH = GetBase("sh", SH); + + internal static readonly EncounterStatic8ND[] Dist_SW = GetDist("sw", SW); + internal static readonly EncounterStatic8ND[] Dist_SH = GetDist("sh", SH); + + internal static readonly EncounterStatic8U[] DynAdv_SWSH = GetUnderground(); + + internal static readonly EncounterStatic8NC[] Crystal_SWSH = + { + new(SWSH) { Species = 782, Level = 16, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(033,029,525,043) }, // ★And458 Jangmo-o + new(SWSH) { Species = 246, Level = 16, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(033,157,371,044) }, // ★And15 Larvitar + new(SWSH) { Species = 823, Level = 50, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,31), DynamaxLevel = 5, Moves = new(065,442,034,796), CanGigantamax = true }, // ★And337 Gigantamax Corviknight + new(SWSH) { Species = 875, Level = 15, Ability = A3, Location = 126, IVs = new(31,31,-1,31,-1,-1), DynamaxLevel = 2, Moves = new(181,311,054,556) }, // ★And603 Eiscue + new(SWSH) { Species = 874, Level = 15, Ability = A3, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 2, Moves = new(397,317,335,157) }, // ★And390 Stonjourner + new(SWSH) { Species = 879, Level = 35, Ability = A3, Location = 126, IVs = new(31,31,-1, 0,31,-1), DynamaxLevel = 4, Moves = new(484,174,776,583), CanGigantamax = true }, // ★Sgr6879 Gigantamax Copperajah + new(SWSH) { Species = 851, Level = 35, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(680,679,489,438), CanGigantamax = true }, // ★Sgr6859 Gigantamax Centiskorch + new(SW ) { Species = 842, Level = 40, Ability = A0, Location = 126, IVs = new(31,-1,31,-1,31,-1), DynamaxLevel = 5, Moves = new(787,412,406,076), CanGigantamax = true }, // ★Sgr6913 Gigantamax Appletun + new( SH) { Species = 841, Level = 40, Ability = A0, Location = 126, IVs = new(31,31,-1,31,-1,-1), DynamaxLevel = 5, Moves = new(788,491,412,406), CanGigantamax = true }, // ★Sgr6913 Gigantamax Flapple + new(SWSH) { Species = 844, Level = 40, Ability = A0, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(523,776,489,157), CanGigantamax = true }, // ★Sgr7348 Gigantamax Sandaconda + new(SWSH) { Species = 884, Level = 40, Ability = A2, Location = 126, IVs = new(31,-1,-1,31,31,-1), DynamaxLevel = 5, Moves = new(796,063,784,319), CanGigantamax = true }, // ★Sgr7121 Gigantamax Duraludon + new(SWSH) { Species = 025, Level = 25, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(606,273,104,085), CanGigantamax = true }, // ★Sgr6746 Gigantamax Pikachu + new(SWSH) { Species = 133, Level = 25, Ability = A2, Location = 126, IVs = new(31,31,31,-1,-1,-1), DynamaxLevel = 5, Moves = new(606,273,038,129), CanGigantamax = true }, // ★Sgr7194 Gigantamax Eevee + }; + + private static EncounterStatic8N[] GetBase(string name, GameVersion game) + { + var data = EncounterUtil.Get($"{name}_nest"); + const int size = 10; + var result = new EncounterStatic8N[data.Length / size]; + + for (int i = 0; i < result.Length; i++) + { + var slice = data.Slice(i * size, size); + result[i] = EncounterStatic8N.Read(slice, game); + } + + return result; + } + + private static EncounterStatic8ND[] GetDist(string name, GameVersion game) + { + var data = EncounterUtil.Get($"{name}_dist"); + const int size = 0x10; + var result = new EncounterStatic8ND[data.Length / size]; + + for (int i = 0; i < result.Length; i++) + { + var slice = data.Slice(i * size, size); + result[i] = EncounterStatic8ND.Read(slice, game); + } + + return result; + } + + // These are encountered as never-shiny, but forced shiny (Star) if the 1:300 (1:100 w/charm) post-adventure roll activates. + // The game does try to gate specific entries to Sword / Shield, but this restriction is ignored for online battles. + // All captures share the same met location, so there is no way to distinguish an online-play result from a local-play result. + private static EncounterStatic8U[] GetUnderground() + { + var data = EncounterUtil.Get("swsh_underground"); + const int size = 14; + var result = new EncounterStatic8U[data.Length / size]; + + for (int i = 0; i < result.Length; i++) + { + var slice = data.Slice(i * size, size); + result[i] = EncounterStatic8U.Read(slice); + } + + return result; + } +} diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8a.cs b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8a.cs similarity index 100% rename from PKHeX.Core/Legality/Encounters/Data/Encounters8a.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8a.cs diff --git a/PKHeX.Core/Legality/Encounters/Data/Encounters8b.cs b/PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8b.cs similarity index 100% rename from PKHeX.Core/Legality/Encounters/Data/Encounters8b.cs rename to PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8b.cs diff --git a/PKHeX.Core/Legality/Encounters/Data/EncounterServerDate.cs b/PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDate.cs similarity index 86% rename from PKHeX.Core/Legality/Encounters/Data/EncounterServerDate.cs rename to PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDate.cs index 2b1327d76..a45c16694 100644 --- a/PKHeX.Core/Legality/Encounters/Data/EncounterServerDate.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDate.cs @@ -4,30 +4,6 @@ namespace PKHeX.Core; -/// -/// Provides indication that the encounter may or may not have a specific date range to consider. -/// -public interface IEncounterServerDate -{ - /// - /// If true, the date range it may be acquired at is restricted to a specific date range. - /// - bool IsDateRestricted { get; } -} - -/// -/// Enumeration indicating if a date range check is satisfied. -/// -public enum EncounterServerDateCheck -{ - /// No need to consider date range. - None, - /// Date does fall within the range it was available. - Valid, - /// Date does NOT fall within the range it was available. - Invalid, -} - /// /// Logic to check if a date obtained is within the date of availability. /// @@ -109,4 +85,9 @@ private static bool IsValidDate(DateTime obtained, (DateTime Start, DateTime? En {9016, (new(2022, 05, 18), Never)}, // Hidden Ability Chimchar {9017, (new(2022, 05, 18), Never)}, // Hidden Ability Piplup }; + + /// + /// Minimum date the gift can be received. + /// + public static Dictionary WC9Gifts = new(0); } diff --git a/PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDateCheck.cs b/PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDateCheck.cs new file mode 100644 index 000000000..a8367a3a0 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Live/EncounterServerDateCheck.cs @@ -0,0 +1,14 @@ +namespace PKHeX.Core; + +/// +/// Enumeration indicating if a date range check is satisfied. +/// +public enum EncounterServerDateCheck +{ + /// No need to consider date range. + None, + /// Date does fall within the range it was available. + Valid, + /// Date does NOT fall within the range it was available. + Invalid, +} diff --git a/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs b/PKHeX.Core/Legality/Encounters/Data/Live/EncountersGO.cs similarity index 99% rename from PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs rename to PKHeX.Core/Legality/Encounters/Data/Live/EncountersGO.cs index 58ba5c3d5..b029cab96 100644 --- a/PKHeX.Core/Legality/Encounters/Data/EncountersGO.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Live/EncountersGO.cs @@ -32,4 +32,4 @@ private static BinLinkerAccessor Get(string resource, string ident) return BinLinkerAccessor.Get(data, ident); } } -#endif \ No newline at end of file +#endif diff --git a/PKHeX.Core/Legality/Encounters/Data/Live/IEncounterServerDate.cs b/PKHeX.Core/Legality/Encounters/Data/Live/IEncounterServerDate.cs new file mode 100644 index 000000000..7b2f6a94c --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Data/Live/IEncounterServerDate.cs @@ -0,0 +1,12 @@ +namespace PKHeX.Core; + +/// +/// Provides indication that the encounter may or may not have a specific date range to consider. +/// +public interface IEncounterServerDate +{ + /// + /// If true, the date range it may be acquired at is restricted to a specific date range. + /// + bool IsDateRestricted { get; } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterEgg.cs b/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterEgg.cs index 489ecac34..6ae22202d 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterEgg.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterEgg.cs @@ -85,6 +85,8 @@ public PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) { s.HeightScalar = PokeSizeUtil.GetRandomScalar(); s.WeightScalar = PokeSizeUtil.GetRandomScalar(); + if (pk is IScaledSize3 s3) + s3.Scale = PokeSizeUtil.GetRandomScalar(); } return pk; @@ -136,6 +138,9 @@ private void SetMetData(PKM pk) { pk.Met_Level = EggStateLegality.GetEggLevelMet(Version, Generation); pk.Met_Location = Math.Max(0, EggStateLegality.GetEggHatchLocation(Version, Generation)); + + if (pk is IObedienceLevel l) + l.Obedience_Level = (byte)pk.Met_Level; } private void SetEncounterMoves(PKM pk, GameVersion version) diff --git a/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot8a.cs b/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot8a.cs index ae0beeb0f..896031a48 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot8a.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot8a.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// Encounter Slot found in . /// /// -public sealed record EncounterSlot8a : EncounterSlot, IAlpha, IMasteryInitialMoveShop8 +public sealed record EncounterSlot8a : EncounterSlot, IAlphaReadOnly, IMasteryInitialMoveShop8 { public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8a; @@ -32,7 +32,7 @@ protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteri var pa = (PA8)pk; if (IsAlpha) - pa.HeightScalarCopy = pa.HeightScalar = pa.WeightScalar = 255; + pa.Scale = pa.HeightScalar = pa.WeightScalar = 255; pa.ResetHeight(); pa.ResetWeight(); } @@ -97,7 +97,7 @@ protected override void SetFormatSpecificData(PKM pk) var pa8 = (PA8)pk; if (IsAlpha) pa8.IsAlpha = true; - pa8.HeightScalarCopy = pa8.HeightScalar; + pa8.Scale = pa8.HeightScalar; } protected override void ApplyDetailsBall(PKM pk) => pk.Ball = (int)Ball.LAPoke; diff --git a/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot9.cs b/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot9.cs new file mode 100644 index 000000000..b764d3076 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterSlot/EncounterSlot9.cs @@ -0,0 +1,32 @@ +namespace PKHeX.Core; + +/// +/// Encounter Slot found in . +/// +/// +public sealed record EncounterSlot9 : EncounterSlot +{ + public override int Generation => 9; + public override EntityContext Context => EntityContext.Gen9; + public sbyte Gender { get; } + + public EncounterSlot9(EncounterArea9 area, ushort species, byte form, byte min, byte max, sbyte gender) : base(area, species, form, min, max) + { + Gender = gender; + } + + protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteria, PKM pk) + { + base.ApplyDetails(sav, criteria, pk); + + var pk9 = (PK9)pk; + pk9.Obedience_Level = (byte)pk.Met_Level; + var type = Tera9RNG.GetTeraTypeFromPersonal(Species, Form, Util.Rand.Rand64()); + pk9.TeraTypeOriginal = (MoveType)type; + if (criteria.TeraType != -1 && type != criteria.TeraType) + pk9.SetTeraType(type); // sets the override type + if (Gender != -1) + pk.Gender = (byte)Gender; + pk9.Scale = PokeSizeUtil.GetRandomScalar(); + } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/EncounterSlot8GO.cs b/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/EncounterSlot8GO.cs index 0ab71de3c..7c0e30c75 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/EncounterSlot8GO.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/EncounterSlot8GO.cs @@ -1,4 +1,5 @@ using System; +using static PKHeX.Core.Species; namespace PKHeX.Core; @@ -31,7 +32,7 @@ public EncounterSlot8GO(EncounterArea8g area, ushort species, byte form, int sta public bool IsBallValid(Ball ball, ushort currentSpecies) { // GO does not natively produce Shedinja when evolving Nincada, and thus must be evolved in future games. - if (currentSpecies == (int)Core.Species.Shedinja && currentSpecies != Species) + if (currentSpecies == (int)Shedinja && currentSpecies != Species) return ball == Ball.Poke; return Type.IsBallValid(ball); } @@ -42,6 +43,7 @@ public bool IsBallValid(Ball ball, ushort currentSpecies) PogoImportFormat.PB7 => new PB7(), PogoImportFormat.PK8 => new PK8(), PogoImportFormat.PA8 => new PA8(), + PogoImportFormat.PK9 => new PK9(), _ => throw new ArgumentOutOfRangeException(nameof(OriginFormat)), }; @@ -51,6 +53,7 @@ public bool IsBallValid(Ball ball, ushort currentSpecies) PogoImportFormat.PB7 => PersonalTable.GG.GetFormEntry(Species, Form), PogoImportFormat.PK8 => PersonalTable.SWSH.GetFormEntry(Species, Form), PogoImportFormat.PA8 => PersonalTable.LA.GetFormEntry(Species, Form), + PogoImportFormat.PK9 => PersonalTable.SV.GetFormEntry(Species, Form), _ => throw new ArgumentOutOfRangeException(nameof(OriginFormat)), }; @@ -60,6 +63,7 @@ public bool IsBallValid(Ball ball, ushort currentSpecies) PogoImportFormat.PB7 => GameVersion.GG, PogoImportFormat.PK8 => GameVersion.SWSH, PogoImportFormat.PA8 => GameVersion.PLA, + PogoImportFormat.PK9 => GameVersion.SV, _ => throw new ArgumentOutOfRangeException(nameof(OriginFormat)), }; @@ -72,6 +76,7 @@ public bool IsBallValid(Ball ball, ushort currentSpecies) PogoImportFormat.PB7 => EntityContext.Gen7b, PogoImportFormat.PK8 => EntityContext.Gen8, PogoImportFormat.PA8 => EntityContext.Gen8a, + PogoImportFormat.PK9 => EntityContext.Gen9, _ => throw new ArgumentOutOfRangeException(nameof(OriginFormat)), }; @@ -98,7 +103,7 @@ protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteri var pa8 = (PA8)pk; pa8.ResetHeight(); pa8.ResetWeight(); - pa8.HeightScalarCopy = pa8.HeightScalar; + pa8.Scale = pa8.HeightScalar; } pk.OT_Friendship = OT_Friendship; @@ -146,9 +151,9 @@ public override EncounterMatchRating GetMatchRating(PKM pk) public byte OT_Friendship => Species switch { - (int)Core.Species.Timburr when Form == 0 => 70, - (int)Core.Species.Stunfisk when Form == 0 => 70, - (int)Core.Species.Hoopa when Form == 1 => 50, + (int)Timburr when Form == 0 => 70, + (int)Stunfisk when Form == 0 => 70, + (int)Hoopa when Form == 1 => 50, _ => GetHOMEFriendship(), }; @@ -172,23 +177,33 @@ private bool IsMatchPartial(PKM pk) if (pk.OT_Friendship != OT_Friendship) return true; - return Species switch - { - (int)Core.Species.Yamask when pk.Species != Species && Form == 1 => pk is IFormArgument { FormArgument: 0 }, - (int)Core.Species.Milcery when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, - (int)Core.Species.Qwilfish when pk.Species != Species && Form == 1 => pk is IFormArgument { FormArgument: 0 }, - (int)Core.Species.Basculin when pk.Species != Species && Form == 2 => pk is IFormArgument { FormArgument: 0 }, - (int)Core.Species.Stantler when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, - - (int)Core.Species.Runerigus => pk is IFormArgument { FormArgument: not 0 }, - (int)Core.Species.Alcremie => pk is IFormArgument { FormArgument: not 0 }, - (int)Core.Species.Wyrdeer => pk is IFormArgument { FormArgument: not 0 }, - (int)Core.Species.Basculegion => pk is IFormArgument { FormArgument: not 0 }, - (int)Core.Species.Overqwil => pk is IFormArgument { FormArgument: not 0 }, - - _ => false, - }; + return IsFormArgIncorrect(pk); } + + private bool IsFormArgIncorrect(ISpeciesForm pk) => Species switch + { + // Evolved without Form Argument changing from default + (int)Yamask when pk.Species != Species && Form == 1 => pk is IFormArgument { FormArgument: 0 }, + (int)Milcery when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, + (int)Stantler when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, + (int)Qwilfish when pk.Species != Species && Form == 1 => pk is IFormArgument { FormArgument: 0 }, + (int)Basculin when pk.Species != Species && Form == 2 => pk is IFormArgument { FormArgument: 0 }, + (int)Primeape when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, + (int)Bisharp when pk.Species != Species => pk is IFormArgument { FormArgument: 0 }, + + // Not evolved, but Form Argument changed from default + (int)Runerigus => pk is IFormArgument { FormArgument: not 0 }, + (int)Alcremie => pk is IFormArgument { FormArgument: not 0 }, + (int)Wyrdeer => pk is IFormArgument { FormArgument: not 0 }, + (int)Overqwil => pk is IFormArgument { FormArgument: not 0 }, + (int)Basculegion => pk is IFormArgument { FormArgument: not 0 }, + (int)Gholdengo => pk is IFormArgument { FormArgument: not 0 }, + (int)Kingambit => pk is IFormArgument { FormArgument: not 0 }, + (int)Annihilape => pk is IFormArgument { FormArgument: not 0 }, + + // No Form Argument relevant to check + _ => false, + }; } /// @@ -200,4 +215,5 @@ public enum PogoImportFormat : byte PB7 = 1, PK8 = 2, PA8 = 3, + PK9 = 4, } diff --git a/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/PogoType.cs b/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/PogoType.cs index 83bd42bee..45b3a6948 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/PogoType.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterSlot/GO/PogoType.cs @@ -19,6 +19,8 @@ public enum PogoType : byte Raid = 10, /// Mythical Pokémon captured after completing Raid Battles. RaidM, + /// Ultra Beasts captured after completing Raid Battles. Only Beast Balls can be used. + RaidUB, /// Pokémon captured after completing Field Research. Research = 20, @@ -52,6 +54,7 @@ public static class PogoTypeExtensions PogoType.EggS => 8, PogoType.Raid => 20, PogoType.RaidM => 20, + PogoType.RaidUB => 20, PogoType.Research => 15, PogoType.ResearchM => 15, PogoType.ResearchP => 15, @@ -104,6 +107,7 @@ public static bool IsBallValid(this PogoType encounterType, Ball ball) PogoType.EggS => Ball.Poke, PogoType.Raid => Ball.Premier, PogoType.RaidM => Ball.Premier, + PogoType.RaidUB => Ball.Beast, PogoType.ResearchP => Ball.Poke, PogoType.ResearchUB => Ball.Beast, PogoType.Shadow => Ball.Premier, diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterFixed9.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterFixed9.cs new file mode 100644 index 000000000..1ed022bdc --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterFixed9.cs @@ -0,0 +1,79 @@ +using System; +using System.Buffers.Binary; + +namespace PKHeX.Core; + +/// +/// Generation 9 Fixed Spawn Encounter +/// +public sealed record EncounterFixed9 : EncounterStatic, IGemType +{ + public override int Generation => 9; + public override int Location => Location0; + public override EntityContext Context => EntityContext.Gen9; + public GemType TeraType { get; private init; } + private byte Location0 { get; init; } + private byte Location1 { get; init; } + private byte Location2 { get; init; } + + public static EncounterFixed9[] GetArray(ReadOnlySpan data) + { + const int size = 0x14; + var count = data.Length / size; + var result = new EncounterFixed9[count]; + for (int i = 0; i < result.Length; i++) + result[i] = ReadEncounter(data.Slice(i * size, size)); + return result; + } + + private EncounterFixed9() : base(GameVersion.SV) { } + + private static EncounterFixed9 ReadEncounter(ReadOnlySpan data) => new() + { + Species = BinaryPrimitives.ReadUInt16LittleEndian(data), + Form = data[0x02], + Level = data[0x03], + FlawlessIVCount = data[0x04], + TeraType = (GemType)data[0x05], + // 2 bytes reserved + Moves = new Moveset( + BinaryPrimitives.ReadUInt16LittleEndian(data[0x08..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0A..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0C..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0E..])), + Location0 = data[0x10], + Location1 = data[0x11], + Location2 = data[0x12], + // 1 byte reserved + }; + + protected override bool IsMatchLocation(PKM pk) + { + if (!pk.HasOriginalMetLocation) + return true; + var loc = pk.Met_Location; + return loc == Location0 || loc == Location1 || loc == Location2; + } + + public override bool IsMatchExact(PKM pk, EvoCriteria evo) + { + if (TeraType != GemType.Random && pk is ITeraType t && !Tera9RNG.IsMatchTeraType(TeraType, Species, Form, (byte)t.TeraTypeOriginal)) + return false; + return base.IsMatchExact(pk, evo); + } + + protected override void ApplyDetails(ITrainerInfo tr, EncounterCriteria criteria, PKM pk) + { + base.ApplyDetails(tr, criteria, pk); + var pk9 = (PK9)pk; + pk9.Obedience_Level = (byte)pk9.Met_Level; + var type = Tera9RNG.GetTeraType(Util.Rand.Rand64(), TeraType, Species, Form); + pk9.TeraTypeOriginal = (MoveType)type; + if (criteria.TeraType != -1 && type != criteria.TeraType) + pk9.SetTeraType(type); // sets the override type + + pk9.HeightScalar = PokeSizeUtil.GetRandomScalar(); + pk9.WeightScalar = PokeSizeUtil.GetRandomScalar(); + pk9.Scale = PokeSizeUtil.GetRandomScalar(); + } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic.cs index edbe4bfef..8a37772d6 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic.cs @@ -107,9 +107,9 @@ protected virtual void ApplyDetails(ITrainerInfo tr, EncounterCriteria criteria, s.HeightScalar = PokeSizeUtil.GetRandomScalar(); s.WeightScalar = PokeSizeUtil.GetRandomScalar(); } - if (this is IGigantamax g && pk is PK8 pg) + if (this is IGigantamaxReadOnly g && pk is PK8 pg) pg.CanGigantamax = g.CanGigantamax; - if (this is IDynamaxLevel d && pk is PK8 pd) + if (this is IDynamaxLevelReadOnly d && pk is PK8 pd) pd.DynamaxLevel = d.DynamaxLevel; } @@ -250,7 +250,7 @@ public virtual bool IsMatchExact(PKM pk, EvoCriteria evo) if (!IsMatchIVs(pk)) return false; - if (this is IContestStats es && pk is IContestStats s && s.IsContestBelow(es)) + if (this is IContestStatsReadOnly es && pk is IContestStatsReadOnly s && s.IsContestBelow(es)) return false; // Defer to EC/PID check diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic6.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic6.cs index 545732a7f..c89e3f661 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic6.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic6.cs @@ -4,7 +4,7 @@ namespace PKHeX.Core; /// Generation 6 Static Encounter /// /// -public sealed record EncounterStatic6(GameVersion Version) : EncounterStatic(Version), IContestStats +public sealed record EncounterStatic6(GameVersion Version) : EncounterStatic(Version), IContestStatsReadOnly { public override int Generation => 6; public override EntityContext Context => EntityContext.Gen6; diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8.cs index 35a4c92be..48abcc65e 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8.cs @@ -6,17 +6,17 @@ namespace PKHeX.Core; /// Generation 8 Static Encounter /// /// -public sealed record EncounterStatic8(GameVersion Version) : EncounterStatic(Version), IDynamaxLevel, IGigantamax, IRelearn, IOverworldCorrelation8 +public sealed record EncounterStatic8(GameVersion Version = GameVersion.SWSH) : EncounterStatic(Version), IDynamaxLevelReadOnly, IGigantamaxReadOnly, IRelearn, IOverworldCorrelation8 { public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8; public bool ScriptedNoMarks { get; init; } - public bool CanGigantamax { get; set; } - public byte DynamaxLevel { get; set; } + public bool CanGigantamax { get; init; } + public byte DynamaxLevel { get; init; } public Moveset Relearn { get; init; } public Crossover8 Crossover { get; init; } - public AreaWeather8 Weather {get; init; } = AreaWeather8.Normal; + public AreaWeather8 Weather { get; init; } = AreaWeather8.Normal; protected override bool IsMatchLocation(PKM pk) { diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8N.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8N.cs index f88fb91ec..ae8f585b2 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8N.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8N.cs @@ -28,6 +28,15 @@ public EncounterStatic8N(byte nestID, uint minRank, uint maxRank, byte val, Game FlawlessIVCount = val; } + public static EncounterStatic8N Read(ReadOnlySpan data, GameVersion game) => new(data[6], data[7], data[8], data[9], game) + { + Species = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data), + Form = data[2], + Gender = (sbyte)data[3], + Ability = (AbilityPermission)data[4], + CanGigantamax = data[5] != 0, + }; + private static readonly byte[] LevelCaps = { 15, 20, // 0 diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8ND.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8ND.cs index 034aea335..4f59121b6 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8ND.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8ND.cs @@ -1,3 +1,4 @@ +using System; using static PKHeX.Core.Encounters8Nest; namespace PKHeX.Core; @@ -11,13 +12,45 @@ public sealed record EncounterStatic8ND : EncounterStatic8Nest /// Distribution raid index for /// - public byte Index { get; init; } + public byte Index { get; } - public EncounterStatic8ND(byte lvl, byte dyna, byte flawless, GameVersion game = GameVersion.SWSH) : base(game) + public EncounterStatic8ND(byte lvl, byte dyna, byte flawless, byte index, GameVersion game) : base(game) { Level = lvl; DynamaxLevel = dyna; FlawlessIVCount = flawless; + Index = index; + } + + public static EncounterStatic8ND Read(ReadOnlySpan data, GameVersion game) + { + var d = data[13]; + var dlvl = (byte)(d & 0x7F); + var gmax = d >= 0x80; + var f = data[14]; + var flawless = (byte)(f & 0xF); + var shiny = (f >> 4) switch + { + 1 => Shiny.Never, + 2 => Shiny.Always, + _ => Shiny.Random, + }; + + var move1 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[4..]); + var move2 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[6..]); + var move3 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[8..]); + var move4 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[10..]); + var moves = new Moveset(move1, move2, move3, move4); + + return new EncounterStatic8ND(data[12], dlvl, flawless, data[15], game) + { + Species = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data), + Form = data[2], + Ability = (AbilityPermission)data[3], + CanGigantamax = gmax, + Moves = moves, + Shiny = shiny, + }; } protected override bool IsMatchLevel(PKM pk, EvoCriteria evo) @@ -52,13 +85,16 @@ protected override bool IsMatchLevel(PKM pk, EvoCriteria evo) return badges is 1 or 3 && !pk.IsShiny; } + private const byte IndexMinDLC2 = 40; + private const byte IndexMinDLC1 = 25; + protected override bool IsMatchLocation(PKM pk) { var loc = pk.Met_Location; return loc is SharedNest || Index switch { - >= 40 => EncounterArea8.IsWildArea(loc), - >= 25 => EncounterArea8.IsWildArea8(loc) || EncounterArea8.IsWildArea8Armor(loc), + >= IndexMinDLC2 => EncounterArea8.IsWildArea(loc), + >= IndexMinDLC1 => EncounterArea8.IsWildArea8(loc) || EncounterArea8.IsWildArea8Armor(loc), _ => EncounterArea8.IsWildArea8(loc), }; } diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8Nest.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8Nest.cs index a58c850e9..858920c8f 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8Nest.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8Nest.cs @@ -8,15 +8,15 @@ namespace PKHeX.Core; /// Generation 8 Nest Encounter (Raid) /// /// -public abstract record EncounterStatic8Nest(GameVersion Version) : EncounterStatic(Version), IGigantamax, IDynamaxLevel where T : EncounterStatic8Nest +public abstract record EncounterStatic8Nest(GameVersion Version) : EncounterStatic(Version), IGigantamaxReadOnly, IDynamaxLevelReadOnly where T : EncounterStatic8Nest { public sealed override int Generation => 8; public override EntityContext Context => EntityContext.Gen8; public static Func? VerifyCorrelation { private get; set; } public static Action? GenerateData { private get; set; } - public bool CanGigantamax { get; set; } - public byte DynamaxLevel { get; set; } + public bool CanGigantamax { get; init; } + public byte DynamaxLevel { get; init; } public override int Location { get => SharedNest; init { } } public override bool IsMatchExact(PKM pk, EvoCriteria evo) diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8U.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8U.cs index f66ea637f..3e78f7320 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8U.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8U.cs @@ -1,4 +1,5 @@ -using static PKHeX.Core.Encounters8Nest; +using System; +using static PKHeX.Core.Encounters8Nest; namespace PKHeX.Core; @@ -8,7 +9,7 @@ namespace PKHeX.Core; /// public sealed record EncounterStatic8U : EncounterStatic8Nest { - public override int Location { get => MaxLair; init { } } + public override int Location => MaxLair; public EncounterStatic8U(ushort species, byte form, byte level) : base(GameVersion.SWSH) // no difference in met location for hosted raids { @@ -19,6 +20,23 @@ public sealed record EncounterStatic8U : EncounterStatic8Nest FlawlessIVCount = 4; } + public static EncounterStatic8U Read(ReadOnlySpan data) + { + var spec = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data); + var move1 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[4..]); + var move2 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[6..]); + var move3 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[8..]); + var move4 = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[10..]); + var moves = new Moveset(move1, move2, move3, move4); + + return new EncounterStatic8U(spec, data[2], data[3]) + { + Ability = (AbilityPermission)data[12], + CanGigantamax = data[13] != 0, + Moves = moves, + }; + } + public override bool IsMatchExact(PKM pk, EvoCriteria evo) { if (pk.FlawlessIVCount < FlawlessIVCount) diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8a.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8a.cs index 6b1c14739..393b4df37 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8a.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic8a.cs @@ -6,14 +6,14 @@ namespace PKHeX.Core; /// Generation 8 Static Encounter /// /// -public sealed record EncounterStatic8a(GameVersion Version) : EncounterStatic(Version), IAlpha, IMasteryInitialMoveShop8 +public sealed record EncounterStatic8a(GameVersion Version) : EncounterStatic(Version), IAlphaReadOnly, IMasteryInitialMoveShop8, IScaledSizeReadOnly { public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8a; public byte HeightScalar { get; } public byte WeightScalar { get; } - public bool IsAlpha { get; set; } + public bool IsAlpha { get; init; } public EncounterStatic8aCorrelation Method { get; init; } public bool HasFixedHeight => HeightScalar != NoScalar; @@ -43,7 +43,7 @@ protected override void ApplyDetails(ITrainerInfo tr, EncounterCriteria criteria pa.HeightScalar = HeightScalar; if (HasFixedWeight) pa.WeightScalar = WeightScalar; - pa.HeightScalarCopy = pa.HeightScalar; + pa.Scale = pa.HeightScalar; pa.ResetHeight(); pa.ResetWeight(); diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic9.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic9.cs new file mode 100644 index 000000000..57afb3ff6 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterStatic9.cs @@ -0,0 +1,95 @@ +namespace PKHeX.Core; + +/// +/// Generation 9 Static Encounter +/// +/// +public sealed record EncounterStatic9(GameVersion Version) : EncounterStatic(Version), IGemType, IObedienceLevelReadOnly +{ + public override int Generation => 9; + public override EntityContext Context => EntityContext.Gen9; + public byte Size { get; init; } + public GemType TeraType { get; init; } + public bool IsTitan { get; init; } + public byte Obedience_Level => StarterBoxLegend ? (byte)0 : Level; + + private bool NoScalarsDefined => Size == 0; + public bool GiftWithLanguage => Gift; // Nice error by GameFreak -- all gifts (including eggs) set the HT_Language memory value in addition to OT_Language. + public bool StarterBoxLegend => Gift && Species is (int)Core.Species.Koraidon or (int)Core.Species.Miraidon; + + protected override bool IsMatchPartial(PKM pk) + { + if (pk is IScaledSize v && !NoScalarsDefined) + { + if (Gift) + { + if (v.HeightScalar != Size) + return true; + if (v.WeightScalar != Size) + return true; + } + if (pk is PK9 pk9) + { + if (pk9.Scale != Size) + return true; + } + } + return base.IsMatchPartial(pk); + } + + public override bool IsMatchExact(PKM pk, EvoCriteria evo) + { + if (TeraType != GemType.Random && pk is ITeraType t && !Tera9RNG.IsMatchTeraType(TeraType, Species, Form, (byte)t.TeraTypeOriginal)) + return false; + return base.IsMatchExact(pk, evo); + } + + protected override void ApplyDetails(ITrainerInfo tr, EncounterCriteria criteria, PKM pk) + { + base.ApplyDetails(tr, criteria, pk); + var pk9 = (PK9)pk; + if (Gift) + pk9.HT_Language = (byte)pk.Language; + if (StarterBoxLegend) + pk9.FormArgument = 1; // Not Ride Form. + if (IsTitan) + pk9.RibbonMarkTitan = true; + pk9.Obedience_Level = Obedience_Level; + + const byte undefinedSize = 0; + byte height, weight, scale; + if (NoScalarsDefined) + { + height = weight = scale = undefinedSize; + } + else + { + // Gifts have a defined H/W/S, while capture-able only have scale. + height = weight = Gift ? Size : undefinedSize; + scale = Size; + } + + const byte rollCount = 1; + var pi = PersonalTable.SV.GetFormEntry(Species, Form); + var param = new GenerateParam9((byte)pi.Gender, FlawlessIVCount, rollCount, height, weight, scale, Ability, Shiny); + + ulong init = Util.Rand.Rand64(); + var success = this.TryApply64(pk9, init, param, criteria, IVs.IsSpecified); + if (!success) + this.TryApply64(pk9, init, param, EncounterCriteria.Unrestricted, IVs.IsSpecified); + + if (IVs.IsSpecified) + { + pk.IV_HP = IVs.HP; + pk.IV_ATK = IVs.ATK; + pk.IV_DEF = IVs.DEF; + pk.IV_SPA = IVs.SPA; + pk.IV_SPD = IVs.SPD; + pk.IV_SPE = IVs.SPE; + } + if (Nature != Nature.Random) + { + pk.Nature = pk.StatNature = (int)Nature; + } + } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterTera9.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterTera9.cs new file mode 100644 index 000000000..1c76cb01e --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/EncounterTera9.cs @@ -0,0 +1,162 @@ +using System; +using System.Buffers.Binary; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Generation 9 Tera Raid Encounter +/// +public sealed record EncounterTera9 : EncounterStatic, IGemType +{ + public override int Generation => 9; + public override int Location => Locations.TeraCavern9; + public override EntityContext Context => EntityContext.Gen9; + public bool IsDistribution => Index != 0; + public GemType TeraType { get; private init; } + public byte Index { get; private init; } + public byte Stars { get; private init; } + public byte RandRate { get; private init; } // weight chance of this encounter + public short RandRateMinScarlet { get; private init; } // weight chance total of all lower index encounters, for Scarlet + public short RandRateMinViolet { get; private init; } // weight chance total of all lower index encounters, for Violet + public bool IsAvailableHostScarlet => RandRateMinScarlet != -1; + public bool IsAvailableHostViolet => RandRateMinViolet != -1; + + /// + /// Fetches the rate sum for the base ROM raid, depending on star count. + /// + /// Raid Difficulty + /// Total rate value the game uses to call rand(x) with. + public static short GetRateTotalBaseSL(int star) => star switch + { + 1 => 5800, + 2 => 5300, + 3 => 7400, + 4 => 8800, // Scarlet has one more encounter. + 5 => 9100, + 6 => 6500, + _ => 0, + }; + + public static short GetRateTotalBaseVL(int star) => star switch + { + 1 => 5800, + 2 => 5300, + 3 => 7400, + 4 => 8700, // Violet has one less encounter. + 5 => 9100, + 6 => 6500, + _ => 0, + }; + + public static EncounterTera9[] GetArray(ReadOnlySpan data) + { + const int size = 0x18; + var count = data.Length / size; + var result = new EncounterTera9[count]; + for (int i = 0; i < result.Length; i++) + result[i] = ReadEncounter(data.Slice(i * size, size)); + return result; + } + + private EncounterTera9() : base(GameVersion.SV) { } + + private static EncounterTera9 ReadEncounter(ReadOnlySpan data) => new() + { + Species = BinaryPrimitives.ReadUInt16LittleEndian(data), + Form = data[0x02], + Gender = (sbyte)(data[0x03] - 1), + Ability = GetAbility(data[0x04]), + FlawlessIVCount = data[5], + Shiny = data[0x06] switch { 0 => Shiny.Random, 1 => Shiny.Never, 2 => Shiny.Always, _ => throw new ArgumentOutOfRangeException(nameof(data)) }, + Level = data[0x07], + Moves = new Moveset( + BinaryPrimitives.ReadUInt16LittleEndian(data[0x08..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0A..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0C..]), + BinaryPrimitives.ReadUInt16LittleEndian(data[0x0E..])), + TeraType = (GemType)data[0x10], + Index = data[0x11], + Stars = data[0x12], + RandRate = data[0x13], + RandRateMinScarlet = BinaryPrimitives.ReadInt16LittleEndian(data[0x14..]), + RandRateMinViolet = BinaryPrimitives.ReadInt16LittleEndian(data[0x16..]), + }; + + private static AbilityPermission GetAbility(byte b) => b switch + { + 0 => Any12, + 1 => Any12H, + 2 => OnlyFirst, + 3 => OnlySecond, + 4 => OnlyHidden, + _ => throw new ArgumentOutOfRangeException(nameof(b), b, null), + }; + + protected override EncounterMatchRating IsMatchDeferred(PKM pk) + { + if (Ability != Any12H) + { + // HA-Only is a strict match. Ability Capsule and Patch can potentially change these. + var num = pk.AbilityNumber; + if (num == 4) + { + if (Ability is not OnlyHidden && !AbilityVerifier.CanAbilityPatch(9, PersonalTable.SV.GetFormEntry(Species, Form), pk.Species)) + return EncounterMatchRating.DeferredErrors; + } + else if (Ability.IsSingleValue(out int index) && 1 << index != num) // Fixed regular ability + { + if (Ability is OnlyFirst or OnlySecond && !AbilityVerifier.CanAbilityCapsule(9, PersonalTable.SV.GetFormEntry(Species, Form))) + return EncounterMatchRating.DeferredErrors; + } + } + + return base.IsMatchDeferred(pk); + } + + protected override bool IsMatchPartial(PKM pk) + { + switch (Shiny) + { + case Shiny.Never when pk.IsShiny: + case Shiny.Always when !pk.IsShiny: + return true; + } + + var seed = Tera9RNG.GetOriginalSeed(pk); + if (pk is ITeraType t && !Tera9RNG.IsMatchTeraType(seed, TeraType, Species, Form, (byte)t.TeraTypeOriginal)) + return true; + if (!Tera9RNG.IsMatchStarChoice(seed, Stars, RandRate, RandRateMinScarlet, RandRateMinViolet)) + return true; + + var pi = PersonalTable.SV.GetFormEntry(Species, Form); + var param = new GenerateParam9((byte)pi.Gender, FlawlessIVCount, 1, 0, 0, 0, Ability, Shiny); + if (!Encounter9RNG.IsMatch(pk, param, seed)) + return true; + return base.IsMatchPartial(pk); + } + + protected override void ApplyDetails(ITrainerInfo tr, EncounterCriteria criteria, PKM pk) + { + base.ApplyDetails(tr, criteria, pk); + var pk9 = (PK9)pk; + pk9.Obedience_Level = (byte)pk9.Met_Level; + } + + protected override void SetPINGA(PKM pk, EncounterCriteria criteria) + { + var pk9 = (PK9)pk; + + const byte rollCount = 1; + const byte undefinedSize = 0; + var pi = PersonalTable.SV.GetFormEntry(Species, Form); + var param = new GenerateParam9((byte)pi.Gender, FlawlessIVCount, rollCount, + undefinedSize, undefinedSize, undefinedSize, + Ability, Shiny); + + var init = Util.Rand.Rand64(); + var success = this.TryApply32(pk9, init, param, criteria); + if (!success) + this.TryApply32(pk9, init, param, EncounterCriteria.Unrestricted); + } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterStatic/IGemType.cs b/PKHeX.Core/Legality/Encounters/EncounterStatic/IGemType.cs new file mode 100644 index 000000000..7592cdb15 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterStatic/IGemType.cs @@ -0,0 +1,52 @@ +namespace PKHeX.Core; + +/// +/// Interface for encounter-able entities that can be obtained with a specified (or unspecified) . +/// +public interface IGemType +{ + GemType TeraType { get; } // 0 = Default, 1 = Random, 2++ => [0..types] = specific type +} + +/// +/// Possible values the encounter may have. +/// +public enum GemType : sbyte +{ + /// Default value, first type when encountered. + Default = 0, + /// Random type [0,17] + Random = 1, + Normal = 2, + Fighting = 3, + Flying = 4, + Poison = 5, + Ground = 6, + Rock = 7, + Bug = 8, + Ghost = 9, + Steel = 10, + Fire = 11, + Water = 12, + Grass = 13, + Electric = 14, + Psychic = 15, + Ice = 16, + Dragon = 17, + Dark = 18, + Fairy = 19, +} + +public static class GemTypeExtensions +{ + public static bool IsSpecified(this GemType type, out byte expect) + { + if (type is GemType.Default or GemType.Random) + { + expect = 0; + return false; + } + expect = (byte)(type - 2); + return true; + } +} diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs index 611f0f772..43373d1d7 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade3.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// Generation 3 Trade Encounter /// /// -public sealed record EncounterTrade3 : EncounterTrade, IContestStats +public sealed record EncounterTrade3 : EncounterTrade, IContestStatsReadOnly { public override int Generation => 3; public override EntityContext Context => EntityContext.Gen3; @@ -51,7 +51,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) if (!base.IsMatchExact(pk, evo)) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; return true; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs index 825d08504..68c84a609 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade4.cs @@ -16,7 +16,7 @@ public abstract record EncounterTrade4(GameVersion Version) : EncounterTrade(Ver /// Generation 4 Trade Encounter with a fixed PID value. /// /// -public sealed record EncounterTrade4PID : EncounterTrade4, IContestStats +public sealed record EncounterTrade4PID : EncounterTrade4, IContestStatsReadOnly { /// /// Fixed value the encounter must have. @@ -60,7 +60,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) if (!base.IsMatchExact(pk, evo)) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; return true; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs index 427491fcd..e37881a0e 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade6.cs @@ -4,15 +4,11 @@ namespace PKHeX.Core; /// Generation 6 Trade Encounter /// /// -public sealed record EncounterTrade6(GameVersion Version, byte OT_Memory, byte OT_Intensity, byte OT_Feeling, ushort OT_TextVar) : EncounterTrade(Version), IMemoryOT +public sealed record EncounterTrade6(GameVersion Version, byte OT_Memory, byte OT_Intensity, byte OT_Feeling, ushort OT_TextVar) : EncounterTrade(Version), IMemoryOTReadOnly { public override int Generation => 6; public override EntityContext Context => EntityContext.Gen6; public override int Location => Locations.LinkTrade6NPC; - public byte OT_Memory { get; set; } = OT_Memory; - public byte OT_Intensity { get; set; } = OT_Intensity; - public byte OT_Feeling { get; set; } = OT_Feeling; - public ushort OT_TextVar { get; set; } = OT_TextVar; protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteria, PKM pk) { diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs index 81cf9095b..0ff46776c 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade7.cs @@ -1,21 +1,18 @@ -using System; - namespace PKHeX.Core; /// /// Generation 7 Trade Encounter /// /// -public sealed record EncounterTrade7(GameVersion Version) : EncounterTrade(Version), IMemoryOT +public sealed record EncounterTrade7(GameVersion Version) : EncounterTrade(Version), IMemoryOTReadOnly { public override int Generation => 7; public override EntityContext Context => EntityContext.Gen7; public override int Location => Locations.LinkTrade6NPC; - // immutable setters - public byte OT_Memory { get => 1; set => throw new InvalidOperationException(); } - public byte OT_Intensity { get => 3; set => throw new InvalidOperationException(); } - public byte OT_Feeling { get => 5; set => throw new InvalidOperationException(); } - public ushort OT_TextVar { get => 40; set => throw new InvalidOperationException(); } + public byte OT_Memory => 1; + public byte OT_Intensity => 3; + public byte OT_Feeling => 5; + public ushort OT_TextVar => 40; protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteria, PKM pk) { diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs index ce5ee856d..56acc3626 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8.cs @@ -4,18 +4,18 @@ namespace PKHeX.Core; /// Generation 8 Trade Encounter /// /// -public sealed record EncounterTrade8 : EncounterTrade, IDynamaxLevel, IRelearn, IMemoryOT +public sealed record EncounterTrade8 : EncounterTrade, IDynamaxLevelReadOnly, IRelearn, IMemoryOTReadOnly { public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8; public override int Location => Locations.LinkTrade6NPC; public Moveset Relearn { get; init; } - public ushort OT_TextVar { get; set; } - public byte OT_Memory { get; set; } - public byte OT_Feeling { get; set; } - public byte OT_Intensity { get; set; } - public byte DynamaxLevel { get; set; } + public ushort OT_TextVar { get; } + public byte OT_Memory { get; } + public byte OT_Feeling { get; } + public byte OT_Intensity { get; } + public byte DynamaxLevel { get; init; } public byte FlawlessIVCount { get; init; } public override Shiny Shiny { get; } diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8b.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8b.cs index b8645f9e2..5717c313b 100644 --- a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8b.cs +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade8b.cs @@ -4,7 +4,7 @@ namespace PKHeX.Core; /// Generation 7 Trade Encounter /// /// -public sealed record EncounterTrade8b : EncounterTrade, IContestStats, IScaledSize, IFixedOTFriendship +public sealed record EncounterTrade8b : EncounterTrade, IContestStatsReadOnly, IScaledSizeReadOnly, IFixedOTFriendship { public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8b; @@ -17,8 +17,8 @@ public sealed record EncounterTrade8b : EncounterTrade, IContestStats, IScaledSi public byte CNT_Smart => BaseContest; public byte CNT_Tough => BaseContest; public byte CNT_Sheen => 0; - public byte HeightScalar { get; set; } - public byte WeightScalar { get; set; } + public byte HeightScalar { get; init; } + public byte WeightScalar { get; init; } public byte OT_Friendship => Species == (int)Core.Species.Chatot ? (byte)35 : (byte)50; private byte BaseContest => Species == (int)Core.Species.Chatot ? (byte)20 : (byte)0; public uint PID { get; init; } @@ -30,7 +30,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) return false; if (pk.PID != PID) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; if (pk is IScaledSize h && h.HeightScalar != HeightScalar) return false; diff --git a/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade9.cs b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade9.cs new file mode 100644 index 000000000..588d14c4f --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/EncounterTrade/EncounterTrade9.cs @@ -0,0 +1,46 @@ +namespace PKHeX.Core; + +/// +/// Generation 9 Trade Encounter +/// +/// +public sealed record EncounterTrade9 : EncounterTrade, IGemType +{ + public override int Generation => 9; + public override EntityContext Context => EntityContext.Gen9; + public override int Location => Locations.LinkTrade6NPC; + public override Shiny Shiny { get; } + + public GemType TeraType => GemType.Default; + + public EncounterTrade9(GameVersion game, ushort species, byte level, Shiny shiny = Shiny.Never) : base(game) + { + Species = species; + Level = level; + Shiny = shiny; + } + + protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteria, PKM pk) + { + base.ApplyDetails(sav, criteria, pk); + + var pk9 = (PK9)pk; + pk9.HT_Language = (byte)pk.Language; + pk9.Obedience_Level = Level; + pk9.SetRandomEC(); + if (TeraType is GemType.Default) + pk9.TeraTypeOriginal = (MoveType)PersonalTable.SV.GetFormEntry(Species, Form).Type1; + else if (TeraType.IsSpecified(out var type)) + pk9.TeraTypeOriginal = (MoveType)type; + else + pk9.TeraTypeOriginal = (MoveType)Util.Rand.Next(0, 18); + pk9.Scale = PokeSizeUtil.GetRandomScalar(); + } + + public override bool IsMatchExact(PKM pk, EvoCriteria evo) + { + if (TeraType != GemType.Random && pk is ITeraType t && !Tera9RNG.IsMatchTeraType(TeraType, Species, Form, (byte)t.TeraTypeOriginal)) + return false; + return base.IsMatchExact(pk, evo); + } +} diff --git a/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator12.cs b/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator12.cs index 06a43649f..ff44de7d7 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator12.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator12.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using static PKHeX.Core.EncounterTradeGenerator; using static PKHeX.Core.EncounterStaticGenerator; @@ -154,9 +154,9 @@ private static PeekEnumerator PickPreferredIterator(PKM pk, Peek EncounterTrade1 t1 when t1.GetMatchRating(pk) != Match => GBEncounterPriority.Least, EncounterTrade1 => GBEncounterPriority.TradeEncounterG1, EncounterTrade2 => GBEncounterPriority.TradeEncounterG2, - EncounterStatic => GBEncounterPriority.StaticEncounter, - EncounterSlot => GBEncounterPriority.WildEncounter, - _ => GBEncounterPriority.EggEncounter, + EncounterSlot1 or EncounterSlot2 => GBEncounterPriority.WildEncounter, + EncounterEgg => GBEncounterPriority.EggEncounter, + _ => GBEncounterPriority.StaticEncounter, }; /// diff --git a/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator9.cs b/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator9.cs new file mode 100644 index 000000000..fadd9a7b5 --- /dev/null +++ b/PKHeX.Core/Legality/Encounters/Generator/ByGeneration/EncounterGenerator9.cs @@ -0,0 +1,97 @@ +using System.Collections.Generic; + +using static PKHeX.Core.MysteryGiftGenerator; +using static PKHeX.Core.EncounterTradeGenerator; +using static PKHeX.Core.EncounterSlotGenerator; +using static PKHeX.Core.EncounterStaticGenerator; +using static PKHeX.Core.EncounterEggGenerator; +using static PKHeX.Core.EncounterMatchRating; + +namespace PKHeX.Core; + +internal static class EncounterGenerator9 +{ + public static IEnumerable GetEncounters(PKM pk) + { + var chain = EncounterOrigin.GetOriginChain(pk); + return GetEncounters(pk, chain); + } + + private static IEnumerable GetEncounters(PKM pk, EvoCriteria[] chain) + { + int ctr = 0; + var game = (GameVersion)pk.Version; + + if (pk.FatefulEncounter) + { + foreach (var z in GetValidGifts(pk, chain, game)) + { yield return z; ++ctr; } + if (ctr != 0) yield break; + } + + if (Locations.IsEggLocationBred9(pk.Egg_Location)) + { + foreach (var z in GenerateEggs(pk, 9)) + { yield return z; ++ctr; } + if (ctr == 0) yield break; + } + + IEncounterable? cache = null; + EncounterMatchRating rating = MaxNotMatch; + + // Trades + if (pk.Met_Location == Locations.LinkTrade6NPC) + { + foreach (var z in GetValidEncounterTrades(pk, chain, game)) + { + var match = z.GetMatchRating(pk); + if (match == Match) + { + yield return z; + } + else if (match < rating) + { + cache = z; + rating = match; + } + } + + if (cache != null) + yield return cache; + yield break; + } + + // Static Encounters can collide with wild encounters (close match); don't break if a Static Encounter is yielded. + var encs = GetValidStaticEncounter(pk, chain, game); + foreach (var z in encs) + { + var match = z.GetMatchRating(pk); + if (match == Match) + { + yield return z; + } + else if (match < rating) + { + cache = z; + rating = match; + } + } + + foreach (var z in GetValidWildEncounters(pk, chain, game)) + { + var match = z.GetMatchRating(pk); + if (match == Match) + { + yield return z; + } + else if (match < rating) + { + cache = z; + rating = match; + } + } + + if (cache != null) + yield return cache; + } +} diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterCriteria.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterCriteria.cs index 613a463a4..f2ad6001a 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/EncounterCriteria.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterCriteria.cs @@ -41,6 +41,8 @@ public sealed record EncounterCriteria /// public bool ForceMinLevelRange { get; set; } + public sbyte TeraType { get; init; } = -1; + // unused public int HPType { get; init; } = -1; diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs index 25af9574e..2ea8433ba 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterGenerator.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; namespace PKHeX.Core; @@ -28,6 +28,7 @@ public static class EncounterGenerator 6 => EncounterGenerator6.GetEncounters(pk), 7 => EncounterGenerator7.GetEncounters(pk), 8 => EncounterGenerator8.GetEncounters(pk), + 9 => EncounterGenerator9.GetEncounters(pk), _ => Array.Empty(), }; } diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterEggGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterEggGenerator.cs index 4c55320ea..e68409392 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterEggGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterEggGenerator.cs @@ -28,7 +28,12 @@ public static IEnumerable GenerateEggs(PKM pk, EvoCriteria[] chain // version is a true indicator for all generation 3-5 origins var ver = (GameVersion)pk.Version; if (!Breeding.CanGameGenerateEggs(ver)) - yield break; + { + if (ver == 0 && pk is PK9) + ver = GameVersion.SL; + else + yield break; + } var context = ver.GetContext(); var lvl = EggStateLegality.GetEggLevel(generation); diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterSlotGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterSlotGenerator.cs index 757cd8153..398ad6993 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterSlotGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterSlotGenerator.cs @@ -5,16 +5,22 @@ using static PKHeX.Core.Legal; using static PKHeX.Core.Encounters1; using static PKHeX.Core.Encounters2; -using static PKHeX.Core.Encounters3; -using static PKHeX.Core.Encounters3GC; -using static PKHeX.Core.Encounters4; -using static PKHeX.Core.Encounters5; -using static PKHeX.Core.Encounters6; -using static PKHeX.Core.Encounters7; -using static PKHeX.Core.Encounters7b; +using static PKHeX.Core.Encounters3RSE; +using static PKHeX.Core.Encounters3FRLG; +using static PKHeX.Core.Encounters3XD; +using static PKHeX.Core.Encounters4DPPt; +using static PKHeX.Core.Encounters4HGSS; +using static PKHeX.Core.Encounters5BW; +using static PKHeX.Core.Encounters5B2W2; +using static PKHeX.Core.Encounters6XY; +using static PKHeX.Core.Encounters6AO; +using static PKHeX.Core.Encounters7SM; +using static PKHeX.Core.Encounters7USUM; +using static PKHeX.Core.Encounters7GG; using static PKHeX.Core.Encounters8; using static PKHeX.Core.Encounters8a; using static PKHeX.Core.Encounters8b; +using static PKHeX.Core.Encounters9; using static PKHeX.Core.EncountersGO; using static PKHeX.Core.GameVersion; @@ -73,12 +79,6 @@ public static IEnumerable GetValidWildEncounters(PKM pk, EvoCrite return GetRawEncounterSlots(pk, chain, gameSource); } - public static IEnumerable GetValidWildEncounters(PKM pk, EvoCriteria[] chain) - { - var gameSource = (GameVersion)pk.Version; - return GetRawEncounterSlots(pk, chain, gameSource); - } - private static IEnumerable GetEncounterAreas(PKM pk, GameVersion gameSource) { var slots = GetEncounterTable(pk, gameSource); @@ -146,6 +146,9 @@ private static IEnumerable GetIsMatchLocation(PKM pk, IEnumerable BD => SlotsBD, SP => SlotsSP, PLA => SlotsLA, + + SL or VL => Slots, + _ => Array.Empty(), }; diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs index 2301c2303..b8f6eeb34 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterStaticGenerator.cs @@ -5,16 +5,22 @@ using static PKHeX.Core.Legal; using static PKHeX.Core.Encounters1; using static PKHeX.Core.Encounters2; -using static PKHeX.Core.Encounters3; -using static PKHeX.Core.Encounters3GC; -using static PKHeX.Core.Encounters4; -using static PKHeX.Core.Encounters5; -using static PKHeX.Core.Encounters6; -using static PKHeX.Core.Encounters7; -using static PKHeX.Core.Encounters7b; +using static PKHeX.Core.Encounters3RSE; +using static PKHeX.Core.Encounters3FRLG; +using static PKHeX.Core.Encounters3XD; +using static PKHeX.Core.Encounters4DPPt; +using static PKHeX.Core.Encounters4HGSS; +using static PKHeX.Core.Encounters5BW; +using static PKHeX.Core.Encounters5B2W2; +using static PKHeX.Core.Encounters6XY; +using static PKHeX.Core.Encounters6AO; +using static PKHeX.Core.Encounters7SM; +using static PKHeX.Core.Encounters7USUM; +using static PKHeX.Core.Encounters7GG; using static PKHeX.Core.Encounters8; using static PKHeX.Core.Encounters8a; using static PKHeX.Core.Encounters8b; +using static PKHeX.Core.Encounters9; using static PKHeX.Core.GameVersion; @@ -179,6 +185,9 @@ private static ushort GetVCSpecies(ReadOnlySpan chain, PKM pk, int BD => StaticBD, SP => StaticSP, PLA => StaticLA, + + SL => StaticSL, + VL => StaticVL, _ => Array.Empty(), }; diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterTradeGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterTradeGenerator.cs index 793d95233..4e1c646f0 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterTradeGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/EncounterTradeGenerator.cs @@ -100,19 +100,20 @@ private static IEnumerable GetTableVC(GameVersion game) private static EncounterTrade[] GetTable(GameVersion game) => game switch { - R or S or E => Encounters3.TradeGift_RSE, - FR or LG => Encounters3.TradeGift_FRLG, - D or P or Pt => Encounters4.TradeGift_DPPt, - HG or SS => Encounters4.TradeGift_HGSS, - B or W => Encounters5.TradeGift_BW, - B2 or W2 => Encounters5.TradeGift_B2W2, - X or Y => Encounters6.TradeGift_XY, - AS or OR => Encounters6.TradeGift_AO, - SN or MN => Encounters7.TradeGift_SM, - US or UM => Encounters7.TradeGift_USUM, - GP or GE => Encounters7b.TradeGift_GG, + R or S or E => Encounters3RSE.TradeGift_RSE, + FR or LG => Encounters3FRLG.TradeGift_FRLG, + D or P or Pt => Encounters4DPPt.TradeGift_DPPt, + HG or SS => Encounters4HGSS.TradeGift_HGSS, + B or W => Encounters5BW.TradeGift_BW, + B2 or W2 => Encounters5B2W2.TradeGift_B2W2, + X or Y => Encounters6XY.TradeGift_XY, + AS or OR => Encounters6AO.TradeGift_AO, + SN or MN => Encounters7SM.TradeGift_SM, + US or UM => Encounters7USUM.TradeGift_USUM, + GP or GE => Encounters7GG.TradeGift_GG, SW or SH => Encounters8.TradeGift_SWSH, BD or SP => Encounters8b.TradeGift_BDSP, + SL or VL => Encounters9.TradeGift_SV, _ => Array.Empty(), }; } diff --git a/PKHeX.Core/Legality/Encounters/Generator/Specific/MysteryGiftGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/Specific/MysteryGiftGenerator.cs index 665356c07..76f766b75 100644 --- a/PKHeX.Core/Legality/Encounters/Generator/Specific/MysteryGiftGenerator.cs +++ b/PKHeX.Core/Legality/Encounters/Generator/Specific/MysteryGiftGenerator.cs @@ -51,6 +51,7 @@ public static IEnumerable GetValidGifts(PKM pk, EvoCriteria[] chain GameVersion.PLA => MGDB_G8A, _ => MGDB_G8, }, + 9 => MGDB_G9, _ => Array.Empty(), }; diff --git a/PKHeX.Core/Legality/Encounters/IEncounterTemplate.cs b/PKHeX.Core/Legality/Encounters/IEncounterTemplate.cs index 4294cc5d3..1f578cf83 100644 --- a/PKHeX.Core/Legality/Encounters/IEncounterTemplate.cs +++ b/PKHeX.Core/Legality/Encounters/IEncounterTemplate.cs @@ -19,6 +19,10 @@ public interface IEncounterTemplate : ISpeciesForm, IVersion, IGeneration, IShin /// Minimum level for the encounter. /// byte LevelMin { get; } + + /// + /// Maximum level for the encounter. + /// byte LevelMax { get; } } diff --git a/PKHeX.Core/Legality/Encounters/Information/EncounterLearn.cs b/PKHeX.Core/Legality/Encounters/Information/EncounterLearn.cs index b47e54762..2df30e90a 100644 --- a/PKHeX.Core/Legality/Encounters/Information/EncounterLearn.cs +++ b/PKHeX.Core/Legality/Encounters/Information/EncounterLearn.cs @@ -85,6 +85,13 @@ public static IEnumerable GetLearn(ushort species, ushort[] move private static IEnumerable GetLearnInternal(ushort species, byte form, ushort[] moves, GameVersion[] vers) { bool iterated = false; + if (PersonalTable.SV.IsPresentInGame(species, form)) + { + var blank = new PK9 { Species = species, Form = form }; + var encs = EncounterMovesetGenerator.GenerateEncounters(blank, moves, vers); + foreach (var enc in encs) + yield return enc; + } if (PersonalTable.LA.IsPresentInGame(species, form)) { var blank = new PA8 { Species = species, Form = form }; diff --git a/PKHeX.Core/Legality/Encounters/Information/EncounterSuggestion.cs b/PKHeX.Core/Legality/Encounters/Information/EncounterSuggestion.cs index 0fefd8e9f..7b3012828 100644 --- a/PKHeX.Core/Legality/Encounters/Information/EncounterSuggestion.cs +++ b/PKHeX.Core/Legality/Encounters/Information/EncounterSuggestion.cs @@ -60,6 +60,7 @@ public static int GetSuggestedEncounterEggLocationEgg(PKM pk, bool traded = fals 4 => traded ? Locations.LinkTrade4 : Locations.Daycare4, 5 => traded ? Locations.LinkTrade5 : Locations.Daycare5, 8 when BDSP.Contains(version)=> traded ? Locations.LinkTrade6NPC : Locations.Daycare8b, + 9 => Locations.Picnic9, _ => traded ? Locations.LinkTrade6 : Locations.Daycare5, }; diff --git a/PKHeX.Core/Legality/Encounters/Verifiers/EncounterVerifier.cs b/PKHeX.Core/Legality/Encounters/Verifiers/EncounterVerifier.cs index 05b80e4e5..1be30aef9 100644 --- a/PKHeX.Core/Legality/Encounters/Verifiers/EncounterVerifier.cs +++ b/PKHeX.Core/Legality/Encounters/Verifiers/EncounterVerifier.cs @@ -82,6 +82,7 @@ private static CheckResult VerifyWildEncounterCrystalHeadbutt(ITrainerID tr, Enc 7 => pk.IsEgg ? VerifyUnhatchedEgg(pk, Locations.LinkTrade6) : VerifyEncounterEgg7(pk), 8 when GameVersion.BDSP.Contains((GameVersion)pk.Version) => pk.IsEgg ? VerifyUnhatchedEgg(pk, Locations.LinkTrade6NPC, Locations.Default8bNone) : VerifyEncounterEgg8BDSP(pk), 8 => pk.IsEgg ? VerifyUnhatchedEgg(pk, Locations.LinkTrade6) : VerifyEncounterEgg8(pk), + 9 => pk.IsEgg ? VerifyUnhatchedEgg(pk, Locations.LinkTrade6) : VerifyEncounterEgg9(pk), _ => new CheckResult(Severity.Invalid, LEggLocationInvalid, CheckIdentifier.Encounter), }; @@ -205,6 +206,15 @@ private static CheckResult VerifyEncounterEgg8(PKM pk) return new CheckResult(Severity.Invalid, LEggLocationInvalid, CheckIdentifier.Encounter); } + private static CheckResult VerifyEncounterEgg9(PKM pk) + { + if (pk.SV) + return VerifyEncounterEggLevelLoc(pk, 1, Legal.IsValidEggHatchLocation9); + + // no other games + return new CheckResult(Severity.Invalid, LEggLocationInvalid, CheckIdentifier.Encounter); + } + private static CheckResult VerifyEncounterEgg8BDSP(PKM pk) { if (pk.BDSP) diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroup9.cs b/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroup9.cs new file mode 100644 index 000000000..9b6a41674 --- /dev/null +++ b/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroup9.cs @@ -0,0 +1,104 @@ +using System; + +namespace PKHeX.Core; + +public sealed class EvolutionGroup9 : IEvolutionGroup +{ + public static readonly EvolutionGroup9 Instance = new(); + private static readonly EvolutionTree Tree9 = EvolutionTree.Evolves9; + private const int MaxSpecies = Legal.MaxSpeciesID_9; + private const int Generation = 9; + + public IEvolutionGroup? GetNext(PKM pk, EvolutionOrigin enc) => null; + public IEvolutionGroup? GetPrevious(PKM pk, EvolutionOrigin enc) + { + if (enc.Generation >= Generation) + return null; + return null; + } + + public bool Append(PKM pk, EvolutionHistory history, ref ReadOnlySpan chain, EvolutionOrigin enc) + { + if (chain.Length == 0) + return false; + + var sv = Append(pk, chain, enc, PersonalTable.SV, Tree9, ref history.Gen9); + + if (!sv) + return false; + + chain = history.Gen9; + return chain.Length != 0; + } + + private static bool Append(PKM pk, ReadOnlySpan chain, EvolutionOrigin enc, T pt, EvolutionTree tree, ref EvoCriteria[] dest) where T : IPersonalTable + { + // Get the first evolution in the chain that can be present in this group + var any = GetFirstEvolution(pt, chain, out var evo); + if (!any) + return false; + + // Get the evolution tree from this group and get the new chain from it. + var criteria = enc with { LevelMax = evo.LevelMax, LevelMin = (byte)pk.Met_Level }; + var local = GetInitialChain(pk, criteria, evo.Species, evo.Form, tree); + + // Revise the tree + var revised = Prune(local); + + // Set the tree to the history field + dest = revised; + + return revised.Length != 0; + } + + public EvoCriteria[] GetInitialChain(PKM pk, EvolutionOrigin enc, ushort species, byte form) + { + if (!GetPreferredGroup(species, form, out var group)) + return Array.Empty(); + var tree = GetTree(group); + return GetInitialChain(pk, enc, species, form, tree); + } + + private static EvoCriteria[] GetInitialChain(PKM pk, EvolutionOrigin enc, ushort species, byte form, EvolutionTree tree) + { + return tree.GetExplicitLineage(species, form, pk, enc.LevelMin, enc.LevelMax, MaxSpecies, enc.SkipChecks, enc.Species); + } + + private static EvolutionTree GetTree(PreferredGroup group) => group switch + { + _ => Tree9, + }; + + private static bool GetPreferredGroup(ushort species, byte form, out PreferredGroup result) + { + if (PersonalTable.SV.IsPresentInGame(species, form)) + result = PreferredGroup.SV; + else + result = PreferredGroup.None; + return result != 0; + } + + private static EvoCriteria[] Prune(EvoCriteria[] chain) => chain; + + private enum PreferredGroup + { + None, + SV, + } + + private static bool GetFirstEvolution(T pt, ReadOnlySpan chain, out EvoCriteria result) where T : IPersonalTable + { + foreach (var evo in chain) + { + // If the evo can't exist in the game, it must be a future evolution. + if (!pt.IsPresentInGame(evo.Species, evo.Form)) + continue; + + result = evo; + return true; + } + + result = default; + return false; + } +} diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroupUtil.cs b/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroupUtil.cs index 7f67aeab3..2952cd8c9 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroupUtil.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionGroup/EvolutionGroupUtil.cs @@ -17,6 +17,7 @@ public static class EvolutionGroupUtil Gen6 => EvolutionGroup6.Instance, Gen7 => EvolutionGroup7.Instance, Gen8 => EvolutionGroup8.Instance, + Gen9 => EvolutionGroup9.Instance, Gen7b => EvolutionGroup7b.Instance, Gen8a => EvolutionGroup8.Instance, diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionHistory.cs b/PKHeX.Core/Legality/Evolutions/EvolutionHistory.cs index 3af3dd171..0885d1fad 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionHistory.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionHistory.cs @@ -18,6 +18,7 @@ public class EvolutionHistory public EvoCriteria[] Gen6 = NONE; public EvoCriteria[] Gen7 = NONE; public EvoCriteria[] Gen8 = NONE; + public EvoCriteria[] Gen9 = NONE; public EvoCriteria[] Gen7b = NONE; public EvoCriteria[] Gen8a = NONE; @@ -31,6 +32,7 @@ public class EvolutionHistory public bool HasVisitedGen6 => Gen6.Length != 0; public bool HasVisitedGen7 => Gen7.Length != 0; public bool HasVisitedSWSH => Gen8.Length != 0; + public bool HasVisitedGen9 => Gen9.Length != 0; public bool HasVisitedLGPE => Gen7b.Length != 0; public bool HasVisitedPLA => Gen8a.Length != 0; @@ -46,6 +48,7 @@ public class EvolutionHistory if (context == EntityContext.Gen6) return ref Gen6; if (context == EntityContext.Gen7) return ref Gen7; if (context == EntityContext.Gen8) return ref Gen8; + if (context == EntityContext.Gen9) return ref Gen9; if (context == EntityContext.Gen7b) return ref Gen7b; if (context == EntityContext.Gen8a) return ref Gen8a; @@ -54,6 +57,17 @@ public class EvolutionHistory throw new ArgumentOutOfRangeException(nameof(context)); } + public bool HasVisited(EntityContext context, ushort species) + { + var evos = Get(context); + foreach (var evo in evos) + { + if (evo.Species == species) + return true; + } + return false; + } + public void Set(EntityContext context, EvoCriteria[] chain) { ref var arr = ref Get(context); diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionMethod.cs b/PKHeX.Core/Legality/Evolutions/EvolutionMethod.cs index 079592761..6acd5282d 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionMethod.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionMethod.cs @@ -90,19 +90,24 @@ public bool Valid(PKM pk, byte lvl, bool skipChecks) LevelUpFormFemale1 when pk.Gender != 1 || pk.Form != 1 => false, // Permit the evolution if we're exploring for mistakes. - LevelUpBeauty when pk is IContestStats s && s.CNT_Beauty < Argument => skipChecks, + LevelUpBeauty when pk is IContestStatsReadOnly s && s.CNT_Beauty < Argument => skipChecks, LevelUpNatureAmped or LevelUpNatureLowKey when GetAmpLowKeyResult(pk.Nature) != pk.Form => skipChecks, // Version checks come in pairs, check for any pair match LevelUpVersion or LevelUpVersionDay or LevelUpVersionNight when ((pk.Version & 1) != (Argument & 1) && pk.IsUntraded) => skipChecks, + LevelUpKnowMoveEC25 when pk.EncryptionConstant % 25 != 0 => skipChecks, + LevelUpKnowMoveECElse when pk.EncryptionConstant % 25 == 0 => skipChecks, + LevelUpInBattleEC25 when pk.EncryptionConstant % 25 != 0 => skipChecks, + LevelUpInBattleECElse when pk.EncryptionConstant % 25 == 0 => skipChecks, + _ => true, }; private bool ValidNotLevelUp(PKM pk, bool skipChecks) => Method switch { - UseItemMale or RecoilDamageMale => pk.Gender == 0, - UseItemFemale or RecoilDamageFemale => pk.Gender == 1, + UseItemMale or LevelUpRecoilDamageMale => pk.Gender == 0, + UseItemFemale or LevelUpRecoilDamageFemale => pk.Gender == 1, Trade or TradeHeldItem or TradeShelmetKarrablast => !pk.IsUntraded || skipChecks, _ => true, // no conditions diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet7.cs b/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet7.cs index 5a314ae54..8fcef6274 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet7.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionSets/EvolutionSet7.cs @@ -13,13 +13,20 @@ public static class EvolutionSet7 private static EvolutionMethod[] GetMethods(ReadOnlySpan data, bool LevelUpBypass) { - var evos = new EvolutionMethod[data.Length / SIZE]; - for (int i = 0; i < data.Length; i += SIZE) + if (data.Length == 0) + return Array.Empty(); + + var result = new EvolutionMethod[data.Length / SIZE]; + int i = 0, offset = 0; + while (true) { - var entry = data.Slice(i, SIZE); - evos[i / SIZE] = ReadEvolution(entry, LevelUpBypass); + var entry = data.Slice(offset, SIZE); + result[i] = ReadEvolution(entry, LevelUpBypass); + offset += SIZE; + if (offset >= data.Length) + return result; + i++; } - return evos; } private static EvolutionMethod ReadEvolution(ReadOnlySpan entry, bool levelUpBypass) diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs b/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs index 76846eeb6..6e59137cb 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionTree.cs @@ -24,6 +24,7 @@ public sealed class EvolutionTree public static readonly EvolutionTree Evolves8 = new(GetReader("ss"), Gen8, PersonalTable.SWSH, MaxSpeciesID_8); public static readonly EvolutionTree Evolves8a = new(GetReader("la"), PLA, PersonalTable.LA, MaxSpeciesID_8a); public static readonly EvolutionTree Evolves8b = new(GetReader("bs"), BDSP, PersonalTable.BDSP, MaxSpeciesID_8b); + public static readonly EvolutionTree Evolves9 = new(GetReader("sv"), Gen9, PersonalTable.SV, MaxSpeciesID_9); private static ReadOnlySpan GetResource(string resource) => Util.GetBinaryResource($"evos_{resource}.pkl"); private static BinLinkerAccessor GetReader(string resource) => BinLinkerAccessor.Get(GetResource(resource), resource); @@ -46,6 +47,7 @@ static EvolutionTree() EntityContext.Gen6 => Evolves6, EntityContext.Gen7 => Evolves7, EntityContext.Gen8 => Evolves8, + EntityContext.Gen9 => Evolves9, EntityContext.Gen7b => Evolves7b, EntityContext.Gen8a => Evolves8a, EntityContext.Gen8b => Evolves8b, @@ -146,7 +148,7 @@ private IEnumerable<(int Key, EvolutionLink Value)> CreateTree() private static IReadOnlyList GetEntries(BinLinkerAccessor data, GameVersion game) => game switch { Gen6 => EvolutionSet6.GetArray(data), - Gen7 or Gen8 or BDSP => EvolutionSet7.GetArray(data, false), + Gen7 or Gen8 or BDSP or Gen9 => EvolutionSet7.GetArray(data, false), PLA => EvolutionSet7.GetArray(data, true), _ => throw new ArgumentOutOfRangeException(nameof(game)), }; @@ -181,7 +183,7 @@ private void FixEvoTreeSS() private void FixEvoTreeBS() { BanEvo((int)Species.Glaceon, 0, pk => pk.CurrentLevel == pk.Met_Level); // Ice Stone is unreleased, requires Route 217 Ice Rock Level Up instead - BanEvo((int)Species.Milotic, 0, pk => pk is IContestStats { CNT_Beauty: < 170 } || pk.CurrentLevel == pk.Met_Level); // Prism Scale is unreleased, requires 170 Beauty Level Up instead + BanEvo((int)Species.Milotic, 0, pk => pk is IContestStatsReadOnly { CNT_Beauty: < 170 } || pk.CurrentLevel == pk.Met_Level); // Prism Scale is unreleased, requires 170 Beauty Level Up instead } private void BanEvo(ushort species, byte form, Func func) diff --git a/PKHeX.Core/Legality/Evolutions/EvolutionType.cs b/PKHeX.Core/Legality/Evolutions/EvolutionType.cs index 61fbf8233..c84cffd22 100644 --- a/PKHeX.Core/Legality/Evolutions/EvolutionType.cs +++ b/PKHeX.Core/Legality/Evolutions/EvolutionType.cs @@ -58,11 +58,25 @@ public enum EvolutionType : byte LevelUpNatureLowKey = 47, // Toxtricity TowerOfDarkness = 48, // Urshifu TowerOfWaters = 49, // Urshifu - UseItemFullMoon = 50, // Ursaluna - UseAgileStyleMoves = 51, // Wyrdeer - UseStrongStyleMoves = 52, // Overqwil - RecoilDamageMale = 53, // Basculegion-0 - RecoilDamageFemale = 54, // Basculegion-1 + + LevelUpWalkStepsWith = 50, + LevelUpUnionCircle = 51, // Palafin + LevelUpInBattleEC25 = 52, // Maushold-0 + LevelUpInBattleECElse = 53, // Maushold-1 + LevelUpCollect999 = 54, // Gimmighoul formarg 999 + LevelUpDefeatEquals = 55, // Kingambit + LevelUpUseMoveSpecial = 56, // Annihilape + LevelUpKnowMoveECElse = 57, // Dudunsparce-0 + LevelUpKnowMoveEC25 = 58, // Dudunsparce-1 + + LevelUpRecoilDamageMale = 59, // Basculegion-0 + LevelUpRecoilDamageFemale = 60, // Basculegion-1 + + Hisui = 61, + + UseItemFullMoon = 90, // Ursaluna + UseMoveAgileStyle = 91, // Wyrdeer + UseMoveStrongStyle = 92, // Overqwil } public static class EvolutionTypeExtensions @@ -121,11 +135,22 @@ public static class EvolutionTypeExtensions LevelUpNatureLowKey => true, TowerOfDarkness => false, TowerOfWaters => false, + LevelUpWalkStepsWith => true, + LevelUpUnionCircle => true, + LevelUpInBattleEC25 => true, + LevelUpInBattleECElse => true, + LevelUpCollect999 => true, + LevelUpDefeatEquals => true, + LevelUpUseMoveSpecial => true, + LevelUpKnowMoveECElse => true, + LevelUpKnowMoveEC25 => true, + LevelUpRecoilDamageMale => true, + LevelUpRecoilDamageFemale => true, + Hisui => false, // stubbed + UseItemFullMoon => false, - UseAgileStyleMoves => false, - UseStrongStyleMoves => false, - RecoilDamageMale => false, - RecoilDamageFemale => false, + UseMoveAgileStyle => false, + UseMoveStrongStyle => false, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null), }; } diff --git a/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs b/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs index daa480a8d..620b1039e 100644 --- a/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs +++ b/PKHeX.Core/Legality/Formatting/LegalityCheckStrings.cs @@ -62,6 +62,7 @@ public static class LegalityCheckStrings public static string LAbilityCapsuleUsed { get; set; } = "Ability available with Ability Capsule."; public static string LAbilityPatchUsed { get; set; } = "Ability available with Ability Patch."; + public static string LAbilityPatchRevertUsed { get; set; } = "Ability available with Ability Patch Revert."; public static string LAbilityFlag { get; set; } = "Ability matches ability number."; public static string LAbilityHiddenFail { get; set; } = "Hidden Ability mismatch for encounter type."; public static string LAbilityHiddenUnavailable { get; set; } = "Hidden Ability not available."; @@ -266,7 +267,7 @@ public static class LegalityCheckStrings public static string LGeoNoCountryHT { get; set; } = "GeoLocation Memory: HT Name present but has no previous Country."; public static string LGeoNoRegion { get; set; } = "GeoLocation Memory: Region without Country."; - public static string LHyperBelow100 { get; set; } = "Can't Hyper Train a Pokémon that isn't level 100."; + public static string LHyperTooLow_0 { get; set; } = "Can't Hyper Train a Pokémon that isn't level {0}."; public static string LHyperPerfectAll { get; set; } = "Can't Hyper Train a Pokémon with perfect IVs."; public static string LHyperPerfectOne { get; set; } = "Can't Hyper Train a perfect IV."; public static string LHyperPerfectUnavailable { get; set; } = "Can't Hyper Train any IV(s)."; @@ -464,6 +465,11 @@ public static class LegalityCheckStrings public static string LSuperUnavailable { get; set; } = "Super Training missions are not available in games visited."; public static string LSuperUnused { get; set; } = "Unused Super Training Flag is flagged."; + public static string LTeraTypeIncorrect { get; set; } = "Tera Type does not match the expected value."; + public static string LTeraTypeMismatch { get; set; } = "Tera Type does not match either of the default types."; + + public static string LTradeNotAvailable { get; set; } = "Encounter cannot be traded to the active trainer."; + public static string LTransferBad { get; set; } = "Incorrectly transferred from previous generation."; public static string LTransferCurrentHandlerInvalid { get; set; } = "Invalid Current handler value, trainer details for save file expected another value."; @@ -481,6 +487,7 @@ public static class LegalityCheckStrings public static string LTransferMoveG4HM { get; set; } = "Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5."; public static string LTransferMoveHM { get; set; } = "Generation {0} HM. Should have been removed before transferred to Generation {1}."; public static string LTransferNature { get; set; } = "Invalid Nature for transfer Experience."; + public static string LTransferObedienceLevel { get; set; } = "Invalid Obedience Level."; public static string LTransferOriginFInvalid0_1 { get; set; } = "{0} origin cannot exist in the currently loaded ({1}) save file."; public static string LTransferPIDECBitFlip { get; set; } = "PID should be equal to EC [with top bit flipped]!"; public static string LTransferPIDECEquals { get; set; } = "PID should be equal to EC!"; diff --git a/PKHeX.Core/Legality/LearnSource/Group/LearnGroup8.cs b/PKHeX.Core/Legality/LearnSource/Group/LearnGroup8.cs index f4cf004c6..b828dd97d 100644 --- a/PKHeX.Core/Legality/LearnSource/Group/LearnGroup8.cs +++ b/PKHeX.Core/Legality/LearnSource/Group/LearnGroup8.cs @@ -156,7 +156,7 @@ private static void GetAllMoves(Span result, PKM pk, EvoCriteria evo, Move } // Check all forms - var inst = LearnSource6AO.Instance; + var inst = LearnSource8SWSH.Instance; if (!inst.TryGetPersonal(evo.Species, evo.Form, out var pi)) return; diff --git a/PKHeX.Core/Legality/LearnSource/Group/LearnGroup9.cs b/PKHeX.Core/Legality/LearnSource/Group/LearnGroup9.cs new file mode 100644 index 000000000..6624d2339 --- /dev/null +++ b/PKHeX.Core/Legality/LearnSource/Group/LearnGroup9.cs @@ -0,0 +1,165 @@ +using System; + +namespace PKHeX.Core; + +/// +/// Group that checks the source of a move in . +/// +public sealed class LearnGroup9 : ILearnGroup +{ + public static readonly LearnGroup9 Instance = new(); + private const int Generation = 9; + private const EntityContext Context = EntityContext.Gen9; + + public ILearnGroup? GetPrevious(PKM pk, EvolutionHistory history, IEncounterTemplate enc, LearnOption option) + { + return null; + } + + public bool HasVisited(PKM pk, EvolutionHistory history) => history.HasVisitedGen9; + + public bool Check(Span result, ReadOnlySpan current, PKM pk, EvolutionHistory history, + IEncounterTemplate enc, MoveSourceType types = MoveSourceType.All, LearnOption option = LearnOption.Current) + { + var evos = history.Gen9; + if (evos.Length == 0) + return false; + + for (var i = 0; i < evos.Length; i++) + Check(result, current, pk, evos[i], i, types, option); + + CheckSharedMoves(result, current, evos[0]); + + if (option is not LearnOption.Current && types.HasFlagFast(MoveSourceType.Encounter) && pk.IsOriginalMovesetDeleted() && enc is EncounterEgg { Generation: Generation } egg) + CheckEncounterMoves(result, current, egg); + + return MoveResult.AllParsed(result); + } + + private static void CheckSharedMoves(Span result, ReadOnlySpan current, EvoCriteria evo) + { + var game = LearnSource9SV.Instance; + var entry = PersonalTable.SV.GetFormEntry(evo.Species, evo.Form); + var baseSpecies = entry.HatchSpecies; + var baseForm = entry.HatchFormIndexEverstone; + var eggMoves = game.GetEggMoves(baseSpecies, baseForm); + + for (var i = result.Length - 1; i >= 0; i--) + { + if (result[i].Valid) + continue; + var move = current[i]; + if (eggMoves.Contains(move)) + result[i] = new(LearnMethod.Shared); + } + } + + private static void CheckEncounterMoves(Span result, ReadOnlySpan current, EncounterEgg egg) + { + var game = LearnSource9SV.Instance; + ReadOnlySpan eggMoves = game.GetEggMoves(egg.Species, egg.Form); + ReadOnlySpan levelMoves = egg.CanInheritMoves + ? game.GetLearnset(egg.Species, egg.Form).Moves + : ReadOnlySpan.Empty; + + for (var i = result.Length - 1; i >= 0; i--) + { + if (result[i].Valid) + continue; + var move = current[i]; + if (eggMoves.Contains(move)) + result[i] = new(LearnMethod.EggMove); + else if (levelMoves.Contains(move)) + result[i] = new(LearnMethod.InheritLevelUp); + else if (move is (int)Move.VoltTackle && egg.CanHaveVoltTackle) + result[i] = new(LearnMethod.SpecialEgg); + } + } + + private static void Check(Span result, ReadOnlySpan current, PKM pk, EvoCriteria evo, int stage, MoveSourceType type = MoveSourceType.All, LearnOption option = LearnOption.Current) + { + if (!FormChangeUtil.ShouldIterateForms(evo.Species, evo.Form, Generation, option)) + { + CheckInternal(result, current, pk, evo, stage, type, option); + return; + } + + // Check all forms + var inst = LearnSource9SV.Instance; + if (!inst.TryGetPersonal(evo.Species, evo.Form, out var pi)) + return; + + var fc = pi.FormCount; + for (int i = 0; i < fc; i++) + CheckInternal(result, current, pk, evo with { Form = (byte)i }, stage, type, option); + } + + private static void CheckInternal(Span result, ReadOnlySpan current, PKM pk, EvoCriteria evo, int stage, MoveSourceType type, LearnOption option) + { + var game = LearnSource9SV.Instance; + if (!game.TryGetPersonal(evo.Species, evo.Form, out var pi)) + return; + + for (int i = result.Length - 1; i >= 0; i--) + { + if (result[i].Valid) + continue; + + var move = current[i]; + var chk = game.GetCanLearn(pk, pi, evo, move, type, option); + if (chk != default) + result[i] = new(chk, (byte)stage, Generation); + } + } + + public void GetAllMoves(Span result, PKM pk, EvolutionHistory history, IEncounterTemplate enc, MoveSourceType types = MoveSourceType.All, LearnOption option = LearnOption.Current) + { + var evos = history.Gen9; + if (types.HasFlagFast(MoveSourceType.Encounter) && enc.Context == Context) + FlagEncounterMoves(enc, result); + + foreach (var evo in evos) + GetAllMoves(result, pk, evo, types, option); + } + + private static void GetAllMoves(Span result, PKM pk, EvoCriteria evo, MoveSourceType types, LearnOption option) + { + if (!FormChangeUtil.ShouldIterateForms(evo.Species, evo.Form, Generation, option)) + { + GetAllMovesInternal(result, pk, evo, types); + return; + } + + // Check all forms + var inst = LearnSource6AO.Instance; + if (!inst.TryGetPersonal(evo.Species, evo.Form, out var pi)) + return; + + var fc = pi.FormCount; + for (int i = 0; i < fc; i++) + GetAllMovesInternal(result, pk, evo with { Form = (byte)i }, types); + } + + private static void GetAllMovesInternal(Span result, PKM pk, EvoCriteria evo, MoveSourceType types) + { + LearnSource9SV.Instance.GetAllMoves(result, pk, evo, types); + } + + private static void FlagEncounterMoves(IEncounterTemplate enc, Span result) + { + if (enc is IMoveset { Moves: { HasMoves: true } x }) + { + result[x.Move4] = true; + result[x.Move3] = true; + result[x.Move2] = true; + result[x.Move1] = true; + } + if (enc is IRelearn { Relearn: { HasMoves: true } r }) + { + result[r.Move4] = true; + result[r.Move3] = true; + result[r.Move2] = true; + result[r.Move1] = true; + } + } +} diff --git a/PKHeX.Core/Legality/LearnSource/Group/LearnGroupUtil.cs b/PKHeX.Core/Legality/LearnSource/Group/LearnGroupUtil.cs index 63fac1486..e53fb0398 100644 --- a/PKHeX.Core/Legality/LearnSource/Group/LearnGroupUtil.cs +++ b/PKHeX.Core/Legality/LearnSource/Group/LearnGroupUtil.cs @@ -20,6 +20,7 @@ public static class LearnGroupUtil Gen6 => LearnGroup6.Instance, Gen7 => LearnGroup7.Instance, Gen8 => LearnGroup8.Instance, + Gen9 => LearnGroup9.Instance, Gen7b => LearnGroup7b.Instance, Gen8a => LearnGroup8a.Instance, diff --git a/PKHeX.Core/Legality/LearnSource/LearnEnvironment.cs b/PKHeX.Core/Legality/LearnSource/LearnEnvironment.cs index bb1794556..601e51482 100644 --- a/PKHeX.Core/Legality/LearnSource/LearnEnvironment.cs +++ b/PKHeX.Core/Legality/LearnSource/LearnEnvironment.cs @@ -18,6 +18,7 @@ public enum LearnEnvironment : byte /* Gen6 */ XY, ORAS, /* Gen7 */ SM, USUM, GG, /* Gen8 */ SWSH, BDSP, PLA, + /* Gen9 */ SV, } public static class LearnEnvironmentExtensions @@ -33,6 +34,7 @@ public static class LearnEnvironmentExtensions XY or ORAS => 6, SM or USUM or GG => 7, SWSH or BDSP or PLA => 8, + SV => 9, _ => 0, }; @@ -49,6 +51,7 @@ public static class LearnEnvironmentExtensions SWSH => history.Gen8, PLA => history.Gen8a, BDSP => history.Gen8b, + SV => history.Gen9, _ => ReadOnlySpan.Empty, }; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2C.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2C.cs index 9c23b0483..058acdee6 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2C.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2C.cs @@ -32,7 +32,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -40,7 +40,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2GS.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2GS.cs index 0857b3525..f5f19502a 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2GS.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource2GS.cs @@ -23,7 +23,7 @@ public sealed class LearnSource2GS : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -31,7 +31,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3E.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3E.cs index 52d059e4e..3f1a3f6b9 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3E.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3E.cs @@ -26,7 +26,7 @@ public sealed class LearnSource3E : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -34,7 +34,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -42,7 +42,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3FR.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3FR.cs index e67367b8b..2806dc271 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3FR.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3FR.cs @@ -26,7 +26,7 @@ public sealed class LearnSource3FR : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -34,7 +34,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -42,7 +42,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3LG.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3LG.cs index 99a2125b1..9e7b4ee46 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3LG.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3LG.cs @@ -26,7 +26,7 @@ public sealed class LearnSource3LG : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -34,7 +34,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -42,7 +42,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3RS.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3RS.cs index 2e227cecb..d787d1875 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3RS.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource3RS.cs @@ -25,7 +25,7 @@ public sealed class LearnSource3RS : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -33,7 +33,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -41,7 +41,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4DP.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4DP.cs index 1e59e1a8c..80ab869ae 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4DP.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4DP.cs @@ -25,7 +25,7 @@ public sealed class LearnSource4DP : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -33,7 +33,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -41,7 +41,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4HGSS.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4HGSS.cs index dfac75558..13aa5c76b 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4HGSS.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4HGSS.cs @@ -25,7 +25,7 @@ public sealed class LearnSource4HGSS : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -33,7 +33,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -41,7 +41,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4Pt.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4Pt.cs index 362a7ee16..de4ef0e2d 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4Pt.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource4Pt.cs @@ -25,7 +25,7 @@ public sealed class LearnSource4Pt : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -33,7 +33,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -41,7 +41,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5B2W2.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5B2W2.cs index 10ce556e6..995506cfc 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5B2W2.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5B2W2.cs @@ -23,7 +23,7 @@ public sealed class LearnSource5B2W2 : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -31,7 +31,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -39,7 +39,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5BW.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5BW.cs index 73cff5370..da24b1cba 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5BW.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource5BW.cs @@ -31,7 +31,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -39,7 +39,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6AO.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6AO.cs index 363fb97dd..054f151cf 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6AO.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6AO.cs @@ -30,7 +30,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -38,7 +38,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6XY.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6XY.cs index 5f3007d41..2c020d3dc 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6XY.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource6XY.cs @@ -22,7 +22,7 @@ public sealed class LearnSource6XY : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species]; return true; @@ -30,7 +30,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = EggMoves[species]; return moves.GetHasEggMove(move); @@ -38,7 +38,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return EggMoves[species].Moves; } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7SM.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7SM.cs index 113a6ce18..1e6a3a3b3 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7SM.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7SM.cs @@ -24,7 +24,7 @@ public sealed class LearnSource7SM : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species, form]; return true; @@ -32,7 +32,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); return moves.IndexOf(move) != -1; @@ -40,7 +40,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7USUM.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7USUM.cs index b129d282c..8e3ef5ecf 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7USUM.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource7USUM.cs @@ -24,7 +24,7 @@ public sealed class LearnSource7USUM : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species, form]; return true; @@ -32,7 +32,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); return moves.IndexOf(move) != -1; @@ -40,7 +40,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); } diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8BDSP.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8BDSP.cs index bc3574575..1765e15c1 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8BDSP.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8BDSP.cs @@ -22,7 +22,7 @@ public sealed class LearnSource8BDSP : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species, form]; return true; diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8SWSH.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8SWSH.cs index a090be53e..072e38c58 100644 --- a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8SWSH.cs +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource8SWSH.cs @@ -22,7 +22,7 @@ public sealed class LearnSource8SWSH : ILearnSource, IEggSource public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) { pi = null; - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; pi = Personal[species, form]; return true; @@ -30,7 +30,7 @@ public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out Pe public bool GetIsEggMove(ushort species, byte form, ushort move) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return false; var moves = MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); return moves.IndexOf(move) != -1; @@ -38,7 +38,7 @@ public bool GetIsEggMove(ushort species, byte form, ushort move) public ReadOnlySpan GetEggMoves(ushort species, byte form) { - if ((uint)species > MaxSpecies) + if (species > MaxSpecies) return ReadOnlySpan.Empty; return MoveEgg.GetFormEggMoves(species, form, EggMoves).AsSpan(); } @@ -128,7 +128,7 @@ private static bool GetIsTM(PersonalInfo info, ushort move) private static bool GetIsTR(PersonalInfo info, PKM pk, EvoCriteria evo, ushort move, LearnOption option) { - if (pk is not ITechRecord8 tr) + if (pk is not ITechRecord tr) return false; var index = TR_SWSH.AsSpan().IndexOf(move); @@ -185,7 +185,7 @@ public void GetAllMoves(Span result, PKM pk, EvoCriteria evo, MoveSourceTy result[moves[i]] = true; } - if (pk is ITechRecord8) + if (pk is ITechRecord) { var trFlags = flags.AsSpan(PersonalInfo8SWSH.CountTM); var trMoves = TR_SWSH.AsSpan(); diff --git a/PKHeX.Core/Legality/LearnSource/Sources/LearnSource9SV.cs b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource9SV.cs new file mode 100644 index 000000000..1097825bc --- /dev/null +++ b/PKHeX.Core/Legality/LearnSource/Sources/LearnSource9SV.cs @@ -0,0 +1,195 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using static PKHeX.Core.LearnMethod; +using static PKHeX.Core.LearnEnvironment; + +namespace PKHeX.Core; + +/// +/// Exposes information about how moves are learned in . +/// +public sealed class LearnSource9SV : ILearnSource, IEggSource, IReminderSource +{ + public static readonly LearnSource9SV Instance = new(); + private static readonly PersonalTable9SV Personal = PersonalTable.SV; + private static readonly Learnset[] Learnsets = Legal.LevelUpSV; + private static readonly ushort[][] EggMoves = Legal.EggMovesSV; + private static readonly ushort[][] Reminder = Legal.ReminderSV; + private const int MaxSpecies = Legal.MaxSpeciesID_9; + private const LearnEnvironment Game = SV; + + public Learnset GetLearnset(ushort species, byte form) => Learnsets[Personal.GetFormIndex(species, form)]; + + public bool TryGetPersonal(ushort species, byte form, [NotNullWhen(true)] out PersonalInfo? pi) + { + pi = null; + if (species > MaxSpecies) + return false; + pi = Personal[species, form]; + return true; + } + + public bool GetIsEggMove(ushort species, byte form, ushort move) + { + var index = Personal.GetFormIndex(species, form); + if (index >= EggMoves.Length) + return false; + var moves = EggMoves[index].AsSpan(); + return moves.IndexOf(move) != -1; + } + + public ReadOnlySpan GetEggMoves(ushort species, byte form) + { + var index = Personal.GetFormIndex(species, form); + if (index >= EggMoves.Length) + return ReadOnlySpan.Empty; + return EggMoves[index].AsSpan(); + } + + public bool GetIsReminderMove(ushort species, byte form, ushort move) + { + var index = Personal.GetFormIndex(species, form); + if (index >= Reminder.Length) + return false; + var moves = Reminder[index].AsSpan(); + return moves.IndexOf(move) != -1; + } + + public ReadOnlySpan GetReminderMoves(ushort species, byte form) + { + var index = Personal.GetFormIndex(species, form); + if (index >= Reminder.Length) + return ReadOnlySpan.Empty; + return Reminder[index].AsSpan(); + } + + public MoveLearnInfo GetCanLearn(PKM pk, PersonalInfo pi, EvoCriteria evo, ushort move, MoveSourceType types = MoveSourceType.All, LearnOption option = LearnOption.Current) + { + if (types.HasFlagFast(MoveSourceType.LevelUp)) + { + var learn = GetLearnset(evo.Species, evo.Form); + var level = learn.GetLevelLearnMove(move); + if (level != -1 && level <= evo.LevelMax) + return new(LevelUp, Game, (byte)level); + } + + if (types.HasFlagFast(MoveSourceType.SharedEggMove) && GetIsEggMove(evo.Species, evo.Form, move)) + return new(Shared, Game); + + if (types.HasFlagFast(MoveSourceType.Machine) && GetIsTM(pi, pk, move, option)) + return new(TMHM, Game); + + if (types.HasFlagFast(MoveSourceType.SpecialTutor) && GetIsReminderMove(evo.Species, evo.Form, move)) + return new(Tutor, Game); + + if (types.HasFlagFast(MoveSourceType.EnhancedTutor) && GetIsEnhancedTutor(evo, pk, move)) + return new(Tutor, Game); + + return default; + } + + private static bool GetIsTM(PersonalInfo info, PKM pk, ushort move, LearnOption option) + { + var index = TM_SV.AsSpan().IndexOf(move); + if (index == -1) + return false; + if (!info.TMHM[index]) + return false; + if (pk is not ITechRecord tr) + return true; + if (tr.GetMoveRecordFlag(index)) + return true; + if (option != LearnOption.Current && !pk.SV && pk.IsOriginalMovesetDeleted()) + return true; + return false; + } + + private static bool GetIsEnhancedTutor(EvoCriteria evo, ISpeciesForm current, ushort move) => evo.Species switch + { + (int)Species.Rotom => move switch + { + (int)Move.Overheat => current.Form == 1, + (int)Move.HydroPump => current.Form == 2, + (int)Move.Blizzard => current.Form == 3, + (int)Move.AirSlash => current.Form == 4, + (int)Move.LeafStorm => current.Form == 5, + _ => false, + }, + _ => false, + }; + + public void GetAllMoves(Span result, PKM pk, EvoCriteria evo, MoveSourceType types = MoveSourceType.All) + { + if (!TryGetPersonal(evo.Species, evo.Form, out var pi)) + return; + + if (types.HasFlagFast(MoveSourceType.LevelUp)) + { + var learn = GetLearnset(evo.Species, evo.Form); + (bool hasMoves, int start, int end) = learn.GetMoveRange(evo.LevelMax); + if (hasMoves) + { + var moves = learn.Moves; + for (int i = end; i >= start; i--) + result[moves[i]] = true; + } + } + + if (types.HasFlagFast(MoveSourceType.SharedEggMove)) + { + var entry = (PersonalInfo9SV)pi; + var baseSpecies = entry.HatchSpecies; + var baseForm = entry.HatchFormIndexEverstone; + var egg = GetEggMoves(baseSpecies, baseForm); + foreach (var move in egg) + result[move] = true; + } + + if (types.HasFlagFast(MoveSourceType.Machine)) + { + var flags = pi.TMHM; + var moves = TM_SV; + for (int i = 0; i < moves.Length; i++) + { + if (flags[i]) + result[moves[i]] = true; + } + } + + if (types.HasFlagFast(MoveSourceType.SpecialTutor)) + { + var reminder = GetReminderMoves(evo.Species, evo.Form); + foreach (var move in reminder) + result[move] = true; + } + + if (types.HasFlagFast(MoveSourceType.EnhancedTutor)) + { + var species = evo.Species; + if (species is (int)Species.Rotom && pk.Form is not 0) + result[MoveTutor.GetRotomFormMove(evo.Form)] = true; + } + } + + public static readonly ushort[] TM_SV = + { + 005, 036, 204, 313, 097, 189, 184, 182, 424, 422, + 423, 352, 067, 491, 512, 522, 060, 109, 168, 574, + 885, 884, 886, 451, 083, 263, 342, 332, 523, 506, + 555, 232, 129, 345, 196, 341, 317, 577, 488, 490, + 314, 500, 101, 374, 525, 474, 419, 203, 521, 241, + 240, 201, 883, 684, 473, 091, 331, 206, 280, 428, + 369, 421, 492, 706, 339, 403, 034, 007, 009, 008, + 214, 402, 486, 409, 115, 113, 350, 127, 337, 605, + 118, 447, 086, 398, 707, 156, 157, 269, 014, 776, + 191, 390, 286, 430, 399, 141, 598, 019, 285, 442, + 349, 408, 441, 164, 334, 404, 529, 261, 242, 271, + 710, 202, 396, 366, 247, 406, 446, 304, 257, 412, + 094, 484, 227, 057, 861, 053, 085, 583, 133, 347, + 270, 676, 226, 414, 179, 058, 604, 580, 678, 581, + 417, 126, 056, 059, 519, 518, 520, 528, 188, 089, + 444, 566, 416, 307, 308, 338, 200, 315, 411, 437, + 542, 433, 405, 063, 413, 394, 087, 370, 076, 434, + 796, 851, + }; +} diff --git a/PKHeX.Core/Legality/LearnSource/Sources/Shared/IReminderSource.cs b/PKHeX.Core/Legality/LearnSource/Sources/Shared/IReminderSource.cs new file mode 100644 index 000000000..a1a076611 --- /dev/null +++ b/PKHeX.Core/Legality/LearnSource/Sources/Shared/IReminderSource.cs @@ -0,0 +1,24 @@ +using System; + +namespace PKHeX.Core; + +/// +/// Exposes information about how special moves are learned via the move reminding interface. +/// +public interface IReminderSource +{ + /// + /// Checks if the can be learned. + /// + /// Entity base species + /// Entity base form + /// Move to check + bool GetIsReminderMove(ushort species, byte form, ushort move); + + /// + /// Gets the reminder move list that is permitted to be instructed. + /// + /// Entity base species + /// Entity base form + ReadOnlySpan GetReminderMoves(ushort species, byte form); +} diff --git a/PKHeX.Core/Legality/Learnset/EggMoves.cs b/PKHeX.Core/Legality/Learnset/EggMoves.cs index fd80975a0..4feb0216a 100644 --- a/PKHeX.Core/Legality/Learnset/EggMoves.cs +++ b/PKHeX.Core/Legality/Learnset/EggMoves.cs @@ -119,3 +119,29 @@ public static EggMoves7[] GetArray(BinLinkerAccessor entries) return result; } } + +/// +/// Raw Egg Move storage +/// +public static class EggMoves9 +{ + public static ushort[][] GetArray(BinLinkerAccessor entries) + { + var result = new ushort[entries.Length][]; + var empty = result[0] = Array.Empty(); + for (int i = 1; i < result.Length; i++) + { + var data = entries[i]; + if (data.Length == 0) + { + result[i] = empty; + continue; + } + var moves = new ushort[data.Length >> 1]; + for (int j = 0; j < data.Length; j+=2) + moves[j >> 1] = ReadUInt16LittleEndian(data[j..]); + result[i] = moves; + } + return result; + } +} diff --git a/PKHeX.Core/Legality/Learnset/LearnsetReader.cs b/PKHeX.Core/Legality/Learnset/LearnsetReader.cs index 1a54df896..0404d93f9 100644 --- a/PKHeX.Core/Legality/Learnset/LearnsetReader.cs +++ b/PKHeX.Core/Legality/Learnset/LearnsetReader.cs @@ -68,7 +68,7 @@ private static Learnset ReadLearnset8(ReadOnlySpan data, ref int offset) /// Count of moves, followed by Moves and Levels which are 16-bit private static Learnset ReadLearnset16(ReadOnlySpan data) { - if (data.Length == 0) + if (data.Length <= 4) return EMPTY; var count = (data.Length / 4) - 1; var moves = new ushort[count]; diff --git a/PKHeX.Core/Legality/LegalityAnalysis.cs b/PKHeX.Core/Legality/LegalityAnalysis.cs index 272464b3b..52afb7d88 100644 --- a/PKHeX.Core/Legality/LegalityAnalysis.cs +++ b/PKHeX.Core/Legality/LegalityAnalysis.cs @@ -162,7 +162,12 @@ private Action GetParseMethod() int gen = Entity.Generation; if (gen <= 0) - gen = Entity.Format; + { + if (Entity is PK9 { IsUnhatchedEgg: true }) + gen = 9; + else + gen = Entity.Format; + } return gen switch { 3 => ParsePK3, @@ -175,6 +180,7 @@ private Action GetParseMethod() 7 => ParsePK7, 8 => ParsePK8, + 9 => ParsePK9, _ => throw new ArgumentOutOfRangeException(nameof(gen)), }; @@ -248,6 +254,12 @@ private void ParsePK8() Transfer.VerifyTransferLegalityG8(this); } + private void ParsePK9() + { + UpdateChecks(); + Transfer.VerifyTransferLegalityG9(this); + } + /// /// Adds a new Check parse value. /// diff --git a/PKHeX.Core/Legality/MoveList.cs b/PKHeX.Core/Legality/MoveList.cs index a45987a89..0c9a73d70 100644 --- a/PKHeX.Core/Legality/MoveList.cs +++ b/PKHeX.Core/Legality/MoveList.cs @@ -35,6 +35,9 @@ internal static void GetCurrentMoves(PKM pk, ushort species, byte form, GameVers SW or SH or SWSH => Get(moves, LevelUpSWSH, PersonalTable.SWSH, species, form, lvl), BD or SP or BDSP => Get(moves, LevelUpBDSP, PersonalTable.BDSP, species, form, lvl), PLA => Get(moves, LevelUpLA, PersonalTable.LA, species, form, lvl), + + SL or VL or SV => Get(moves, LevelUpSV, PersonalTable.SV, species, form, lvl), + _ => moves, }; } diff --git a/PKHeX.Core/Legality/Moves/GameData.cs b/PKHeX.Core/Legality/Moves/GameData.cs index cc354abc6..b91a8d77b 100644 --- a/PKHeX.Core/Legality/Moves/GameData.cs +++ b/PKHeX.Core/Legality/Moves/GameData.cs @@ -46,6 +46,8 @@ public static Learnset GetLearnset(GameVersion game, ushort species, byte form) BD or SP or BDSP => Legal.LevelUpBDSP, PLA => Legal.LevelUpLA, + SL or VL => Legal.LevelUpSV, + Gen1 => Legal.LevelUpY, Gen2 => Legal.LevelUpC, Gen3 => Legal.LevelUpE, @@ -55,6 +57,7 @@ public static Learnset GetLearnset(GameVersion game, ushort species, byte form) Gen7 => Legal.LevelUpSM, Gen7b => Legal.LevelUpGG, Gen8 => Legal.LevelUpSWSH, + Gen9 => Legal.LevelUpSV, Stadium => Legal.LevelUpY, Stadium2 => Legal.LevelUpGS, @@ -92,6 +95,8 @@ public static Learnset GetLearnset(GameVersion game, ushort species, byte form) BD or SP or BDSP => PersonalTable.BDSP, PLA => PersonalTable.LA, + SL or VL or SV => PersonalTable.SV, + Gen1 => PersonalTable.Y, Gen2 => PersonalTable.C, Gen3 => PersonalTable.E, diff --git a/PKHeX.Core/Legality/Moves/MoveEgg.cs b/PKHeX.Core/Legality/Moves/MoveEgg.cs index faab180f5..7088f0ff8 100644 --- a/PKHeX.Core/Legality/Moves/MoveEgg.cs +++ b/PKHeX.Core/Legality/Moves/MoveEgg.cs @@ -30,6 +30,7 @@ public static ushort[] GetEggMoves(ushort species, byte form, GameVersion versio 7 when version is US or UM => GetFormEggMoves(species, form, EggMovesUSUM), 8 when version is SW or SH => GetFormEggMoves(species, form, EggMovesSWSH), 8 when version is BD or SP => GetMovesSafe(EggMovesBDSP, species), + 9 when version is SL or VL => GetFormEggMoves(EggMovesSV, PersonalTable.SV.GetFormIndex(species, form)), _ => Array.Empty(), }; @@ -40,6 +41,13 @@ public static ushort[] GetEggMoves(ushort species, byte form, GameVersion versio return moves[species].Moves; } + public static ushort[] GetFormEggMoves(IReadOnlyList moves, int index) + { + if ((ushort)index >= moves.Count) + return Array.Empty(); + return moves[index]; + } + public static ushort[] GetFormEggMoves(ushort species, byte form, IReadOnlyList table) { if (species >= table.Count) diff --git a/PKHeX.Core/Legality/RNG/Methods/Encounter9RNG.cs b/PKHeX.Core/Legality/RNG/Methods/Encounter9RNG.cs new file mode 100644 index 000000000..963878440 --- /dev/null +++ b/PKHeX.Core/Legality/RNG/Methods/Encounter9RNG.cs @@ -0,0 +1,297 @@ +using System; +using System.Runtime.CompilerServices; + +namespace PKHeX.Core; + +public static class Encounter9RNG +{ + public static bool TryApply32(this EncounterTera9 enc, PK9 pk, in ulong init, in GenerateParam9 param, EncounterCriteria criteria) + { + const int maxCtr = 100_000; + var rand = new Xoroshiro128Plus(init); + for (int ctr = 0; ctr < maxCtr; ctr++) + { + uint seed = (uint)rand.NextInt(uint.MaxValue); + if (!Tera9RNG.IsMatchStarChoice(seed, enc.Stars, enc.RandRate, enc.RandRateMinScarlet, enc.RandRateMinViolet)) + continue; + if (!GenerateData(pk, param, criteria, seed)) + continue; + + var type = Tera9RNG.GetTeraType(seed, enc.TeraType, enc.Species, enc.Form); + pk.TeraTypeOriginal = (MoveType)type; + if (criteria.TeraType != -1 && type != criteria.TeraType) + pk.SetTeraType(type); // sets the override type + return true; // done. + } + return false; + } + + public static bool TryApply64(this TEnc enc, PK9 pk, in ulong init, in GenerateParam9 param, EncounterCriteria criteria, bool ignoreIVs) + where TEnc : ISpeciesForm, IGemType + { + var rand = new Xoroshiro128Plus(init); + const int maxCtr = 100_000; + for (int ctr = 0; ctr < maxCtr; ctr++) + { + ulong seed = rand.Next(); // fake cryptosecure + if (!GenerateData(pk, param, criteria, seed, ignoreIVs)) + continue; + + var type = Tera9RNG.GetTeraType(seed, enc.TeraType, enc.Species, enc.Form); + pk.TeraTypeOriginal = (MoveType)type; + if (criteria.TeraType != -1 && type != criteria.TeraType) + pk.SetTeraType(type); // sets the override type + return true; // done. + } + return false; + } + + /// + /// Fills out an entity with details from the provided encounter template. + /// + /// False if the seed cannot generate data matching the criteria. + public static bool GenerateData(PK9 pk, in GenerateParam9 enc, EncounterCriteria criteria, in ulong seed, bool ignoreIVs = false) + { + var rand = new Xoroshiro128Plus(seed); + pk.EncryptionConstant = (uint)rand.NextInt(uint.MaxValue); + var fakeTID = (uint)rand.NextInt(); + uint pid = (uint)rand.NextInt(); + bool isShiny; + uint xor; + if (enc.Shiny == Shiny.Random) // let's decide if it's shiny or not! + { + xor = GetShinyXor(pid, fakeTID); + isShiny = xor < 16; + if (isShiny && xor != 0) + xor = 1; + } + else + { + // no need to calculate a fake trainer + xor = 0; + isShiny = enc.Shiny == Shiny.Always; + } + + ForceShinyState(pk, isShiny, ref pid, xor); + pk.PID = pid; + + const int UNSET = -1; + Span ivs = stackalloc[] { UNSET, UNSET, UNSET, UNSET, UNSET, UNSET }; + const int MAX = 31; + for (int i = 0; i < enc.FlawlessIVs; i++) + { + int index; + do { index = (int)rand.NextInt(6); } + while (ivs[index] != UNSET); + ivs[index] = MAX; + } + + for (int i = 0; i < 6; i++) + { + if (ivs[i] == UNSET) + ivs[i] = (int)rand.NextInt(32); + } + + if (!ignoreIVs && !criteria.IsIVsCompatible(ivs, 9)) + return false; + + pk.IV_HP = ivs[0]; + pk.IV_ATK = ivs[1]; + pk.IV_DEF = ivs[2]; + pk.IV_SPA = ivs[3]; + pk.IV_SPD = ivs[4]; + pk.IV_SPE = ivs[5]; + + int abil = enc.Ability switch + { + AbilityPermission.Any12H => (int)rand.NextInt(3) << 1, + AbilityPermission.Any12 => (int)rand.NextInt(2) << 1, + _ => (int)enc.Ability, + }; + pk.RefreshAbility(abil >> 1); + + var gender_ratio = enc.GenderRatio; + int gender = gender_ratio switch + { + PersonalInfo.RatioMagicGenderless => 2, + PersonalInfo.RatioMagicFemale => 1, + PersonalInfo.RatioMagicMale => 0, + _ => GetGender(gender_ratio, rand.NextInt(100)), + }; + if (criteria.Gender != -1 && gender != criteria.Gender) + return false; + pk.Gender = gender; + + var nature = (int)rand.NextInt(25); + if (criteria.Nature != Nature.Random && nature != (int)criteria.Nature) + return false; + pk.Nature = pk.StatNature = nature; + + pk.HeightScalar = enc.Height != 0 ? enc.Height : (byte)(rand.NextInt(0x81) + rand.NextInt(0x80)); + pk.WeightScalar = enc.Weight != 0 ? enc.Weight : (byte)(rand.NextInt(0x81) + rand.NextInt(0x80)); + pk.Scale = enc.Scale != 0 ? enc.Scale : (byte)(rand.NextInt(0x81) + rand.NextInt(0x80)); + return true; + } + + public static bool IsMatch(PKM pk, in GenerateParam9 enc, in ulong seed) + { + // same as above method + var rand = new Xoroshiro128Plus(seed); + if (pk.EncryptionConstant != (uint)rand.NextInt(uint.MaxValue)) + return false; + + var fakeTID = (uint)rand.NextInt(); + uint pid = (uint)rand.NextInt(); + bool isShiny; + uint xor; + if (enc.Shiny == Shiny.Random) // let's decide if it's shiny or not! + { + int i = 1; + while (true) + { + xor = GetShinyXor(pid, fakeTID); + isShiny = xor < 16; + if (isShiny) + { + if (xor != 0) + xor = 1; + break; + } + if (i >= enc.RollCount) + break; + pid = (uint)rand.NextInt(); + i++; + } + } + else + { + // no need to calculate a fake trainer + isShiny = enc.Shiny == Shiny.Always; + xor = 0; + } + + ForceShinyState(pk, isShiny, ref pid, xor); + + if (pk.PID != pid) + return false; + + const int UNSET = -1; + Span ivs = stackalloc[] { UNSET, UNSET, UNSET, UNSET, UNSET, UNSET }; + const int MAX = 31; + for (int i = 0; i < enc.FlawlessIVs; i++) + { + int index; + do { index = (int)rand.NextInt(6); } + while (ivs[index] != UNSET); + ivs[index] = MAX; + } + + for (int i = 0; i < 6; i++) + { + if (ivs[i] == UNSET) + ivs[i] = (int)rand.NextInt(32); + } + + if (pk.IV_HP != ivs[0]) + return false; + if (pk.IV_ATK != ivs[1]) + return false; + if (pk.IV_DEF != ivs[2]) + return false; + if (pk.IV_SPA != ivs[3]) + return false; + if (pk.IV_SPD != ivs[4]) + return false; + if (pk.IV_SPE != ivs[5]) + return false; + + int abil = enc.Ability switch + { + AbilityPermission.Any12H => (int)rand.NextInt(3) << 1, + AbilityPermission.Any12 => (int)rand.NextInt(2) << 1, + _ => (int)enc.Ability, + }; + + var gender_ratio = enc.GenderRatio; + int gender = gender_ratio switch + { + PersonalInfo.RatioMagicGenderless => 2, + PersonalInfo.RatioMagicFemale => 1, + PersonalInfo.RatioMagicMale => 0, + _ => GetGender(gender_ratio, rand.NextInt(100)), + }; + if (pk.Gender != gender) + return false; + + var nature = (int)rand.NextInt(25); + if (pk.Nature != nature) + return false; + + if (enc.Height == 0) + { + var value = (int)rand.NextInt(0x81) + (int)rand.NextInt(0x80); + if (pk is IScaledSize s && s.HeightScalar != value) + return false; + } + if (enc.Weight == 0) + { + var value = (int)rand.NextInt(0x81) + (int)rand.NextInt(0x80); + if (pk is IScaledSize s && s.WeightScalar != value) + return false; + } + if (enc.Scale == 0) + { + var value = (int)rand.NextInt(0x81) + (int)rand.NextInt(0x80); + if (pk is IScaledSize3 s && s.Scale != value) + return false; + } + return true; + } + + public static int GetGender(in int ratio, in ulong rand100) => ratio switch + { + 0x1F => rand100 < 12 ? 1 : 0, // 12.5% + 0x3F => rand100 < 25 ? 1 : 0, // 25% + 0x7F => rand100 < 50 ? 1 : 0, // 50% + 0xBF => rand100 < 75 ? 1 : 0, // 75% + 0xE1 => rand100 < 89 ? 1 : 0, // 87.5% + + _ => throw new ArgumentOutOfRangeException(nameof(ratio)), + }; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void ForceShinyState(PKM pk, in bool isShiny, ref uint pid, uint xor) + { + if (isShiny) + { + if (!GetIsShiny(pk.TID, pk.SID, pid)) + pid = GetShinyPID(pk.TID, pk.SID, pid, (int)xor); + } + else + { + if (GetIsShiny(pk.TID, pk.SID, pid)) + pid ^= 0x1000_0000; + } + } + + private static uint GetShinyPID(in int tid, in int sid, in uint pid, in int type) + { + return (uint)(((tid ^ sid ^ (pid & 0xFFFF) ^ type) << 16) | (pid & 0xFFFF)); + } + + private static bool GetIsShiny(in int tid, in int sid, in uint pid) + { + return GetShinyXor(tid, sid, pid) < 16; + } + + private static uint GetShinyXor(in int tid, in int sid, in uint pid) + { + return GetShinyXor(pid, (uint)((sid << 16) | tid)); + } + + private static uint GetShinyXor(in uint pid, in uint oid) + { + var xor = pid ^ oid; + return (xor ^ (xor >> 16)) & 0xFFFF; + } +} diff --git a/PKHeX.Core/Legality/RNG/Methods/GenerateParam9.cs b/PKHeX.Core/Legality/RNG/Methods/GenerateParam9.cs new file mode 100644 index 000000000..f64d221ee --- /dev/null +++ b/PKHeX.Core/Legality/RNG/Methods/GenerateParam9.cs @@ -0,0 +1,15 @@ +namespace PKHeX.Core; + +/// +/// Parameters used to generate data for an encounter. +/// +/// Gender ratio byte. +/// Count of IVs that are perfect. +/// Count of shiny rolls allowed for the PID calculation. +/// Height value to generate. If zero, full random. +/// Weight value to generate. If zero, full random. +/// Scale value to generate. If zero, full random. +/// Ability type to generate. +/// PID generation type. +public readonly record struct GenerateParam9(byte GenderRatio, byte FlawlessIVs, byte RollCount, byte Height, byte Weight, byte Scale, + AbilityPermission Ability = AbilityPermission.Any12, Shiny Shiny = Shiny.Random); diff --git a/PKHeX.Core/Legality/RNG/Methods/Overworld8RNG.cs b/PKHeX.Core/Legality/RNG/Methods/Overworld8RNG.cs index d3cef4c46..63c9005da 100644 --- a/PKHeX.Core/Legality/RNG/Methods/Overworld8RNG.cs +++ b/PKHeX.Core/Legality/RNG/Methods/Overworld8RNG.cs @@ -227,16 +227,18 @@ private static uint GetShinyXor(uint pid, uint oid) /// Seed public static uint GetOriginalSeed(PKM pk) { - var seed = pk.EncryptionConstant - unchecked((uint)Xoroshiro128Plus.XOROSHIRO_CONST); - if (seed == 0xD5B9C463) // Collision seed with the 0xFFFFFFFF re-roll. - { - var xoro = new Xoroshiro128Plus(seed); - /* ec */ xoro.NextInt(uint.MaxValue); - var pid = xoro.NextInt(uint.MaxValue); - if (pid != pk.PID) - return 0xDD6295A4; - } + // The seed is always 32 bits, so we know 96 bits of the seed (zeroes and the 64bit const). + // Since the 32-bit EC is generated first by adding the two 64-bit RNG states, we can calc the other 32bits. + var enc = pk.EncryptionConstant; + const uint TwoSeedsEC = 0xF8572EBE; + if (enc != TwoSeedsEC) + return enc - unchecked((uint)Xoroshiro128Plus.XOROSHIRO_CONST); - return seed; + // Two seeds can result in an EC of 0xF8572EBE, so we need to check the PID as well. + // Seed => EC => PID + const uint Seed_1 = 0xD5B9C463; // First rand() + const uint Seed_2 = 0xDD6295A4; // First rand() is uint.MaxValue, rolls again. + const uint PID_1 = 0x8E72DCF6; // 0x7CE0596A for PID_2 + return pk.PID == PID_1 ? Seed_1 : Seed_2; // don't care if the PID != second's case. Other validation will check. } } diff --git a/PKHeX.Core/Legality/RNG/Methods/Overworld8aRNG.cs b/PKHeX.Core/Legality/RNG/Methods/Overworld8aRNG.cs index b852f7a94..6d7a648a7 100644 --- a/PKHeX.Core/Legality/RNG/Methods/Overworld8aRNG.cs +++ b/PKHeX.Core/Legality/RNG/Methods/Overworld8aRNG.cs @@ -345,5 +345,3 @@ public static int GetRandomLevel(ulong slotSeed, byte LevelMin, byte LevelMax) return LevelMin + amp; } } - -public readonly record struct OverworldParam8a(bool IsAlpha, byte GenderRatio, byte FlawlessIVs, byte RollCount, Shiny Shiny = Shiny.Random); diff --git a/PKHeX.Core/Legality/RNG/Methods/OverworldParam8a.cs b/PKHeX.Core/Legality/RNG/Methods/OverworldParam8a.cs new file mode 100644 index 000000000..f456f0645 --- /dev/null +++ b/PKHeX.Core/Legality/RNG/Methods/OverworldParam8a.cs @@ -0,0 +1,11 @@ +namespace PKHeX.Core; + +/// +/// Parameters used to generate data for an encounter. +/// +/// The encounter is an Alpha Pokémon. +/// Gender ratio byte. +/// Count of IVs that are perfect. +/// Count of shiny rolls allowed for the PID calculation. +/// PID generation type. +public readonly record struct OverworldParam8a(bool IsAlpha, byte GenderRatio, byte FlawlessIVs, byte RollCount, Shiny Shiny = Shiny.Random); diff --git a/PKHeX.Core/Legality/RNG/Methods/Tera9RNG.cs b/PKHeX.Core/Legality/RNG/Methods/Tera9RNG.cs new file mode 100644 index 000000000..07d394ffc --- /dev/null +++ b/PKHeX.Core/Legality/RNG/Methods/Tera9RNG.cs @@ -0,0 +1,157 @@ +using System; + +namespace PKHeX.Core; + +public static class Tera9RNG +{ + private const uint TeraTypeCount = 18; + + public static bool IsMatchTeraType(in uint seed, in GemType gem, in ushort species, in byte form, in byte original) + { + if (gem.IsSpecified(out var type)) + return original == type; + + var rand = new Xoroshiro128Plus(seed); + if (gem == GemType.Default) + { + var pivot = rand.NextInt(2); + var expect = GetTeraTypeFromPersonal(species, form, pivot); + return original == expect; + } + if (gem == GemType.Random) + { + var expect = rand.NextInt(TeraTypeCount); + return original == expect; + } + throw new ArgumentOutOfRangeException(nameof(gem), gem, null); + } + + /// + /// Checks if the original Tera Type matches the specification of the value. + /// + public static bool IsMatchTeraType(in GemType gem, in ushort species, in byte form, in byte original) + { + if (gem == GemType.Random) + return true; + if (gem.IsSpecified(out var type)) + return original == type; + if (gem == GemType.Default) + return IsMatchTeraTypePersonal(species, form, original); + throw new ArgumentOutOfRangeException(nameof(gem), gem, null); + } + + public static byte GetTeraType(in ulong seed, GemType gem, in ushort species, in byte form) + { + if (gem.IsSpecified(out var type)) + return type; + + var rand = new Xoroshiro128Plus(seed); + if (gem == GemType.Default) + { + var pivot = rand.NextInt(2); + return GetTeraTypeFromPersonal(species, form, pivot); + } + if (gem == GemType.Random) + { + return (byte)rand.NextInt(TeraTypeCount); + } + throw new ArgumentOutOfRangeException(nameof(gem), gem, null); + } + + public static bool IsMatchTeraTypePersonal(in ushort species, in byte form, in byte original) + { + var pi = PersonalTable.SV[species, form]; + return original == pi.Type1 || original == pi.Type2; + } + + public static byte GetTeraTypeFromPersonal(in ushort species, in byte form, in ulong pivot) + { + var pi = PersonalTable.SV[species, form]; + return pivot == 0 ? pi.Type1 : pi.Type2; + } + + public static bool IsMatchStarChoice(in uint seed, in byte stars, in byte raidRate, in short randRateMinScarlet, in short randRateMinViolet) + { + // When determining a raid, the game takes the u32 seed and does two rand calls. + // Rand 1: Star count of the raid (depends on game progress). + // Rand 2: Raid opponent choice (based on total possible rates). + + // Rand 1: Rand 100 based on story progress. + // Story progress changes the spread of raid stars available. + // world\data\encount\setting\raid_difficulty_lottery\raid_difficulty_lottery_array.bin + var rand = new Xoroshiro128Plus(seed); + if (stars < 6) + { + var starRand = (uint)rand.NextInt(100); + if (!IsValidStarRand(starRand, stars)) + return false; + } + + // Rand 2: Rand based on the total of all possible raid opponents. + // Once the rand is calculated, we iterate down the list until the total is less than the rand. + // If the rateRand is within the randRateMin range for either game, return true. + + // Some raid encounters are version specific, which impacts the total rate value during iteration. + // Depending on the Host's game, the rate sum will be different. + // The inputs to this function have pre-computed the total rate when the encounter is checked. + + // If Scarlet... + var maxScarlet = EncounterTera9.GetRateTotalBaseSL(stars); + { + var xoro = rand; // copy + var rateRand = (int)xoro.NextInt((uint)maxScarlet); + if (randRateMinScarlet >= 0 && (uint)(rateRand - randRateMinScarlet) < raidRate) + return true; // Seed can yield this encounter for Scarlet. + } + // If Violet.. + var maxViolet = EncounterTera9.GetRateTotalBaseVL(stars); + { + var xoro = rand; // copy + var rateRand = (int)xoro.NextInt((uint)maxViolet); + if (randRateMinViolet >= 0 && (uint)(rateRand - randRateMinViolet) < raidRate) + return true; // Seed can yield this encounter for Violet. + } + + // Rate range for the seed does not yield this encounter. + return false; + } + + private static bool IsValidStarRand(in uint rand, in byte stars) => stars switch + { + // Thanks to a silly <= check, the range check edge is inclusive (unlike the slot determination). + // Each rate has its low bound used by the prior's rate check. + // This results in: + // - the first rate check having a total range of one more than the intended range. + // - the last rate check having a total range of one less than the intended range. + 1 => rand <= 80, // [ 0, 80], [ 0, 30], or [ 0, 20] + 2 => rand is (> 80) or (> 30 and <= 70) or (> 20 and <= 40), // (80, 100], (30, 70], or (20, 40] + 3 => true, // all progress ranges overlap! // (70, 100], (40, 70], or [ 0, 40] + 4 => rand is (> 70) or (> 40 and <= 75) or (> 30 and <= 70), // (70, 100], (40, 75], or (30, 70] + 5 => rand > 70, // (70, 100] + _ => true, // forced star count + }; + + /// + /// Obtains the original seed for the encounter. + /// + /// Entity to check for + /// Seed + /// + public static uint GetOriginalSeed(PKM pk) + { + // Same RNG goof as SW/SH, the seed->PKM algorithm generates the EC first. Difference: has FakeTID roll between. + // The raid seed is always 32 bits, so we know 96 bits of the seed (zeroes and the 64bit const). + // Since the 32-bit EC is generated first by adding the two 64-bit RNG states, we can calc the other 32bits. + var enc = pk.EncryptionConstant; + const uint TwoSeedsEC = 0xF8572EBE; + if (enc != TwoSeedsEC) + return enc - unchecked((uint)Xoroshiro128Plus.XOROSHIRO_CONST); + + // Two seeds can result in an EC of 0xF8572EBE, so we need to check the PID as well. + // Seed => EC => FakeTrainerID (!!!) => PID + const uint Seed_1 = 0xD5B9C463; // First rand() + const uint Seed_2 = 0xDD6295A4; // First rand() is uint.MaxValue, rolls again. + const uint PID_1 = 0xC9E69326; // 0xD68E8499 for PID_2 + return pk.PID == PID_1 ? Seed_1 : Seed_2; // don't care if the PID != second's case. Other validation will check. + } +} diff --git a/PKHeX.Core/Legality/Restrictions/EvolutionRestrictions.cs b/PKHeX.Core/Legality/Restrictions/EvolutionRestrictions.cs index 687333257..fcb91331c 100644 --- a/PKHeX.Core/Legality/Restrictions/EvolutionRestrictions.cs +++ b/PKHeX.Core/Legality/Restrictions/EvolutionRestrictions.cs @@ -30,6 +30,9 @@ internal static class EvolutionRestrictions {(int)Clobbopus, new(09, (int)Taunt)}, {(int)Stantler, new(10, (int)PsyshieldBash)}, {(int)Qwilfish, new(11, (int)BarbBarrage)}, + {(int)Primeape, new(12, (int)RageFist)}, + {(int)Girafarig, new(13, (int)TwinBeam)}, + {(int)Dunsparce, new(14, (int)HyperDrill)}, }; private readonly record struct MoveEvolution(int ReferenceIndex, ushort Move); @@ -75,18 +78,21 @@ internal static class EvolutionRestrictions /// Having a value of 0 means the move can't be learned. private static readonly byte[][] MinLevelEvolutionWithMove = { - new byte[] { 00, 00, 00, 00, 00, 29, 09, 02, 02 }, // Sylveon (Eevee with Fairy Move) - new byte[] { 00, 00, 00, 00, 18, 15, 15, 02, 32 }, // Mr. Mime (Mime Jr with Mimic) - new byte[] { 00, 00, 00, 00, 17, 17, 15, 02, 16 }, // Sudowoodo (Bonsly with Mimic) - new byte[] { 00, 00, 00, 00, 32, 32, 32, 02, 32 }, // Ambipom (Aipom with Double Hit) - new byte[] { 00, 00, 02, 00, 02, 33, 33, 02, 06 }, // Lickilicky (Lickitung with Rollout) - new byte[] { 00, 00, 00, 00, 02, 36, 38, 02, 24 }, // Tangrowth (Tangela with Ancient Power) - new byte[] { 00, 00, 00, 00, 02, 33, 33, 02, 33 }, // Yanmega (Yanma with Ancient Power) - new byte[] { 00, 00, 00, 00, 02, 02, 02, 02, 02 }, // Mamoswine (Piloswine with Ancient Power) - new byte[] { 00, 00, 00, 00, 00, 00, 00, 02, 28 }, // Tsareena (Steenee with Stomp) - new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 35 }, // Grapploct (Clobbopus with Taunt) - new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00 }, // Wyrdeer (Stantler with AGILE Psyshield Bash) - new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00 }, // Overqwil (Qwilfish with STRONG Barb Barrage) + new byte[] { 00, 00, 00, 00, 00, 29, 09, 02, 02, 02 }, // Sylveon (Eevee with Fairy Move) + new byte[] { 00, 00, 00, 00, 18, 15, 15, 02, 32, 00 }, // Mr. Mime (Mime Jr with Mimic) + new byte[] { 00, 00, 00, 00, 17, 17, 15, 02, 16, 16 }, // Sudowoodo (Bonsly with Mimic) + new byte[] { 00, 00, 00, 00, 32, 32, 32, 02, 32, 00 }, // Ambipom (Aipom with Double Hit) + new byte[] { 00, 00, 02, 00, 02, 33, 33, 02, 06, 00 }, // Lickilicky (Lickitung with Rollout) + new byte[] { 00, 00, 00, 00, 02, 36, 38, 02, 24, 00 }, // Tangrowth (Tangela with Ancient Power) + new byte[] { 00, 00, 00, 00, 02, 33, 33, 02, 33, 00 }, // Yanmega (Yanma with Ancient Power) + new byte[] { 00, 00, 00, 00, 02, 02, 02, 02, 02, 00 }, // Mamoswine (Piloswine with Ancient Power) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 02, 28, 28 }, // Tsareena (Steenee with Stomp) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 35, 00 }, // Grapploct (Clobbopus with Taunt) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }, // Wyrdeer (Stantler with AGILE Psyshield Bash) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 00 }, // Overqwil (Qwilfish-1 with STRONG Barb Barrage) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 35 }, // Annihilape (Primeape with Rage Fist) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 32 }, // Farigiraf (Girafarig with Twin Beam) + new byte[] { 00, 00, 00, 00, 00, 00, 00, 00, 00, 32 }, // Dudunsparce (Dunsparce with Hyper Drill) }; private static readonly byte[] MinLevelEvolutionWithMove_8LA = @@ -102,23 +108,26 @@ internal static class EvolutionRestrictions 99, // Tsareena (Steenee with Stomp) 99, // Grapploct (Clobbopus with Taunt) 31, // Wyrdeer (Stantler with AGILE Psyshield Bash) - 25, // Overqwil (Qwilfish with STRONG Barb Barrage) + 25, // Overqwil (Qwilfish-1 with STRONG Barb Barrage) }; private static readonly bool[][] CanEggHatchWithEvolveMove = { - new [] { false, false, true, true, true, true, true, true, true }, // Sylveon (Eevee with Fairy Move) - new [] { false, false, false, false, true, true, true, true, true }, // Mr. Mime (Mime Jr with Mimic) - new [] { false, false, false, false, true, true, true, true, true }, // Sudowoodo (Bonsly with Mimic) - new [] { false, false, false, false, true, true, true, true, true }, // Ambipom (Aipom with Double Hit) - new [] { false, false, true, false, true, true, true, true, true }, // Lickilicky (Lickitung with Rollout) - new [] { false, false, false, false, true, true, true, true, true }, // Tangrowth (Tangela with Ancient Power) - new [] { false, false, false, false, true, true, true, true, true }, // Yanmega (Yanma with Ancient Power) - new [] { false, false, true, true, true, true, true, true, true }, // Mamoswine (Piloswine with Ancient Power) - new [] { false, false, false, false, false, false, false, false, false }, // Tsareena (Steenee with Stomp) - new [] { false, false, false, false, false, false, false, false, true }, // Grapploct (Clobbopus with Taunt) - new [] { false, false, false, false, false, false, false, false, false }, // Wyrdeer (Stantler with AGILE Psyshield Bash) - new [] { false, false, false, false, false, false, false, false, false }, // Overqwil (Qwilfish with STRONG Barb Barrage) + new [] { false, false, true, true, true, true, true, true, true, true }, // Sylveon (Eevee with Fairy Move) + new [] { false, false, false, false, true, true, true, true, true, false }, // Mr. Mime (Mime Jr with Mimic) + new [] { false, false, false, false, true, true, true, true, true, true }, // Sudowoodo (Bonsly with Mimic) + new [] { false, false, false, false, true, true, true, true, true, false }, // Ambipom (Aipom with Double Hit) + new [] { false, false, true, false, true, true, true, true, true, false }, // Lickilicky (Lickitung with Rollout) + new [] { false, false, false, false, true, true, true, true, true, false }, // Tangrowth (Tangela with Ancient Power) + new [] { false, false, false, false, true, true, true, true, true, false }, // Yanmega (Yanma with Ancient Power) + new [] { false, false, true, true, true, true, true, true, true, false }, // Mamoswine (Piloswine with Ancient Power) + new [] { false, false, false, false, false, false, false, false, false, false }, // Tsareena (Steenee with Stomp) + new [] { false, false, false, false, false, false, false, false, true, false }, // Grapploct (Clobbopus with Taunt) + new [] { false, false, false, false, false, false, false, false, false, false }, // Wyrdeer (Stantler with AGILE Psyshield Bash) + new [] { false, false, false, false, false, false, false, false, false, false }, // Overqwil (Qwilfish-1 with STRONG Barb Barrage) + new [] { false, false, false, false, false, false, false, false, false, false }, // Annihilape (Primeape with Rage Fist) + new [] { false, false, false, false, false, false, false, false, false, true }, // Farigiraf (Girafarig with Twin Beam) + new [] { false, false, false, false, false, false, false, false, false, true }, // Dudunsparce (Dunsparce with Hyper Drill) }; /// diff --git a/PKHeX.Core/Legality/Restrictions/HeldItemLumpImage.cs b/PKHeX.Core/Legality/Restrictions/HeldItemLumpImage.cs new file mode 100644 index 000000000..c189f44b5 --- /dev/null +++ b/PKHeX.Core/Legality/Restrictions/HeldItemLumpImage.cs @@ -0,0 +1,25 @@ +namespace PKHeX.Core; + +public enum HeldItemLumpImage +{ + NotLump, + TechnicalMachine, + TechnicalRecord, +} + +public static class HeldItemLumpUtil +{ + public static bool IsLump(this HeldItemLumpImage image) => image != HeldItemLumpImage.NotLump; + + public static HeldItemLumpImage GetIsLump(int item, int generation) => generation switch + { + <= 4 when item is (>= 0328 and <= 0419) => HeldItemLumpImage.TechnicalMachine, // gen2/3/4 TM + 8 when item is (>= 0328 and <= 0427) => HeldItemLumpImage.TechnicalMachine, // BDSP TMs + 8 when item is (>= 1130 and <= 1229) => HeldItemLumpImage.TechnicalRecord, // Gen8 TR + 9 when item is (>= 0328 and <= 0419) // TM01-TM92 + or (>= 0618 and <= 0620) // TM93-TM95 + or (>= 0690 and <= 0693) // TM96-TM99 + or (>= 2160 and <= 2231) /* TM100-TM171 */ => HeldItemLumpImage.TechnicalMachine, + _ => HeldItemLumpImage.NotLump, + }; +} diff --git a/PKHeX.Core/Legality/Restrictions/ItemRestrictions.cs b/PKHeX.Core/Legality/Restrictions/ItemRestrictions.cs index 22b71540f..68cc7baf8 100644 --- a/PKHeX.Core/Legality/Restrictions/ItemRestrictions.cs +++ b/PKHeX.Core/Legality/Restrictions/ItemRestrictions.cs @@ -42,6 +42,7 @@ public static bool IsHeldItemAllowed(int item, EntityContext context) EntityContext.Gen6 => ReleasedHeldItems_6, EntityContext.Gen7 => ReleasedHeldItems_7, EntityContext.Gen8 => ReleasedHeldItems_8, + EntityContext.Gen9 => ReleasedHeldItems_9, EntityContext.Gen8b => ReleasedHeldItems_8b, _ => Array.Empty(), // lgp/e, pla, etc diff --git a/PKHeX.Core/Legality/Restrictions/Memories/MemoryPermissions.cs b/PKHeX.Core/Legality/Restrictions/Memories/MemoryPermissions.cs index ee750240a..72ac54010 100644 --- a/PKHeX.Core/Legality/Restrictions/Memories/MemoryPermissions.cs +++ b/PKHeX.Core/Legality/Restrictions/Memories/MemoryPermissions.cs @@ -2,7 +2,8 @@ using System.Collections.Generic; using System.Linq; -using static PKHeX.Core.Encounters6; +using static PKHeX.Core.Encounters6XY; +using static PKHeX.Core.Encounters6AO; using static PKHeX.Core.Encounters8; using static PKHeX.Core.Move; using static PKHeX.Core.Species; diff --git a/PKHeX.Core/Legality/Structures/LegalInfo.cs b/PKHeX.Core/Legality/Structures/LegalInfo.cs index dcd026f17..a0dd55317 100644 --- a/PKHeX.Core/Legality/Structures/LegalInfo.cs +++ b/PKHeX.Core/Legality/Structures/LegalInfo.cs @@ -82,5 +82,8 @@ internal void StoreMetadata(int gen) // We can call this method at the start for any Gen3+ encounter iteration. // We need to call this for each Gen1/2 encounter as Version is not stored for those origins. Generation = gen; + + if (gen == -1 && Entity is PK9 { IsUnhatchedEgg: true }) + Generation = 9; } } diff --git a/PKHeX.Core/Legality/Structures/SimpleTrainerInfo.cs b/PKHeX.Core/Legality/Structures/SimpleTrainerInfo.cs index e10138deb..3a494bf1e 100644 --- a/PKHeX.Core/Legality/Structures/SimpleTrainerInfo.cs +++ b/PKHeX.Core/Legality/Structures/SimpleTrainerInfo.cs @@ -17,10 +17,10 @@ public sealed record SimpleTrainerInfo : ITrainerInfo, IRegionOrigin public byte Country { get; set; } = 49; // USA public int Game { get; } - public int Generation { get; set; } = PKX.Generation; - public EntityContext Context { get; set; } = PKX.Context; + public int Generation { get; init; } = PKX.Generation; + public EntityContext Context { get; init; } = PKX.Context; - public SimpleTrainerInfo(GameVersion game = GameVersion.SW) + public SimpleTrainerInfo(GameVersion game = PKX.Version) { Game = (int) game; SanityCheckRegionOrigin(game); @@ -40,6 +40,7 @@ public SimpleTrainerInfo(ITrainerInfo other) : this((GameVersion)other.Game) Gender = other.Gender; Language = other.Language; Generation = other.Generation; + Context = other.Context; if (other is IRegionOrigin r) r.CopyRegionOrigin(this); diff --git a/PKHeX.Core/Legality/Tables/FormInfo.cs b/PKHeX.Core/Legality/Tables/FormInfo.cs index bf3aeebec..fde76c857 100644 --- a/PKHeX.Core/Legality/Tables/FormInfo.cs +++ b/PKHeX.Core/Legality/Tables/FormInfo.cs @@ -52,6 +52,22 @@ public static bool IsBattleOnlyForm(ushort species, byte form, int format) _ => 0, }; + /// + /// Indicates if the entity should be prevented from being traded away. + /// + /// Entity species + /// Entity form + /// Entity form argument + /// Current generation format + /// True if it trading should be disallowed. + public static bool IsUntradable(ushort species, byte form, uint formArg, int format) => species switch + { + (int)Koraidon or (int)Miraidon when formArg == 1 => true, // Ride-able Box Legend + (int)Pikachu when form == 8 && format == 7 => true, // Let's Go Pikachu Starter + (int)Eevee when form == 1 && format == 7 => true, // Let's Go Eevee Starter + _ => IsFusedForm(species, form, format), + }; + /// /// Checks if the is a fused form, which indicates it cannot be traded away. /// @@ -148,6 +164,8 @@ public static bool IsFormChangeable(ushort species, byte oldForm, byte newForm, (int)Zacian, (int)Zamazenta, (int)Eternatus, + + (int)Palafin, }; /// diff --git a/PKHeX.Core/Legality/Tables/Tables.cs b/PKHeX.Core/Legality/Tables/Tables.cs index 502d204be..e54a34aae 100644 --- a/PKHeX.Core/Legality/Tables/Tables.cs +++ b/PKHeX.Core/Legality/Tables/Tables.cs @@ -19,6 +19,7 @@ public static partial class Legal (int)Xerneas, (int)Yveltal, (int)Zygarde, (int)Diancie, (int)Hoopa, (int)Volcanion, (int)Cosmog, (int)Cosmoem, (int)Solgaleo, (int)Lunala, (int)Necrozma, (int)Magearna, (int)Marshadow, (int)Zeraora, (int)Meltan, (int)Melmetal, + (int)Koraidon, (int)Miraidon, }; /// @@ -51,6 +52,7 @@ public static partial class Legal (int)Cosmog, (int)Cosmoem, (int)Solgaleo, (int)Lunala, (int)Necrozma, (int)Magearna, (int)Marshadow, (int)Zeraora, (int)Meltan, (int)Melmetal, (int)Zacian, (int)Zamazenta, (int)Eternatus, (int)Zarude, (int)Calyrex, + (int)Koraidon, (int)Miraidon, }; /// @@ -67,6 +69,7 @@ public static partial class Legal (int)Nihilego, (int)Buzzwole, (int)Pheromosa, (int)Xurkitree, (int)Celesteela, (int)Kartana, (int)Guzzlord, (int)Poipole, (int)Naganadel, (int)Stakataka, (int)Blacephalon, (int)Kubfu, (int)Urshifu, (int)Regieleki, (int)Regidrago, (int)Glastrier, (int)Spectrier, (int)Enamorus, + (int)TingLu, (int)ChienPao, (int)WoChien, (int)ChiYu, }; /// @@ -89,6 +92,9 @@ public static partial class Legal (int)Espurr, (int)Meowstic, // (M/F) form specific + + (int)Lechonk, + (int)Oinkologne, // (M/F) form specific }; /// diff --git a/PKHeX.Core/Legality/Tables/Tables2.cs b/PKHeX.Core/Legality/Tables/Tables2.cs index 5be5f64dc..2503c3e78 100644 --- a/PKHeX.Core/Legality/Tables/Tables2.cs +++ b/PKHeX.Core/Legality/Tables/Tables2.cs @@ -21,7 +21,7 @@ public static partial class Legal 7, 54, 55, 58, 59, 61, 66, 67, 68, 69, 71, 127, 128, 130, 133, 134, 175, 178, }; - internal static readonly ushort[] Pouch_Key_C = ArrayUtil.ConcatAll(Pouch_Key_GS, new ushort[]{70, 115, 116, 129}); + internal static readonly ushort[] Pouch_Key_C = ArrayUtil.ConcatAll(Pouch_Key_GS, stackalloc ushort[] {70, 115, 116, 129}); internal static readonly ushort[] Pouch_TMHM_GSC = { 191, 192, 193, 194, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, diff --git a/PKHeX.Core/Legality/Tables/Tables3.cs b/PKHeX.Core/Legality/Tables/Tables3.cs index 94e3855f1..88a57f80a 100644 --- a/PKHeX.Core/Legality/Tables/Tables3.cs +++ b/PKHeX.Core/Legality/Tables/Tables3.cs @@ -39,15 +39,15 @@ public static partial class Legal 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, }; - internal static readonly ushort[] Pouch_Key_FRLG = ArrayUtil.ConcatAll(Pouch_Key_RS, new ushort[] { 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374 }); - internal static readonly ushort[] Pouch_Key_E = ArrayUtil.ConcatAll(Pouch_Key_FRLG, new ushort[] { 375, 376 }); + internal static readonly ushort[] Pouch_Key_FRLG = ArrayUtil.ConcatAll(Pouch_Key_RS, stackalloc ushort[] { 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374 }); + internal static readonly ushort[] Pouch_Key_E = ArrayUtil.ConcatAll(Pouch_Key_FRLG, stackalloc ushort[] { 375, 376 }); internal static readonly ushort[] Pouch_TMHM_RS = ArrayUtil.ConcatAll(Pouch_TM_RS, Pouch_HM_RS); internal static readonly ushort[] HeldItems_RS = ArrayUtil.ConcatAll(Pouch_Items_RS, Pouch_Ball_RS, Pouch_Berries_RS, Pouch_TM_RS); #endregion internal static readonly ushort[] Pouch_Cologne_COLO = {543, 544, 545}; - internal static readonly ushort[] Pouch_Items_COLO = ArrayUtil.ConcatAll(Pouch_Items_RS, new ushort[] {537}); // Time Flute + internal static readonly ushort[] Pouch_Items_COLO = ArrayUtil.ConcatAll(Pouch_Items_RS, stackalloc ushort[] {537}); // Time Flute internal static readonly ushort[] HeldItems_COLO = ArrayUtil.ConcatAll(Pouch_Items_COLO, Pouch_Ball_RS, Pouch_Berries_RS, Pouch_TM_RS); internal static readonly ushort[] Pouch_Key_COLO = @@ -60,7 +60,7 @@ public static partial class Legal }; internal static readonly ushort[] Pouch_Cologne_XD = {513, 514, 515}; - internal static readonly ushort[] Pouch_Items_XD = ArrayUtil.ConcatAll(Pouch_Items_RS, new ushort[] {511}); // Poké Snack + internal static readonly ushort[] Pouch_Items_XD = ArrayUtil.ConcatAll(Pouch_Items_RS, stackalloc ushort[] {511}); // Poké Snack internal static readonly ushort[] HeldItems_XD = ArrayUtil.ConcatAll(Pouch_Items_XD, Pouch_Ball_RS, Pouch_Berries_RS, Pouch_TM_RS); internal static readonly ushort[] Pouch_Key_XD = diff --git a/PKHeX.Core/Legality/Tables/Tables7.cs b/PKHeX.Core/Legality/Tables/Tables7.cs index 370d20e98..971c7b769 100644 --- a/PKHeX.Core/Legality/Tables/Tables7.cs +++ b/PKHeX.Core/Legality/Tables/Tables7.cs @@ -54,7 +54,7 @@ public static partial class Legal 841, 842, 843, 845, 847, 850, 857, 858, 860, }; - internal static readonly ushort[] Pouch_Key_USUM = ArrayUtil.ConcatAll(Pouch_Key_SM, new ushort[] { + internal static readonly ushort[] Pouch_Key_USUM = ArrayUtil.ConcatAll(Pouch_Key_SM, stackalloc ushort[] { 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 440, }); @@ -91,11 +91,11 @@ public static partial class Legal 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 798, 799, 800, 801, 802, 803, 804, 805, 806, 836, }; - internal static readonly ushort[] Pouch_ZCrystal_USUM = ArrayUtil.ConcatAll(Pouch_ZCrystal_SM, new ushort[] { // Bead + internal static readonly ushort[] Pouch_ZCrystal_USUM = ArrayUtil.ConcatAll(Pouch_ZCrystal_SM, stackalloc ushort[] { // Bead 927, 928, 929, 930, 931, 932, }); - internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = ArrayUtil.ConcatAll(Pouch_ZCrystalHeld_SM, new ushort[] { // Piece + internal static readonly ushort[] Pouch_ZCrystalHeld_USUM = ArrayUtil.ConcatAll(Pouch_ZCrystalHeld_SM, stackalloc ushort[] { // Piece 921, 922, 923, 924, 925, 926, }); diff --git a/PKHeX.Core/Legality/Tables/Tables9.cs b/PKHeX.Core/Legality/Tables/Tables9.cs new file mode 100644 index 000000000..9645691c9 --- /dev/null +++ b/PKHeX.Core/Legality/Tables/Tables9.cs @@ -0,0 +1,254 @@ +using System.Collections.Generic; + +namespace PKHeX.Core; + +public static partial class Legal +{ + internal const int MaxSpeciesID_9 = (int)Species.Annihilape; + internal const int MaxMoveID_9 = (int)Move.MagicalTorque; + internal const int MaxItemID_9 = 2400; // Yellow Dish + internal const int MaxAbilityID_9 = (int)Ability.MyceliumMight; + + internal const int MaxBallID_9 = (int)Ball.LAOrigin; + internal const int MaxGameID_9 = (int)GameVersion.VL; + + internal static readonly ushort[] Pouch_Medicine_SV = + { + 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, + 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0034, 0035, 0036, + 0037, 0038, 0039, 0040, 0041, 0708, 0709, + }; + + internal static readonly ushort[] Pouch_Ball_SV = + { + 0001, 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, + 0011, 0012, 0013, 0014, 0015, 0016, 0492, 0493, 0494, 0495, + 0496, 0497, 0498, 0499, 0500, 0576, 0851, 1785, + }; + + internal static readonly ushort[] Pouch_Battle_SV = + { + 0055, 0056, 0057, 0058, 0059, 0060, 0061, 0062, 0063, + }; + + internal static readonly ushort[] Pouch_Berries_SV = + { + 0149, 0150, 0151, 0152, 0153, 0154, 0155, 0156, 0157, 0158, + 0159, 0160, 0161, 0162, 0163, 0169, 0170, 0171, 0172, 0173, + 0174, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, + 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0201, 0202, + 0203, 0204, 0205, 0206, 0207, 0208, 0209, 0210, 0211, 0212, + 0686, 0687, 0688, + }; + + internal static readonly ushort[] Pouch_Other_SV = + { + 0045, 0046, 0047, 0048, 0049, 0050, 0051, 0052, 0053, 0080, + 0081, 0082, 0083, 0084, 0085, 0107, 0108, 0109, 0110, 0111, + 0112, 0135, 0136, 0213, 0214, 0217, 0218, 0219, 0220, 0221, + 0222, 0223, 0224, 0228, 0229, 0230, 0231, 0232, 0233, 0234, + 0236, 0237, 0238, 0239, 0240, 0241, 0242, 0243, 0244, 0245, + 0246, 0247, 0248, 0249, 0250, 0251, 0253, 0265, 0266, 0267, + 0268, 0269, 0270, 0271, 0272, 0273, 0275, 0276, 0277, 0278, + 0279, 0280, 0281, 0282, 0283, 0284, 0285, 0286, 0287, 0288, + 0289, 0290, 0291, 0292, 0293, 0294, 0295, 0296, 0297, 0298, + 0299, 0300, 0301, 0302, 0303, 0304, 0305, 0306, 0307, 0308, + 0309, 0310, 0311, 0312, 0313, 0326, 0485, 0486, 0487, 0488, + 0489, 0490, 0491, 0538, 0539, 0540, 0541, 0542, 0543, 0544, + 0545, 0546, 0547, 0564, 0565, 0566, 0567, 0568, 0569, 0570, + 0639, 0640, 0644, 0645, 0648, 0649, 0650, 0795, 0796, 0846, + 0849, 0853, 0854, 0855, 0856, 0879, 0880, 0881, 0882, 0883, + 0884, 1103, 1104, 1116, 1117, 1118, 1119, 1120, 1121, 1122, + 1123, 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, 1253, 1254, 1582, + 1592, 1606, 1777, 1778, 1779, 1861, 1862, 1863, 1864, 1865, + 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, + 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, + 1886, 2344, 2345, + }; + + internal static readonly ushort[] Pouch_TM_SV = + { + 0328, 0329, 0330, 0331, 0332, 0333, 0334, 0335, 0336, 0337, + 0338, 0339, 0340, 0341, 0342, 0343, 0344, 0345, 0346, 0347, + 0348, 0349, 0350, 0351, 0352, 0353, 0354, 0355, 0356, 0357, + 0358, 0359, 0360, 0361, 0362, 0363, 0364, 0365, 0366, 0367, + 0368, 0369, 0370, 0371, 0372, 0373, 0374, 0375, 0376, 0377, + 0378, 0379, 0380, 0381, 0382, 0383, 0384, 0385, 0386, 0387, + 0388, 0389, 0390, 0391, 0392, 0393, 0394, 0395, 0396, 0397, + 0398, 0399, 0400, 0401, 0402, 0403, 0404, 0405, 0406, 0407, + 0408, 0409, 0410, 0411, 0412, 0413, 0414, 0415, 0416, 0417, + 0418, 0419, 0618, 0619, 0620, 0690, 0691, 0692, 0693, 1230, + 2160, 2161, 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, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, + 2230, 2231, + }; + + internal static readonly ushort[] Pouch_Treasure_SV = + { + 0086, 0087, 0088, 0089, 0090, 0091, 0092, 0094, 0106, 0571, + 0580, 0581, 0582, 0583, 1842, 1843, + }; + + internal static readonly ushort[] Pouch_Picnic_SV = + { + 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, + 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, + 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, + 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, + 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, + 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, + 2311, 2313, + 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, + 2324, 2325, 2326, 2327, 2329, 2330, 2331, 2332, 2333, 2334, + 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2348, 2349, + 2350, 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, + 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, + 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, + 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, + 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, + 2400, + + // Item data is present, but the items have no associated text or sprites, so they do not appear in the bag. + // 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, + }; + + internal static readonly ushort[] Pouch_Event_SV = + { + 0632, 0638, 0703, 0765, 1278, 1590, 1591, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1836, 1857, 1858, + + // Item data is present, but the items have no associated text or sprites, so they do not appear in the bag. + // 0078, 0466, 0631, 1267, 1587, 1589, 1837, 1838, 1839, 1840, 1841, + }; + + internal static readonly ushort[] Pouch_Material_SV = + { + 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, + 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, + 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, + 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, + 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, + 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, + 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, + 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, + 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, + 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, + 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, + 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, + 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, + 2096, 2097, 2098, 2099, 2103, 2104, 2105, + 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, + 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2126, 2127, + 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, + + 2156, 2157, + 2158, 2159, + + // Item data is present, but the items have no associated text or sprites, so they do not appear in the bag. + // 2100, 2101, 2102, + // 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, + // 2148, 2149, 2150, 2151, 2152, 2153, 2154, 2155, + }; + + internal static readonly ushort[] HeldItems_SV = ArrayUtil.ConcatAll(Pouch_Medicine_SV, Pouch_Ball_SV, Pouch_Battle_SV, Pouch_Berries_SV, Pouch_Other_SV, Pouch_TM_SV, Pouch_Treasure_SV); + + internal static readonly HashSet ValidMet_SV = new() + { + 006, + 010, 012, 014, 016, 018, + 020, 022, 024, 026, 028, + 030, 032, 034, 036, 038, + 040, 044, 046, 048, + 050, 052, 056, 058, + 060, 062, 064, + + 067, 069, 070, 072, 076, + 078, 080, 082, 084, 086, + 088, 090, 092, 094, 096, + + 099, 101, 103, 105, 107, + 109, 111, 113, 115, 117, + 118, 124, 130, + 131, + }; + + public static bool IsValidEggHatchLocation9(ushort location, GameVersion version) + { + if (version == GameVersion.SL && location == 131) // Uva Academy does not exist in Scarlet + return false; + if (version == GameVersion.VL && location == 130) // Naranja Academy does not exist in Violet + return false; + return ValidMet_SV.Contains(location); + } + + #region Unreleased Items + + internal static readonly bool[] ReleasedHeldItems_9 = GetPermitList(MaxItemID_9, HeldItems_SV, stackalloc ushort[] + { + 0005, // Safari Ball + 0016, // Cherish Ball + 0499, // Sport Ball + 0500, // Park Ball + 1785, // Strange Ball + + 0206, // Lansat Berry + 0207, // Starf Berry + 0208, // Enigma Berry + 0209, // Micle Berry + 0210, // Custap Berry + 0211, // Jaboca Berry + 0212, // Rowap Berry + + 0111, // Odd Keystone + 0485, // Red Apricorn + 0486, // Blue Apricorn + 0487, // Yellow Apricorn + 0488, // Green Apricorn + 0489, // Pink Apricorn + 0490, // White Apricorn + 0491, // Black Apricorn + 0708, // Lumiose Galette + 0709, // Shalour Sable + + // Porto Marinada specialty auctioneer, locked behind HOME in 2023. + 0112, // Griseous Orb + 0135, // Adamant Orb + 0136, // Lustrous Orb + 0298, // Flame Plate + 0299, // Splash Plate + 0300, // Zap Plate + 0301, // Meadow Plate + 0302, // Icicle Plate + 0303, // Fist Plate + 0304, // Toxic Plate + 0305, // Earth Plate + 0306, // Sky Plate + 0307, // Mind Plate + 0308, // Insect Plate + 0309, // Stone Plate + 0310, // Spooky Plate + 0311, // Draco Plate + 0312, // Dread Plate + 0313, // Iron Plate + 0644, // Pixie Plate + 1103, // Rusted Sword + 1104, // Rusted Shield + 1777, // Adamant Crystal + 1778, // Lustrous Globe + 1779, // Griseous Core + + 1582, // Galarica Cuff + 1592, // Galarica Wreath + + 1230, // TM00 - Mega Punch (Nothing learns, not obtainable even though it is assigned a move.) + }); + #endregion +} diff --git a/PKHeX.Core/Legality/Verifiers/Ability/AbilityChangeRules.cs b/PKHeX.Core/Legality/Verifiers/Ability/AbilityChangeRules.cs new file mode 100644 index 000000000..c2faaf004 --- /dev/null +++ b/PKHeX.Core/Legality/Verifiers/Ability/AbilityChangeRules.cs @@ -0,0 +1,167 @@ +using System; +using static PKHeX.Core.AbilityPermission; + +namespace PKHeX.Core; + +/// +/// Rules for changing an entity's current ability index. +/// +public static class AbilityChangeRules +{ + public static bool IsAbilityStateValid(this IEncounterTemplate enc, EvolutionHistory evosAll, int abilityFlag) => (enc switch + { + IFixedAbilityNumber f => f.Ability, + _ => Any12, + }).IsAbilityStateValid(evosAll, abilityFlag); + + public static bool IsAbilityStateValid(this AbilityPermission ability, EvolutionHistory evosAll, int abilityFlag) => ability switch + { + Any12H => true, + Any12 => abilityFlag != 4 || IsAbilityPatchPossible(evosAll), + OnlyHidden => abilityFlag == 4 || IsAbilityPatchRevertPossible(evosAll, abilityFlag), + OnlyFirst => abilityFlag == 1 || (abilityFlag == 4 && IsAbilityPatchPossible(evosAll)) || (abilityFlag != 4 && IsAbilityCapsulePossible(evosAll)), + OnlySecond => abilityFlag == 2 || (abilityFlag == 4 && IsAbilityPatchPossible(evosAll)) || (abilityFlag != 4 && IsAbilityCapsulePossible(evosAll)), + _ => throw new ArgumentOutOfRangeException(nameof(ability), ability, null), + }; + + public static bool IsAbilityChangeAvailable(this IEncounterTemplate enc, EvolutionHistory evosAll) => (enc switch + { + IFixedAbilityNumber f => f.Ability, + _ => Any12, + }).IsAbilityChangeAvailable(evosAll); + + public static bool IsAbilityChangeAvailable(this AbilityPermission ability, EvolutionHistory evosAll) => ability switch + { + Any12H => true, + Any12 => IsAbilityPatchAvailable(evosAll), + OnlyHidden => IsAbilityPatchRevertAvailable(evosAll), + OnlyFirst or OnlySecond => IsAbilityPatchAvailable(evosAll) || IsAbilityCapsuleAvailable(evosAll), + _ => throw new ArgumentOutOfRangeException(nameof(ability), ability, null), + }; + + public static bool IsAbilityCapsuleAvailable(EvolutionHistory evosAll) + { + if (evosAll.HasVisitedGen9) + return true; + if (evosAll.HasVisitedSWSH) + return true; + if (evosAll.HasVisitedBDSP) + return true; + if (evosAll.HasVisitedGen7) + return true; + if (evosAll.HasVisitedGen6) + return true; + return false; + } + + public static bool IsAbilityCapsulePossible(EvolutionHistory evosAll) + { + if (evosAll.HasVisitedGen9 && IsCapsulePossible(evosAll.Gen9, PersonalTable.SV)) + return true; + if (evosAll.HasVisitedSWSH && IsCapsulePossible(evosAll.Gen8, PersonalTable.SWSH)) + return true; + if (evosAll.HasVisitedBDSP && IsCapsulePossible(evosAll.Gen8b, PersonalTable.BDSP)) + return true; + if (evosAll.HasVisitedGen7 && IsCapsulePossible(evosAll.Gen7, PersonalTable.USUM)) + return true; + if (evosAll.HasVisitedGen6 && IsCapsulePossible(evosAll.Gen6, PersonalTable.AO)) + return true; + return false; + } + + public static bool IsAbilityPatchAvailable(EvolutionHistory evosAll) + { + if (evosAll.HasVisitedGen9) + return true; + if (evosAll.HasVisitedSWSH || evosAll.HasVisitedBDSP) + return true; + return false; + } + + public static bool IsAbilityPatchPossible(EvolutionHistory evosAll) + { + if (evosAll.HasVisitedGen9 && IsPatchPossible(evosAll.Gen9, PersonalTable.SV)) + return true; + if (evosAll.HasVisitedSWSH && IsPatchPossible(evosAll.Gen8, PersonalTable.SWSH)) + return true; + if (evosAll.HasVisitedBDSP && IsPatchPossible(evosAll.Gen8b, PersonalTable.BDSP)) + return true; + return false; + } + + public static bool IsAbilityPatchRevertAvailable(EvolutionHistory evosAll) + { + if (evosAll.HasVisitedGen9) + return true; + return false; + } + + public static bool IsAbilityPatchRevertPossible(EvolutionHistory evosAll, int abilityIndex) + { + if (evosAll.HasVisitedGen9 && IsRevertPossible(evosAll.Gen9, PersonalTable.SV, abilityIndex)) + return true; + return false; + } + + private static bool IsCapsulePossible(EvoCriteria[] evos, TTable table) + where TTable : IPersonalTable + where TInfo : IPersonalInfo, IPersonalAbility12 + { + for (int i = evos.Length - 1; i >= 0; i--) + { + var evo = evos[i]; + var pi = table[evo.Species, evo.Form]; + if (pi.GetIsAbility12Same()) + continue; + return true; + } + return false; + } + + private static bool IsPatchPossible(EvoCriteria[] evos, TTable table) + where TTable : IPersonalTable + where TInfo : IPersonalInfo, IPersonalAbility12H + { + for (int i = evos.Length - 1; i >= 0; i--) + { + var evo = evos[i]; + var pi = table[evo.Species, evo.Form]; + if (pi.GetIsAbilityHiddenUnique()) + continue; + return true; + } + + // Some species have a distinct hidden ability only on another form, and can change between that form and its current form. + var first = evos[0]; + return first.Form != 0 && first.Species switch + { + (int)Species.Giratina => true, // Form-0 is a/a/h + (int)Species.Tornadus => true, // Form-0 is a/a/h + (int)Species.Thundurus => true, // Form-0 is a/a/h + (int)Species.Landorus => true, // Form-0 is a/a/h + (int)Species.Enamorus => true, // Form-0 is a/a/h + _ => false, + }; + } + + private static bool IsRevertPossible(EvoCriteria[] evos, TTable table, int abilityIndex) + where TTable : IPersonalTable + where TInfo : IPersonalInfo, IPersonalAbility12H + { + bool revert = false; + for (var i = evos.Length - 1; i >= 0; i--) + { + var evo = evos[i]; + var pi = table[evo.Species, evo.Form]; + if (revert && abilityIndex == 2 && !pi.GetIsAbility12Same()) + return true; + if (pi.GetIsAbilityHiddenUnique()) + continue; + revert = true; + if (pi.GetIsAbility12Same()) + continue; + return true; + } + return false; + } +} diff --git a/PKHeX.Core/Legality/Verifiers/Ability/AbilityVerifier.cs b/PKHeX.Core/Legality/Verifiers/Ability/AbilityVerifier.cs index 2f058daf2..78aca11f2 100644 --- a/PKHeX.Core/Legality/Verifiers/Ability/AbilityVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/Ability/AbilityVerifier.cs @@ -65,27 +65,21 @@ private CheckResult VerifyAbility(LegalityAnalysis data) } } + var enc = data.EncounterMatch; if (format >= 8) // Ability Patch { - var evos = data.Info.EvoChainsAllGens; - if (pk.AbilityNumber == 4 && IsAccessibleAbilityPatch(evos) && abilities is IPersonalAbility12H h) + if (pk.AbilityNumber == 4 && !(enc is IFixedAbilityNumber f && f.Ability.CanBeHidden())) { - if (CanAbilityPatch(format, h, pk.Species)) + if (AbilityChangeRules.IsAbilityPatchPossible(data.Info.EvoChainsAllGens)) return GetValid(LAbilityPatchUsed); - - var e = data.EncounterOriginal; - if (e.Species != pk.Species) - { - var temp = (IPersonalAbility12H)PKX.Personal.GetFormEntry(e.Species, e.Form); - if (CanAbilityPatch(format, temp, e.Species)) - return GetValid(LAbilityPatchUsed); - } - - // Verify later, it may be encountered with its hidden ability without using an ability patch. + } + else if (enc is IFixedAbilityNumber { Ability: AbilityPermission.OnlyHidden }) + { + if (AbilityChangeRules.IsAbilityPatchRevertPossible(data.Info.EvoChainsAllGens, pk.AbilityNumber)) + return GetValid(LAbilityPatchRevertUsed); } } - var enc = data.EncounterMatch; if (enc is MysteryGift {Generation: >= 4} g) return VerifyAbilityMG(data, g, abilities); @@ -166,7 +160,7 @@ private CheckResult VerifyFixedAbility(LegalityAnalysis data, IPersonalAbility12 var enc = data.Info.EncounterMatch; if (enc.Generation >= 6) { - if (IsAbilityCapsuleModified(pk, abilities, encounterAbility, data.Info.EvoChainsAllGens)) + if (IsAbilityCapsuleModified(pk, encounterAbility, data.Info.EvoChainsAllGens)) return GetValid(LAbilityCapsuleUsed); if (pk.AbilityNumber != 1 << encounterAbility.GetSingleValue()) return INVALID; @@ -205,7 +199,7 @@ private CheckResult VerifyFixedAbility(LegalityAnalysis data, IPersonalAbility12 if (state == AbilityState.CanMismatch || encounterAbility == 0) return CheckMatch(pk, abilities, enc.Generation, AbilityState.MustMatch, enc); - if (IsAbilityCapsuleModified(pk, abilities, encounterAbility, data.Info.EvoChainsAllGens)) + if (IsAbilityCapsuleModified(pk, encounterAbility, data.Info.EvoChainsAllGens)) return GetValid(LAbilityCapsuleUsed); return INVALID; @@ -449,25 +443,11 @@ private CheckResult GetPIDAbilityMatch(PKM pk, IPersonalAbility abilities) return VALID; } - private static bool IsAccessibleAbilityPatch(EvolutionHistory evosAll) - { - return evosAll.HasVisitedSWSH || evosAll.HasVisitedBDSP; - } - - private static bool IsAccessibleAbilityCapsule(EvolutionHistory evosAll) - { - if (evosAll.HasVisitedGen6 || evosAll.HasVisitedGen7) - return true; - return evosAll.HasVisitedSWSH || evosAll.HasVisitedBDSP; - } - // Ability Capsule can change between 1/2 - private static bool IsAbilityCapsuleModified(PKM pk, IPersonalAbility12 abilities, AbilityPermission encounterAbility, EvolutionHistory evos) + private static bool IsAbilityCapsuleModified(PKM pk, AbilityPermission encounterAbility, EvolutionHistory evos) { - if (!IsAccessibleAbilityCapsule(evos)) + if (!AbilityChangeRules.IsAbilityCapsulePossible(evos)) return false; // Not available. - if (!CanAbilityCapsule(pk.Format, abilities)) - return false; if (pk.AbilityNumber == 4) return false; // Cannot alter to hidden ability. if (encounterAbility == AbilityPermission.OnlyHidden) diff --git a/PKHeX.Core/Legality/Verifiers/Ball/BallUseLegality.cs b/PKHeX.Core/Legality/Verifiers/Ball/BallUseLegality.cs index 7bf79ec6f..84598819c 100644 --- a/PKHeX.Core/Legality/Verifiers/Ball/BallUseLegality.cs +++ b/PKHeX.Core/Legality/Verifiers/Ball/BallUseLegality.cs @@ -16,6 +16,7 @@ internal static class BallUseLegality 8 when GameVersion.BDSP.Contains(game) => WildPokeBalls4_HGSS, 8 when GameVersion.PLA == game => WildPokeBalls8a, 8 => GameVersion.GO == game ? WildPokeballs8g : WildPokeballs8, + 9 => WildPokeballs9, _ => default, }; @@ -70,4 +71,6 @@ internal static class BallUseLegality private const ulong WildPokeballs7b = WildPokeRegular | (1 << (int)Premier); private const ulong WildPokeballs8g = WildPokeballs7b & ~(1ul << (int)Master); // Ultra Great Poke Premier, no Master + + internal const ulong WildPokeballs9 = WildPokeballs7 | WildPokeEnhance5; // Same as Gen7 + Dream } diff --git a/PKHeX.Core/Legality/Verifiers/Ball/BallVerifier.cs b/PKHeX.Core/Legality/Verifiers/Ball/BallVerifier.cs index 48e7a0810..a44a9485f 100644 --- a/PKHeX.Core/Legality/Verifiers/Ball/BallVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/Ball/BallVerifier.cs @@ -122,6 +122,7 @@ private CheckResult VerifyBallEgg(LegalityAnalysis data) EntityContext.Gen7 => VerifyBallEggGen7(data), // Gen7 Inheritance Rules EntityContext.Gen8 => VerifyBallEggGen8(data), EntityContext.Gen8b => VerifyBallEggGen8BDSP(data), + EntityContext.Gen9 => VerifyBallEggGen9(data), _ => NONE, }; @@ -444,6 +445,14 @@ private CheckResult VerifyBallEggGen8(LegalityAnalysis data) return NONE; } + private CheckResult VerifyBallEggGen9(LegalityAnalysis data) + { + var pk = data.Entity; + if (IsBallPermitted(BallUseLegality.WildPokeballs9, pk.Ball)) + return GetValid(LBallSpeciesPass); + return NONE; + } + private static bool IsHiddenAndNotPossible(PKM pk) { if (pk.AbilityNumber != 4) diff --git a/PKHeX.Core/Legality/Verifiers/ContestStatVerifier.cs b/PKHeX.Core/Legality/Verifiers/ContestStatVerifier.cs index 5f19fbf29..7a9615123 100644 --- a/PKHeX.Core/Legality/Verifiers/ContestStatVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/ContestStatVerifier.cs @@ -13,7 +13,7 @@ public sealed class ContestStatVerifier : Verifier public override void Verify(LegalityAnalysis data) { var pk = data.Entity; - if (pk is not IContestStats s) + if (pk is not IContestStatsReadOnly s) return; // If no stats have been increased from the initial amount, then we're done here. diff --git a/PKHeX.Core/Legality/Verifiers/Egg/EggStateLegality.cs b/PKHeX.Core/Legality/Verifiers/Egg/EggStateLegality.cs index e99d21b5c..6b1221f79 100644 --- a/PKHeX.Core/Legality/Verifiers/Egg/EggStateLegality.cs +++ b/PKHeX.Core/Legality/Verifiers/Egg/EggStateLegality.cs @@ -1,4 +1,4 @@ -using static PKHeX.Core.GameVersion; +using static PKHeX.Core.GameVersion; namespace PKHeX.Core; @@ -33,7 +33,7 @@ public static bool GetIsEggHatchCyclesValid(PKM pk, IEncounterTemplate enc) /// Usually 0... public static int GetMinimumEggHatchCycles(PKM pk) => pk switch { - PK2 or PB8 => 1, // no grace period between 1 step remaining and hatch + PK2 or PB8 or PK8 => 1, // no grace period between 1 step remaining and hatch _ => 0, // having several Eggs in your party and then hatching one will give the rest 0... they can then be boxed! }; @@ -85,6 +85,7 @@ public static int GetMaximumEggHatchCycles(PKM pk, IEncounterTemplate enc) public static bool IsValidHTEgg(PKM pk) => pk switch { PB8 { Met_Location: Locations.LinkTrade6NPC } pb8 when pb8.HT_Friendship == PersonalTable.BDSP[pb8.Species].BaseFriendship => true, + PK9 { CurrentHandler: 1, Met_Location: Locations.LinkTrade6, HT_Language: not 0 } => true, _ => false, }; @@ -132,6 +133,8 @@ public static int GetMaximumEggHatchCycles(PKM pk, IEncounterTemplate enc) SW or SH => Locations.HatchLocation8, BD or SP => Locations.HatchLocation8b, + + SL or VL => Locations.HatchLocation9, _ => -1, }; } diff --git a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs index eaf7be87c..9ad7a8216 100644 --- a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs @@ -70,7 +70,11 @@ private CheckResult VerifyForm(LegalityAnalysis data) return GetInvalid(string.Format(LFormInvalidExpect_0, EntityPID.GetUnownForm3(pk.EncryptionConstant))); case Dialga or Palkia or Giratina or Arceus when form > 0 && pk is PA8: // can change forms with key items break; - case Giratina when form == 1 ^ pk.HeldItem == 112: // Giratina, Origin form only with Griseous Orb + + case Dialga when pk.Format >= 9 && form == 1 ^ pk.HeldItem == 1777: // Origin Forme Dialga with Adamant Crystal + case Palkia when pk.Format >= 9 && form == 1 ^ pk.HeldItem == 1778: // Origin Forme Palkia with Lustrous Globe + case Giratina when pk.Format >= 9 && form == 1 ^ pk.HeldItem == 1779: // Origin Forme Giratina with Griseous Core + case Giratina when pk.Format <= 8 && form == 1 ^ pk.HeldItem == 0112: // Origin Forme Giratina with Griseous Orb return GetInvalid(LFormItemInvalid); case Arceus: @@ -99,6 +103,10 @@ private CheckResult VerifyForm(LegalityAnalysis data) return GetInvalid(string.Format(LFormInvalidRange, 0, form)); break; + case Scatterbug or Spewpa or Vivillon when GameVersion.SV.Contains(enc.Version): + if (form != 18 && enc is EncounterEgg) // Fancy + return GetInvalid(LFormVivillonNonNative); + break; case Scatterbug or Spewpa: if (form > Vivillon3DS.MaxWildFormID) // Fancy & Pokéball return GetInvalid(LFormVivillonEventPre); @@ -257,7 +265,7 @@ private CheckResult VerifyFormArgument(LegalityAnalysis data, IFormArgument f) ((enc.Generation == 6 && f.FormArgument <= byte.MaxValue) || IsFormArgumentDayCounterValid(f, 5, true)) => GetValid(LFormArgumentValid), - Furfrou when pk.Form != 0 => !IsFormArgumentDayCounterValid(f, 5, true) ? GetInvalid(LFormArgumentInvalid) :GetValid(LFormArgumentValid), + Furfrou when pk.Form != 0 => !IsFormArgumentDayCounterValid(f, 5, true) ? GetInvalid(LFormArgumentInvalid) : GetValid(LFormArgumentValid), Hoopa when pk.Form == 1 => !IsFormArgumentDayCounterValid(f, 3) ? GetInvalid(LFormArgumentInvalid) : GetValid(LFormArgumentValid), Yamask when pk.Form == 1 => arg switch { @@ -265,42 +273,6 @@ private CheckResult VerifyFormArgument(LegalityAnalysis data, IFormArgument f) > 9_999 => GetInvalid(LFormArgumentHigh), _ => GetValid(LFormArgumentValid), }, - Runerigus when enc.Species == (int)Runerigus => arg switch - { - not 0 => GetInvalid(LFormArgumentNotAllowed), - _ => GetValid(LFormArgumentValid), - }, - Runerigus => arg switch // From Yamask-1 - { - < 49 => GetInvalid(LFormArgumentLow), - > 9_999 => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), - }, - Alcremie when enc.Species == (int)Alcremie => arg switch - { - not 0 => GetInvalid(LFormArgumentNotAllowed), - _ => GetValid(LFormArgumentValid), - }, - Alcremie => arg switch // From Milcery - { - > (uint) AlcremieDecoration.Ribbon => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), - }, - Overqwil when enc.Species == (int)Overqwil => arg switch - { - not 0 => GetInvalid(LFormArgumentNotAllowed), - _ => GetValid(LFormArgumentValid), - }, - Wyrdeer when enc.Species == (int)Wyrdeer => arg switch - { - not 0 => GetInvalid(LFormArgumentNotAllowed), - _ => GetValid(LFormArgumentValid), - }, - Basculegion when enc.Species == (int)Basculegion => arg switch - { - not 0 => GetInvalid(LFormArgumentNotAllowed), - _ => GetValid(LFormArgumentValid), - }, Basculin when pk.Form is 2 => arg switch { not 0 when pk.IsEgg => GetInvalid(LFormArgumentNotAllowed), @@ -310,38 +282,93 @@ private CheckResult VerifyFormArgument(LegalityAnalysis data, IFormArgument f) Qwilfish when pk.Form is 1 => arg switch { not 0 when pk.IsEgg => GetInvalid(LFormArgumentNotAllowed), - not 0 when pk.CurrentLevel < 25 => GetInvalid(LFormArgumentHigh), + not 0 when pk.CurrentLevel < 25 => GetInvalid(LFormArgumentHigh), // Can't get requisite move > 9_999 => GetInvalid(LFormArgumentHigh), _ => GetValid(LFormArgumentValid), }, - Stantler when pk is PA8 || data.Info.EvoChainsAllGens.HasVisitedPLA => arg switch + Gimmighoul => arg switch + { + not 0 when pk.IsEgg => GetInvalid(LFormArgumentNotAllowed), + > 9_999 => GetInvalid(LFormArgumentHigh), + _ => GetValid(LFormArgumentValid), + }, + Stantler => arg switch { not 0 when pk.IsEgg => GetInvalid(LFormArgumentNotAllowed), not 0 when pk.CurrentLevel < 31 => GetInvalid(LFormArgumentHigh), > 9_999 => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), + _ => HasVisitedPLA(data, Stantler) ? GetValid(LFormArgumentValid) : GetInvalid(LFormArgumentNotAllowed), }, - Wyrdeer => arg switch // From Stantler + Primeape => arg switch { - < 20 => GetInvalid(LFormArgumentLow), > 9_999 => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), + _ => HasVisitedSV(data, Primeape) ? GetValid(LFormArgumentValid) : GetInvalid(LFormArgumentNotAllowed), }, - Overqwil => arg switch // From Qwilfish-1 + Bisharp => arg switch { - < 20 => GetInvalid(LFormArgumentLow), > 9_999 => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), + _ => HasVisitedSV(data, Bisharp) ? GetValid(LFormArgumentValid) : GetInvalid(LFormArgumentNotAllowed), }, - Basculegion => arg switch // From Basculin-2 + Runerigus => VerifyFormArgumentRange(enc.Species, Runerigus, arg, 49, 9999), + Alcremie => VerifyFormArgumentRange(enc.Species, Alcremie, arg, 0, (uint)AlcremieDecoration.Ribbon), + Wyrdeer => VerifyFormArgumentRange(enc.Species, Wyrdeer, arg, 20, 9999), + Basculegion => VerifyFormArgumentRange(enc.Species, Basculegion, arg, 294, 9999), + Overqwil => VerifyFormArgumentRange(enc.Species, Overqwil, arg, 20, 9999), + Gholdengo => VerifyFormArgumentRange(enc.Species, Gholdengo, arg, 999, 999), + Kingambit => VerifyFormArgumentRange(enc.Species, Kingambit, arg, 3, 9999), + Annihilape => VerifyFormArgumentRange(enc.Species, Annihilape, arg, 20, 9999), + Koraidon or Miraidon => enc switch { - < 294 => GetInvalid(LFormArgumentLow), - > 9_999 => GetInvalid(LFormArgumentHigh), - _ => GetValid(LFormArgumentValid), + // Starter Legend has '1' when present in party, to differentiate. + // Cannot be traded to other games. + EncounterStatic9 { StarterBoxLegend: true } x when !(ParseSettings.ActiveTrainer is SAV9SV sv && sv.Version == x.Version) => GetInvalid(LTradeNotAvailable), + EncounterStatic9 { StarterBoxLegend: true } => arg switch + { + < 1 => GetInvalid(LFormArgumentLow), + 1 => data.SlotOrigin != SlotOrigin.Party ? GetInvalid(LFormParty) : GetValid(LFormArgumentValid), + > 1 => GetInvalid(LFormArgumentHigh), + }, + _ => arg switch + { + not 0 => GetInvalid(LFormArgumentNotAllowed), + _ => GetValid(LFormArgumentValid), + }, }, _ => VerifyFormArgumentNone(pk, f), }; } + + private static bool HasVisitedPLA(LegalityAnalysis data, Species species) + { + var evos = data.Info.EvoChainsAllGens; + if (evos.HasVisited(EntityContext.Gen8a, (ushort)species)) + return true; + return false; + } + + private static bool HasVisitedSV(LegalityAnalysis data, Species species) + { + var evos = data.Info.EvoChainsAllGens; + if (evos.HasVisited(EntityContext.Gen9, (ushort)species)) + return true; + return false; + } + + private CheckResult VerifyFormArgumentRange(ushort encSpecies, Species check, uint value, uint min, uint max) + { + if (encSpecies == (ushort)check) + { + if (value == 0) + return GetValid(LFormArgumentValid); + return GetInvalid(LFormArgumentNotAllowed); + } + + if (value < min) + return GetInvalid(LFormArgumentLow); + if (value > max) + return GetInvalid(LFormArgumentHigh); + return GetValid(LFormArgumentValid); + } private CheckResult VerifyFormArgumentNone(PKM pk, IFormArgument f) { diff --git a/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs b/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs index 75af2a7b7..90d31e01c 100644 --- a/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/HistoryVerifier.cs @@ -86,6 +86,7 @@ private void VerifyHandlerState(LegalityAnalysis data, bool neverOT) private static bool IsUntradeableEncounter(IEncounterTemplate enc) => enc switch { EncounterStatic7b { Location: 28 } => true, // LGP/E Starter + EncounterStatic9 { Species: 998 or 999, Level: 68 } => true, // SV Ride legend _ => false, }; @@ -118,7 +119,7 @@ private void VerifyOTFriendship(LegalityAnalysis data, bool neverOT, int origin, // If none match, then it is not a valid OT friendship. var fs = pk.OT_Friendship; var enc = data.Info.EncounterMatch; - if (GetBaseFriendship(enc, origin) != fs) + if (GetBaseFriendship(enc) != fs) data.AddLine(GetInvalid(LMemoryStatFriendshipOTBaseEvent)); } } @@ -198,6 +199,16 @@ private void VerifyHTMisc(LegalityAnalysis data) private void VerifyHTLanguage(LegalityAnalysis data, IHandlerLanguage h, PKM pk) { + var enc = data.EncounterOriginal; + if (enc is EncounterStatic9 { GiftWithLanguage: true }) + { + if (h.HT_Language == 0) + data.AddLine(GetInvalid(LMemoryHTLanguage)); + else if (pk.IsUntraded && h.HT_Language != pk.Language) + data.AddLine(GetInvalid(LMemoryHTLanguage)); + return; + } + if (h.HT_Language == 0) { if (!string.IsNullOrWhiteSpace(pk.HT_Name)) @@ -245,23 +256,20 @@ public static bool GetCanOTHandle(IEncounterTemplate enc, PKM pk, int generation }; } - private static int GetBaseFriendship(IEncounterTemplate enc, int generation) => enc switch + private static int GetBaseFriendship(IEncounterTemplate enc) => enc switch { IFixedOTFriendship f => f.OT_Friendship, - - { Version: GameVersion.BDSP or GameVersion.BD or GameVersion.SP } - => PersonalTable.BDSP.GetFormEntry(enc.Species, enc.Form).BaseFriendship, - { Version: GameVersion.PLA } - => PersonalTable.LA .GetFormEntry(enc.Species, enc.Form).BaseFriendship, - - _ => GetBaseFriendship(generation, enc.Species, enc.Form), + _ => GetBaseFriendship(enc.Context, enc.Species, enc.Form), }; - private static int GetBaseFriendship(int generation, ushort species, byte form) => generation switch + private static int GetBaseFriendship(EntityContext context, ushort species, byte form) => context switch { - 6 => PersonalTable.AO[species].BaseFriendship, - 7 => PersonalTable.USUM[species].BaseFriendship, - 8 => PersonalTable.SWSH.GetFormEntry(species, form).BaseFriendship, - _ => throw new ArgumentOutOfRangeException(nameof(generation)), + EntityContext.Gen6 => PersonalTable.AO[species].BaseFriendship, + EntityContext.Gen7 => PersonalTable.USUM[species].BaseFriendship, + EntityContext.Gen8 => PersonalTable.SWSH.GetFormEntry(species, form).BaseFriendship, + EntityContext.Gen8a => PersonalTable.LA.GetFormEntry(species, form).BaseFriendship, + EntityContext.Gen8b => PersonalTable.BDSP.GetFormEntry(species, form).BaseFriendship, + EntityContext.Gen9 => PersonalTable.SV.GetFormEntry(species, form).BaseFriendship, + _ => throw new ArgumentOutOfRangeException(nameof(context)), }; } diff --git a/PKHeX.Core/Legality/Verifiers/HyperTrainingVerifier.cs b/PKHeX.Core/Legality/Verifiers/HyperTrainingVerifier.cs index 2b322c34d..387d4f260 100644 --- a/PKHeX.Core/Legality/Verifiers/HyperTrainingVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/HyperTrainingVerifier.cs @@ -1,4 +1,5 @@ -using static PKHeX.Core.LegalityCheckStrings; +using System; +using static PKHeX.Core.LegalityCheckStrings; namespace PKHeX.Core; @@ -24,9 +25,10 @@ public override void Verify(LegalityAnalysis data) return; } - if (pk.CurrentLevel != 100) + var minLevel = t.GetHyperTrainMinLevel(data.Info.EvoChainsAllGens); + if (pk.CurrentLevel < minLevel) { - data.AddLine(GetInvalid(LHyperBelow100)); + data.AddLine(GetInvalid(string.Format(LHyperTooLow_0, minLevel))); return; } @@ -37,9 +39,17 @@ public override void Verify(LegalityAnalysis data) return; } - // LGPE gold bottle cap applies to all IVs regardless - if (pk.GG && t.IsHyperTrainedAll()) // already checked for 6IV, therefore we're flawed on at least one IV - return; + // already checked for 6IV, therefore we're flawed on at least one IV + if (t.IsHyperTrainedAll()) + { + // SV gold bottle cap applies to all IVs regardless + // LGPE gold bottle cap applies to all IVs regardless + var evos = data.Info.EvoChainsAllGens; + if (evos.HasVisitedGen9 && Array.Exists(evos.Gen9, x => x.LevelMax >= 50)) + return; + if (evos.HasVisitedLGPE && Array.Exists(evos.Gen7b, x => x.LevelMax >= 100)) + return; + } for (int i = 0; i < 6; i++) // Check individual IVs { diff --git a/PKHeX.Core/Legality/Verifiers/LegendsArceusVerifier.cs b/PKHeX.Core/Legality/Verifiers/LegendsArceusVerifier.cs index 2bb14dbc6..c30b1ac2f 100644 --- a/PKHeX.Core/Legality/Verifiers/LegendsArceusVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/LegendsArceusVerifier.cs @@ -17,7 +17,7 @@ public override void Verify(LegalityAnalysis data) if (pa.IsNoble) data.AddLine(GetInvalid(LStatNobleInvalid)); - if (pa.IsAlpha != data.EncounterMatch is IAlpha { IsAlpha: true }) + if (pa.IsAlpha != data.EncounterMatch is IAlphaReadOnly { IsAlpha: true }) data.AddLine(GetInvalid(LStatAlphaInvalid)); CheckScalars(data, pa); @@ -53,7 +53,7 @@ private void CheckScalars(LegalityAnalysis data, PA8 pa) } // No way to mutate the display height scalar value. Must match! - if (pa.HeightScalar != pa.HeightScalarCopy) + if (pa.HeightScalar != pa.Scale) data.AddLine(GetInvalid(LStatIncorrectHeightCopy, CheckIdentifier.Encounter)); } diff --git a/PKHeX.Core/Legality/Verifiers/MarkVerifier.cs b/PKHeX.Core/Legality/Verifiers/MarkVerifier.cs index c8bf3bcc4..9eeaff51b 100644 --- a/PKHeX.Core/Legality/Verifiers/MarkVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/MarkVerifier.cs @@ -1,4 +1,5 @@ using static PKHeX.Core.LegalityCheckStrings; +using static PKHeX.Core.RibbonIndex; namespace PKHeX.Core; @@ -15,7 +16,7 @@ public override void Verify(LegalityAnalysis data) if (pk is not IRibbonIndex m) return; - if (data.Info.Generation != 8 || (pk.Species == (int)Species.Shedinja && data.EncounterOriginal.Species is not (int)Species.Shedinja)) // Shedinja doesn't copy Ribbons or Marks + if (!MarkRules.IsEncounterMarkAllowed(data)) // Shedinja doesn't copy Ribbons or Marks VerifyNoMarksPresent(data, m); else VerifyMarksPresent(data, m); @@ -25,17 +26,17 @@ public override void Verify(LegalityAnalysis data) private void VerifyNoMarksPresent(LegalityAnalysis data, IRibbonIndex m) { - for (var x = RibbonIndex.MarkLunchtime; x <= RibbonIndex.MarkSlump; x++) + for (var x = MarkLunchtime; x <= MarkSlump; x++) { if (m.GetRibbon((int)x)) - data.AddLine(GetInvalid(string.Format(LRibbonMarkingFInvalid_0, x))); + data.AddLine(GetInvalid(string.Format(LRibbonMarkingFInvalid_0, GetRibbonNameSafe(x)))); } } private void VerifyMarksPresent(LegalityAnalysis data, IRibbonIndex m) { bool hasOne = false; - for (var mark = RibbonIndex.MarkLunchtime; mark <= RibbonIndex.MarkSlump; mark++) + for (var mark = MarkLunchtime; mark <= MarkSlump; mark++) { bool has = m.GetRibbon((int)mark); if (!has) @@ -47,7 +48,7 @@ private void VerifyMarksPresent(LegalityAnalysis data, IRibbonIndex m) return; } - bool result = IsMarkValid(mark, data.Entity, data.EncounterMatch); + bool result = MarkRules.IsMarkValid8(mark, data.Entity, data.EncounterMatch); if (!result) { data.AddLine(GetInvalid(string.Format(LRibbonMarkingFInvalid_0, GetRibbonNameSafe(mark)))); @@ -60,98 +61,33 @@ private void VerifyMarksPresent(LegalityAnalysis data, IRibbonIndex m) private static string GetRibbonNameSafe(RibbonIndex index) { - if (index >= RibbonIndex.MAX_COUNT) + if (index >= MAX_COUNT) return index.ToString(); var expect = $"Ribbon{index}"; return RibbonStrings.GetName(expect); } - public static bool IsMarkValid(RibbonIndex mark, PKM pk, IEncounterTemplate enc) - { - return IsMarkAllowedAny(enc) && IsMarkAllowedSpecific(mark, pk, enc); - } - - public static bool IsMarkAllowedSpecific(RibbonIndex mark, PKM pk, IEncounterTemplate x) => mark switch - { - RibbonIndex.MarkCurry when !IsMarkAllowedCurry(pk, x) => false, - RibbonIndex.MarkFishing when !IsMarkAllowedFishing(x) => false, - RibbonIndex.MarkMisty when pk.Met_Level < EncounterArea8.BoostLevel && EncounterArea8.IsBoostedArea60Fog(pk.Met_Location) => false, - RibbonIndex.MarkDestiny => false, - >= RibbonIndex.MarkCloudy and <= RibbonIndex.MarkMisty => IsWeatherPermitted(mark, x), - _ => true, - }; - - private static bool IsWeatherPermitted(RibbonIndex mark, IEncounterTemplate enc) - { - var permit = mark.GetWeather8(); - - // Encounter slots check location weather, while static encounters check weather per encounter. - return enc switch - { - EncounterSlot8 w => IsSlotWeatherPermitted(permit, w), - EncounterStatic8 s => s.Weather.HasFlag(permit), - _ => false, - }; - } - - private static bool IsSlotWeatherPermitted(AreaWeather8 permit, EncounterSlot8 s) - { - var location = s.Location; - // If it's not in the main table, it can only have Normal weather. - if (!EncounterArea8.WeatherbyArea.TryGetValue(location, out var weather)) - weather = AreaWeather8.Normal; - if (weather.HasFlag(permit)) - return true; - - // Valid tree/fishing weathers should have returned with main area weather. - if ((s.Weather & (AreaWeather8.Shaking_Trees | AreaWeather8.Fishing)) != 0) - return false; - - // Check bleed conditions otherwise. - return EncounterArea8.IsWeatherBleedPossible(s.SlotType, permit, location); - } - - public static bool IsMarkAllowedAny(IEncounterTemplate enc) => enc.Generation == 8 && enc switch - { - // Gen 8 - EncounterSlot8 or EncounterStatic8 {Gift: false, ScriptedNoMarks: false} => true, - _ => false, - }; - - public static bool IsMarkAllowedCurry(PKM pk, IEncounterTemplate enc) - { - // Curry are only encounter slots, from the hidden table (not symbol). Slots taken from area's current weather(?). - if (enc is not EncounterSlot8 {CanEncounterViaCurry: true}) - return false; - - var ball = pk.Ball; - return (uint)(ball - 2) <= 2; - } - - public static bool IsMarkAllowedFishing(IEncounterTemplate enc) - { - return enc is EncounterSlot8 {CanEncounterViaFishing: true}; - } - private void VerifyAffixedRibbonMark(LegalityAnalysis data, IRibbonIndex m) { if (m is not IRibbonSetAffixed a) return; - var affix = a.AffixedRibbon; - if (affix == -1) // None + var affixValue = a.AffixedRibbon; + if (affixValue == -1) // None return; - if ((byte)affix > (int)RibbonIndex.MarkSlump) // SW/SH cannot affix anything higher. + var affix = (RibbonIndex)affixValue; + var max = MarkRules.GetMaxAffixValue(data.Entity.Format); + if (affix > max) { - data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe((RibbonIndex)affix)))); + data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe(affix)))); return; } if (m is not PKM pk) return; - if (pk.Species == (int)Species.Shedinja && data.EncounterOriginal.Species is not (int)Species.Shedinja) + if (MarkRules.IsEncounterMarkLost(data)) { VerifyShedinjaAffixed(data, affix, pk, m); return; @@ -159,16 +95,16 @@ private void VerifyAffixedRibbonMark(LegalityAnalysis data, IRibbonIndex m) EnsureHasRibbon(data, m, affix); } - private void VerifyShedinjaAffixed(LegalityAnalysis data, sbyte affix, PKM pk, IRibbonIndex r) + private void VerifyShedinjaAffixed(LegalityAnalysis data, RibbonIndex affix, PKM pk, IRibbonIndex r) { // Does not copy ribbons or marks, but retains the Affixed Ribbon value. // Try re-verifying to see if it could have had the Ribbon/Mark. var enc = data.EncounterOriginal; - if ((byte) affix >= (int) RibbonIndex.MarkLunchtime) + if (affix.IsEncounterMark()) { - if (!IsMarkValid((RibbonIndex)affix, pk, enc)) - data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe((RibbonIndex)affix)))); + if (!MarkRules.IsMarkValid8(affix, pk, enc)) + data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe(affix)))); return; } @@ -182,9 +118,9 @@ private void VerifyShedinjaAffixed(LegalityAnalysis data, sbyte affix, PKM pk, I var clone = pk.Clone(); clone.Species = (int) Species.Nincada; var args = new RibbonVerifierArguments(clone, enc, data.Info.EvoChainsAllGens); - ((RibbonIndex)affix).Fix(args, true); - var name = GetRibbonNameSafe((RibbonIndex)affix); - bool invalid = RibbonVerifier.IsValidExtra((RibbonIndex)affix, args); + affix.Fix(args, true); + var name = GetRibbonNameSafe(affix); + bool invalid = RibbonVerifier.IsValidExtra(affix, args); var severity = invalid ? Severity.Invalid : Severity.Fishy; data.AddLine(Get(string.Format(LRibbonMarkingAffixedF_0, name), severity)); } @@ -203,10 +139,10 @@ private static bool IsMoveSetEvolvedShedinja(PKM pk) return pk.HasMove((int)Move.Agility) && pk is PK8 pk8 && !pk8.GetMoveRecordFlag(12); // TR12 (Agility) } - private void EnsureHasRibbon(LegalityAnalysis data, IRibbonIndex m, sbyte affix) + private void EnsureHasRibbon(LegalityAnalysis data, IRibbonIndex m, RibbonIndex affix) { - var hasRibbon = m.GetRibbonIndex((RibbonIndex) affix); + var hasRibbon = m.GetRibbonIndex(affix); if (!hasRibbon) - data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe((RibbonIndex) affix)))); + data.AddLine(GetInvalid(string.Format(LRibbonMarkingAffixedF_0, GetRibbonNameSafe(affix)))); } } diff --git a/PKHeX.Core/Legality/Verifiers/MarkingVerifier.cs b/PKHeX.Core/Legality/Verifiers/MarkingVerifier.cs index 9db70c177..85d3474ab 100644 --- a/PKHeX.Core/Legality/Verifiers/MarkingVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/MarkingVerifier.cs @@ -20,7 +20,7 @@ public override void Verify(LegalityAnalysis data) private void VerifyFavoriteMark(LegalityAnalysis data, PKM pk) { // Can only be toggled on in LGP/E, and is retained via transfer to HOME and into other games. - if (pk is IFavorite { Favorite: true } && !pk.GG) + if (pk is IFavorite { IsFavorite: true } && !pk.GG) data.AddLine(GetInvalid(LFavoriteMarkingUnavailable)); } diff --git a/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs b/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs index 527634710..530af7d43 100644 --- a/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs @@ -30,6 +30,8 @@ private static bool ShouldHaveNoMemory(LegalityAnalysis data, PKM pk) { if (pk.BDSP || pk.LA) return !data.Info.EvoChainsAllGens.HasVisitedSWSH; + if (pk is PK9) + return true; // No memories. return false; } @@ -195,7 +197,7 @@ private void VerifyOTMemory(LegalityAnalysis data) VerifyOTMemoryIs(data, g.OT_Memory, g.OT_Intensity, g.OT_TextVar, g.OT_Feeling); return; - case IMemoryOT t and not MysteryGift: // Ignore Mystery Gift cases (covered above) + case IMemoryOTReadOnly t and not MysteryGift: // Ignore Mystery Gift cases (covered above) VerifyOTMemoryIs(data, t.OT_Memory, t.OT_Intensity, t.OT_TextVar, t.OT_Feeling); return; } diff --git a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGranting.cs b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGranting.cs index 4ed8512b6..c7e0c3327 100644 --- a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGranting.cs +++ b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGranting.cs @@ -1,7 +1,7 @@ namespace PKHeX.Core; /// -/// Rules for how are acquired. +/// Rules for how are acquired. /// /// public enum ContestStatGranting diff --git a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGrantingSheen.cs b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGrantingSheen.cs index f23da54c4..75eaae419 100644 --- a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGrantingSheen.cs +++ b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatGrantingSheen.cs @@ -1,7 +1,7 @@ namespace PKHeX.Core; /// -/// Rules for how is obtained. +/// Rules for how is obtained. /// public enum ContestStatGrantingSheen { diff --git a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatInfo.cs b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatInfo.cs index a3e054e44..4e59d9ed6 100644 --- a/PKHeX.Core/Legality/Verifiers/Misc/ContestStatInfo.cs +++ b/PKHeX.Core/Legality/Verifiers/Misc/ContestStatInfo.cs @@ -4,7 +4,7 @@ namespace PKHeX.Core; /// -/// Logic for checking and applying . +/// Logic for checking and applying . /// public static class ContestStatInfo { @@ -32,7 +32,7 @@ public static class ContestStatInfo public static void SetSuggestedContestStats(this PKM pk, IEncounterTemplate enc, EvolutionHistory h) { - if (pk is not IContestStatsMutable s) + if (pk is not IContestStats s) return; var restrict = GetContestStatRestriction(pk, pk.Generation, h); @@ -45,7 +45,7 @@ public static void SetSuggestedContestStats(this PKM pk, IEncounterTemplate enc, public static void SetMaxContestStats(this PKM pk, IEncounterTemplate enc, EvolutionHistory h) { - if (pk is not IContestStatsMutable s) + if (pk is not IContestStats s) return; var restrict = GetContestStatRestriction(pk, enc.Generation, h); var baseStat = GetReferenceTemplate(enc); @@ -65,7 +65,7 @@ public static void SetMaxContestStats(this PKM pk, IEncounterTemplate enc, Evolu _ => h.HasVisitedBDSP ? CorrelateSheen : None, // BDSP Contests }; - public static int CalculateMaximumSheen(IContestStats s, int nature, IContestStats initial, bool pokeBlock3) + public static int CalculateMaximumSheen(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial, bool pokeBlock3) { if (s.IsAnyContestStatMax()) return MaxContestStat; @@ -87,7 +87,7 @@ public static int CalculateMaximumSheen(IContestStats s, int nature, IContestSta return Math.Min(MaxContestStat, avg * HighestFeelPoffin8b); } - public static int CalculateMinimumSheen(IContestStats s, IContestStats initial, INature pk, ContestStatGrantingSheen method) => method switch + public static int CalculateMinimumSheen(IContestStatsReadOnly s, IContestStatsReadOnly initial, INature pk, ContestStatGrantingSheen method) => method switch { ContestStatGrantingSheen.Gen8b => CalculateMinimumSheen8b(s, pk.Nature, initial), ContestStatGrantingSheen.Gen3 => CalculateMinimumSheen3(s, pk.Nature, initial), @@ -96,7 +96,7 @@ public static int CalculateMaximumSheen(IContestStats s, int nature, IContestSta }; // Slightly better stat:sheen ratio than Gen4; prefer if has visited. - public static int CalculateMinimumSheen8b(IContestStats s, int nature, IContestStats initial) + public static int CalculateMinimumSheen8b(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { if (s.IsContestEqual(initial)) return initial.CNT_Sheen; @@ -112,7 +112,7 @@ public static int CalculateMinimumSheen8b(IContestStats s, int nature, IContestS return Math.Min(BestSheenStat8b, Math.Max(LowestFeelPoffin8b, avg)); } - public static int CalculateMinimumSheen3(IContestStats s, int nature, IContestStats initial) + public static int CalculateMinimumSheen3(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { if (s.IsContestEqual(initial)) return initial.CNT_Sheen; @@ -128,7 +128,7 @@ public static int CalculateMinimumSheen3(IContestStats s, int nature, IContestSt return Math.Min(BestSheenStat3, Math.Max(LowestFeelBlock3, avg)); } - public static int CalculateMinimumSheen4(IContestStats s, int nature, IContestStats initial) + public static int CalculateMinimumSheen4(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { if (s.IsContestEqual(initial)) return initial.CNT_Sheen; @@ -143,7 +143,7 @@ public static int CalculateMinimumSheen4(IContestStats s, int nature, IContestSt return Math.Min(MaxContestStat, Math.Max(LowestFeelPoffin4, avg)); } - private static int CalculateMaximumSheen3(IContestStats s, int nature, IContestStats initial) + private static int CalculateMaximumSheen3(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { // By using Enigma and Lansat and a 25 +1/-1, can get a +9/+19s at minimum RPM // By using Strib, Chilan, Niniku, or Topo, can get a black +2/2/2 & 83 block (6:83) at minimum RPM. @@ -165,13 +165,13 @@ private static int CalculateMaximumSheen3(IContestStats s, int nature, IContestS return Math.Min(MaxContestStat, Math.Max(LowestFeelBlock3, permit)); } - private static int GetAverageFeel(IContestStats s, int nature, IContestStats initial) + private static int GetAverageFeel(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { var sum = GetGainedSum(s, nature, initial); return (int)Math.Ceiling(sum / 5f); } - private static int GetGainedSum(IContestStats s, int nature, IContestStats initial) + private static int GetGainedSum(IContestStatsReadOnly s, int nature, IContestStatsReadOnly initial) { ReadOnlySpan span = NatureAmpTable.AsSpan(5 * nature, 5); int sum = 0; @@ -211,9 +211,9 @@ static int Boost(int stat, int factor) private static readonly DummyContestNone DummyNone = new(); - public static IContestStats GetReferenceTemplate(IEncounterTemplate initial) => initial as IContestStats ?? DummyNone; + public static IContestStatsReadOnly GetReferenceTemplate(IEncounterTemplate initial) => initial as IContestStatsReadOnly ?? DummyNone; - private sealed class DummyContestNone : IContestStats + private sealed class DummyContestNone : IContestStatsReadOnly { public byte CNT_Cool => 0; public byte CNT_Beauty => 0; diff --git a/PKHeX.Core/Legality/Verifiers/MiscVerifier.cs b/PKHeX.Core/Legality/Verifiers/MiscVerifier.cs index 864dee357..8a18d5605 100644 --- a/PKHeX.Core/Legality/Verifiers/MiscVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/MiscVerifier.cs @@ -19,7 +19,7 @@ public override void Verify(LegalityAnalysis data) { VerifyMiscEggCommon(data); - if (pk is IContestStats s && s.HasContestStats()) + if (pk is IContestStatsReadOnly s && s.HasContestStats()) data.AddLine(GetInvalid(LEggContest, Egg)); switch (pk) @@ -63,6 +63,9 @@ public override void Verify(LegalityAnalysis data) case PA8 pa8: VerifyPLAStats(data, pa8); break; + case PK9 pk9: + VerifySVStats(data, pk9); + break; } if (pk.Format >= 6) @@ -131,6 +134,79 @@ public override void Verify(LegalityAnalysis data) VerifyMiscPokerus(data); } + private void VerifySVStats(LegalityAnalysis data, PK9 pk9) + { + VerifyStatNature(data, pk9); + + if (!pk9.IsBattleVersionValid(data.Info.EvoChainsAllGens)) + data.AddLine(GetInvalid(LStatBattleVersionInvalid)); + + var enc = data.EncounterOriginal; + if (CheckHeightWeightOdds(enc) && pk9.HeightScalar == 0 && pk9.WeightScalar == 0 && ParseSettings.ZeroHeightWeight != Severity.Valid) + data.AddLine(Get(LStatInvalidHeightWeight, ParseSettings.ZeroHeightWeight, Encounter)); + + if (enc is EncounterEgg g && UnreleasedSV.Contains(g.Species | g.Form << 11)) + data.AddLine(GetInvalid(LTransferBad)); + + var expectObey = enc is IObedienceLevelReadOnly l ? l.Obedience_Level : Math.Max(1, pk9.Met_Level); + var current = pk9.Obedience_Level; + if (!IsObedienceLevelValid(pk9, current, expectObey)) + data.AddLine(GetInvalid(LTransferObedienceLevel)); + + if (pk9.Tracker != 0) + data.AddLine(GetInvalid(LTransferTrackerShouldBeZero)); + + bool onlyDefaultTeraType = enc.Context is not EntityContext.Gen9 || enc is EncounterEgg; + if (onlyDefaultTeraType && !Tera9RNG.IsMatchTeraTypePersonal(enc.Species, enc.Form, (byte)pk9.TeraTypeOriginal)) + data.AddLine(GetInvalid(LTeraTypeMismatch)); + + VerifyTechRecordSV(data, pk9); + } + + private static bool IsObedienceLevelValid(PKM pk9, byte current, int expectObey) + { + if (!pk9.IsUntraded) + return current >= expectObey; + return current == expectObey; + } + + private static readonly HashSet UnreleasedSV = new() + { + (int)Species.Charmander, // Charmander : distribution raids happening on Dec 1, 2022 + (int)Species.Diglett | (1 << 11), // Diglett-1 + (int)Species.Meowth | (1 << 11), // Meowth-1 + (int)Species.Growlithe | (1 << 11), // Growlithe-1 + (int)Species.Slowpoke | (1 << 11), // Slowpoke-1 + (int)Species.Grimer | (1 << 11), // Grimer-1 + (int)Species.Voltorb | (1 << 11), // Voltorb-1 + (int)Species.Tauros, // Tauros-0 + (int)Species.Cyndaquil, // Cyndaquil + (int)Species.Qwilfish | (1 << 11), // Qwilfish-1 + (int)Species.Sneasel | (1 << 11), // Sneasel-1 + (int)Species.Oshawott, // Oshawott + (int)Species.Basculin | (2 << 11), // Basculin-2 + (int)Species.Zorua | (1 << 11), // Zorua-1 + (int)Species.Chespin, // Chespin + (int)Species.Fennekin, // Fennekin + (int)Species.Froakie, // Froakie + (int)Species.Carbink, // Carbink + (int)Species.Rowlet, // Rowlet + (int)Species.Grookey, // Grookey + (int)Species.Scorbunny, // Scorbunny + (int)Species.Sobble, // Sobble + + // Silly Workaround for evolution chain reversal not being iteratively implemented -- block Hisuians + (int)Species.Sliggoo | (1 << 11), + (int)Species.Overqwil, + (int)Species.Wyrdeer, + (int)Species.Kleavor, + (int)Species.Ursaluna, + + (int)Species.Decidueye | (1 << 11), // Rowlet + (int)Species.Typhlosion | (1 << 11), // Cyndaquil + (int)Species.Samurott | (1 << 11), // Oshawott + }; + private void VerifyMiscPokerus(LegalityAnalysis data) { var pk = data.Entity; @@ -172,8 +248,8 @@ public void VerifyMiscG1(LegalityAnalysis data) private void VerifyMiscG1Types(LegalityAnalysis data, PK1 pk1) { - var Type_A = pk1.Type_A; - var Type_B = pk1.Type_B; + var Type_A = pk1.Type1; + var Type_B = pk1.Type2; var species = pk1.Species; if (species == (int)Species.Porygon) { @@ -330,9 +406,9 @@ private static void VerifyMiscEggCommon(LegalityAnalysis data) data.AddLine(GetInvalid(msg, Egg)); } - if (pk is ITechRecord8 pk8) + if (pk is ITechRecord record) { - if (pk8.GetMoveRecordFlagAny()) + if (record.GetMoveRecordFlagAny()) data.AddLine(GetInvalid(LEggRelearnFlags, Egg)); if (pk.StatNature != pk.Nature) data.AddLine(GetInvalid(LEggNature, Egg)); @@ -537,7 +613,7 @@ private void VerifySWSHStats(LegalityAnalysis data, PK8 pk8) data.AddLine(GetInvalid(LStatBattleVersionInvalid)); var enc = data.EncounterMatch; - bool originGMax = enc is IGigantamax {CanGigantamax: true}; + bool originGMax = enc is IGigantamaxReadOnly {CanGigantamax: true}; if (originGMax != pk8.CanGigantamax) { bool ok = !pk8.IsEgg && pk8.CanToggleGigantamax(pk8.Species, pk8.Form, enc.Species, enc.Form); @@ -551,30 +627,10 @@ private void VerifySWSHStats(LegalityAnalysis data, PK8 pk8) data.AddLine(GetInvalid(LStatDynamaxInvalid)); } - PersonalInfo8SWSH? pi = null; - for (int i = 0; i < PersonalInfo8SWSH.CountTR; i++) - { - if (!pk8.GetMoveRecordFlag(i)) - continue; - if ((pi ??= (PersonalInfo8SWSH)pk8.PersonalInfo).TMHM[i + 100]) - continue; - - // Calyrex-0 can have TR flags for Calyrex-1/2 after it has force unlearned them. - // Re-fusing can be reacquire the move via relearner, rather than needing another TR. - // Calyrex-0 cannot reacquire the move via relearner, even though the TR is checked off in the TR list. - if (pk8.Species == (int) Species.Calyrex) - { - var form = pk8.Form; - // Check if another alt form can learn the TR - if ((form != 1 && CanLearnTR((int) Species.Calyrex, 1, i)) || (form != 2 && CanLearnTR((int) Species.Calyrex, 2, i))) - continue; - } - - data.AddLine(GetInvalid(string.Format(LMoveSourceTR, ParseSettings.MoveStrings[LearnSource8SWSH.TR_SWSH[i]]))); - } - if (CheckHeightWeightOdds(data.EncounterMatch) && pk8.HeightScalar == 0 && pk8.WeightScalar == 0 && ParseSettings.ZeroHeightWeight != Severity.Valid) data.AddLine(Get(LStatInvalidHeightWeight, ParseSettings.ZeroHeightWeight, Encounter)); + + VerifyTechRecordSWSH(data, pk8); } private void VerifyPLAStats(LegalityAnalysis data, PA8 pa8) @@ -607,6 +663,8 @@ private void VerifyPLAStats(LegalityAnalysis data, PA8 pa8) if (CheckHeightWeightOdds(data.EncounterMatch) && pa8.HeightScalar == 0 && pa8.WeightScalar == 0 && ParseSettings.ZeroHeightWeight != Severity.Valid) data.AddLine(Get(LStatInvalidHeightWeight, ParseSettings.ZeroHeightWeight, Encounter)); + + VerifyTechRecordSWSH(data, pa8); } private void VerifyBDSPStats(LegalityAnalysis data, PB8 pb8) @@ -645,21 +703,17 @@ private void VerifyBDSPStats(LegalityAnalysis data, PB8 pb8) if (CheckHeightWeightOdds(data.EncounterMatch) && pb8.HeightScalar == 0 && pb8.WeightScalar == 0 && ParseSettings.ZeroHeightWeight != Severity.Valid) data.AddLine(Get(LStatInvalidHeightWeight, ParseSettings.ZeroHeightWeight, Encounter)); + + VerifyTechRecordSWSH(data, pb8); } private static bool CheckHeightWeightOdds(IEncounterTemplate enc) { if (enc.Generation < 8) return false; - - if (GameVersion.BDSP.Contains(enc.Version) || GameVersion.PLA == enc.Version) - return true; - if (enc is WC8 { IsHOMEGift: true }) return false; - if (GameVersion.SWSH.Contains(enc.Version)) - return true; - return false; + return true; } private void VerifyStatNature(LegalityAnalysis data, PKM pk) @@ -672,9 +726,78 @@ private void VerifyStatNature(LegalityAnalysis data, PKM pk) data.AddLine(GetInvalid(LStatNatureInvalid)); } + private void VerifyTechRecordSWSH(LegalityAnalysis data, T pk) where T : PKM, ITechRecord + { + static string GetMoveName(int index) => ParseSettings.MoveStrings[LearnSource8SWSH.TR_SWSH[index]]; + var evos = data.Info.EvoChainsAllGens.Gen8; + if (evos.Length == 0) + { + for (int i = 0; i < PersonalInfo8SWSH.CountTR; i++) + { + if (!pk.GetMoveRecordFlag(i)) + continue; + data.AddLine(GetInvalid(string.Format(LMoveSourceTR, GetMoveName(i)))); + } + } + else + { + static PersonalInfo8SWSH GetPersonal(EvoCriteria evo) => PersonalTable.SWSH.GetFormEntry(evo.Species, evo.Form); + PersonalInfo8SWSH? pi = null; + for (int i = 0; i < PersonalInfo8SWSH.CountTR; i++) + { + if (!pk.GetMoveRecordFlag(i)) + continue; + if ((pi ??= GetPersonal(evos[0])).TMHM[i]) + continue; + + // Calyrex-0 can have TR flags for Calyrex-1/2 after it has force unlearned them. + // Re-fusing can be reacquire the move via relearner, rather than needing another TR. + // Calyrex-0 cannot reacquire the move via relearner, even though the TR is checked off in the TR list. + if (pk.Species == (int)Species.Calyrex) + { + var form = pk.Form; + // Check if another alt form can learn the TR + if ((form != 1 && CanLearnTR((int)Species.Calyrex, 1, i)) || (form != 2 && CanLearnTR((int)Species.Calyrex, 2, i))) + continue; + } + + data.AddLine(GetInvalid(string.Format(LMoveSourceTR, GetMoveName(i)))); + } + } + } + private static bool CanLearnTR(ushort species, byte form, int tr) { var pi = PersonalTable.SWSH.GetFormEntry(species, form); return pi.TMHM[tr + PersonalInfo8SWSH.CountTM]; } + + private void VerifyTechRecordSV(LegalityAnalysis data, PK9 pk) + { + static string GetMoveName(int index) => ParseSettings.MoveStrings[LearnSource9SV.TM_SV[index]]; + var evos = data.Info.EvoChainsAllGens.Gen9; + if (evos.Length == 0) + { + for (int i = 0; i < PersonalInfo9SV.CountTM; i++) + { + if (!pk.GetMoveRecordFlag(i)) + continue; + data.AddLine(GetInvalid(string.Format(LMoveSourceTR, GetMoveName(i)))); + } + } + else + { + static PersonalInfo9SV GetPersonal(EvoCriteria evo) => PersonalTable.SV.GetFormEntry(evo.Species, evo.Form); + PersonalInfo9SV? pi = null; + for (int i = 0; i < PersonalInfo9SV.CountTM; i++) + { + if (!pk.GetMoveRecordFlag(i)) + continue; + if ((pi ??= GetPersonal(evos[0])).TMHM[i]) + continue; + + data.AddLine(GetInvalid(string.Format(LMoveSourceTR, GetMoveName(i)))); + } + } + } } diff --git a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs index 24de53559..4dcbf1aac 100644 --- a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs @@ -279,9 +279,7 @@ private static void VerifyNicknameTrade(LegalityAnalysis data, EncounterTrade t) case 3: VerifyTrade3(data, t); return; case 4: VerifyTrade4(data, t); return; case 5: VerifyTrade5(data, t); return; - case 6: - case 7: - case 8: + default: VerifyTrade(data, t, data.Entity.Language); return; } } @@ -484,7 +482,7 @@ private static void VerifyTrade5(LegalityAnalysis data, EncounterTrade t) } else // B2W2 { - if (t.TID is Encounters5.YancyTID or Encounters5.CurtisTID) + if (t.TID is Encounters5B2W2.YancyTID or Encounters5B2W2.CurtisTID) VerifyTradeOTOnly(data, t); else VerifyTrade(data, t, lang); diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/MarkRules.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/MarkRules.cs new file mode 100644 index 000000000..b5ea0e699 --- /dev/null +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/MarkRules.cs @@ -0,0 +1,193 @@ +using static PKHeX.Core.RibbonIndex; + +namespace PKHeX.Core; + +/// +/// Rules for obtaining marks. +/// +/// +public static class MarkRules +{ + /// + /// Checks if the ribbon index is one of the specific SW/SH encounter-only marks. These marks are granted when the encounter spawns in the wild. + /// + public static bool IsEncounterMark(this RibbonIndex m) => (byte)m is >= (int)MarkLunchtime and <= (int)MarkSlump; + + /// + /// Checks if an encounter-only mark is possible to obtain for the encounter, if not lost via data manipulation. + /// + public static bool IsEncounterMarkAllowed(LegalityAnalysis data) + { + if (IsEncounterMarkLost(data)) + return false; + return data.Info.EncounterOriginal.Context is EntityContext.Gen8 or EntityContext.Gen9; + } + + /// + /// Checks if original marks and ribbons are lost via data manipulation. + /// + public static bool IsEncounterMarkLost(LegalityAnalysis data) + { + // Nincada -> Shedinja loses all ribbons and marks, but does not purge any Affixed Ribbon value. + return data.EncounterOriginal.Species is (int)Species.Nincada && data.Entity.Species == (int)Species.Shedinja; + } + + /// + /// Checks if a SW/SH mark is valid. + /// + public static bool IsMarkValid8(RibbonIndex mark, PKM pk, IEncounterTemplate enc) + { + return IsEncounterMarkAllowedAny(enc) && IsMarkAllowedSpecific(mark, pk, enc); + } + + /// + /// Checks if a specific encounter mark is disallowed. + /// + /// False if mark is disallowed based on specific conditions. + public static bool IsMarkAllowedSpecific(RibbonIndex mark, PKM pk, IEncounterTemplate x) => mark switch + { + MarkCurry when !IsMarkAllowedCurry(pk, x) => false, + MarkFishing when !IsMarkAllowedFishing(x) => false, + MarkMisty when x.Generation == 8 && pk.Met_Level < EncounterArea8.BoostLevel && EncounterArea8.IsBoostedArea60Fog(pk.Met_Location) => false, + MarkDestiny => x is EncounterSlot9, // Capture on Birthday + >= MarkCloudy and <= MarkMisty => IsWeatherPermitted(mark, x), + _ => true, + }; + + private static bool IsWeatherPermitted(RibbonIndex mark, IEncounterTemplate enc) + { + var permit = mark.GetWeather8(); + + // Encounter slots check location weather, while static encounters check weather per encounter. + return enc switch + { + EncounterSlot8 w => IsSlotWeatherPermitted(permit, w), + EncounterStatic8 s => s.Weather.HasFlag(permit), + _ => false, + }; + } + + private static bool IsSlotWeatherPermitted(AreaWeather8 permit, EncounterSlot8 s) + { + var location = s.Location; + // If it's not in the main table, it can only have Normal weather. + if (!EncounterArea8.WeatherbyArea.TryGetValue(location, out var weather)) + weather = AreaWeather8.Normal; + if (weather.HasFlag(permit)) + return true; + + // Valid tree/fishing weathers should have returned with main area weather. + if ((s.Weather & (AreaWeather8.Shaking_Trees | AreaWeather8.Fishing)) != 0) + return false; + + // Check bleed conditions otherwise. + return EncounterArea8.IsWeatherBleedPossible(s.SlotType, permit, location); + } + + /// + /// Checks if any encounter-only mark is available for the . + /// + public static bool IsEncounterMarkAllowedAny(IEncounterTemplate enc) => enc.Generation >= 8 && enc switch + { + // Gen 8 + EncounterSlot8 or EncounterStatic8 { Gift: false, ScriptedNoMarks: false } => true, + EncounterSlot9 => true, + _ => false, + }; + + /// + /// Checks if a mark is valid. + /// + public static bool IsMarkAllowedCurry(PKM pk, IEncounterTemplate enc) + { + // Curry are only encounter slots, from the hidden table (not symbol). Slots taken from area's current weather(?). + if (enc is not EncounterSlot8 { CanEncounterViaCurry: true }) + return false; + + var ball = pk.Ball; + return (uint)(ball - 2) <= 2; + } + + /// + /// Checks if a mark is valid. + /// + public static bool IsMarkAllowedFishing(IEncounterTemplate enc) + { + return enc is EncounterSlot8 { CanEncounterViaFishing: true }; + } + + /// + /// Checks if the input can have the mark. + /// + public static bool IsMarkPresentAlpha(IEncounterTemplate enc) => enc is IAlphaReadOnly { IsAlpha: true}; + + /// + /// Checks if the input can have the mark. + /// + public static bool IsMarkAllowedJumbo(EvolutionHistory evos, PKM pk) + { + if (!evos.HasVisitedGen9) + return false; + if (pk is IScaledSize3 s) + return s.Scale == byte.MaxValue; + return false; + } + + /// + /// Checks if the input can have the mark. + /// + public static bool IsMarkAllowedMini(EvolutionHistory evos, PKM pk) + { + if (!evos.HasVisitedGen9) + return false; + if (pk is IScaledSize3 s) + return s.Scale == 0; + return false; + } + + /// + /// Checks if the input can have the mark. + /// + public static bool IsMarkValidGourmand(EvolutionHistory evos) + { + // Requires eating food, either crafted sandwich (EXP) or store bought (no EXP). + return evos.HasVisitedGen9; + } + + /// + /// Checks if the input should have the mark. + /// + public static bool IsMarkPresentMightiest(IEncounterTemplate enc) + { + // 7 star raids only. + return enc is EncounterTera9 { Stars: 7 }; + } + + /// + /// Checks if the input should have the mark. + /// + public static bool IsMarkPresentTitan(IEncounterTemplate enc) + { + // Titan static encounters only. + return enc is EncounterStatic9 { IsTitan: true }; + } + + /// + /// Checks if the input should have the mark. + /// + public static bool IsMarkValidItemFinder(EvolutionHistory evos) => false; // evos.HasVisitedGen9; + + /// + /// Checks if the input should have the mark. + /// + public static bool IsMarkValidPartner(EvolutionHistory evos) => evos.HasVisitedGen9; + + /// + /// Gets the maximum obtainable value for the format. + /// + public static RibbonIndex GetMaxAffixValue(int entityFormat) => entityFormat switch + { + <= 8 => MarkSlump, // Pioneer and Twinkling Star cannot be selected in SW/SH. + _ => MarkTitan, // Max ribbon visible in SV. + }; +} diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonRules.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonRules.cs index c30fdf9f3..b9314a6d0 100644 --- a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonRules.cs +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonRules.cs @@ -88,9 +88,10 @@ public static bool IsRibbonValidMasterRankSWSH(PKM pk, IEncounterTemplate enc, E bool hasRealDate = enc.Version == GameVersion.GO || enc is IEncounterServerDate { IsDateRestricted: true }; if (hasRealDate) { + // Ranked is still ongoing, but the use of Mythicals was restricted to Series 13 only. var met = pk.MetDate; - if (met > new DateTime(2022, 11, 1)) // Series 13 end date +1 day (wiggle room) - return false; // Ranked is done! + if (Legal.Mythicals.Contains(pk.Species) && met > new DateTime(2022, 11, 1)) + return false; } // Series 13 rule-set was the first time Ranked Battles allowed the use of Mythical Pokémon. @@ -261,7 +262,7 @@ public static bool GetValidRibbonStateNational(PKM pk, IEncounterTemplate enc) return false; // Ribbon is awarded when the Pokémon is purified in the game of origin. - if (pk is IShadowPKM { IsShadow: true }) + if (pk is IShadowCapture { IsShadow: true }) return false; return true; @@ -300,12 +301,18 @@ public static (byte Contest, byte Battle) GetMaxMemoryCounts(EvolutionHistory ev return default; } + /// + /// Checks if the input evolution history could have participated in Generation 3 contests. + /// public static bool IsAllowedContest3(EvolutionHistory evos) { // Any species can enter contests in Gen3. return evos.HasVisitedGen3; } + /// + /// Checks if the input evolution history could have participated in Generation 4 contests. + /// public static bool IsAllowedContest4(EvolutionHistory evos) { if (!evos.HasVisitedGen4) @@ -314,6 +321,9 @@ public static bool IsAllowedContest4(EvolutionHistory evos) return IsAllowedContest4(head.Species, head.Form); } + /// + /// Checks if the input species-form could have participated in Generation 4 contests. + /// public static bool IsAllowedContest4(ushort species, byte form) => species switch { // Disallow Unown and Ditto, and Spiky Pichu (cannot trade) @@ -323,8 +333,14 @@ public static bool IsAllowedContest4(EvolutionHistory evos) _ => true, }; + /// + /// Checks if the input species could have participated in any Battle Frontier trial. + /// public static bool IsAllowedBattleFrontier(ushort species) => !Legal.BattleFrontierBanlist.Contains(species); + /// + /// Checks if the input species could have participated in Generation 4's Battle Frontier. + /// public static bool IsAllowedBattleFrontier4(EvolutionHistory evos) { if (!evos.HasVisitedGen4) @@ -333,9 +349,12 @@ public static bool IsAllowedBattleFrontier4(EvolutionHistory evos) return IsAllowedBattleFrontier(head.Species, head.Form, 4); } - public static bool IsAllowedBattleFrontier(ushort species, byte form, int gen) + /// + /// Checks if the input species-form could have participated in a specific Battle Frontier trial. + /// + public static bool IsAllowedBattleFrontier(ushort species, byte form, int generation) { - if (gen == 4 && species == (int)Species.Pichu && form == 1) // spiky + if (generation == 4 && species == (int)Species.Pichu && form == 1) // spiky return false; return IsAllowedBattleFrontier(species); } diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs index 412d8b04f..f45e2626d 100644 --- a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifier.cs @@ -154,6 +154,10 @@ private static void Parse(RibbonVerifierArguments args, ref RibbonResultList lis s7.Parse(args, ref list); if (pk is IRibbonSetCommon8 s8) s8.Parse(args, ref list); + if (pk is IRibbonSetCommon9 s9) + s9.Parse(args, ref list); + if (pk is IRibbonSetMark9 m9) + m9.Parse(args, ref list); } private static void ParseEgg(RibbonVerifierArguments args, ref RibbonResultList list) @@ -164,7 +168,7 @@ private static void ParseEgg(RibbonVerifierArguments args, ref RibbonResultList if (pk is IRibbonSetEvent3 e3) e3.ParseEgg(ref list); if (pk is IRibbonSetEvent4 e4) - e4.ParseEgg(args, ref list); // Some event eggs can have ribbons! + e4.ParseEgg(ref list, args); // Some event eggs can have ribbons! if (pk is IRibbonSetUnique3 u3) u3.ParseEgg(ref list); if (pk is IRibbonSetCommon3 s3) @@ -179,5 +183,9 @@ private static void ParseEgg(RibbonVerifierArguments args, ref RibbonResultList s7.ParseEgg(ref list); if (pk is IRibbonSetCommon8 s8) s8.ParseEgg(ref list); + if (pk is IRibbonSetCommon9 s9) + s9.ParseEgg(ref list); + if (pk is IRibbonSetMark9 m9) + m9.ParseEgg(ref list); } } diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon8.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon8.cs index 25775d017..d61273b84 100644 --- a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon8.cs +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon8.cs @@ -57,8 +57,8 @@ public static void Parse(this IRibbonSetCommon8 r, RibbonVerifierArguments args, list.Add(TwinklingStar); // received when capturing photos with Pokémon in the Photography Studio - if (r.RibbonPioneer && !evos.HasVisitedPLA) - list.Add(Pioneer); + if (r.RibbonHisui && !evos.HasVisitedPLA) + list.Add(Hisui); } public static void ParseEgg(this IRibbonSetCommon8 r, ref RibbonResultList list) @@ -71,7 +71,7 @@ public static void ParseEgg(this IRibbonSetCommon8 r, ref RibbonResultList list) list.Add(MasterRank); if (r.RibbonTwinklingStar) list.Add(TwinklingStar); - if (r.RibbonPioneer) - list.Add(Pioneer); + if (r.RibbonHisui) + list.Add(Hisui); } } diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon9.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon9.cs new file mode 100644 index 000000000..520bba29e --- /dev/null +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierCommon9.cs @@ -0,0 +1,26 @@ +using static PKHeX.Core.RibbonIndex; + +namespace PKHeX.Core; + +/// +/// Parsing logic for . +/// +public static class RibbonVerifierCommon9 +{ + public static void Parse(this IRibbonSetCommon9 r, RibbonVerifierArguments args, ref RibbonResultList list) + { + var evos = args.History; + if (r.RibbonChampionPaldea && !args.History.HasVisitedGen9) + list.Add(ChampionPaldea); + if (r.RibbonOnceInALifetime) // Flag it. + list.Add(OnceInALifetime); + } + + public static void ParseEgg(this IRibbonSetCommon9 r, ref RibbonResultList list) + { + if (r.RibbonChampionPaldea) + list.Add(ChampionPaldea); + if (r.RibbonOnceInALifetime) + list.Add(OnceInALifetime); + } +} diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierEvent4.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierEvent4.cs index 56d7f39fd..929b7d434 100644 --- a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierEvent4.cs +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierEvent4.cs @@ -84,7 +84,7 @@ private static void ParseMagearna7(IRibbonSetEvent4 r, ref RibbonResultList list list.Add(Souvenir); } - public static void ParseEgg(this IRibbonSetEvent4 r, RibbonVerifierArguments args, ref RibbonResultList list) + public static void ParseEgg(this IRibbonSetEvent4 r, ref RibbonResultList list, RibbonVerifierArguments args) { var enc = args.Encounter; if (enc is IRibbonSetEvent4 e) diff --git a/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierMark9.cs b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierMark9.cs new file mode 100644 index 000000000..ac5ec0287 --- /dev/null +++ b/PKHeX.Core/Legality/Verifiers/Ribbons/RibbonVerifierMark9.cs @@ -0,0 +1,49 @@ +using static PKHeX.Core.RibbonIndex; + +namespace PKHeX.Core; + +/// +/// Parsing logic for . +/// +public static class RibbonVerifierMark9 +{ + public static void Parse(this IRibbonSetMark9 r, RibbonVerifierArguments args, ref RibbonResultList list) + { + if (r.RibbonMarkAlpha != MarkRules.IsMarkPresentAlpha(args.Encounter)) + list.Add(MarkAlpha); + if (r.RibbonMarkGourmand && !MarkRules.IsMarkValidGourmand(args.History)) + list.Add(MarkGourmand); + if (r.RibbonMarkItemfinder && !MarkRules.IsMarkValidItemFinder(args.History)) + list.Add(MarkItemfinder); + if (r.RibbonMarkJumbo && !MarkRules.IsMarkAllowedJumbo(args.History, args.Entity)) + list.Add(MarkJumbo); + if (r.RibbonMarkMightiest != MarkRules.IsMarkPresentMightiest(args.Encounter)) + list.Add(MarkMightiest, !r.RibbonMarkMightiest); + if (r.RibbonMarkMini && !MarkRules.IsMarkAllowedMini(args.History, args.Entity)) + list.Add(MarkMini); + if (r.RibbonMarkPartner && !MarkRules.IsMarkValidPartner(args.History)) + list.Add(MarkPartner); + if (r.RibbonMarkTitan != MarkRules.IsMarkPresentTitan(args.Encounter)) + list.Add(MarkTitan, r.RibbonMarkTitan); + } + + public static void ParseEgg(this IRibbonSetMark9 r, ref RibbonResultList list) + { + if (r.RibbonMarkAlpha) + list.Add(MarkAlpha); + if (r.RibbonMarkGourmand) + list.Add(MarkGourmand); + if (r.RibbonMarkItemfinder) + list.Add(MarkItemfinder); + if (r.RibbonMarkJumbo) + list.Add(MarkJumbo); + if (r.RibbonMarkMightiest) + list.Add(MarkMightiest); + if (r.RibbonMarkMini) + list.Add(MarkMini); + if (r.RibbonMarkPartner) + list.Add(MarkPartner); + if (r.RibbonMarkTitan) + list.Add(MarkTitan); + } +} diff --git a/PKHeX.Core/Legality/Verifiers/TransferVerifier.cs b/PKHeX.Core/Legality/Verifiers/TransferVerifier.cs index bd4e70510..7839728a6 100644 --- a/PKHeX.Core/Legality/Verifiers/TransferVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/TransferVerifier.cs @@ -153,6 +153,18 @@ public void VerifyTransferLegalityG8(LegalityAnalysis data) data.AddLine(GetInvalid(LTransferBad)); } + public void VerifyTransferLegalityG9(LegalityAnalysis data) + { + var enc = data.EncounterMatch; + if (enc.Generation != 9) + data.AddLine(GetInvalid(LTransferBad)); + + var pk = data.Entity; + var pt = PersonalTable.SV; + if (!pt.IsPresentInGame(pk.Species, pk.Form)) + data.AddLine(GetInvalid(LTransferBad)); + } + // Encounters that originate in HOME -> transfer to save data private static bool IsHOMETrackerRequired(IEncounterTemplate enc) => enc switch { diff --git a/PKHeX.Core/Moves/MoveInfo.cs b/PKHeX.Core/Moves/MoveInfo.cs index 77912a30b..0732f988c 100644 --- a/PKHeX.Core/Moves/MoveInfo.cs +++ b/PKHeX.Core/Moves/MoveInfo.cs @@ -37,6 +37,7 @@ public static byte GetPP(EntityContext context, ushort move) Gen6 => MoveInfo6.MovePP, Gen7 => MoveInfo7.MovePP_SM, Gen8 => MoveInfo8.MovePP_SWSH, + Gen9 => MoveInfo9.MovePP_SV, Gen7b => MoveInfo7b.MovePP_GG, Gen8a => MoveInfo8a.MovePP_LA, @@ -52,6 +53,7 @@ public static byte GetPP(EntityContext context, ushort move) Gen8 => MoveInfo8.DummiedMoves_SWSH, Gen8a => MoveInfo8a.DummiedMoves_LA, Gen8b => MoveInfo8b.DummiedMoves_BDSP, + Gen9 => MoveInfo9.DummiedMoves_SV, _ => Array.Empty(), }; @@ -156,6 +158,7 @@ public static bool IsValidSketch(ushort move, EntityContext context) Gen8 => Legal.MaxMoveID_8a, Gen8a => Legal.MaxMoveID_8a, Gen8b => Legal.MaxMoveID_8b, + Gen9 => Legal.MaxMoveID_9, _ => -1, }; } diff --git a/PKHeX.Core/Moves/MoveInfo9.cs b/PKHeX.Core/Moves/MoveInfo9.cs new file mode 100644 index 000000000..957d1add9 --- /dev/null +++ b/PKHeX.Core/Moves/MoveInfo9.cs @@ -0,0 +1,63 @@ +using System.Collections.Generic; + +namespace PKHeX.Core; + +/// +/// Details about moves in +/// +internal static class MoveInfo9 +{ + public static readonly byte[] MovePP_SV = + { + 00, + 35, 25, 10, 15, 20, 20, 15, 15, 15, 35, 30, 05, 10, 20, 30, 35, 35, 20, 15, 20, 20, 25, 20, 30, 05, 10, 15, 15, 15, 25, 20, 05, 35, 15, 20, 20, 10, 15, 30, 35, 20, 20, 30, 25, 40, 20, 15, 20, 20, 20, + 30, 25, 15, 30, 25, 05, 15, 10, 05, 20, 20, 20, 05, 35, 20, 20, 20, 20, 20, 15, 25, 15, 10, 20, 25, 10, 35, 30, 15, 10, 40, 10, 15, 30, 15, 20, 10, 15, 10, 05, 10, 10, 25, 10, 20, 40, 30, 30, 20, 20, + 15, 10, 40, 15, 05, 30, 10, 20, 10, 40, 40, 20, 30, 30, 20, 30, 10, 10, 20, 05, 10, 30, 20, 20, 20, 05, 15, 15, 20, 10, 15, 35, 20, 15, 05, 10, 30, 15, 40, 20, 10, 10, 05, 10, 30, 10, 15, 20, 15, 40, + 20, 10, 05, 15, 10, 05, 10, 15, 30, 30, 10, 10, 20, 10, 01, 01, 10, 25, 10, 05, 15, 25, 15, 10, 15, 30, 05, 40, 15, 10, 25, 10, 30, 10, 20, 10, 10, 10, 10, 10, 20, 05, 40, 05, 05, 15, 05, 10, 05, 10, + 10, 10, 10, 20, 20, 40, 15, 05, 20, 20, 25, 05, 15, 10, 05, 20, 15, 20, 25, 20, 05, 30, 05, 10, 20, 40, 05, 20, 40, 20, 15, 35, 10, 05, 05, 05, 15, 05, 20, 05, 05, 15, 20, 10, 05, 05, 15, 10, 15, 15, + 10, 10, 10, 20, 10, 10, 10, 10, 15, 15, 15, 10, 20, 20, 10, 20, 20, 20, 20, 20, 10, 10, 10, 20, 20, 05, 15, 10, 10, 15, 10, 20, 05, 05, 10, 10, 20, 05, 10, 20, 10, 20, 20, 20, 05, 05, 15, 20, 10, 15, + 20, 15, 05, 10, 15, 10, 05, 05, 10, 15, 10, 05, 20, 25, 05, 40, 15, 05, 40, 15, 20, 20, 05, 15, 20, 20, 15, 15, 05, 10, 30, 20, 30, 15, 05, 40, 15, 05, 20, 05, 15, 25, 25, 15, 20, 15, 20, 15, 20, 10, + 20, 20, 05, 05, 05, 05, 40, 10, 10, 05, 10, 10, 15, 10, 20, 15, 30, 10, 20, 05, 10, 10, 15, 10, 10, 05, 15, 05, 10, 10, 30, 20, 20, 10, 10, 05, 05, 10, 05, 20, 10, 20, 10, 15, 10, 20, 20, 20, 15, 15, + 10, 15, 15, 15, 10, 10, 10, 20, 10, 30, 05, 10, 15, 10, 10, 05, 20, 30, 10, 30, 15, 15, 15, 15, 30, 10, 20, 15, 10, 10, 20, 15, 05, 05, 15, 15, 05, 10, 05, 20, 05, 15, 20, 05, 20, 20, 20, 20, 10, 20, + 10, 15, 20, 15, 10, 10, 05, 10, 05, 05, 10, 05, 05, 10, 05, 05, 05, 15, 10, 10, 10, 10, 10, 10, 15, 20, 15, 10, 15, 10, 15, 10, 20, 10, 10, 10, 20, 20, 20, 20, 20, 15, 15, 15, 15, 15, 15, 20, 15, 10, + 15, 15, 15, 15, 10, 10, 10, 10, 10, 15, 15, 15, 15, 05, 05, 15, 05, 10, 10, 10, 20, 20, 20, 10, 10, 30, 15, 15, 10, 15, 25, 10, 15, 10, 10, 10, 20, 10, 10, 10, 10, 10, 15, 15, 05, 05, 10, 10, 10, 05, + 05, 10, 05, 05, 15, 10, 05, 05, 05, 10, 10, 10, 10, 20, 25, 10, 20, 30, 25, 20, 20, 15, 20, 15, 20, 20, 10, 10, 10, 10, 10, 20, 10, 30, 15, 10, 10, 10, 20, 20, 05, 05, 05, 20, 10, 10, 20, 15, 20, 20, + 10, 20, 30, 10, 10, 40, 40, 30, 20, 40, 20, 20, 10, 10, 10, 10, 05, 10, 10, 05, 05, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, 01, + 01, 01, 01, 01, 01, 01, 01, 01, 05, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 15, 20, 30, 20, 15, 15, 20, 10, 15, 15, 10, 05, 10, 10, 20, 15, 10, 15, 15, 15, 05, 15, 20, 20, 01, 01, 01, 01, 01, 01, + 01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01, 05, 15, 05, 01, 01, 01, 01, 01, 01, 10, 15, 15, 20, 20, 20, 20, 15, 15, 10, 10, 05, 20, 05, 10, 05, 15, 10, 10, 05, 15, 20, + 10, 10, 15, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 05, 10, 15, 10, 15, 05, 05, 05, 10, 15, 40, 10, 10, 10, 15, 10, 10, 10, 10, 05, 05, 05, 10, 05, 20, 10, + 10, 05, 20, 20, 10, 10, 05, 05, 05, 40, 10, 20, 10, 10, 10, 10, 05, 05, 15, 05, 10, 10, 10, 05, 05, 05, 15, 10, 10, 15, 05, 10, 10, 10, 05, 10, 10, 05, 10, 10, 10, 10, 10, 15, 15, 10, 10, 10, 05, 15, + 10, 10, 10, 10, 10, 10, 15, 15, 05, 10, 15, 05, 01, 15, 10, 15, 10, 10, 10, 10, 10, 10, 10, 05, 35, 35, 10, 05, 05, 10, 10, 10, 10, 20, 20, 20, 05, 10, 10, 05, 10, 05, 05, 10, 20, 10, 10, 10, 10, 10, + }; + + /// + /// Moves that are kill + /// + public static readonly HashSet DummiedMoves_SV = new() + { + 002, 003, 004, 013, 026, 027, 041, 049, 066, 082, 096, + 099, 112, 117, 119, 121, 125, 128, 130, 131, 132, 134, + 140, 142, 145, 146, 148, 149, 155, 158, 159, 160, 166, + 167, 169, 170, 171, 176, 177, 185, 190, 193, 216, 218, + 221, 222, 228, 233, 237, 258, 265, 267, 274, 277, 279, + 287, 288, 289, 290, 293, 294, 295, 296, 300, 301, 302, + 312, 316, 318, 320, 324, 327, 346, 353, 354, 357, 358, + 363, 373, 375, 376, 377, 378, 381, 382, 386, 426, 429, + 431, 439, 443, 445, 448, 456, 462, 464, 465, 466, 475, + 477, 480, 481, 485, 498, 507, 516, 530, 531, 536, 537, + 543, 544, 545, 546, 548, 549, 550, 551, 553, 554, 558, + 559, 561, 563, 567, 569, 571, 576, 578, 579, 582, 588, + 599, 600, 601, 612, 613, 614, 615, 616, 617, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, + 657, 658, 664, 666, 671, 672, 673, 674, 677, 685, 687, + 690, 691, 692, 695, 696, 697, 698, 699, 700, 701, 702, + 703, 704, 708, 711, 712, 713, 714, 717, 718, 719, 720, + 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 753, 754, 755, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 777, 779, 783, 790, 792, 794, 795, 850, + }; +} diff --git a/PKHeX.Core/MysteryGifts/PCD.cs b/PKHeX.Core/MysteryGifts/PCD.cs index b562d7bdf..7415ca7f6 100644 --- a/PKHeX.Core/MysteryGifts/PCD.cs +++ b/PKHeX.Core/MysteryGifts/PCD.cs @@ -167,7 +167,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) if (wc.OT_Gender < 3 && wc.OT_Gender != pk.OT_Gender) return false; // Milotic is the only gift to come with Contest stats. - if (wc.Species == (int)Core.Species.Milotic && pk is IContestStats s && s.IsContestBelow(wc)) + if (wc.Species == (int)Core.Species.Milotic && pk is IContestStatsReadOnly s && s.IsContestBelow(wc)) return false; if (IsRandomPID()) diff --git a/PKHeX.Core/MysteryGifts/PGF.cs b/PKHeX.Core/MysteryGifts/PGF.cs index f655583b7..881b9fc3d 100644 --- a/PKHeX.Core/MysteryGifts/PGF.cs +++ b/PKHeX.Core/MysteryGifts/PGF.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// /// Generation 5 Mystery Gift Template File /// -public sealed class PGF : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, IContestStatsMutable, INature +public sealed class PGF : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, INature { public const int Size = 0xCC; public override int Generation => 5; @@ -404,7 +404,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) return false; if (Gender != 2 && Gender != pk.Gender) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; return true; diff --git a/PKHeX.Core/MysteryGifts/WA8.cs b/PKHeX.Core/MysteryGifts/WA8.cs index 53a9c3017..fcf34562d 100644 --- a/PKHeX.Core/MysteryGifts/WA8.cs +++ b/PKHeX.Core/MysteryGifts/WA8.cs @@ -252,7 +252,8 @@ public override int[] IVs get => new[] { IV_HP, IV_ATK, IV_DEF, IV_SPE, IV_SPA, IV_SPD }; set { - if (value.Length != 6) return; + if (value.Length != 6) + return; IV_HP = value[0]; IV_ATK = value[1]; IV_DEF = value[2]; IV_SPE = value[3]; IV_SPA = value[4]; IV_SPD = value[5]; } @@ -275,7 +276,8 @@ public int[] EVs get => new[] { EV_HP, EV_ATK, EV_DEF, EV_SPE, EV_SPA, EV_SPD }; set { - if (value.Length != 6) return; + if (value.Length != 6) + return; EV_HP = value[0]; EV_ATK = value[1]; EV_DEF = value[2]; EV_SPE = value[3]; EV_SPA = value[4]; EV_SPD = value[5]; } @@ -503,7 +505,7 @@ public override PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) pk.HeightScalar = PokeSizeUtil.GetRandomScalar(); pk.WeightScalar = PokeSizeUtil.GetRandomScalar(); - pk.HeightScalarCopy = pk.HeightScalar; + pk.Scale = pk.HeightScalar; pk.ResetHeight(); pk.ResetWeight(); @@ -633,7 +635,9 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) return false; var OT = GetOT(pk.Language); // May not be guaranteed to work. - if (!string.IsNullOrEmpty(OT) && OT != pk.OT_Name) return false; + if (!string.IsNullOrEmpty(OT) && OT != pk.OT_Name) + return false; + if (OriginGame != 0 && OriginGame != pk.Version) { if (OriginGame is (int)GameVersion.PLA && !(pk.Version is (int)GameVersion.SW && pk.Met_Location == Locations.HOME_SWLA)) @@ -813,7 +817,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) public bool RibbonMarkVigor { get => this.GetRibbonIndex(MarkVigor); set => this.SetRibbonIndex(MarkVigor, value); } public bool RibbonMarkSlump { get => this.GetRibbonIndex(MarkSlump); set => this.SetRibbonIndex(MarkSlump, value); } public bool RibbonTwinklingStar { get => this.GetRibbonIndex(TwinklingStar); set => this.SetRibbonIndex(TwinklingStar, value); } - public bool RibbonPioneer { get => this.GetRibbonIndex(Pioneer); set => this.SetRibbonIndex(Pioneer, value); } + public bool RibbonHisui { get => this.GetRibbonIndex(Hisui); set => this.SetRibbonIndex(Hisui, value); } public int GetRibbonByte(int index) => Array.IndexOf(Data, (byte)index, RibbonBytesOffset, RibbonBytesCount); public bool GetRibbon(int index) => GetRibbonByte(index) >= 0; diff --git a/PKHeX.Core/MysteryGifts/WB8.cs b/PKHeX.Core/MysteryGifts/WB8.cs index 0eafa6e32..ea844db70 100644 --- a/PKHeX.Core/MysteryGifts/WB8.cs +++ b/PKHeX.Core/MysteryGifts/WB8.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// /// Generation 8b Mystery Gift Template File /// -public sealed class WB8 : DataMysteryGift, ILangNick, INature, IRibbonIndex, IContestStats, ILangNicknamedTemplate, IEncounterServerDate, +public sealed class WB8 : DataMysteryGift, ILangNick, INature, IRibbonIndex, IContestStatsReadOnly, ILangNicknamedTemplate, IEncounterServerDate, IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8 { public const int Size = 0x2DC; @@ -803,7 +803,7 @@ protected override bool IsMatchEggLocation(PKM pk) public bool RibbonMarkVigor { get => this.GetRibbonIndex(MarkVigor); set => this.SetRibbonIndex(MarkVigor, value); } public bool RibbonMarkSlump { get => this.GetRibbonIndex(MarkSlump); set => this.SetRibbonIndex(MarkSlump, value); } public bool RibbonTwinklingStar { get => this.GetRibbonIndex(TwinklingStar); set => this.SetRibbonIndex(TwinklingStar, value); } - public bool RibbonPioneer { get => this.GetRibbonIndex(Pioneer); set => this.SetRibbonIndex(Pioneer, value); } + public bool RibbonHisui { get => this.GetRibbonIndex(Hisui); set => this.SetRibbonIndex(Hisui, value); } public int GetRibbonByte(int index) => Array.IndexOf(Data, (byte)index, RibbonBytesOffset, RibbonBytesCount); public bool GetRibbon(int index) => GetRibbonByte(index) >= 0; diff --git a/PKHeX.Core/MysteryGifts/WC6.cs b/PKHeX.Core/MysteryGifts/WC6.cs index c55823d66..7ef009d5b 100644 --- a/PKHeX.Core/MysteryGifts/WC6.cs +++ b/PKHeX.Core/MysteryGifts/WC6.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// /// Generation 6 Mystery Gift Template File /// -public sealed class WC6 : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, IContestStatsMutable, INature, IMemoryOT +public sealed class WC6 : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, INature, IMemoryOT { public const int Size = 0x108; public const uint EonTicketConst = 0x225D73C2; @@ -569,7 +569,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) if (Nature != -1 && pk.Nature != Nature) return false; if (Gender != 3 && Gender != pk.Gender) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; return true; diff --git a/PKHeX.Core/MysteryGifts/WC7.cs b/PKHeX.Core/MysteryGifts/WC7.cs index 4928ed2df..7e1a7b0ae 100644 --- a/PKHeX.Core/MysteryGifts/WC7.cs +++ b/PKHeX.Core/MysteryGifts/WC7.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// /// Generation 7 Mystery Gift Template File /// -public sealed class WC7 : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, IContestStatsMutable, INature, IMemoryOT +public sealed class WC7 : DataMysteryGift, IRibbonSetEvent3, IRibbonSetEvent4, ILangNick, IContestStats, INature, IMemoryOT { public const int Size = 0x108; public override int Generation => 7; @@ -601,7 +601,7 @@ public override bool IsMatchExact(PKM pk, EvoCriteria evo) if (Nature != -1 && pk.Nature != Nature) return false; if (Gender != 3 && Gender != pk.Gender) return false; - if (pk is IContestStats s && s.IsContestBelow(this)) + if (pk is IContestStatsReadOnly s && s.IsContestBelow(this)) return false; if (CardID is 1122 or 1133 && !CanBeReceivedByVersion(pk.Version)) diff --git a/PKHeX.Core/MysteryGifts/WC8.cs b/PKHeX.Core/MysteryGifts/WC8.cs index 2962d0d40..e77d1b7d0 100644 --- a/PKHeX.Core/MysteryGifts/WC8.cs +++ b/PKHeX.Core/MysteryGifts/WC8.cs @@ -833,7 +833,7 @@ private bool IsHOMEShinyPossible(DateTime date) public bool RibbonMarkVigor { get => this.GetRibbonIndex(MarkVigor); set => this.SetRibbonIndex(MarkVigor, value); } public bool RibbonMarkSlump { get => this.GetRibbonIndex(MarkSlump); set => this.SetRibbonIndex(MarkSlump, value); } public bool RibbonTwinklingStar { get => this.GetRibbonIndex(TwinklingStar); set => this.SetRibbonIndex(TwinklingStar, value); } - public bool RibbonPioneer { get => this.GetRibbonIndex(Pioneer); set => this.SetRibbonIndex(Pioneer, value); } + public bool RibbonHisui { get => this.GetRibbonIndex(Hisui); set => this.SetRibbonIndex(Hisui, value); } public int GetRibbonByte(int index) => Array.IndexOf(Data, (byte)index, RibbonBytesOffset, RibbonBytesCount); public bool GetRibbon(int index) => GetRibbonByte(index) >= 0; diff --git a/PKHeX.Core/MysteryGifts/WC9.cs b/PKHeX.Core/MysteryGifts/WC9.cs new file mode 100644 index 000000000..d94182474 --- /dev/null +++ b/PKHeX.Core/MysteryGifts/WC9.cs @@ -0,0 +1,867 @@ +using System; +using static PKHeX.Core.RibbonIndex; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// Generation 9 Mystery Gift Template File +/// +public sealed class WC9 : DataMysteryGift, ILangNick, INature, ITeraType, IRibbonIndex, IMemoryOT, ILangNicknamedTemplate, IEncounterServerDate, + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetCommon9, IRibbonSetMark9 +{ + public const int Size = 0x2C8; + public const int CardStart = 0x0; + + public override int Generation => 9; + public override EntityContext Context => EntityContext.Gen9; + + public enum GiftType : byte + { + None = 0, + Pokemon = 1, + Item = 2, + BP = 3, + Clothing = 4, + } + + public WC9() : this(new byte[Size]) { } + public WC9(byte[] data) : base(data) { } + + public byte RestrictVersion { get => Data[0xE]; set => Data[0xE] = value; } + + public bool CanBeReceivedByVersion(int v) => RestrictVersion switch + { + 0 when !IsEntity => true, // Whatever, essentially unrestricted for SL/VL receipt. No Entity gifts are 0. + 1 => v is (int)GameVersion.SL, + 2 => v is (int)GameVersion.VL, + 3 => v is (int)GameVersion.SL or (int)GameVersion.VL, + _ => throw new ArgumentOutOfRangeException(nameof(RestrictVersion), RestrictVersion, null), + }; + + // General Card Properties + public override int CardID + { + get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x8)); + set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x8), (ushort)value); + } + + public byte CardFlags { get => Data[CardStart + 0x10]; set => Data[CardStart + 0x10] = value; } + public GiftType CardType { get => (GiftType)Data[CardStart + 0x11]; set => Data[CardStart + 0x11] = (byte)value; } + public bool GiftRepeatable { get => (CardFlags & 1) == 0; set => CardFlags = (byte)((CardFlags & ~1) | (value ? 0 : 1)); } + public override bool GiftUsed { get => false; set { } } + + public int CardTitleIndex + { + get => Data[CardStart + 0x15]; + set => Data[CardStart + 0x15] = (byte) value; + } + + public override string CardTitle + { + get => "Mystery Gift"; // TODO: Use text string from CardTitleIndex + set => throw new Exception(); + } + + // Item Properties + public override bool IsItem { get => CardType == GiftType.Item; set { if (value) CardType = GiftType.Item; } } + + public override int ItemID + { + get => GetItem(0); + set => SetItem(0, (ushort)value); + } + + public override int Quantity + { + get => GetQuantity(0); + set => SetQuantity(0, (ushort)value); + } + + public int GetItem(int index) => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x18 + (0x4 * index))); + public void SetItem(int index, ushort item) => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x18 + (4 * index)), item); + public int GetQuantity(int index) => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x1A + (0x4 * index))); + public void SetQuantity(int index, ushort quantity) => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x1A + (4 * index)), quantity); + + // Pokémon Properties + public override bool IsEntity { get => CardType == GiftType.Pokemon; set { if (value) CardType = GiftType.Pokemon; } } + + public override bool IsShiny => Shiny.IsShiny(); + + public override Shiny Shiny => PIDType switch + { + ShinyType8.FixedValue => FixedShinyType(), + ShinyType8.Random => Shiny.Random, + ShinyType8.Never => Shiny.Never, + ShinyType8.AlwaysStar => Shiny.AlwaysStar, + ShinyType8.AlwaysSquare => Shiny.AlwaysSquare, + _ => throw new ArgumentOutOfRangeException(), + }; + + private Shiny FixedShinyType() => GetShinyXor() switch + { + 0 => Shiny.AlwaysSquare, + <= 15 => Shiny.AlwaysStar, + _ => Shiny.Never, + }; + + private int GetShinyXor() + { + // Player owned anti-shiny fixed PID + if (TID == 0 && SID == 0) + return int.MaxValue; + + var pid = PID; + var psv = (int)((pid >> 16) ^ (pid & 0xFFFF)); + var tsv = (TID ^ SID); + return psv ^ tsv; + } + + public override int TID + { + get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x18)); + set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x20), (ushort)value); + } + + public override int SID { + get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x1A)); + set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x18), (ushort)value); + } + + public int OriginGame + { + get => ReadInt32LittleEndian(Data.AsSpan(CardStart + 0x1C)); + set => WriteInt32LittleEndian(Data.AsSpan(CardStart + 0x1C), value); + } + + public uint EncryptionConstant + { + get => ReadUInt32LittleEndian(Data.AsSpan(CardStart + 0x20)); + set => WriteUInt32LittleEndian(Data.AsSpan(CardStart + 0x20), value); + } + + public uint PID + { + get => ReadUInt32LittleEndian(Data.AsSpan(CardStart + 0x24)); + set => WriteUInt32LittleEndian(Data.AsSpan(CardStart + 0x24), value); + } + + // Nicknames, OT Names 0x28 - 0x220 + public override int EggLocation { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x220)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x220), (ushort)value); } + public int MetLocation { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x222)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x222), (ushort)value); } + + public override int Ball + { + get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x224)); + set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x224), (ushort)value); + } + + public override int HeldItem + { + get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x226)); + set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x226), (ushort)value); + } + + public ushort Move1 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x228)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x228), value); } + public ushort Move2 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x22A)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x22A), value); } + public ushort Move3 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x22C)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x22C), value); } + public ushort Move4 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x22E)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x22E), value); } + public ushort RelearnMove1 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x230)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x230), value); } + public ushort RelearnMove2 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x232)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x232), value); } + public ushort RelearnMove3 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x234)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x234), value); } + public ushort RelearnMove4 { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x236)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x236), value); } + + public override ushort Species { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x238)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x238), value); } + public override byte Form { get => Data[CardStart + 0x23A]; set => Data[CardStart + 0x23A] = value; } + public override int Gender { get => Data[CardStart + 0x23B]; set => Data[CardStart + 0x23B] = (byte)value; } + public override byte Level { get => Data[CardStart + 0x23C]; set => Data[CardStart + 0x23C] = value; } + public override bool IsEgg { get => Data[CardStart + 0x23D] == 1; set => Data[CardStart + 0x23D] = value ? (byte)1 : (byte)0; } + public int Nature { get => (sbyte)Data[CardStart + 0x23E]; set => Data[CardStart + 0x23E] = (byte)value; } + public override int AbilityType { get => Data[CardStart + 0x23F]; set => Data[CardStart + 0x23F] = (byte)value; } + + public ShinyType8 PIDType { get => (ShinyType8)Data[CardStart + 0x240]; set => Data[CardStart + 0x240] = (byte)value; } + + public int MetLevel { get => Data[CardStart + 0x241]; set => Data[CardStart + 0x241] = (byte)value; } + public MoveType TeraTypeOriginal { get => (MoveType)Data[CardStart + 0x242]; set => Data[CardStart + 0x242] = (byte)value; } + public MoveType TeraTypeOverride { get => (MoveType)Data[CardStart + 0x243]; set => Data[CardStart + 0x243] = (byte)value; } + public MoveType TeraType => TeraTypeUtil.GetTeraType((byte)TeraTypeOriginal, (byte)TeraTypeOverride); + public short HeightValue { get => ReadInt16LittleEndian(Data.AsSpan(CardStart + 0x244)); set => WriteInt16LittleEndian(Data.AsSpan(CardStart + 0x244), value); } + public short WeightValue { get => ReadInt16LittleEndian(Data.AsSpan(CardStart + 0x246)); set => WriteInt16LittleEndian(Data.AsSpan(CardStart + 0x246), value); } + + // Ribbons 0x24C-0x26C + private const int RibbonBytesOffset = 0x248; + private const int RibbonBytesCount = 0x20; + private const int RibbonByteNone = 0xFF; // signed -1 + + public bool HasMark() + { + for (int i = 0; i < RibbonBytesCount; i++) + { + var value = Data[RibbonBytesOffset + i]; + if (value == RibbonByteNone) + return false; + if ((RibbonIndex)value is >= MarkLunchtime and <= MarkSlump) + return true; + } + return false; + } + + public byte GetRibbonAtIndex(int byteIndex) + { + if ((uint)byteIndex >= RibbonBytesCount) + throw new ArgumentOutOfRangeException(nameof(byteIndex)); + return Data[RibbonBytesOffset + byteIndex]; + } + + public void SetRibbonAtIndex(int byteIndex, byte ribbonIndex) + { + if ((uint)byteIndex >= RibbonBytesCount) + throw new ArgumentOutOfRangeException(nameof(byteIndex)); + Data[RibbonBytesOffset + byteIndex] = ribbonIndex; + } + + public int IV_HP { get => Data[CardStart + 0x268]; set => Data[CardStart + 0x268] = (byte)value; } + public int IV_ATK { get => Data[CardStart + 0x269]; set => Data[CardStart + 0x269] = (byte)value; } + public int IV_DEF { get => Data[CardStart + 0x26A]; set => Data[CardStart + 0x26A] = (byte)value; } + public int IV_SPE { get => Data[CardStart + 0x26B]; set => Data[CardStart + 0x26B] = (byte)value; } + public int IV_SPA { get => Data[CardStart + 0x26C]; set => Data[CardStart + 0x26C] = (byte)value; } + public int IV_SPD { get => Data[CardStart + 0x26D]; set => Data[CardStart + 0x26D] = (byte)value; } + + public int OTGender { get => Data[CardStart + 0x26E]; set => Data[CardStart + 0x26E] = (byte)value; } + + public int EV_HP { get => Data[CardStart + 0x26F]; set => Data[CardStart + 0x26F] = (byte)value; } + public int EV_ATK { get => Data[CardStart + 0x270]; set => Data[CardStart + 0x270] = (byte)value; } + public int EV_DEF { get => Data[CardStart + 0x271]; set => Data[CardStart + 0x271] = (byte)value; } + public int EV_SPE { get => Data[CardStart + 0x272]; set => Data[CardStart + 0x272] = (byte)value; } + public int EV_SPA { get => Data[CardStart + 0x273]; set => Data[CardStart + 0x273] = (byte)value; } + public int EV_SPD { get => Data[CardStart + 0x274]; set => Data[CardStart + 0x274] = (byte)value; } + + public byte OT_Intensity { get => Data[CardStart + 0x275]; set => Data[CardStart + 0x275] = value; } + public byte OT_Memory { get => Data[CardStart + 0x276]; set => Data[CardStart + 0x276] = value; } + public byte OT_Feeling { get => Data[CardStart + 0x277]; set => Data[CardStart + 0x277] = value; } + public ushort OT_TextVar { get => ReadUInt16LittleEndian(Data.AsSpan(CardStart + 0x278)); set => WriteUInt16LittleEndian(Data.AsSpan(CardStart + 0x278), value); } + + // Meta Accessible Properties + public override int[] IVs + { + get => new[] { IV_HP, IV_ATK, IV_DEF, IV_SPE, IV_SPA, IV_SPD }; + set + { + if (value.Length != 6) return; + IV_HP = value[0]; IV_ATK = value[1]; IV_DEF = value[2]; + IV_SPE = value[3]; IV_SPA = value[4]; IV_SPD = value[5]; + } + } + + public override void GetIVs(Span value) + { + if (value.Length != 6) + return; + value[0] = IV_HP; + value[1] = IV_ATK; + value[2] = IV_DEF; + value[3] = IV_SPE; + value[4] = IV_SPA; + value[5] = IV_SPD; + } + + public int[] EVs + { + get => new[] { EV_HP, EV_ATK, EV_DEF, EV_SPE, EV_SPA, EV_SPD }; + set + { + if (value.Length != 6) return; + EV_HP = value[0]; EV_ATK = value[1]; EV_DEF = value[2]; + EV_SPE = value[3]; EV_SPA = value[4]; EV_SPD = value[5]; + } + } + + public bool GetIsNicknamed(int language) => ReadUInt16LittleEndian(Data.AsSpan(GetNicknameOffset(language))) != 0; + + public bool CanBeAnyLanguage() + { + for (int i = 0; i < 9; i++) + { + var ofs = GetLanguageOffset(i); + var lang = ReadInt16LittleEndian(Data.AsSpan(ofs)); + if (lang != 0) + return false; + } + return true; + } + + public bool CanHaveLanguage(int language) + { + if (language is < (int)LanguageID.Japanese or > (int)LanguageID.ChineseT) + return false; + + if (CanBeAnyLanguage()) + return true; + + for (int i = 0; i < 9; i++) + { + var ofs = GetLanguageOffset(i); + var lang = ReadInt16LittleEndian(Data.AsSpan(ofs)); + if (lang == language) + return true; + } + return GetLanguage(language) == 0; + } + + public int GetLanguage(int redeemLanguage) => Data[GetLanguageOffset(GetLanguageIndex(redeemLanguage))]; + private static int GetLanguageOffset(int index) => 0x30 + (index * 0x1C) + 0x1A; + + public bool GetHasOT(int language) => ReadUInt16LittleEndian(Data.AsSpan(GetOTOffset(language))) != 0; + + private static int GetLanguageIndex(int language) + { + var lang = (LanguageID) language; + if (lang is < LanguageID.Japanese or LanguageID.UNUSED_6 or > LanguageID.ChineseT) + return (int) LanguageID.English; // fallback + return lang < LanguageID.UNUSED_6 ? language - 1 : language - 2; + } + + public override int Location { get => MetLocation; set => MetLocation = (ushort)value; } + + public override Moveset Moves + { + get => new(Move1, Move2, Move3, Move4); + set + { + Move1 = value.Move1; + Move2 = value.Move2; + Move3 = value.Move3; + Move4 = value.Move4; + } + } + + public override Moveset Relearn + { + get => new(RelearnMove1, RelearnMove2, RelearnMove3, RelearnMove4); + set + { + RelearnMove1 = value.Move1; + RelearnMove2 = value.Move2; + RelearnMove3 = value.Move3; + RelearnMove4 = value.Move4; + } + } + + public override string OT_Name + { + get => GetOT(Language); + set + { + for (int i = 1; i < (int)LanguageID.ChineseT; i++) + SetOT(i, value); + } + } + + public string Nickname => GetIsNicknamed(Language) ? GetNickname(Language) : string.Empty; + public bool IsNicknamed => false; + public int Language => 2; + + public string GetNickname(int language) => StringConverter8.GetString(Data.AsSpan(GetNicknameOffset(language), 0x1A)); + public void SetNickname(int language, string value) => StringConverter8.SetString(Data.AsSpan(GetNicknameOffset(language), 0x1A), value.AsSpan(), 12, StringConverterOption.ClearZero); + + public string GetOT(int language) => StringConverter8.GetString(Data.AsSpan(GetOTOffset(language), 0x1A)); + public void SetOT(int language, string value) => StringConverter8.SetString(Data.AsSpan(GetOTOffset(language), 0x1A), value.AsSpan(), 12, StringConverterOption.ClearZero); + + private static int GetNicknameOffset(int language) + { + int index = GetLanguageIndex(language); + return 0x28 + (index * 0x1C); + } + + private static int GetOTOffset(int language) + { + int index = GetLanguageIndex(language); + return 0x124 + (index * 0x1C); + } + + public bool IsHOMEGift => CardID >= 9000; + + public bool CanHandleOT(int language) => !GetHasOT(language); + + public override GameVersion Version + { + get => OriginGame != 0 ? (GameVersion)OriginGame : GameVersion.SWSH; + set { } + } + + public override PKM ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) + { + if (!IsEntity) + throw new ArgumentException(nameof(IsEntity)); + + int currentLevel = Level > 0 ? Level : 1 + Util.Rand.Next(100); + int metLevel = MetLevel > 0 ? MetLevel : currentLevel; + var pi = PersonalTable.SV.GetFormEntry(Species, Form); + var language = tr.Language; + bool hasOT = GetHasOT(language); + var version = OriginGame != 0 ? OriginGame : (int)this.GetCompatibleVersion((GameVersion)tr.Game); + + var pk = new PK9 + { + EncryptionConstant = EncryptionConstant != 0 || IsHOMEGift ? EncryptionConstant : Util.Rand32(), + TID = TID, + SID = SID, + Species = Species, + Form = Form, + CurrentLevel = currentLevel, + Ball = Ball != 0 ? Ball : 4, // Default is Pokeball + Met_Level = metLevel, + HeldItem = HeldItem, + + EXP = Experience.GetEXP(currentLevel, pi.EXPGrowth), + + Move1 = Move1, + Move2 = Move2, + Move3 = Move3, + Move4 = Move4, + RelearnMove1 = RelearnMove1, + RelearnMove2 = RelearnMove2, + RelearnMove3 = RelearnMove3, + RelearnMove4 = RelearnMove4, + + Version = version, + + OT_Name = hasOT ? GetOT(language) : tr.OT, + OT_Gender = OTGender < 2 ? OTGender : tr.Gender, + HT_Name = hasOT ? tr.OT : string.Empty, + HT_Gender = hasOT ? tr.Gender : 0, + HT_Language = (byte)(hasOT ? language : 0), + CurrentHandler = hasOT ? 1 : 0, + OT_Friendship = pi.BaseFriendship, + + OT_Intensity = OT_Intensity, + OT_Memory = OT_Memory, + OT_TextVar = OT_TextVar, + OT_Feeling = OT_Feeling, + FatefulEncounter = true, + + EV_HP = EV_HP, + EV_ATK = EV_ATK, + EV_DEF = EV_DEF, + EV_SPE = EV_SPE, + EV_SPA = EV_SPA, + EV_SPD = EV_SPD, + + Met_Location = MetLocation, + Egg_Location = EggLocation, + TeraTypeOriginal = TeraTypeOriginal, + //TeraTypeOverride = TeraTypeOverride, + }; + // The game doesn't have random tera types. + pk.SetMaximumPPCurrent(); + + if ((tr.Generation > Generation && OriginGame == 0) || !CanBeReceivedByVersion(pk.Version)) + { + // give random valid game + var rnd = Util.Rand; + do { pk.Version = (int)GameVersion.SL + rnd.Next(2); } + while (!CanBeReceivedByVersion(pk.Version)); + } + + if (OTGender >= 2) + { + pk.TID = tr.TID; + pk.SID = tr.SID; + + if (IsHOMEGift) + { + pk.TrainerSID7 = 0; + while (pk.TSV == 0) + { + pk.TrainerID7 = Util.Rand.Next(16, 999_999 + 1); + } + } + } + + pk.MetDate = IsDateRestricted && EncounterServerDate.WC9Gifts.TryGetValue(CardID, out var dt) ? dt.Start : DateTime.Now; + + var nickname_language = GetLanguage(language); + pk.Language = nickname_language != 0 ? nickname_language : tr.Language; + pk.IsNicknamed = GetIsNicknamed(language); + pk.Nickname = pk.IsNicknamed ? GetNickname(language) : SpeciesName.GetSpeciesNameGeneration(Species, pk.Language, Generation); + + for (var i = 0; i < RibbonBytesCount; i++) + { + var ribbon = GetRibbonAtIndex(i); + if (ribbon != RibbonByteNone) + pk.SetRibbon(ribbon); + } + + SetPINGA(pk, criteria); + + if (IsEgg) + SetEggMetData(pk); + pk.CurrentFriendship = pk.IsEgg ? pi.HatchCycles : pi.BaseFriendship; + + if (!IsHOMEGift) + { + pk.HeightScalar = PokeSizeUtil.GetRandomScalar(); + pk.WeightScalar = PokeSizeUtil.GetRandomScalar(); + pk.Scale = PokeSizeUtil.GetRandomScalar(); + } + + pk.Obedience_Level = Level; + pk.ResetPartyStats(); + pk.RefreshChecksum(); + return pk; + } + + private void SetEggMetData(PKM pk) + { + pk.IsEgg = true; + pk.EggMetDate = DateTime.Now; + pk.Nickname = SpeciesName.GetEggName(pk.Language, Generation); + pk.IsNicknamed = true; + } + + private void SetPINGA(PKM pk, EncounterCriteria criteria) + { + var pi = PersonalTable.SV.GetFormEntry(Species, Form); + pk.Nature = (int)criteria.GetNature(Nature == -1 ? Core.Nature.Random : (Nature)Nature); + pk.StatNature = pk.Nature; + pk.Gender = criteria.GetGender(Gender, pi); + var av = GetAbilityIndex(criteria); + pk.RefreshAbility(av); + SetPID(pk, pk.MetDate ?? DateTime.UtcNow); + SetIVs(pk); + } + + private int GetAbilityIndex(EncounterCriteria criteria) => AbilityType switch + { + 00 or 01 or 02 => AbilityType, // Fixed 0/1/2 + 03 or 04 => criteria.GetAbilityFromNumber(Ability), // 0/1 or 0/1/H + _ => throw new ArgumentOutOfRangeException(nameof(AbilityType)), + }; + + public override AbilityPermission Ability => AbilityType switch + { + 0 => AbilityPermission.OnlyFirst, + 1 => AbilityPermission.OnlySecond, + 2 => AbilityPermission.OnlyHidden, + 3 => AbilityPermission.Any12, + _ => AbilityPermission.Any12H, + }; + + private uint GetPID(ITrainerID tr, ShinyType8 type) => type switch + { + ShinyType8.Never => GetAntishiny(tr), // Random, Never Shiny + ShinyType8.Random => Util.Rand32(), // Random, Any + ShinyType8.AlwaysStar => (uint) (((tr.TID ^ tr.SID ^ (PID & 0xFFFF) ^ 1) << 16) | (PID & 0xFFFF)), // Fixed, Force Star + ShinyType8.AlwaysSquare => (uint) (((tr.TID ^ tr.SID ^ (PID & 0xFFFF) ^ 0) << 16) | (PID & 0xFFFF)), // Fixed, Force Square + ShinyType8.FixedValue => GetFixedPID(tr), + _ => throw new ArgumentOutOfRangeException(nameof(type)), + }; + + private uint GetFixedPID(ITrainerID tr) + { + var pid = PID; + if (pid != 0 && !(TID == 0 && SID == 0)) + return pid; + + if (!tr.IsShiny(pid, 9)) + return pid; + if (IsHOMEGift) + return GetAntishinyFixedHOME(tr); + return pid; + } + + private static uint GetAntishinyFixedHOME(ITrainerID tr) + { + var fid = (uint)(tr.SID << 16) | (uint)tr.TID; + return fid ^ 0x10u; + } + + private static uint GetAntishiny(ITrainerID tr) + { + var pid = Util.Rand32(); + if (tr.IsShiny(pid, 9)) + return pid ^ 0x1000_0000; + return pid; + } + + private void SetPID(PKM pk, DateTime date) + { + pk.PID = GetPID(pk, PIDType); + } + + private void SetIVs(PKM pk) + { + Span finalIVs = stackalloc int[6]; + GetIVs(finalIVs); + var ivflag = finalIVs.Find(static iv => (byte)(iv - 0xFC) < 3); + var rng = Util.Rand; + if (ivflag == default) // Random IVs + { + for (int i = 0; i < finalIVs.Length; i++) + { + if (finalIVs[i] > 31) + finalIVs[i] = rng.Next(32); + } + } + else // 1/2/3 perfect IVs + { + int IVCount = ivflag - 0xFB; + do { finalIVs[rng.Next(6)] = 31; } + while (finalIVs.Count(31) < IVCount); + for (int i = 0; i < finalIVs.Length; i++) + { + if (finalIVs[i] != 31) + finalIVs[i] = rng.Next(32); + } + } + pk.SetIVs(finalIVs); + } + + public override bool IsMatchExact(PKM pk, EvoCriteria evo) + { + if (!IsEgg) + { + if (OTGender < 2) + { + if (SID != pk.SID) return false; + if (TID != pk.TID) return false; + if (OTGender != pk.OT_Gender) return false; + } + + if (!CanBeAnyLanguage() && !CanHaveLanguage(pk.Language)) + return false; + + var OT = GetOT(pk.Language); // May not be guaranteed to work. + if (!string.IsNullOrEmpty(OT) && OT != pk.OT_Name) return false; + if (OriginGame != 0 && OriginGame != pk.Version) return false; + if (EncryptionConstant != 0) + { + if (EncryptionConstant != pk.EncryptionConstant) + return false; + } + else if (IsHOMEGift)// 0 + { + // HOME gifts -- PID and EC are zeroes... + if (EncryptionConstant != pk.EncryptionConstant) + return false; + + if (pk.TSV == 0) // HOME doesn't assign TSV=0 to accounts. + return false; + + if (IsShiny) + { + if (!pk.IsShiny) + return false; + } + else // Never or Random (HOME ID specific) + { + if (pk.IsShiny) + return false; + } + } + } + + if (Form != evo.Form && !FormInfo.IsFormChangeable(Species, Form, pk.Form, pk.Format)) + return false; + + if (pk is ITeraType t && t.TeraTypeOriginal != TeraTypeOriginal) + return false; + + var shinyType = Shiny; + if (PIDType == ShinyType8.FixedValue) + shinyType = FixedShinyType(); + if (IsEgg) + { + if (EggLocation != pk.Egg_Location) // traded + { + if (pk.Egg_Location != Locations.LinkTrade6) + return false; + if (PIDType == ShinyType8.Random && pk.IsShiny && pk.ShinyXor > 1) + return false; // shiny traded egg will always have xor0/1. + } + if (!shinyType.IsValid(pk)) + { + return false; // can't be traded away for unshiny + } + + if (pk.IsEgg && !pk.IsNative) + return false; + } + else + { + if (!shinyType.IsValid(pk)) return false; + if (!IsMatchEggLocation(pk)) return false; + if (MetLocation != pk.Met_Location) return false; + } + + if (MetLevel != 0 && MetLevel != pk.Met_Level) return false; + if ((Ball == 0 ? 4 : Ball) != pk.Ball) return false; + if (OTGender < 2 && OTGender != pk.OT_Gender) return false; + if (Nature != -1 && pk.Nature != Nature) return false; + if (Gender != 3 && Gender != pk.Gender) return false; + + if (IsHOMEGift && pk is IScaledSize s) + { + if (s.HeightScalar != 0) + return false; + if (s.WeightScalar != 0) + return false; + } + + // PID Types 0 and 1 do not use the fixed PID value. + // Values 2,3 are specific shiny states, and 4 is fixed value. + // 2,3,4 can change if it is a traded egg to ensure the same shiny state. + var type = PIDType; + if (type is ShinyType8.Never or ShinyType8.Random) + return true; + return pk.PID == GetPID(pk, type); + } + + public bool IsDateRestricted => IsHOMEGift; + + protected override bool IsMatchDeferred(PKM pk) => Species != pk.Species; + protected override bool IsMatchPartial(PKM pk) + { + if (pk is ITeraType t && TeraType != t.TeraTypeOriginal) + return true; + return false; + } + + #region Lazy Ribbon Implementation + public bool RibbonEarth { get => this.GetRibbonIndex(Earth); set => this.SetRibbonIndex(Earth, value); } + public bool RibbonNational { get => this.GetRibbonIndex(National); set => this.SetRibbonIndex(National, value); } + public bool RibbonCountry { get => this.GetRibbonIndex(Country); set => this.SetRibbonIndex(Country, value); } + public bool RibbonChampionBattle { get => this.GetRibbonIndex(ChampionBattle); set => this.SetRibbonIndex(ChampionBattle, value); } + public bool RibbonChampionRegional { get => this.GetRibbonIndex(ChampionRegional); set => this.SetRibbonIndex(ChampionRegional, value); } + public bool RibbonChampionNational { get => this.GetRibbonIndex(ChampionNational); set => this.SetRibbonIndex(ChampionNational, value); } + public bool RibbonClassic { get => this.GetRibbonIndex(Classic); set => this.SetRibbonIndex(Classic, value); } + public bool RibbonWishing { get => this.GetRibbonIndex(Wishing); set => this.SetRibbonIndex(Wishing, value); } + public bool RibbonPremier { get => this.GetRibbonIndex(Premier); set => this.SetRibbonIndex(Premier, value); } + public bool RibbonEvent { get => this.GetRibbonIndex(Event); set => this.SetRibbonIndex(Event, value); } + public bool RibbonBirthday { get => this.GetRibbonIndex(Birthday); set => this.SetRibbonIndex(Birthday, value); } + public bool RibbonSpecial { get => this.GetRibbonIndex(Special); set => this.SetRibbonIndex(Special, value); } + public bool RibbonWorld { get => this.GetRibbonIndex(World); set => this.SetRibbonIndex(World, value); } + public bool RibbonChampionWorld { get => this.GetRibbonIndex(ChampionWorld); set => this.SetRibbonIndex(ChampionWorld, value); } + public bool RibbonSouvenir { get => this.GetRibbonIndex(Souvenir); set => this.SetRibbonIndex(Souvenir, value); } + public bool RibbonChampionG3 { get => this.GetRibbonIndex(ChampionG3); set => this.SetRibbonIndex(ChampionG3, value); } + public bool RibbonArtist { get => this.GetRibbonIndex(Artist); set => this.SetRibbonIndex(Artist, value); } + public bool RibbonEffort { get => this.GetRibbonIndex(Effort); set => this.SetRibbonIndex(Effort, value); } + public bool RibbonChampionSinnoh { get => this.GetRibbonIndex(ChampionSinnoh); set => this.SetRibbonIndex(ChampionSinnoh, value); } + public bool RibbonAlert { get => this.GetRibbonIndex(Alert); set => this.SetRibbonIndex(Alert, value); } + public bool RibbonShock { get => this.GetRibbonIndex(Shock); set => this.SetRibbonIndex(Shock, value); } + public bool RibbonDowncast { get => this.GetRibbonIndex(Downcast); set => this.SetRibbonIndex(Downcast, value); } + public bool RibbonCareless { get => this.GetRibbonIndex(Careless); set => this.SetRibbonIndex(Careless, value); } + public bool RibbonRelax { get => this.GetRibbonIndex(Relax); set => this.SetRibbonIndex(Relax, value); } + public bool RibbonSnooze { get => this.GetRibbonIndex(Snooze); set => this.SetRibbonIndex(Snooze, value); } + public bool RibbonSmile { get => this.GetRibbonIndex(Smile); set => this.SetRibbonIndex(Smile, value); } + public bool RibbonGorgeous { get => this.GetRibbonIndex(Gorgeous); set => this.SetRibbonIndex(Gorgeous, value); } + public bool RibbonRoyal { get => this.GetRibbonIndex(Royal); set => this.SetRibbonIndex(Royal, value); } + public bool RibbonGorgeousRoyal { get => this.GetRibbonIndex(GorgeousRoyal); set => this.SetRibbonIndex(GorgeousRoyal, value); } + public bool RibbonFootprint { get => this.GetRibbonIndex(Footprint); set => this.SetRibbonIndex(Footprint, value); } + public bool RibbonRecord { get => this.GetRibbonIndex(Record); set => this.SetRibbonIndex(Record, value); } + public bool RibbonLegend { get => this.GetRibbonIndex(Legend); set => this.SetRibbonIndex(Legend, value); } + public bool RibbonChampionKalos { get => this.GetRibbonIndex(ChampionKalos); set => this.SetRibbonIndex(ChampionKalos, value); } + public bool RibbonChampionG6Hoenn { get => this.GetRibbonIndex(ChampionG6Hoenn); set => this.SetRibbonIndex(ChampionG6Hoenn, value); } + public bool RibbonBestFriends { get => this.GetRibbonIndex(BestFriends); set => this.SetRibbonIndex(BestFriends, value); } + public bool RibbonTraining { get => this.GetRibbonIndex(Training); set => this.SetRibbonIndex(Training, value); } + public bool RibbonBattlerSkillful { get => this.GetRibbonIndex(BattlerSkillful); set => this.SetRibbonIndex(BattlerSkillful, value); } + public bool RibbonBattlerExpert { get => this.GetRibbonIndex(BattlerExpert); set => this.SetRibbonIndex(BattlerExpert, value); } + public bool RibbonContestStar { get => this.GetRibbonIndex(ContestStar); set => this.SetRibbonIndex(ContestStar, value); } + public bool RibbonMasterCoolness { get => this.GetRibbonIndex(MasterCoolness); set => this.SetRibbonIndex(MasterCoolness, value); } + public bool RibbonMasterBeauty { get => this.GetRibbonIndex(MasterBeauty); set => this.SetRibbonIndex(MasterBeauty, value); } + public bool RibbonMasterCuteness { get => this.GetRibbonIndex(MasterCuteness); set => this.SetRibbonIndex(MasterCuteness, value); } + public bool RibbonMasterCleverness { get => this.GetRibbonIndex(MasterCleverness); set => this.SetRibbonIndex(MasterCleverness, value); } + public bool RibbonMasterToughness { get => this.GetRibbonIndex(MasterToughness); set => this.SetRibbonIndex(MasterToughness, value); } + + public bool RibbonChampionAlola { get => this.GetRibbonIndex(ChampionAlola); set => this.SetRibbonIndex(ChampionAlola, value); } + public bool RibbonBattleRoyale { get => this.GetRibbonIndex(BattleRoyale); set => this.SetRibbonIndex(BattleRoyale, value); } + public bool RibbonBattleTreeGreat { get => this.GetRibbonIndex(BattleTreeGreat); set => this.SetRibbonIndex(BattleTreeGreat, value); } + public bool RibbonBattleTreeMaster { get => this.GetRibbonIndex(BattleTreeMaster); set => this.SetRibbonIndex(BattleTreeMaster, value); } + public bool RibbonChampionGalar { get => this.GetRibbonIndex(ChampionGalar); set => this.SetRibbonIndex(ChampionGalar, value); } + public bool RibbonTowerMaster { get => this.GetRibbonIndex(TowerMaster); set => this.SetRibbonIndex(TowerMaster, value); } + public bool RibbonMasterRank { get => this.GetRibbonIndex(MasterRank); set => this.SetRibbonIndex(MasterRank, value); } + public bool RibbonMarkLunchtime { get => this.GetRibbonIndex(MarkLunchtime); set => this.SetRibbonIndex(MarkLunchtime, value); } + public bool RibbonMarkSleepyTime { get => this.GetRibbonIndex(MarkSleepyTime); set => this.SetRibbonIndex(MarkSleepyTime, value); } + public bool RibbonMarkDusk { get => this.GetRibbonIndex(MarkDusk); set => this.SetRibbonIndex(MarkDusk, value); } + public bool RibbonMarkDawn { get => this.GetRibbonIndex(MarkDawn); set => this.SetRibbonIndex(MarkDawn, value); } + public bool RibbonMarkCloudy { get => this.GetRibbonIndex(MarkCloudy); set => this.SetRibbonIndex(MarkCloudy, value); } + public bool RibbonMarkRainy { get => this.GetRibbonIndex(MarkRainy); set => this.SetRibbonIndex(MarkRainy, value); } + public bool RibbonMarkStormy { get => this.GetRibbonIndex(MarkStormy); set => this.SetRibbonIndex(MarkStormy, value); } + public bool RibbonMarkSnowy { get => this.GetRibbonIndex(MarkSnowy); set => this.SetRibbonIndex(MarkSnowy, value); } + public bool RibbonMarkBlizzard { get => this.GetRibbonIndex(MarkBlizzard); set => this.SetRibbonIndex(MarkBlizzard, value); } + public bool RibbonMarkDry { get => this.GetRibbonIndex(MarkDry); set => this.SetRibbonIndex(MarkDry, value); } + public bool RibbonMarkSandstorm { get => this.GetRibbonIndex(MarkSandstorm); set => this.SetRibbonIndex(MarkSandstorm, value); } + public bool RibbonMarkMisty { get => this.GetRibbonIndex(MarkMisty); set => this.SetRibbonIndex(MarkMisty, value); } + public bool RibbonMarkDestiny { get => this.GetRibbonIndex(MarkDestiny); set => this.SetRibbonIndex(MarkDestiny, value); } + public bool RibbonMarkFishing { get => this.GetRibbonIndex(MarkFishing); set => this.SetRibbonIndex(MarkFishing, value); } + public bool RibbonMarkCurry { get => this.GetRibbonIndex(MarkCurry); set => this.SetRibbonIndex(MarkCurry, value); } + public bool RibbonMarkUncommon { get => this.GetRibbonIndex(MarkUncommon); set => this.SetRibbonIndex(MarkUncommon, value); } + public bool RibbonMarkRare { get => this.GetRibbonIndex(MarkRare); set => this.SetRibbonIndex(MarkRare, value); } + public bool RibbonMarkRowdy { get => this.GetRibbonIndex(MarkRowdy); set => this.SetRibbonIndex(MarkRowdy, value); } + public bool RibbonMarkAbsentMinded { get => this.GetRibbonIndex(MarkAbsentMinded); set => this.SetRibbonIndex(MarkAbsentMinded, value); } + public bool RibbonMarkJittery { get => this.GetRibbonIndex(MarkJittery); set => this.SetRibbonIndex(MarkJittery, value); } + public bool RibbonMarkExcited { get => this.GetRibbonIndex(MarkExcited); set => this.SetRibbonIndex(MarkExcited, value); } + public bool RibbonMarkCharismatic { get => this.GetRibbonIndex(MarkCharismatic); set => this.SetRibbonIndex(MarkCharismatic, value); } + public bool RibbonMarkCalmness { get => this.GetRibbonIndex(MarkCalmness); set => this.SetRibbonIndex(MarkCalmness, value); } + public bool RibbonMarkIntense { get => this.GetRibbonIndex(MarkIntense); set => this.SetRibbonIndex(MarkIntense, value); } + public bool RibbonMarkZonedOut { get => this.GetRibbonIndex(MarkZonedOut); set => this.SetRibbonIndex(MarkZonedOut, value); } + public bool RibbonMarkJoyful { get => this.GetRibbonIndex(MarkJoyful); set => this.SetRibbonIndex(MarkJoyful, value); } + public bool RibbonMarkAngry { get => this.GetRibbonIndex(MarkAngry); set => this.SetRibbonIndex(MarkAngry, value); } + public bool RibbonMarkSmiley { get => this.GetRibbonIndex(MarkSmiley); set => this.SetRibbonIndex(MarkSmiley, value); } + public bool RibbonMarkTeary { get => this.GetRibbonIndex(MarkTeary); set => this.SetRibbonIndex(MarkTeary, value); } + public bool RibbonMarkUpbeat { get => this.GetRibbonIndex(MarkUpbeat); set => this.SetRibbonIndex(MarkUpbeat, value); } + public bool RibbonMarkPeeved { get => this.GetRibbonIndex(MarkPeeved); set => this.SetRibbonIndex(MarkPeeved, value); } + public bool RibbonMarkIntellectual { get => this.GetRibbonIndex(MarkIntellectual); set => this.SetRibbonIndex(MarkIntellectual, value); } + public bool RibbonMarkFerocious { get => this.GetRibbonIndex(MarkFerocious); set => this.SetRibbonIndex(MarkFerocious, value); } + public bool RibbonMarkCrafty { get => this.GetRibbonIndex(MarkCrafty); set => this.SetRibbonIndex(MarkCrafty, value); } + public bool RibbonMarkScowling { get => this.GetRibbonIndex(MarkScowling); set => this.SetRibbonIndex(MarkScowling, value); } + public bool RibbonMarkKindly { get => this.GetRibbonIndex(MarkKindly); set => this.SetRibbonIndex(MarkKindly, value); } + public bool RibbonMarkFlustered { get => this.GetRibbonIndex(MarkFlustered); set => this.SetRibbonIndex(MarkFlustered, value); } + public bool RibbonMarkPumpedUp { get => this.GetRibbonIndex(MarkPumpedUp); set => this.SetRibbonIndex(MarkPumpedUp, value); } + public bool RibbonMarkZeroEnergy { get => this.GetRibbonIndex(MarkZeroEnergy); set => this.SetRibbonIndex(MarkZeroEnergy, value); } + public bool RibbonMarkPrideful { get => this.GetRibbonIndex(MarkPrideful); set => this.SetRibbonIndex(MarkPrideful, value); } + public bool RibbonMarkUnsure { get => this.GetRibbonIndex(MarkUnsure); set => this.SetRibbonIndex(MarkUnsure, value); } + public bool RibbonMarkHumble { get => this.GetRibbonIndex(MarkHumble); set => this.SetRibbonIndex(MarkHumble, value); } + public bool RibbonMarkThorny { get => this.GetRibbonIndex(MarkThorny); set => this.SetRibbonIndex(MarkThorny, value); } + public bool RibbonMarkVigor { get => this.GetRibbonIndex(MarkVigor); set => this.SetRibbonIndex(MarkVigor, value); } + public bool RibbonMarkSlump { get => this.GetRibbonIndex(MarkSlump); set => this.SetRibbonIndex(MarkSlump, value); } + public bool RibbonTwinklingStar { get => this.GetRibbonIndex(TwinklingStar); set => this.SetRibbonIndex(TwinklingStar, value); } + public bool RibbonHisui { get => this.GetRibbonIndex(Hisui); set => this.SetRibbonIndex(Hisui, value); } + public bool RibbonChampionPaldea { get => this.GetRibbonIndex(ChampionPaldea); set => this.SetRibbonIndex(ChampionPaldea, value); } + public bool RibbonMarkJumbo { get => this.GetRibbonIndex(MarkJumbo); set => this.SetRibbonIndex(MarkJumbo, value); } + public bool RibbonMarkMini { get => this.GetRibbonIndex(MarkMini); set => this.SetRibbonIndex(MarkMini, value); } + public bool RibbonMarkItemfinder { get => this.GetRibbonIndex(MarkItemfinder); set => this.SetRibbonIndex(MarkItemfinder, value); } + public bool RibbonMarkPartner { get => this.GetRibbonIndex(MarkPartner); set => this.SetRibbonIndex(MarkPartner, value); } + public bool RibbonMarkGourmand { get => this.GetRibbonIndex(MarkGourmand); set => this.SetRibbonIndex(MarkGourmand, value); } + public bool RibbonOnceInALifetime { get => this.GetRibbonIndex(OnceInALifetime); set => this.SetRibbonIndex(OnceInALifetime, value); } + public bool RibbonMarkAlpha { get => this.GetRibbonIndex(MarkAlpha); set => this.SetRibbonIndex(MarkAlpha, value); } + public bool RibbonMarkMightiest { get => this.GetRibbonIndex(MarkMightiest); set => this.SetRibbonIndex(MarkMightiest, value); } + public bool RibbonMarkTitan { get => this.GetRibbonIndex(MarkTitan); set => this.SetRibbonIndex(MarkTitan, value); } + + public int GetRibbonByte(int index) => Array.IndexOf(Data, (byte)index, RibbonBytesOffset, RibbonBytesCount); + public bool GetRibbon(int index) => GetRibbonByte(index) >= 0; + + public void SetRibbon(int index, bool value = true) + { + if ((uint)index > (uint)MarkSlump) + throw new ArgumentOutOfRangeException(nameof(index)); + + if (value) + { + if (GetRibbon(index)) + return; + var openIndex = Array.IndexOf(Data, RibbonByteNone, RibbonBytesOffset, RibbonBytesCount); + if (openIndex == -1) // Full? + throw new ArgumentOutOfRangeException(nameof(index)); + SetRibbonAtIndex(openIndex, (byte)index); + } + else + { + var ofs = GetRibbonByte(index); + if (ofs < 0) + return; + SetRibbonAtIndex(ofs, RibbonByteNone); + } + } + #endregion +} diff --git a/PKHeX.Core/PKM/CK3.cs b/PKHeX.Core/PKM/CK3.cs index 87b94940e..294da16eb 100644 --- a/PKHeX.Core/PKM/CK3.cs +++ b/PKHeX.Core/PKM/CK3.cs @@ -5,7 +5,7 @@ namespace PKHeX.Core; /// Generation 3 format, exclusively for Pokémon Colosseum. -public sealed class CK3 : G3PKM, IShadowPKM +public sealed class CK3 : G3PKM, IShadowCapture { private static readonly ushort[] Unused = { diff --git a/PKHeX.Core/PKM/Enums/OriginMark.cs b/PKHeX.Core/PKM/Enums/OriginMark.cs index 080a5c678..5fe7d827e 100644 --- a/PKHeX.Core/PKM/Enums/OriginMark.cs +++ b/PKHeX.Core/PKM/Enums/OriginMark.cs @@ -14,6 +14,7 @@ public enum OriginMark Gen8Galar, Gen8Trio, Gen8Arc, + Gen9Paldea, GameBoy, GO, @@ -43,6 +44,8 @@ public static OriginMark GetOriginMark(PKM pk) return Gen8Trio; if (pk.LA) return Gen8Arc; + if (pk.SV) + return Gen9Paldea; return None; } diff --git a/PKHeX.Core/PKM/Enums/PokeSizeDetailed.cs b/PKHeX.Core/PKM/Enums/PokeSizeDetailed.cs new file mode 100644 index 000000000..9f40b3428 --- /dev/null +++ b/PKHeX.Core/PKM/Enums/PokeSizeDetailed.cs @@ -0,0 +1,40 @@ +using static PKHeX.Core.PokeSizeDetailed; + +namespace PKHeX.Core; + +/// +/// Size Groupings for an entity's Height and Weight +/// +public enum PokeSizeDetailed +{ + XXXS, + XXS, + XS, + S, + AV, + L, + XL, + XXL, + XXXL, +} + +public static class PokeSizeDetailedUtil +{ + /// + /// Compares the sizing scalar to different thresholds to determine the size rating. + /// + /// Sizing scalar (0-255) + /// 0-4 rating + public static PokeSizeDetailed GetSizeRating(byte scalar) => scalar switch + { + 0 => XXXS, // 1:256 + <= 30 => XXS, // 29:256 + <= 60 => XS, // 30:256 + < 100 => S, // 39:256 + <= 160 => AV, // 61:256 + <= 195 => L, // 35:256 + <= 241 => XL, // 44:256 + < 255 => XXL, // 13:256 + _ => XXXL, // 1:256 + }; +} diff --git a/PKHeX.Core/PKM/HOME/GameDataCore.cs b/PKHeX.Core/PKM/HOME/GameDataCore.cs index 8d959e1d1..709f8b094 100644 --- a/PKHeX.Core/PKM/HOME/GameDataCore.cs +++ b/PKHeX.Core/PKM/HOME/GameDataCore.cs @@ -6,8 +6,10 @@ namespace PKHeX.Core; /// /// Core game data storage, format 1. /// -public sealed class GameDataCore : IHomeTrack, ISpeciesForm, ITrainerID, INature, IContestStats, IContestStatsMutable, IScaledSize, ITrainerMemories, IHandlerLanguage, IBattleVersion, IHyperTrain, IFormArgument, IFavorite, - IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8 +public sealed class GameDataCore : IHomeTrack, ISpeciesForm, ITrainerID, INature, IContestStats, IScaledSize, ITrainerMemories, IHandlerLanguage, IBattleVersion, IHyperTrain, IFormArgument, IFavorite, + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, + IRibbonSetCommon8, IRibbonSetMark8, + IRibbonSetCommon9, IRibbonSetMark9 { // Internal Attributes set on creation public readonly byte[] Data; // Raw Storage @@ -31,7 +33,7 @@ public GameDataCore(byte[] data, int offset) public uint EXP { get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x13)); set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x13), value); } public int Ability { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x17)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x17), (ushort)value); } public int AbilityNumber { get => Data[Offset + 0x19] & 7; set => Data[Offset + 0x19] = (byte)((Data[Offset + 0x19] & ~7) | (value & 7)); } - public bool Favorite { get => Data[Offset + 0x1A] != 0; set => Data[Offset + 0x1A] = (byte)(value ? 1 : 0); } + public bool IsFavorite { get => Data[Offset + 0x1A] != 0; set => Data[Offset + 0x1A] = (byte)(value ? 1 : 0); } public int MarkValue { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x1B)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x1B), (ushort)value); } public uint PID { get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x1D)); set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x1D), value); } public int Nature { get => Data[Offset + 0x21]; set => Data[Offset + 0x21] = (byte)value; } @@ -173,19 +175,19 @@ public GameDataCore(byte[] data, int offset) public bool RibbonMarkVigor { get => GetFlag(0x42, 0); set => SetFlag(0x42, 0, value); } public bool RibbonMarkSlump { get => GetFlag(0x42, 1); set => SetFlag(0x42, 1, value); } - public bool RibbonPioneer { get => GetFlag(0x42, 2); set => SetFlag(0x42, 2, value); } + public bool RibbonHisui { get => GetFlag(0x42, 2); set => SetFlag(0x42, 2, value); } public bool RibbonTwinklingStar { get => GetFlag(0x42, 3); set => SetFlag(0x42, 3, value); } - public bool RIB44_4 { get => GetFlag(0x42, 4); set => SetFlag(0x42, 4, value); } - public bool RIB44_5 { get => GetFlag(0x42, 5); set => SetFlag(0x42, 5, value); } - public bool RIB44_6 { get => GetFlag(0x42, 6); set => SetFlag(0x42, 6, value); } - public bool RIB44_7 { get => GetFlag(0x42, 7); set => SetFlag(0x42, 7, value); } + public bool RibbonChampionPaldea { get => GetFlag(0x42, 4); set => SetFlag(0x42, 4, value); } + public bool RibbonMarkJumbo { get => GetFlag(0x42, 5); set => SetFlag(0x42, 5, value); } + public bool RibbonMarkMini { get => GetFlag(0x42, 6); set => SetFlag(0x42, 6, value); } + public bool RibbonMarkItemfinder { get => GetFlag(0x42, 7); set => SetFlag(0x42, 7, value); } - public bool RIB45_0 { get => GetFlag(0x43, 0); set => SetFlag(0x43, 0, value); } - public bool RIB45_1 { get => GetFlag(0x43, 1); set => SetFlag(0x43, 1, value); } - public bool RIB45_2 { get => GetFlag(0x43, 2); set => SetFlag(0x43, 2, value); } - public bool RIB45_3 { get => GetFlag(0x43, 3); set => SetFlag(0x43, 3, value); } - public bool RIB45_4 { get => GetFlag(0x43, 4); set => SetFlag(0x43, 4, value); } - public bool RIB45_5 { get => GetFlag(0x43, 5); set => SetFlag(0x43, 5, value); } + public bool RibbonMarkPartner { get => GetFlag(0x43, 0); set => SetFlag(0x43, 0, value); } + public bool RibbonMarkGourmand { get => GetFlag(0x43, 1); set => SetFlag(0x43, 1, value); } + public bool RibbonOnceInALifetime { get => GetFlag(0x43, 2); set => SetFlag(0x43, 2, value); } + public bool RibbonMarkAlpha { get => GetFlag(0x43, 3); set => SetFlag(0x43, 3, value); } + public bool RibbonMarkMightiest { get => GetFlag(0x43, 4); set => SetFlag(0x43, 4, value); } + public bool RibbonMarkTitan { get => GetFlag(0x43, 5); set => SetFlag(0x43, 5, value); } public bool RIB45_6 { get => GetFlag(0x43, 6); set => SetFlag(0x43, 6, value); } public bool RIB45_7 { get => GetFlag(0x43, 7); set => SetFlag(0x43, 7, value); } @@ -393,7 +395,7 @@ private void CopyConditionalInterface(PKM pk) if (pk is IHandlerLanguage hl) hl.HT_Language = HT_Language; - if (pk is IContestStatsMutable cm) + if (pk is IContestStats cm) this.CopyContestStatsTo(cm); if (pk is IRibbonSetAffixed affix) affix.AffixedRibbon = AffixedRibbon; @@ -404,7 +406,7 @@ private void CopyConditionalInterface(PKM pk) if (pk is IBattleVersion bv) bv.BattleVersion = BattleVersion; if (pk is IFavorite fav) - fav.Favorite = Favorite; + fav.IsFavorite = IsFavorite; if (pk is IHomeTrack home) home.Tracker = Tracker; } @@ -429,5 +431,9 @@ private void CopyConditionalRibbonMark(PKM pk) this.CopyRibbonSetCommon8(c8); if (pk is IRibbonSetMark8 m8) this.CopyRibbonSetMark8(m8); + if (pk is IRibbonSetCommon9 c9) + this.CopyRibbonSetCommon9(c9); + if (pk is IRibbonSetMark9 m9) + this.CopyRibbonSetMark9(m9); } } diff --git a/PKHeX.Core/PKM/HOME/GameDataPA8.cs b/PKHeX.Core/PKM/HOME/GameDataPA8.cs index 23841ee5b..ba4a5d74e 100644 --- a/PKHeX.Core/PKM/HOME/GameDataPA8.cs +++ b/PKHeX.Core/PKM/HOME/GameDataPA8.cs @@ -111,7 +111,7 @@ public void CopyTo(PA8 pk) pk.IsAlpha = IsAlpha; pk.IsNoble = IsNoble; pk.AlphaMove = AlphaMove; - pk.HeightScalarCopy = HeightScalarCopy; + pk.Scale = HeightScalarCopy; pk.HeightAbsolute = pk.CalcHeightAbsolute; // Ignore the stored value, be nice and recalculate for the user. pk.WeightAbsolute = pk.CalcWeightAbsolute; // Ignore the stored value, be nice and recalculate for the user. pk.GV_HP = GV_HP; diff --git a/PKHeX.Core/PKM/HOME/GameDataPK9.cs b/PKHeX.Core/PKM/HOME/GameDataPK9.cs new file mode 100644 index 000000000..3112113a4 --- /dev/null +++ b/PKHeX.Core/PKM/HOME/GameDataPK9.cs @@ -0,0 +1,113 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// Side game data for data transferred into HOME. +/// +public sealed class GameDataPK9 : HomeOptional1, IGameDataSide +{ + private const int SIZE = HomeCrypto.SIZE_1GAME_PK9; + private const HomeGameDataFormat Format = HomeGameDataFormat.PK9; + + public GameDataPK9() : base(Format, SIZE) { } + public GameDataPK9(byte[] data, int offset = 0) : base(Format, SIZE, data, offset) { } + public GameDataPK8 Clone() => new(ToArray(SIZE)); + public int CopyTo(Span result) => CopyTo(result, SIZE); + + #region Structure + + public ushort Move1 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x00)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x00), value); } + public ushort Move2 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x02)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x02), value); } + public ushort Move3 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x04)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x04), value); } + public ushort Move4 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x06)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x06), value); } + + public int Move1_PP { get => Data[Offset + 0x08]; set => Data[Offset + 0x08] = (byte)value; } + public int Move2_PP { get => Data[Offset + 0x09]; set => Data[Offset + 0x09] = (byte)value; } + public int Move3_PP { get => Data[Offset + 0x0A]; set => Data[Offset + 0x0A] = (byte)value; } + public int Move4_PP { get => Data[Offset + 0x0B]; set => Data[Offset + 0x0B] = (byte)value; } + public int Move1_PPUps { get => Data[Offset + 0x0C]; set => Data[Offset + 0x0C] = (byte)value; } + public int Move2_PPUps { get => Data[Offset + 0x0D]; set => Data[Offset + 0x0D] = (byte)value; } + public int Move3_PPUps { get => Data[Offset + 0x0E]; set => Data[Offset + 0x0E] = (byte)value; } + public int Move4_PPUps { get => Data[Offset + 0x0F]; set => Data[Offset + 0x0F] = (byte)value; } + + public ushort RelearnMove1 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x10)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x10), value); } + public ushort RelearnMove2 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x12)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x12), value); } + public ushort RelearnMove3 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x14)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x14), value); } + public ushort RelearnMove4 { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x16)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x16), value); } + public int Egg_Location { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x18), (ushort)value); } + public int Met_Location { get => ReadUInt16LittleEndian(Data.AsSpan(Offset + 0x1A)); set => WriteUInt16LittleEndian(Data.AsSpan(Offset + 0x1A), (ushort)value); } + + public int Ball { get => Data[Offset + 0x1C]; set => Data[Offset + 0x1C] = (byte)value; } + public byte Scale { get => Data[Offset + 0x1D]; set => Data[Offset + 0x1D] = value; } + public MoveType TeraTypeOriginal { get => (MoveType)Data[Offset + 0x1E]; set => Data[Offset + 0x1E] = (byte)value; } + public MoveType TeraTypeModified { get => (MoveType)Data[Offset + 0x1F]; set => Data[Offset + 0x1F] = (byte)value; } + + private const int RecordStart = 0x20; + private const int RecordCount = PK9.COUNT_RECORD; // Up to 200 TM flags, but not all are used. + private const int RecordLength = RecordCount / 8; + private Span RecordFlags => Data.AsSpan(Offset + RecordStart, RecordLength); + + public bool GetMoveRecordFlag(int index) + { + if ((uint)index > RecordCount) // 0x19 bytes, 8 bits + throw new ArgumentOutOfRangeException(nameof(index)); + int ofs = index >> 3; + return FlagUtil.GetFlag(Data, RecordStart + ofs, index & 7); + } + + public void SetMoveRecordFlag(int index, bool value = true) + { + if ((uint)index > RecordCount) // 0x19 bytes, 8 bits + throw new ArgumentOutOfRangeException(nameof(index)); + int ofs = index >> 3; + FlagUtil.SetFlag(Data, RecordStart + ofs, index & 7, value); + } + + public bool GetMoveRecordFlagAny() => Array.FindIndex(Data, RecordStart, RecordLength, static z => z != 0) >= 0; + + public void ClearMoveRecordFlags() => Data.AsSpan(RecordStart, RecordLength).Clear(); + + #endregion + + #region Conversion + + public PersonalInfo GetPersonalInfo(ushort species, byte form) => PersonalTable.SV.GetFormEntry(species, form); + + public void CopyTo(PK9 pk) + { + ((IGameDataSide)this).CopyTo(pk); + pk.Scale = Scale; + pk.TeraTypeOriginal = TeraTypeOriginal; + pk.TeraTypeOverride = TeraTypeModified; + RecordFlags.CopyTo(pk.RecordFlags); + } + + public PKM ConvertToPKM(PKH pkh) => ConvertToPK9(pkh); + + public PK9 ConvertToPK9(PKH pkh) + { + var pk = new PK9(); + pkh.CopyTo(pk); + CopyTo(pk); + return pk; + } + + #endregion + + /// Reconstructive logic to best apply suggested values. + public static GameDataPK9? TryCreate(PKH pkh) + { + var orig = pkh.LatestGameData; + if (orig is GameDataPK9 pk9) + return pk9; + + if (!PersonalTable.SV.IsPresentInGame(pkh.Species, pkh.Form)) + return null; + + var result = new GameDataPK9(); + orig.CopyTo(result); + return result; + } +} diff --git a/PKHeX.Core/PKM/HOME/HomeCrypto.cs b/PKHeX.Core/PKM/HOME/HomeCrypto.cs index 5e906d970..bb0aee75a 100644 --- a/PKHeX.Core/PKM/HOME/HomeCrypto.cs +++ b/PKHeX.Core/PKM/HOME/HomeCrypto.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Runtime.CompilerServices; using System.Security.Cryptography; @@ -21,6 +21,7 @@ public static class HomeCrypto internal const int SIZE_1GAME_PK8 = 0x44; // 68 internal const int SIZE_1GAME_PA8 = 0x3C; // 60 internal const int SIZE_1GAME_PB8 = 0x2B; // 43 + internal const int SIZE_1GAME_PK9 = 0x39; // todo sv internal const int SIZE_1STORED = 0x1EE; // 494 [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/PKHeX.Core/PKM/HOME/HomeGameDataFormat.cs b/PKHeX.Core/PKM/HOME/HomeGameDataFormat.cs index 33c1a1bf8..2e1682852 100644 --- a/PKHeX.Core/PKM/HOME/HomeGameDataFormat.cs +++ b/PKHeX.Core/PKM/HOME/HomeGameDataFormat.cs @@ -10,4 +10,5 @@ public enum HomeGameDataFormat : byte PK8 = 2, PA8 = 3, PB8 = 4, + PK9 = 5, } diff --git a/PKHeX.Core/PKM/HOME/IGameDataSide.cs b/PKHeX.Core/PKM/HOME/IGameDataSide.cs index 4e2b135bc..6326c4083 100644 --- a/PKHeX.Core/PKM/HOME/IGameDataSide.cs +++ b/PKHeX.Core/PKM/HOME/IGameDataSide.cs @@ -42,4 +42,20 @@ public static void CopyTo(this IGameDataSide data, PKM pk) pk.Met_Location = data.Met_Location; pk.Egg_Location = data.Egg_Location; } + + /// + /// Copies the shared properties into a destination. + /// + /// Source side game data + /// Destination entity + public static void CopyTo(this IGameDataSide data, IGameDataSide pk) + { + pk.Move1 = data.Move1; pk.Move1_PP = data.Move1_PP; pk.Move1_PPUps = data.Move1_PPUps; pk.RelearnMove1 = data.RelearnMove1; + pk.Move2 = data.Move2; pk.Move2_PP = data.Move1_PP; pk.Move2_PPUps = data.Move2_PPUps; pk.RelearnMove2 = data.RelearnMove2; + pk.Move3 = data.Move3; pk.Move3_PP = data.Move1_PP; pk.Move3_PPUps = data.Move3_PPUps; pk.RelearnMove3 = data.RelearnMove3; + pk.Move4 = data.Move4; pk.Move4_PP = data.Move1_PP; pk.Move4_PPUps = data.Move4_PPUps; pk.RelearnMove4 = data.RelearnMove4; + pk.Ball = data.Ball; + pk.Met_Location = data.Met_Location; + pk.Egg_Location = data.Egg_Location; + } } diff --git a/PKHeX.Core/PKM/HOME/PKH.cs b/PKHeX.Core/PKM/HOME/PKH.cs index f990f3368..f79802b9a 100644 --- a/PKHeX.Core/PKM/HOME/PKH.cs +++ b/PKHeX.Core/PKM/HOME/PKH.cs @@ -5,14 +5,15 @@ namespace PKHeX.Core; -/// Generation 8 format. -public class PKH : PKM, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories, IRibbonSetAffixed, IContestStats, IContestStatsMutable, IScaledSize +/// Pokémon HOME format. +public class PKH : PKM, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories, IRibbonSetAffixed, IContestStats, IScaledSize { public readonly GameDataCore _coreData; public GameDataPB7? DataPB7 { get; private set; } public GameDataPK8? DataPK8 { get; private set; } public GameDataPA8? DataPA8 { get; private set; } public GameDataPB8? DataPB8 { get; private set; } + public GameDataPK9? DataPK9 { get; private set; } public override EntityContext Context => EntityContext.None; @@ -72,7 +73,7 @@ private static byte[] DecryptHome(byte[] data) public override uint EXP { get => _coreData.EXP; set => _coreData.EXP = value; } public override int Ability { get => _coreData.Ability; set => _coreData.Ability = value; } public override int AbilityNumber { get => _coreData.AbilityNumber; set => _coreData.AbilityNumber = value; } - public bool Favorite { get => _coreData.Favorite; set => _coreData.Favorite = value; } + public bool Favorite { get => _coreData.IsFavorite; set => _coreData.IsFavorite = value; } public override int MarkValue { get => _coreData.MarkValue; set => _coreData.MarkValue = value; } public override uint PID { get => _coreData.PID; set => _coreData.PID = value; } public override int Nature { get => _coreData.Nature; set => _coreData.Nature = value; } @@ -214,8 +215,8 @@ public override int Characteristic public override int MaxIV => 31; public override int MaxEV => 252; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override ushort MaxMoveID => Legal.MaxMoveID_8a; public override ushort MaxSpeciesID => Legal.MaxSpeciesID_8a; public override int MaxAbilityID => Legal.MaxAbilityID_8a; @@ -297,7 +298,7 @@ public override PKM Clone() => new PKH((byte[])Data.Clone()) (int)GP or (int)GE => DataPB7 ??= new(), (int)BD or (int)SP => DataPB8 ??= new(), (int)PLA => DataPA8 ??= new(), - + (int)SL or (int)VL => DataPK9 ??= new(), _ => DataPK8 ??= new(), }; @@ -306,10 +307,11 @@ public override PKM Clone() => new PKH((byte[])Data.Clone()) (int)GP or (int)GE => DataPB7, (int)BD or (int)SP => DataPB8, (int)PLA => DataPA8, + (int)SL or (int)VL => DataPK9, (int)SW or (int)SH when DataPK8 is { Met_Location: HOME_SWLA } => DataPA8, (int)SW or (int)SH when DataPK8 is { Met_Location: HOME_SWBD or HOME_SHSP } => DataPB8, - (int)SW or (int)SH => DataPK8, + (int)SW or (int)SH => DataPK8, _ => DataPK8, }; @@ -318,6 +320,7 @@ public override PKM Clone() => new PKH((byte[])Data.Clone()) public PK8? ConvertToPK8() => DataPK8 is { } x ? x.ConvertToPK8(this) : (DataPK8 ??= GameDataPK8.TryCreate(this))?.ConvertToPK8(this); public PB8? ConvertToPB8() => DataPB8 is { } x ? x.ConvertToPB8(this) : (DataPB8 ??= GameDataPB8.TryCreate(this))?.ConvertToPB8(this); public PA8? ConvertToPA8() => DataPA8 is { } x ? x.ConvertToPA8(this) : (DataPA8 ??= GameDataPA8.TryCreate(this))?.ConvertToPA8(this); + public PK9? ConvertToPK9() => DataPK9 is { } x ? x.ConvertToPK9(this) : (DataPK9 ??= GameDataPK9.TryCreate(this))?.ConvertToPK9(this); public void CopyTo(PKM pk) => _coreData.CopyTo(pk); } diff --git a/PKHeX.Core/PKM/Interfaces/IAlpha.cs b/PKHeX.Core/PKM/Interfaces/IAlpha.cs index 4cdcbe076..ed3bb7bcf 100644 --- a/PKHeX.Core/PKM/Interfaces/IAlpha.cs +++ b/PKHeX.Core/PKM/Interfaces/IAlpha.cs @@ -1,9 +1,9 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Interface that exposes an indication if the Pokémon is an alpha Pokémon. /// -public interface IAlpha +public interface IAlpha : IAlphaReadOnly { - bool IsAlpha { get; set; } + new bool IsAlpha { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IContestStats.cs b/PKHeX.Core/PKM/Interfaces/IContestStats.cs index df39fd363..db6756792 100644 --- a/PKHeX.Core/PKM/Interfaces/IContestStats.cs +++ b/PKHeX.Core/PKM/Interfaces/IContestStats.cs @@ -1,121 +1,14 @@ namespace PKHeX.Core; -/// -/// Exposes contest stat value retrieval. -/// -public interface IContestStats -{ - byte CNT_Cool { get; } - byte CNT_Beauty { get; } - byte CNT_Cute { get; } - byte CNT_Smart { get; } - byte CNT_Tough { get; } - byte CNT_Sheen { get; } -} - /// /// Exposes contest stat value setters. /// -public interface IContestStatsMutable +public interface IContestStats : IContestStatsReadOnly { - byte CNT_Cool { set; } - byte CNT_Beauty { set; } - byte CNT_Cute { set; } - byte CNT_Smart { set; } - byte CNT_Tough { set; } - byte CNT_Sheen { set; } -} - -public static partial class Extensions -{ - /// - /// Checks if any contest stat value is nonzero. - /// - /// Object containing contest stat data. - /// True if has any nonzero contest stat, false if all are zero. - public static bool HasContestStats(this IContestStats stats) - { - if (stats.CNT_Cool != 0) - return true; - if (stats.CNT_Beauty != 0) - return true; - if (stats.CNT_Cute != 0) - return true; - if (stats.CNT_Smart != 0) - return true; - if (stats.CNT_Tough != 0) - return true; - if (stats.CNT_Sheen != 0) - return true; - return false; - } - - public static bool IsContestBelow(this IContestStats current, IContestStats initial) => !current.IsContestAboveOrEqual(initial); - - public static bool IsContestAboveOrEqual(this IContestStats current, IContestStats initial) - { - if (current.CNT_Cool < initial.CNT_Cool) - return false; - if (current.CNT_Beauty < initial.CNT_Beauty) - return false; - if (current.CNT_Cute < initial.CNT_Cute) - return false; - if (current.CNT_Smart < initial.CNT_Smart) - return false; - if (current.CNT_Tough < initial.CNT_Tough) - return false; - if (current.CNT_Sheen < initial.CNT_Sheen) - return false; - return true; - } - - public static bool IsContestEqual(this IContestStats current, IContestStats initial) - { - if (current.CNT_Cool != initial.CNT_Cool) - return false; - if (current.CNT_Beauty != initial.CNT_Beauty) - return false; - if (current.CNT_Cute != initial.CNT_Cute) - return false; - if (current.CNT_Smart != initial.CNT_Smart) - return false; - if (current.CNT_Tough != initial.CNT_Tough) - return false; - if (current.CNT_Sheen != initial.CNT_Sheen) - return false; - return true; - } - - public static void CopyContestStatsTo(this IContestStats source, IContestStatsMutable dest) - { - dest.CNT_Cool = source.CNT_Cool; - dest.CNT_Beauty = source.CNT_Beauty; - dest.CNT_Cute = source.CNT_Cute; - dest.CNT_Smart = source.CNT_Smart; - dest.CNT_Tough = source.CNT_Tough; - dest.CNT_Sheen = source.CNT_Sheen; - } - - public static void SetAllContestStatsTo(this IContestStatsMutable dest, byte value, byte sheen) - { - dest.CNT_Cool = value; - dest.CNT_Beauty = value; - dest.CNT_Cute = value; - dest.CNT_Smart = value; - dest.CNT_Tough = value; - dest.CNT_Sheen = sheen; - } - - private const byte CONTEST_MAX = 255; - - /// - /// Check if any contest stat besides is equal to . - /// - /// Entity to check - /// True if any equals - public static bool IsAnyContestStatMax(this IContestStats s) => CONTEST_MAX == s.CNT_Cool - || CONTEST_MAX == s.CNT_Beauty - || CONTEST_MAX == s.CNT_Cute - || CONTEST_MAX == s.CNT_Smart - || CONTEST_MAX == s.CNT_Tough; + new byte CNT_Cool { get; set; } + new byte CNT_Beauty { get; set; } + new byte CNT_Cute { get; set; } + new byte CNT_Smart { get; set; } + new byte CNT_Tough { get; set; } + new byte CNT_Sheen { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IDynamaxLevel.cs b/PKHeX.Core/PKM/Interfaces/IDynamaxLevel.cs index 9abc31cf7..53fcc882e 100644 --- a/PKHeX.Core/PKM/Interfaces/IDynamaxLevel.cs +++ b/PKHeX.Core/PKM/Interfaces/IDynamaxLevel.cs @@ -1,37 +1,12 @@ -using static PKHeX.Core.Species; - namespace PKHeX.Core; /// /// Exposes info about Dynamax potential /// -public interface IDynamaxLevel +public interface IDynamaxLevel : IDynamaxLevelReadOnly { /// /// Dynamax Level used by format entity data. /// - byte DynamaxLevel { get; set; } -} - -public static class DynamaxLevelExtensions -{ - /// - /// Checks if the species is allowed to have a non-zero value for . - /// - public static bool CanHaveDynamaxLevel(this IDynamaxLevel _, PKM pk) - { - if (pk.IsEgg) - return false; - return pk is PK8 && CanHaveDynamaxLevel(pk.Species); - } - - public static byte GetSuggestedDynamaxLevel(this IDynamaxLevel _, PKM pk, byte requested = 10) => _.CanHaveDynamaxLevel(pk) ? requested : (byte)0; - - /// - /// Checks if the species is prevented from gaining any via candy in . - /// - private static bool CanHaveDynamaxLevel(ushort species) - { - return species is not ((int)Zacian or (int)Zamazenta or (int)Eternatus); - } + new byte DynamaxLevel { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IFavorite.cs b/PKHeX.Core/PKM/Interfaces/IFavorite.cs index 18276e5bf..382cd2bd0 100644 --- a/PKHeX.Core/PKM/Interfaces/IFavorite.cs +++ b/PKHeX.Core/PKM/Interfaces/IFavorite.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Can mark as a "Favorite" in @@ -8,5 +8,5 @@ public interface IFavorite /// /// Marked as a "Favorite" in /// - bool Favorite { get; set; } + bool IsFavorite { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IFormArgument.cs b/PKHeX.Core/PKM/Interfaces/IFormArgument.cs index 3ded98456..43ab73601 100644 --- a/PKHeX.Core/PKM/Interfaces/IFormArgument.cs +++ b/PKHeX.Core/PKM/Interfaces/IFormArgument.cs @@ -15,6 +15,11 @@ namespace PKHeX.Core; /// How many times the Pokémon has used Psyshield Bash in the Agile Style [0,9999]. /// How many times the Pokémon has used Barb Barrage in the Strong Style as Qwilfish-1 [0,9999]. /// How much damage the Pokémon has taken through recoil as Basculin-2 [0,9999]. +/// How many times the Pokémon has used Rage Fist [0,9999]. +/// How many Bisharp that head up a group of Pawniard have been KOed [0,9999]. +/// How many Gimmighoul Coins were used on Gimmighoul to evolve into this Pokémon. +/// Flags whether or not this Pokémon was originally in its Ride Form (0/1). +/// Flags whether or not this Pokémon was originally in its Ride Form (0/1). /// public interface IFormArgument { @@ -47,25 +52,14 @@ public static class FormArgumentUtil /// /// Sets the suggested Form Argument to the . /// - public static void SetSuggestedFormArgument(this PKM pk, int originalSpecies = 0) + public static void SetSuggestedFormArgument(this PKM pk, ushort originalSpecies = 0) { if (pk is not IFormArgument) return; - if (!IsFormArgumentTypeDatePair(pk.Species, pk.Form)) - { - uint suggest = originalSpecies switch - { - (int) Yamask when pk.Species == (int) Runerigus => 49u, - (int) Qwilfish when pk.Species == (int) Overqwil => 20u, - (int) Stantler when pk.Species == (int) Wyrdeer => 20u, - (int) Basculin when pk.Species == (int) Basculegion => 294u, - _ => 0u, - }; - pk.ChangeFormArgument(suggest); - return; - } - var max = GetFormArgumentMax(pk.Species, pk.Form, pk.Format); - pk.ChangeFormArgument(max); + uint value = IsFormArgumentTypeDatePair(pk.Species, pk.Form) + ? GetFormArgumentMax(pk.Species, pk.Form, pk.Format) + : GetFormArgumentMinEvolution(pk.Species, originalSpecies); + pk.ChangeFormArgument(value); } /// @@ -120,15 +114,31 @@ public static uint GetFormArgumentMax(ushort species, byte form, int generation) (int)Yamask when form == 1 => 9999, (int)Runerigus when form == 0 => 9999, (int)Alcremie => (uint)AlcremieDecoration.Ribbon, - (int)Qwilfish when form == 1 && generation == 8 => 9999, // 20 + (int)Qwilfish when form == 1 && generation >= 8 => 9999, (int)Overqwil => 9999, // 20 - (int)Stantler or (int)Wyrdeer when generation == 8 => 9999, // 20 + (int)Stantler or (int)Wyrdeer when generation >= 8 => 9999, (int)Basculin when form == 2 => 9999, // 294 (int)Basculegion => 9999, // 294 + (int)Primeape or (int)Annihilape when generation >= 9 => 9999, + (int)Bisharp or (int)Kingambit when generation >= 9 => 9999, + (int)Gholdengo => 999, + (int)Koraidon or (int)Miraidon => 1, _ => 0, }; } + public static uint GetFormArgumentMinEvolution(ushort currentSpecies, ushort originalSpecies) => originalSpecies switch + { + (int)Yamask when currentSpecies == (int)Runerigus => 49u, + (int)Qwilfish when currentSpecies == (int)Overqwil => 20u, + (int)Stantler when currentSpecies == (int)Wyrdeer => 20u, + (int)Basculin when currentSpecies == (int)Basculegion => 294u, + (int)Primeape when currentSpecies == (int)Annihilape => 20u, + (int)Bisharp when currentSpecies == (int)Kingambit => 3u, + (int)Gimmighoul when currentSpecies == (int)Gholdengo => 999u, + _ => 0u, + }; + public static bool IsFormArgumentTypeDatePair(ushort species, byte form) => species switch { (int)Furfrou when form != 0 => true, diff --git a/PKHeX.Core/PKM/Interfaces/IGameValueLimit.cs b/PKHeX.Core/PKM/Interfaces/IGameValueLimit.cs deleted file mode 100644 index e4fcaa720..000000000 --- a/PKHeX.Core/PKM/Interfaces/IGameValueLimit.cs +++ /dev/null @@ -1,19 +0,0 @@ -namespace PKHeX.Core; - -/// -/// Metadata indicating the maximums (and minimums) a type of value can be. -/// -public interface IGameValueLimit -{ - ushort MaxMoveID { get; } - ushort MaxSpeciesID { get; } - int MaxItemID { get; } - int MaxAbilityID { get; } - int MaxBallID { get; } - int MaxGameID { get; } - int MinGameID { get; } - int MaxIV { get; } - int MaxEV { get; } - int OTLength { get; } - int NickLength { get; } -} diff --git a/PKHeX.Core/PKM/Interfaces/IGanbaru.cs b/PKHeX.Core/PKM/Interfaces/IGanbaru.cs index f88d4d747..f17d70292 100644 --- a/PKHeX.Core/PKM/Interfaces/IGanbaru.cs +++ b/PKHeX.Core/PKM/Interfaces/IGanbaru.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace PKHeX.Core; @@ -118,7 +118,7 @@ public static void ClearGanbaruValues(this IGanbaru g) 3 => pk.GV_SPE = value, 4 => pk.GV_SPA = value, 5 => pk.GV_SPD = value, - _ => throw new ArgumentOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Index must be between 0 and 5."), }; /// @@ -134,7 +134,7 @@ public static void ClearGanbaruValues(this IGanbaru g) 3 => pk.GV_SPE, 4 => pk.GV_SPA, 5 => pk.GV_SPD, - _ => throw new ArgumentOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Index must be between 0 and 5."), }; /// diff --git a/PKHeX.Core/PKM/Interfaces/IGigantamax.cs b/PKHeX.Core/PKM/Interfaces/IGigantamax.cs index 7b535e757..299462298 100644 --- a/PKHeX.Core/PKM/Interfaces/IGigantamax.cs +++ b/PKHeX.Core/PKM/Interfaces/IGigantamax.cs @@ -1,85 +1,12 @@ -using System.Collections.Generic; - namespace PKHeX.Core; /// /// Interface that exposes an indication if the Pokémon can Gigantamax. /// -public interface IGigantamax +public interface IGigantamax : IGigantamaxReadOnly { /// /// Indicates if the Pokémon is capable of Gigantamax as opposed to regular Dynamax. /// - bool CanGigantamax { get; set; } -} - -public static class GigantamaxExtensions -{ - /// - /// Checks if either of the input Species can consume the Gigantamax soup, toggling the flag. - /// - /// Unnecessary, just needed for extension method usage. - /// The current species - /// The current form of the species - /// The original species (what species it was encountered as) - /// The original form of the original species - /// True if either species can toggle Gigantamax potential - public static bool CanToggleGigantamax(this IGigantamax _, ushort currentSpecies, byte currentForm, ushort originSpecies, byte originForm) - { - if (currentSpecies is (int)Species.Meowth or (int)Species.Pikachu) - return currentForm == 0; - - var soup = CanEatMaxSoup; - return soup.Contains(currentSpecies) || (currentSpecies != originSpecies && soup.Contains(originSpecies)); - } - - /// - /// Don't use this method. Use the other overload with multi-species input. - /// - /// Unnecessary, just needed for extension method usage. - /// The current species - /// The current form of the species - /// True if the species can toggle Gigantamax potential - public static bool CanToggleGigantamax(this IGigantamax _, ushort currentSpecies, byte currentForm) - { - if (currentSpecies is (int)Species.Meowth or (int)Species.Pikachu) - return currentForm == 0; - var soup = CanEatMaxSoup; - return soup.Contains(currentSpecies); - } - - private static readonly HashSet CanEatMaxSoup = new() - { - (int)Species.Venusaur, - (int)Species.Charizard, - (int)Species.Blastoise, - (int)Species.Butterfree, - (int)Species.Pikachu, - (int)Species.Meowth, - (int)Species.Machamp, - (int)Species.Gengar, - (int)Species.Lapras, - (int)Species.Eevee, - (int)Species.Snorlax, - (int)Species.Garbodor, - (int)Species.Rillaboom, - (int)Species.Cinderace, - (int)Species.Inteleon, - (int)Species.Drednaw, - (int)Species.Corviknight, - (int)Species.Toxtricity, - (int)Species.Alcremie, - (int)Species.Duraludon, - (int)Species.Orbeetle, - (int)Species.Coalossal, - (int)Species.Sandaconda, - (int)Species.Grimmsnarl, - (int)Species.Flapple, - (int)Species.Appletun, - (int)Species.Hatterene, - (int)Species.Copperajah, - (int)Species.Kingler, - (int)Species.Centiskorch, - (int)Species.Urshifu, - }; + new bool CanGigantamax { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IHyperTrain.cs b/PKHeX.Core/PKM/Interfaces/IHyperTrain.cs index 4136f484b..d7596a054 100644 --- a/PKHeX.Core/PKM/Interfaces/IHyperTrain.cs +++ b/PKHeX.Core/PKM/Interfaces/IHyperTrain.cs @@ -110,6 +110,19 @@ public static void SetSuggestedHyperTrainingData(this PKM pk) _ => true, }; + /// + /// Indicates if Hyper Training is available for toggling. + /// + /// Entity to train + /// History of evolutions present as + /// True if available, otherwise false. + public static int GetHyperTrainMinLevel(this IHyperTrain _, EvolutionHistory h) + { + if (h.HasVisitedGen9) + return 50; + return 100; + } + /// /// Entity data /// History of evolutions present as @@ -120,7 +133,8 @@ public static bool IsHyperTrainingAvailable(this PKM pk, EvolutionHistory h) if (!t.IsHyperTrainingAvailable(h)) return false; - // Gated behind level 100. - return pk.CurrentLevel == 100; + // Gated behind level. + var min = t.GetHyperTrainMinLevel(h); + return pk.CurrentLevel >= min; } } diff --git a/PKHeX.Core/PKM/Interfaces/IMemoryOT.cs b/PKHeX.Core/PKM/Interfaces/IMemoryOT.cs index be4f5dc22..b443b2758 100644 --- a/PKHeX.Core/PKM/Interfaces/IMemoryOT.cs +++ b/PKHeX.Core/PKM/Interfaces/IMemoryOT.cs @@ -1,14 +1,14 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Exposes memory details for the Original Trainer. /// -public interface IMemoryOT +public interface IMemoryOT : IMemoryOTReadOnly { - byte OT_Memory { get; set; } - byte OT_Intensity { get; set; } - byte OT_Feeling { get; set; } - ushort OT_TextVar { get; set; } + new byte OT_Memory { get; set; } + new byte OT_Intensity { get; set; } + new byte OT_Feeling { get; set; } + new ushort OT_TextVar { get; set; } } public static partial class Extensions diff --git a/PKHeX.Core/PKM/Interfaces/INature.cs b/PKHeX.Core/PKM/Interfaces/INature.cs index 8c0e830b7..b173d0145 100644 --- a/PKHeX.Core/PKM/Interfaces/INature.cs +++ b/PKHeX.Core/PKM/Interfaces/INature.cs @@ -3,10 +3,10 @@ namespace PKHeX.Core; /// /// Exposes details about the entity's Nature /// -public interface INature +public interface INature : INatureReadOnly { /// /// Nature the entity has. /// - int Nature { get; set; } + new int Nature { get; set; } } diff --git a/PKHeX.Core/PKM/Interfaces/IScaledSize.cs b/PKHeX.Core/PKM/Interfaces/IScaledSize.cs index a1cc68385..a0606969b 100644 --- a/PKHeX.Core/PKM/Interfaces/IScaledSize.cs +++ b/PKHeX.Core/PKM/Interfaces/IScaledSize.cs @@ -3,10 +3,18 @@ namespace PKHeX.Core; /// /// Stores scalars that range from 0-255. /// -public interface IScaledSize +public interface IScaledSize : IScaledSizeReadOnly { - byte WeightScalar { get; set; } - byte HeightScalar { get; set; } + new byte WeightScalar { get; set; } + new byte HeightScalar { get; set; } +} + +/// +/// Stores scalars that range from 0-255. +/// +public interface IScaledSize3 +{ + byte Scale { get; set; } } /// diff --git a/PKHeX.Core/PKM/Interfaces/IShadowPKM.cs b/PKHeX.Core/PKM/Interfaces/IShadowCapture.cs similarity index 90% rename from PKHeX.Core/PKM/Interfaces/IShadowPKM.cs rename to PKHeX.Core/PKM/Interfaces/IShadowCapture.cs index 8edef5fd8..27065248b 100644 --- a/PKHeX.Core/PKM/Interfaces/IShadowPKM.cs +++ b/PKHeX.Core/PKM/Interfaces/IShadowCapture.cs @@ -4,7 +4,7 @@ namespace PKHeX.Core; /// Interface that exposes Shadow details for the object. /// /// Used only for Colosseum/XD that were shadow encounters. -public interface IShadowPKM +public interface IShadowCapture { ushort ShadowID { get; set; } int Purification { get; set; } diff --git a/PKHeX.Core/PKM/Interfaces/ITechRecord8.cs b/PKHeX.Core/PKM/Interfaces/ITechRecord.cs similarity index 72% rename from PKHeX.Core/PKM/Interfaces/ITechRecord8.cs rename to PKHeX.Core/PKM/Interfaces/ITechRecord.cs index f74ebbec7..e3ef7002a 100644 --- a/PKHeX.Core/PKM/Interfaces/ITechRecord8.cs +++ b/PKHeX.Core/PKM/Interfaces/ITechRecord.cs @@ -3,9 +3,9 @@ namespace PKHeX.Core; /// -/// Exposes info about the Technical Record (TR) compatibility and history of use in Sword/Shield. +/// Exposes info about the Technical Machine / Technical Record (TR) compatibility and history of use. /// -public interface ITechRecord8 +public interface ITechRecord { /// /// Individual accessed indexes indicate if they can be learned. @@ -17,6 +17,16 @@ public interface ITechRecord8 /// ReadOnlySpan TechRecordPermitIndexes { get; } + /// + /// Maximum count of record flags that are available. + /// + int RecordCountTotal { get; } + + /// + /// Maximum count of record flags that are used. + /// + int RecordCountUsed { get; } + /// /// Indicates if the TR has been previously used on this entity to learn the move. /// diff --git a/PKHeX.Core/PKM/Interfaces/ITeraType.cs b/PKHeX.Core/PKM/Interfaces/ITeraType.cs new file mode 100644 index 000000000..2172af6b4 --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/ITeraType.cs @@ -0,0 +1,89 @@ +namespace PKHeX.Core; + +/// +/// Interface that exposes an indication of the Pokémon's Tera Type. +/// +public interface ITeraType : ITeraTypeReadOnly +{ + /// Tera Type value the entity is originally encountered with. + MoveType TeraTypeOriginal { get; set; } + /// If the type was modified, this value will indicate accordingly. + MoveType TeraTypeOverride { get; set; } +} + +public interface ITeraTypeReadOnly +{ + /// Elemental type the Pokémon's Tera Type is. + MoveType TeraType { get; } +} + +/// +/// Logic for interacting with Tera Types. +/// +public static class TeraTypeUtil +{ + /// + /// Magic value to indicate that a Tera Type has not been overriden from the original value. + /// + public const byte OverrideNone = 19; + + /// + /// Max amount of Tera Types possible. Range is [0,17]. + /// + public const byte MaxType = 17; + + /// + /// For out of range values, we fall back to this Tera Type. + /// + private const MoveType Fallback = MoveType.Normal; + + /// + /// Calculates the effective Tera Type based on the inputs. + /// + /// Entity to calculate for. + public static MoveType GetTeraType(this ITeraType t) + { + return GetTeraType((byte)t.TeraTypeOriginal, (byte)t.TeraTypeOverride); + } + + /// + /// Calculates the effective Tera Type based on the inputs. + /// + /// Unmodified Tera Type value initially encountered with. + /// If the type was modified, this value will indicate accordingly. + public static MoveType GetTeraType(byte original, byte @override) + { + if (@override <= MaxType) + return (MoveType)@override; + if (@override != OverrideNone) + return Fallback; // 18 or out of range. + + if (original <= MaxType) + return (MoveType)original; + return Fallback; // out of range. + } + + /// + /// Applies a new Tera Type value to the entity. + /// + /// Entity to set the value to. + /// Value to update with. + public static void SetTeraType(this ITeraType t, MoveType type) + { + if ((byte)type > MaxType) + type = Fallback; + + var original = t.TeraTypeOriginal; + if (original == type) + t.TeraTypeOverride = (MoveType)OverrideNone; + else + t.TeraTypeOverride = type; + } + + /// + /// Applies a new Tera Type value to the entity. + /// + /// Entity to set the value to. + /// Value to update with. + public static void SetTeraType(this ITeraType t, byte type) => t.SetTeraType((MoveType)type); +} diff --git a/PKHeX.Core/PKM/Interfaces/Metadata/IGameValueLimit.cs b/PKHeX.Core/PKM/Interfaces/Metadata/IGameValueLimit.cs new file mode 100644 index 000000000..ef510d76f --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Metadata/IGameValueLimit.cs @@ -0,0 +1,62 @@ +namespace PKHeX.Core; + +/// +/// Metadata indicating the maximums (and minimums) a type of value can be. +/// +public interface IGameValueLimit +{ + /// + /// Maximum species ID value that can exist. + /// + ushort MaxSpeciesID { get; } + + /// + /// Maximum move ID value that can exist. + /// + ushort MaxMoveID { get; } + + /// + /// Maximum item ID value that can exist. + /// + int MaxItemID { get; } + + /// + /// Maximum ability ID value that can exist. + /// + int MaxAbilityID { get; } + + /// + /// Maximum ball ID value that can exist. + /// + int MaxBallID { get; } + + /// + /// Maximum Version ID value that can exist. + /// + int MaxGameID { get; } + + /// + /// Minimum Version ID value that can exist. + /// + int MinGameID { get; } + + /// + /// Maximum IV value that is possible. + /// + int MaxIV { get; } + + /// + /// Minimum IV value that is possible. + /// + int MaxEV { get; } + + /// + /// Maximum length of a string field for a Trainer Name. + /// + int MaxStringLengthOT { get; } + + /// + /// Maximum length of a string field for a Pokémon Nickname. + /// + int MaxStringLengthNickname { get; } +} diff --git a/PKHeX.Core/PKM/Interfaces/IGeneration.cs b/PKHeX.Core/PKM/Interfaces/Metadata/IGeneration.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/IGeneration.cs rename to PKHeX.Core/PKM/Interfaces/Metadata/IGeneration.cs diff --git a/PKHeX.Core/PKM/Interfaces/ILangNick.cs b/PKHeX.Core/PKM/Interfaces/Metadata/ILangNick.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/ILangNick.cs rename to PKHeX.Core/PKM/Interfaces/Metadata/ILangNick.cs diff --git a/PKHeX.Core/PKM/Interfaces/IShiny.cs b/PKHeX.Core/PKM/Interfaces/Metadata/IShiny.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/IShiny.cs rename to PKHeX.Core/PKM/Interfaces/Metadata/IShiny.cs diff --git a/PKHeX.Core/PKM/Interfaces/ISpeciesForm.cs b/PKHeX.Core/PKM/Interfaces/Metadata/ISpeciesForm.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/ISpeciesForm.cs rename to PKHeX.Core/PKM/Interfaces/Metadata/ISpeciesForm.cs diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IAlphaReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IAlphaReadOnly.cs new file mode 100644 index 000000000..a13730877 --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IAlphaReadOnly.cs @@ -0,0 +1,9 @@ +namespace PKHeX.Core; + +/// +/// Interface that exposes an indication if the Pokémon is an alpha Pokémon. +/// +public interface IAlphaReadOnly +{ + bool IsAlpha { get; } +} diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IContestStatsReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IContestStatsReadOnly.cs new file mode 100644 index 000000000..f7bd47f33 --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IContestStatsReadOnly.cs @@ -0,0 +1,108 @@ +namespace PKHeX.Core; + +/// +/// Exposes contest stat value retrieval. +/// +public interface IContestStatsReadOnly +{ + byte CNT_Cool { get; } + byte CNT_Beauty { get; } + byte CNT_Cute { get; } + byte CNT_Smart { get; } + byte CNT_Tough { get; } + byte CNT_Sheen { get; } +} + +public static partial class Extensions +{ + /// + /// Checks if any contest stat value is nonzero. + /// + /// Object containing contest stat data. + /// True if has any nonzero contest stat, false if all are zero. + public static bool HasContestStats(this IContestStatsReadOnly stats) + { + if (stats.CNT_Cool != 0) + return true; + if (stats.CNT_Beauty != 0) + return true; + if (stats.CNT_Cute != 0) + return true; + if (stats.CNT_Smart != 0) + return true; + if (stats.CNT_Tough != 0) + return true; + if (stats.CNT_Sheen != 0) + return true; + return false; + } + + public static bool IsContestBelow(this IContestStatsReadOnly current, IContestStatsReadOnly initial) => !current.IsContestAboveOrEqual(initial); + + public static bool IsContestAboveOrEqual(this IContestStatsReadOnly current, IContestStatsReadOnly initial) + { + if (current.CNT_Cool < initial.CNT_Cool) + return false; + if (current.CNT_Beauty < initial.CNT_Beauty) + return false; + if (current.CNT_Cute < initial.CNT_Cute) + return false; + if (current.CNT_Smart < initial.CNT_Smart) + return false; + if (current.CNT_Tough < initial.CNT_Tough) + return false; + if (current.CNT_Sheen < initial.CNT_Sheen) + return false; + return true; + } + + public static bool IsContestEqual(this IContestStatsReadOnly current, IContestStatsReadOnly initial) + { + if (current.CNT_Cool != initial.CNT_Cool) + return false; + if (current.CNT_Beauty != initial.CNT_Beauty) + return false; + if (current.CNT_Cute != initial.CNT_Cute) + return false; + if (current.CNT_Smart != initial.CNT_Smart) + return false; + if (current.CNT_Tough != initial.CNT_Tough) + return false; + if (current.CNT_Sheen != initial.CNT_Sheen) + return false; + return true; + } + + public static void CopyContestStatsTo(this IContestStatsReadOnly source, IContestStats dest) + { + dest.CNT_Cool = source.CNT_Cool; + dest.CNT_Beauty = source.CNT_Beauty; + dest.CNT_Cute = source.CNT_Cute; + dest.CNT_Smart = source.CNT_Smart; + dest.CNT_Tough = source.CNT_Tough; + dest.CNT_Sheen = source.CNT_Sheen; + } + + public static void SetAllContestStatsTo(this IContestStats dest, byte value, byte sheen) + { + dest.CNT_Cool = value; + dest.CNT_Beauty = value; + dest.CNT_Cute = value; + dest.CNT_Smart = value; + dest.CNT_Tough = value; + dest.CNT_Sheen = sheen; + } + + private const byte CONTEST_MAX = 255; + + /// + /// Check if any contest stat besides is equal to . + /// + /// Entity to check + /// True if any equals + public static bool IsAnyContestStatMax(this IContestStatsReadOnly s) => CONTEST_MAX == s.CNT_Cool + || CONTEST_MAX == s.CNT_Beauty + || CONTEST_MAX == s.CNT_Cute + || CONTEST_MAX == s.CNT_Smart + || CONTEST_MAX == s.CNT_Tough; +} diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IDynamaxLevelReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IDynamaxLevelReadOnly.cs new file mode 100644 index 000000000..578355c7f --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IDynamaxLevelReadOnly.cs @@ -0,0 +1,34 @@ +using static PKHeX.Core.Species; + +namespace PKHeX.Core; + +public interface IDynamaxLevelReadOnly +{ + /// + /// Dynamax Level used by format entity data. + /// + byte DynamaxLevel { get; } +} + +public static class DynamaxLevelExtensions +{ + /// + /// Checks if the species is allowed to have a non-zero value for . + /// + public static bool CanHaveDynamaxLevel(this IDynamaxLevelReadOnly _, PKM pk) + { + if (pk.IsEgg) + return false; + return pk is PK8 && CanHaveDynamaxLevel(pk.Species); + } + + public static byte GetSuggestedDynamaxLevel(this IDynamaxLevelReadOnly _, PKM pk, byte requested = 10) => _.CanHaveDynamaxLevel(pk) ? requested : (byte)0; + + /// + /// Checks if the species is prevented from gaining any via candy in . + /// + private static bool CanHaveDynamaxLevel(ushort species) + { + return species is not ((int)Zacian or (int)Zamazenta or (int)Eternatus); + } +} diff --git a/PKHeX.Core/PKM/Interfaces/IFixedOTFriendship.cs b/PKHeX.Core/PKM/Interfaces/Templates/IFixedOTFriendship.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/IFixedOTFriendship.cs rename to PKHeX.Core/PKM/Interfaces/Templates/IFixedOTFriendship.cs diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IGigantamaxReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IGigantamaxReadOnly.cs new file mode 100644 index 000000000..1c9c579b0 --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IGigantamaxReadOnly.cs @@ -0,0 +1,82 @@ +using System.Collections.Generic; + +namespace PKHeX.Core; + +public interface IGigantamaxReadOnly +{ + /// + /// Indicates if the Pokémon is capable of Gigantamax as opposed to regular Dynamax. + /// + bool CanGigantamax { get; } +} + +public static class GigantamaxExtensions +{ + /// + /// Checks if either of the input Species can consume the Gigantamax soup, toggling the flag. + /// + /// Unnecessary, just needed for extension method usage. + /// The current species + /// The current form of the species + /// The original species (what species it was encountered as) + /// The original form of the original species + /// True if either species can toggle Gigantamax potential + public static bool CanToggleGigantamax(this IGigantamaxReadOnly _, ushort currentSpecies, byte currentForm, ushort originSpecies, byte originForm) + { + if (currentSpecies is (int)Species.Meowth or (int)Species.Pikachu) + return currentForm == 0; + + var soup = CanEatMaxSoup; + return soup.Contains(currentSpecies) || (currentSpecies != originSpecies && soup.Contains(originSpecies)); + } + + /// + /// Don't use this method. Use the other overload with multi-species input. + /// + /// Unnecessary, just needed for extension method usage. + /// The current species + /// The current form of the species + /// True if the species can toggle Gigantamax potential + public static bool CanToggleGigantamax(this IGigantamaxReadOnly _, ushort currentSpecies, byte currentForm) + { + if (currentSpecies is (int)Species.Meowth or (int)Species.Pikachu) + return currentForm == 0; + var soup = CanEatMaxSoup; + return soup.Contains(currentSpecies); + } + + private static readonly HashSet CanEatMaxSoup = new() + { + (int)Species.Venusaur, + (int)Species.Charizard, + (int)Species.Blastoise, + (int)Species.Butterfree, + (int)Species.Pikachu, + (int)Species.Meowth, + (int)Species.Machamp, + (int)Species.Gengar, + (int)Species.Lapras, + (int)Species.Eevee, + (int)Species.Snorlax, + (int)Species.Garbodor, + (int)Species.Rillaboom, + (int)Species.Cinderace, + (int)Species.Inteleon, + (int)Species.Drednaw, + (int)Species.Corviknight, + (int)Species.Toxtricity, + (int)Species.Alcremie, + (int)Species.Duraludon, + (int)Species.Orbeetle, + (int)Species.Coalossal, + (int)Species.Sandaconda, + (int)Species.Grimmsnarl, + (int)Species.Flapple, + (int)Species.Appletun, + (int)Species.Hatterene, + (int)Species.Copperajah, + (int)Species.Kingler, + (int)Species.Centiskorch, + (int)Species.Urshifu, + }; +} diff --git a/PKHeX.Core/PKM/Interfaces/ILangNicknamedTemplate.cs b/PKHeX.Core/PKM/Interfaces/Templates/ILangNicknamedTemplate.cs similarity index 100% rename from PKHeX.Core/PKM/Interfaces/ILangNicknamedTemplate.cs rename to PKHeX.Core/PKM/Interfaces/Templates/ILangNicknamedTemplate.cs diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IMemoryOTReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IMemoryOTReadOnly.cs new file mode 100644 index 000000000..cbae5ca59 --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IMemoryOTReadOnly.cs @@ -0,0 +1,9 @@ +namespace PKHeX.Core; + +public interface IMemoryOTReadOnly +{ + byte OT_Memory { get; } + byte OT_Intensity { get; } + byte OT_Feeling { get; } + ushort OT_TextVar { get; } +} diff --git a/PKHeX.Core/PKM/Interfaces/Templates/INatureReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/INatureReadOnly.cs new file mode 100644 index 000000000..eb126f5bf --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/INatureReadOnly.cs @@ -0,0 +1,12 @@ +namespace PKHeX.Core; + +/// +/// Exposes details about the entity's Nature +/// +public interface INatureReadOnly +{ + /// + /// Nature the entity has. + /// + int Nature { get; } +} diff --git a/PKHeX.Core/PKM/Interfaces/Templates/IScaledSizeReadOnly.cs b/PKHeX.Core/PKM/Interfaces/Templates/IScaledSizeReadOnly.cs new file mode 100644 index 000000000..1cc41345f --- /dev/null +++ b/PKHeX.Core/PKM/Interfaces/Templates/IScaledSizeReadOnly.cs @@ -0,0 +1,10 @@ +namespace PKHeX.Core; + +/// +/// Stores scalars that range from 0-255. +/// +public interface IScaledSizeReadOnly +{ + byte WeightScalar { get; } + byte HeightScalar { get; } +} diff --git a/PKHeX.Core/PKM/PA8.cs b/PKHeX.Core/PKM/PA8.cs index 03aee266e..5f11a5e0c 100644 --- a/PKHeX.Core/PKM/PA8.cs +++ b/PKHeX.Core/PKM/PA8.cs @@ -7,14 +7,14 @@ namespace PKHeX.Core; /// Generation 8 format. public sealed class PA8 : PKM, ISanityChecksum, IMoveReset, - IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetAffixed, IGanbaru, IAlpha, INoble, ITechRecord8, ISociability, IMoveShop8Mastery, - IContestStats, IContestStatsMutable, IHyperTrain, IScaledSizeValue, IGigantamax, IFavorite, IDynamaxLevel, IRibbonIndex, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetAffixed, IGanbaru, IAlpha, INoble, ITechRecord, ISociability, IMoveShop8Mastery, + IContestStats, IHyperTrain, IScaledSizeValue, IScaledSize3, IGigantamax, IFavorite, IDynamaxLevel, IRibbonIndex, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories { private static readonly ushort[] Unused = { 0x17, 0x1A, 0x1B, 0x23, 0x33, 0x4C, 0x4D, 0x4E, 0x4F, - 0x52, 0x53, + 0x53, 0xA0, 0xA1, 0xA2, 0xA3, 0xAA, 0xAB, 0xB4, 0xB5, 0xB6, 0xB7, @@ -61,6 +61,8 @@ private ushort CalculateChecksum() public ReadOnlySpan TechRecordPermitIndexes => LearnSource8SWSH.TR_SWSH.AsSpan(); public ReadOnlySpan MoveShopPermitFlags => PersonalInfo.SpecialTutors[0]; public ReadOnlySpan MoveShopPermitIndexes => Legal.MoveShop8_LA; + public int RecordCountTotal => 112; + public int RecordCountUsed => 0; public override int CurrentFriendship { @@ -79,8 +81,8 @@ public override int CurrentFriendship // Maximums public override int MaxIV => 31; public override int MaxEV => 252; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override int PSV => (int)(((PID >> 16) ^ (PID & 0xFFFF)) >> 4); public override int TSV => (TID ^ SID) >> 4; @@ -149,7 +151,7 @@ public void FixRelearn() public override uint EXP { get => ReadUInt32LittleEndian(Data.AsSpan(0x10)); set => WriteUInt32LittleEndian(Data.AsSpan(0x10), value); } public override int Ability { get => ReadUInt16LittleEndian(Data.AsSpan(0x14)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14), (ushort)value); } public override int AbilityNumber { get => Data[0x16] & 7; set => Data[0x16] = (byte)((Data[0x16] & ~7) | (value & 7)); } - public bool Favorite { get => (Data[0x16] & 8) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~8) | ((value ? 1 : 0) << 3)); } // unused, was in LGPE but not in SWSH + public bool IsFavorite { get => (Data[0x16] & 8) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~8) | ((value ? 1 : 0) << 3)); } // unused, was in LGPE but not in SWSH public bool CanGigantamax { get => (Data[0x16] & 16) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~16) | (value ? 16 : 0)); } public bool IsAlpha { get => (Data[0x16] & 32) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~32) | ((value ? 1 : 0) << 5)); } public bool IsNoble { get => (Data[0x16] & 64) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~64) | ((value ? 1 : 0) << 6)); } @@ -301,7 +303,7 @@ public void FixRelearn() public bool RibbonMarkVigor { get => FlagUtil.GetFlag(Data, 0x44, 0); set => FlagUtil.SetFlag(Data, 0x44, 0, value); } public bool RibbonMarkSlump { get => FlagUtil.GetFlag(Data, 0x44, 1); set => FlagUtil.SetFlag(Data, 0x44, 1, value); } - public bool RibbonPioneer { get => FlagUtil.GetFlag(Data, 0x44, 2); set => FlagUtil.SetFlag(Data, 0x44, 2, value); } + public bool RibbonHisui { get => FlagUtil.GetFlag(Data, 0x44, 2); set => FlagUtil.SetFlag(Data, 0x44, 2, value); } public bool RibbonTwinklingStar { get => FlagUtil.GetFlag(Data, 0x44, 3); set => FlagUtil.SetFlag(Data, 0x44, 3, value); } public bool RIB44_4 { get => FlagUtil.GetFlag(Data, 0x44, 4); set => FlagUtil.SetFlag(Data, 0x44, 4, value); } public bool RIB44_5 { get => FlagUtil.GetFlag(Data, 0x44, 5); set => FlagUtil.SetFlag(Data, 0x44, 5, value); } @@ -317,7 +319,7 @@ public void FixRelearn() public bool RIB45_6 { get => FlagUtil.GetFlag(Data, 0x45, 6); set => FlagUtil.SetFlag(Data, 0x45, 6, value); } public bool RIB45_7 { get => FlagUtil.GetFlag(Data, 0x45, 7); set => FlagUtil.SetFlag(Data, 0x45, 7, value); } - public bool RIB46_0 { get => FlagUtil.GetFlag(Data, 0x41, 0); set => FlagUtil.SetFlag(Data, 0x41, 0, value); } + public bool RIB46_0 { get => FlagUtil.GetFlag(Data, 0x46, 0); set => FlagUtil.SetFlag(Data, 0x46, 0, value); } public bool RIB46_1 { get => FlagUtil.GetFlag(Data, 0x46, 1); set => FlagUtil.SetFlag(Data, 0x46, 1, value); } public bool RIB46_2 { get => FlagUtil.GetFlag(Data, 0x46, 2); set => FlagUtil.SetFlag(Data, 0x46, 2, value); } public bool RIB46_3 { get => FlagUtil.GetFlag(Data, 0x46, 3); set => FlagUtil.SetFlag(Data, 0x46, 3, value); } @@ -351,7 +353,7 @@ public bool HasMark() public byte HeightScalar { get => Data[0x50]; set => Data[0x50] = value; } public byte WeightScalar { get => Data[0x51]; set => Data[0x51] = value; } - public byte HeightScalarCopy { get => Data[0x52]; set => Data[0x52] = value; } + public byte Scale { get => Data[0x52]; set => Data[0x52] = value; } // 0x53 unused @@ -1018,7 +1020,7 @@ private T ConvertTo() where T : G8PKM, new() RibbonMarkThorny = RibbonMarkThorny, RibbonMarkVigor = RibbonMarkVigor, RibbonMarkSlump = RibbonMarkSlump, - RibbonPioneer = RibbonPioneer, + RibbonHisui = RibbonHisui, RibbonTwinklingStar = RibbonTwinklingStar, AffixedRibbon = AffixedRibbon, @@ -1035,7 +1037,7 @@ private T ConvertTo() where T : G8PKM, new() CanGigantamax = CanGigantamax, DynamaxLevel = DynamaxLevel, - Favorite = Favorite, + IsFavorite = IsFavorite, MarkValue = MarkValue, }; @@ -1051,7 +1053,7 @@ private T ConvertTo() where T : G8PKM, new() public void SanitizeImport() { - HeightScalarCopy = HeightScalar; + Scale = HeightScalar; ResetHeight(); ResetWeight(); } @@ -1068,4 +1070,10 @@ public void ResetMoves() SetMoves(moves); this.SetMaximumPPCurrent(moves); } + + public PK9 ConvertToPK9() + { + // Todo: Transfer to PK9 + return new PK9(); + } } diff --git a/PKHeX.Core/PKM/PB7.cs b/PKHeX.Core/PKM/PB7.cs index d7584dbce..ec71bb474 100644 --- a/PKHeX.Core/PKM/PB7.cs +++ b/PKHeX.Core/PKM/PB7.cs @@ -94,7 +94,7 @@ public override uint EXP public override int Ability { get => Data[0x14]; set => Data[0x14] = (byte)value; } public override int AbilityNumber { get => Data[0x15] & 7; set => Data[0x15] = (byte)((Data[0x15] & ~7) | (value & 7)); } - public bool Favorite { get => (Data[0x15] & 8) != 0; set => Data[0x15] = (byte)((Data[0x15] & ~8) | ((value ? 1 : 0) << 3)); } + public bool IsFavorite { get => (Data[0x15] & 8) != 0; set => Data[0x15] = (byte)((Data[0x15] & ~8) | ((value ? 1 : 0) << 3)); } public override int MarkValue { get => ReadUInt16LittleEndian(Data.AsSpan(0x16)); set => WriteUInt16LittleEndian(Data.AsSpan(0x16), (ushort)value); } public override uint PID @@ -670,7 +670,7 @@ public PK8 ConvertToPK8() HeightScalar = HeightScalar, WeightScalar = WeightScalar, - Favorite = Favorite, + IsFavorite = IsFavorite, }; // Fix PP and Stats diff --git a/PKHeX.Core/PKM/PB8.cs b/PKHeX.Core/PKM/PB8.cs index b17b687a3..2866bd68b 100644 --- a/PKHeX.Core/PKM/PB8.cs +++ b/PKHeX.Core/PKM/PB8.cs @@ -158,4 +158,10 @@ public override void ResetMoves() SetMoves(moves); this.SetMaximumPPCurrent(moves); } + + public PK9 ConvertToPK9() + { + // Todo: Transfer to PK9 + return new PK9(); + } } diff --git a/PKHeX.Core/PKM/PK1.cs b/PKHeX.Core/PKM/PK1.cs index 90b9fe92c..d8181061f 100644 --- a/PKHeX.Core/PKM/PK1.cs +++ b/PKHeX.Core/PKM/PK1.cs @@ -5,7 +5,7 @@ namespace PKHeX.Core; /// Generation 1 format. -public sealed class PK1 : GBPKML +public sealed class PK1 : GBPKML, IPersonalType { public override PersonalInfo PersonalInfo => PersonalTable.Y[Species]; @@ -43,8 +43,8 @@ public override PKM Clone() public override int Stat_HPCurrent { get => ReadUInt16BigEndian(Data.AsSpan(0x1)); set => WriteUInt16BigEndian(Data.AsSpan(0x1), (ushort)value); } public int Stat_LevelBox { get => Data[3]; set => Data[3] = (byte)value; } public override int Status_Condition { get => Data[4]; set => Data[4] = (byte)value; } - public int Type_A { get => Data[5]; set => Data[5] = (byte)value; } - public int Type_B { get => Data[6]; set => Data[6] = (byte)value; } + public byte Type1 { get => Data[5]; set => Data[5] = value; } + public byte Type2 { get => Data[6]; set => Data[6] = value; } public byte Catch_Rate { get => Data[7]; set => Data[7] = value; } public override ushort Move1 { get => Data[8]; set => Data[8] = (byte)value; } public override ushort Move2 { get => Data[9]; set => Data[9] = (byte)value; } @@ -101,8 +101,8 @@ private void SetSpeciesValues(ushort value) SpeciesID1 = updated; var pi = PersonalTable.RB[value]; - Type_A = pi.Type1; - Type_B = pi.Type2; + Type1 = pi.Type1; + Type2 = pi.Type2; // Before updating catch rate, check if non-standard if (IsValidCatchRateAnyPreEvo((byte)value, Catch_Rate)) diff --git a/PKHeX.Core/PKM/PK2.cs b/PKHeX.Core/PKM/PK2.cs index 8339e98ea..f38858196 100644 --- a/PKHeX.Core/PKM/PK2.cs +++ b/PKHeX.Core/PKM/PK2.cs @@ -164,7 +164,6 @@ public PK7 ConvertToPK7() }; RecentTrainerCache.SetConsoleRegionData3DS(pk7); RecentTrainerCache.SetFirstCountryRegion(pk7); - pk7.HealPP(); var lang = TransferLanguage(RecentTrainerCache.Language); pk7.Language = lang; pk7.Nickname = SpeciesName.GetSpeciesNameGeneration(pk7.Species, lang, pk7.Format); @@ -219,6 +218,7 @@ public PK7 ConvertToPK7() pk7.SetMove(index, 0); pk7.FixMoves(); } + pk7.HealPP(); } pk7.RefreshChecksum(); diff --git a/PKHeX.Core/PKM/PK5.cs b/PKHeX.Core/PKM/PK5.cs index 6f3ccf7ce..abdf43650 100644 --- a/PKHeX.Core/PKM/PK5.cs +++ b/PKHeX.Core/PKM/PK5.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// Generation 5 format. public sealed class PK5 : PKM, ISanityChecksum, IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetUnique3, IRibbonSetUnique4, IRibbonSetCommon3, IRibbonSetCommon4, - IContestStats, IContestStatsMutable, IGroundTile + IContestStats, IGroundTile { private static readonly ushort[] Unused = { @@ -299,8 +299,8 @@ public override int Characteristic public override int MaxGameID => Legal.MaxGameID_5; // B2 public override int MaxIV => 31; public override int MaxEV => 255; - public override int OTLength => 7; - public override int NickLength => 10; + public override int MaxStringLengthOT => 7; + public override int MaxStringLengthNickname => 10; // Methods protected override byte[] Encrypt() diff --git a/PKHeX.Core/PKM/PK6.cs b/PKHeX.Core/PKM/PK6.cs index ec347dcf6..93ddde280 100644 --- a/PKHeX.Core/PKM/PK6.cs +++ b/PKHeX.Core/PKM/PK6.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// Generation 6 format. public sealed class PK6 : G6PKM, IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, - IContestStats, IContestStatsMutable, IGeoTrack, ISuperTrain, IFormArgument, ITrainerMemories, IAffection, IGroundTile + IContestStats, IGeoTrack, ISuperTrain, IFormArgument, ITrainerMemories, IAffection, IGroundTile { private static readonly ushort[] Unused = { diff --git a/PKHeX.Core/PKM/PK7.cs b/PKHeX.Core/PKM/PK7.cs index 6e0a7419d..fe47c7f10 100644 --- a/PKHeX.Core/PKM/PK7.cs +++ b/PKHeX.Core/PKM/PK7.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// Generation 7 format. public sealed class PK7 : G6PKM, IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, - IContestStats, IContestStatsMutable, IHyperTrain, IGeoTrack, ISuperTrain, IFormArgument, ITrainerMemories, IAffection + IContestStats, IHyperTrain, IGeoTrack, ISuperTrain, IFormArgument, ITrainerMemories, IAffection { private static readonly ushort[] Unused = { diff --git a/PKHeX.Core/PKM/PK8.cs b/PKHeX.Core/PKM/PK8.cs index 07d823360..eae5ffda5 100644 --- a/PKHeX.Core/PKM/PK8.cs +++ b/PKHeX.Core/PKM/PK8.cs @@ -18,7 +18,7 @@ public sealed class PK8 : G8PKM 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xC5, - 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, // Pokejob 0xE0, 0xE1, // Old Console Region / Region 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0x115, 0x11F, // Alignment @@ -192,4 +192,10 @@ public void SanitizeImport() if (Ball > (int)Core.Ball.Beast) Ball = (int)Core.Ball.Poke; } + + public PK9 ConvertToPK9() + { + // Todo: Transfer to PK9 + return new PK9(); + } } diff --git a/PKHeX.Core/PKM/PK9.cs b/PKHeX.Core/PKM/PK9.cs new file mode 100644 index 000000000..f88a9d6e4 --- /dev/null +++ b/PKHeX.Core/PKM/PK9.cs @@ -0,0 +1,633 @@ +using System; +using System.Collections.Generic; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// Generation 9 format. +public sealed class PK9 : PKM, ISanityChecksum, ITeraType, IMoveReset, ITechRecord, IObedienceLevel, + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetAffixed, IRibbonSetCommon9, IRibbonSetMark9, + IContestStats, IHyperTrain, IScaledSize, IScaledSize3, IFavorite, IRibbonIndex, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories +{ + private static readonly ushort[] Unused = + { + 0x17, + 0x1A, 0x1B, + 0x23, + 0x33, + 0x3E, 0x3F, + 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, + 0x90, 0x91, 0x92, 0x93, // Status condition + 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, + 0xC5, + 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, + 0x115, + }; + + public override IReadOnlyList ExtraBytes => Unused; + public override PersonalInfo PersonalInfo => PersonalTable.SV.GetFormEntry(Species, Form); + public override bool IsNative => SWSH; + public override EntityContext Context => EntityContext.Gen9; + + public PK9() : base(PokeCrypto.SIZE_9PARTY) + { + // 00 would make it show Kalos Champion :) + AffixedRibbon = -1; + TeraTypeOverride = (MoveType)19; + } + + public PK9(byte[] data) : base(DecryptParty(data)) { } + public override PKM Clone() => new PK9((byte[])Data.Clone()); + + private static byte[] DecryptParty(byte[] data) + { + PokeCrypto.DecryptIfEncrypted9(ref data); + Array.Resize(ref data, PokeCrypto.SIZE_9PARTY); + return data; + } + + private ushort CalculateChecksum() + { + ushort chk = 0; + for (int i = 8; i < PokeCrypto.SIZE_9STORED; i += 2) + chk += ReadUInt16LittleEndian(Data.AsSpan(i)); + return chk; + } + + // Simple Generated Attributes + public override int CurrentFriendship + { + get => CurrentHandler == 0 ? OT_Friendship : HT_Friendship; + set { if (CurrentHandler == 0) OT_Friendship = value; else HT_Friendship = value; } + } + + public override int SIZE_PARTY => PokeCrypto.SIZE_9PARTY; + public override int SIZE_STORED => PokeCrypto.SIZE_9STORED; + + public override bool ChecksumValid => CalculateChecksum() == Checksum; + public override void RefreshChecksum() => Checksum = CalculateChecksum(); + public override bool Valid { get => Sanity == 0 && ChecksumValid; set { if (!value) return; Sanity = 0; RefreshChecksum(); } } + + // Trash Bytes + public override Span Nickname_Trash => Data.AsSpan(0x58, 26); + public override Span HT_Trash => Data.AsSpan(0xA8, 26); + public override Span OT_Trash => Data.AsSpan(0xF8, 26); + + // Maximums + public override int MaxIV => 31; + public override int MaxEV => 252; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; + + public override int PSV => (int)(((PID >> 16) ^ (PID & 0xFFFF)) >> 4); + public override int TSV => (TID ^ SID) >> 4; + public override bool IsUntraded => Data[0xA8] == 0 && Data[0xA8 + 1] == 0 && (IsUnhatchedEgg || Format == Generation); // immediately terminated HT_Name data (\0) + public bool IsUnhatchedEgg => Version == 0 && IsEgg; + + // Complex Generated Attributes + public override int Characteristic + { + get + { + int pm6 = (int)(EncryptionConstant % 6); + int maxIV = MaximumIV; + int pm6stat = 0; + for (int i = 0; i < 6; i++) + { + pm6stat = (pm6 + i) % 6; + if (GetIV(pm6stat) == maxIV) + break; + } + return (pm6stat * 5) + (maxIV % 5); + } + } + + // Methods + protected override byte[] Encrypt() + { + RefreshChecksum(); + return PokeCrypto.EncryptArray9(Data); + } + + public void FixRelearn() + { + while (true) + { + if (RelearnMove4 != 0 && RelearnMove3 == 0) + { + RelearnMove3 = RelearnMove4; + RelearnMove4 = 0; + } + if (RelearnMove3 != 0 && RelearnMove2 == 0) + { + RelearnMove2 = RelearnMove3; + RelearnMove3 = 0; + continue; + } + if (RelearnMove2 != 0 && RelearnMove1 == 0) + { + RelearnMove1 = RelearnMove2; + RelearnMove2 = 0; + continue; + } + break; + } + } + + public override uint EncryptionConstant { get => ReadUInt32LittleEndian(Data.AsSpan(0x00)); set => WriteUInt32LittleEndian(Data.AsSpan(0x00), value); } + public ushort Sanity { get => ReadUInt16LittleEndian(Data.AsSpan(0x04)); set => WriteUInt16LittleEndian(Data.AsSpan(0x04), value); } + public ushort Checksum { get => ReadUInt16LittleEndian(Data.AsSpan(0x06)); set => WriteUInt16LittleEndian(Data.AsSpan(0x06), value); } + + // Structure + #region Block A + public override ushort Species { get => ReadUInt16LittleEndian(Data.AsSpan(0x08)); set => WriteUInt16LittleEndian(Data.AsSpan(0x08), value); } + public override int HeldItem { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } + public override int TID { get => ReadUInt16LittleEndian(Data.AsSpan(0x0C)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0C), (ushort)value); } + public override int SID { get => ReadUInt16LittleEndian(Data.AsSpan(0x0E)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0E), (ushort)value); } + public override uint EXP { get => ReadUInt32LittleEndian(Data.AsSpan(0x10)); set => WriteUInt32LittleEndian(Data.AsSpan(0x10), value); } + public override int Ability { get => ReadUInt16LittleEndian(Data.AsSpan(0x14)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14), (ushort)value); } + public override int AbilityNumber { get => Data[0x16] & 7; set => Data[0x16] = (byte)((Data[0x16] & ~7) | (value & 7)); } + public bool IsFavorite { get => (Data[0x16] & 8) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~8) | ((value ? 1 : 0) << 3)); } // unused, was in LGPE but not in SWSH + // 0x17 alignment unused + public override int MarkValue { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } + // 0x1A alignment unused + // 0x1B alignment unused + public override uint PID { get => ReadUInt32LittleEndian(Data.AsSpan(0x1C)); set => WriteUInt32LittleEndian(Data.AsSpan(0x1C), value); } + public override int Nature { get => Data[0x20]; set => Data[0x20] = (byte)value; } + public override int StatNature { get => Data[0x21]; set => Data[0x21] = (byte)value; } + public override bool FatefulEncounter { get => (Data[0x22] & 1) == 1; set => Data[0x22] = (byte)((Data[0x22] & ~0x01) | (value ? 1 : 0)); } + public override int Gender { get => (Data[0x22] >> 1) & 0x3; set => Data[0x22] = (byte)((Data[0x22] & 0xF9) | (value << 1)); } + // 0x23 alignment unused + public override byte Form { get => Data[0x24]; set => WriteUInt16LittleEndian(Data.AsSpan(0x24), value); } + public override int EV_HP { get => Data[0x26]; set => Data[0x26] = (byte)value; } + public override int EV_ATK { get => Data[0x27]; set => Data[0x27] = (byte)value; } + public override int EV_DEF { get => Data[0x28]; set => Data[0x28] = (byte)value; } + public override int EV_SPE { get => Data[0x29]; set => Data[0x29] = (byte)value; } + public override int EV_SPA { get => Data[0x2A]; set => Data[0x2A] = (byte)value; } + public override int EV_SPD { get => Data[0x2B]; set => Data[0x2B] = (byte)value; } + public byte CNT_Cool { get => Data[0x2C]; set => Data[0x2C] = value; } + public byte CNT_Beauty { get => Data[0x2D]; set => Data[0x2D] = value; } + public byte CNT_Cute { get => Data[0x2E]; set => Data[0x2E] = value; } + public byte CNT_Smart { get => Data[0x2F]; set => Data[0x2F] = value; } + public byte CNT_Tough { get => Data[0x30]; set => Data[0x30] = value; } + public byte CNT_Sheen { get => Data[0x31]; set => Data[0x31] = value; } + private byte PKRS { get => Data[0x32]; set => Data[0x32] = value; } + public override int PKRS_Days { get => PKRS & 0xF; set => PKRS = (byte)((PKRS & ~0xF) | value); } + public override int PKRS_Strain { get => PKRS >> 4; set => PKRS = (byte)((PKRS & 0xF) | (value << 4)); } + // 0x33 unused padding + + // ribbon u32 + public bool RibbonChampionKalos { get => FlagUtil.GetFlag(Data, 0x34, 0); set => FlagUtil.SetFlag(Data, 0x34, 0, value); } + public bool RibbonChampionG3 { get => FlagUtil.GetFlag(Data, 0x34, 1); set => FlagUtil.SetFlag(Data, 0x34, 1, value); } + public bool RibbonChampionSinnoh { get => FlagUtil.GetFlag(Data, 0x34, 2); set => FlagUtil.SetFlag(Data, 0x34, 2, value); } + public bool RibbonBestFriends { get => FlagUtil.GetFlag(Data, 0x34, 3); set => FlagUtil.SetFlag(Data, 0x34, 3, value); } + public bool RibbonTraining { get => FlagUtil.GetFlag(Data, 0x34, 4); set => FlagUtil.SetFlag(Data, 0x34, 4, value); } + public bool RibbonBattlerSkillful { get => FlagUtil.GetFlag(Data, 0x34, 5); set => FlagUtil.SetFlag(Data, 0x34, 5, value); } + public bool RibbonBattlerExpert { get => FlagUtil.GetFlag(Data, 0x34, 6); set => FlagUtil.SetFlag(Data, 0x34, 6, value); } + public bool RibbonEffort { get => FlagUtil.GetFlag(Data, 0x34, 7); set => FlagUtil.SetFlag(Data, 0x34, 7, value); } + + public bool RibbonAlert { get => FlagUtil.GetFlag(Data, 0x35, 0); set => FlagUtil.SetFlag(Data, 0x35, 0, value); } + public bool RibbonShock { get => FlagUtil.GetFlag(Data, 0x35, 1); set => FlagUtil.SetFlag(Data, 0x35, 1, value); } + public bool RibbonDowncast { get => FlagUtil.GetFlag(Data, 0x35, 2); set => FlagUtil.SetFlag(Data, 0x35, 2, value); } + public bool RibbonCareless { get => FlagUtil.GetFlag(Data, 0x35, 3); set => FlagUtil.SetFlag(Data, 0x35, 3, value); } + public bool RibbonRelax { get => FlagUtil.GetFlag(Data, 0x35, 4); set => FlagUtil.SetFlag(Data, 0x35, 4, value); } + public bool RibbonSnooze { get => FlagUtil.GetFlag(Data, 0x35, 5); set => FlagUtil.SetFlag(Data, 0x35, 5, value); } + public bool RibbonSmile { get => FlagUtil.GetFlag(Data, 0x35, 6); set => FlagUtil.SetFlag(Data, 0x35, 6, value); } + public bool RibbonGorgeous { get => FlagUtil.GetFlag(Data, 0x35, 7); set => FlagUtil.SetFlag(Data, 0x35, 7, value); } + + public bool RibbonRoyal { get => FlagUtil.GetFlag(Data, 0x36, 0); set => FlagUtil.SetFlag(Data, 0x36, 0, value); } + public bool RibbonGorgeousRoyal { get => FlagUtil.GetFlag(Data, 0x36, 1); set => FlagUtil.SetFlag(Data, 0x36, 1, value); } + public bool RibbonArtist { get => FlagUtil.GetFlag(Data, 0x36, 2); set => FlagUtil.SetFlag(Data, 0x36, 2, value); } + public bool RibbonFootprint { get => FlagUtil.GetFlag(Data, 0x36, 3); set => FlagUtil.SetFlag(Data, 0x36, 3, value); } + public bool RibbonRecord { get => FlagUtil.GetFlag(Data, 0x36, 4); set => FlagUtil.SetFlag(Data, 0x36, 4, value); } + public bool RibbonLegend { get => FlagUtil.GetFlag(Data, 0x36, 5); set => FlagUtil.SetFlag(Data, 0x36, 5, value); } + public bool RibbonCountry { get => FlagUtil.GetFlag(Data, 0x36, 6); set => FlagUtil.SetFlag(Data, 0x36, 6, value); } + public bool RibbonNational { get => FlagUtil.GetFlag(Data, 0x36, 7); set => FlagUtil.SetFlag(Data, 0x36, 7, value); } + + public bool RibbonEarth { get => FlagUtil.GetFlag(Data, 0x37, 0); set => FlagUtil.SetFlag(Data, 0x37, 0, value); } + public bool RibbonWorld { get => FlagUtil.GetFlag(Data, 0x37, 1); set => FlagUtil.SetFlag(Data, 0x37, 1, value); } + public bool RibbonClassic { get => FlagUtil.GetFlag(Data, 0x37, 2); set => FlagUtil.SetFlag(Data, 0x37, 2, value); } + public bool RibbonPremier { get => FlagUtil.GetFlag(Data, 0x37, 3); set => FlagUtil.SetFlag(Data, 0x37, 3, value); } + public bool RibbonEvent { get => FlagUtil.GetFlag(Data, 0x37, 4); set => FlagUtil.SetFlag(Data, 0x37, 4, value); } + public bool RibbonBirthday { get => FlagUtil.GetFlag(Data, 0x37, 5); set => FlagUtil.SetFlag(Data, 0x37, 5, value); } + public bool RibbonSpecial { get => FlagUtil.GetFlag(Data, 0x37, 6); set => FlagUtil.SetFlag(Data, 0x37, 6, value); } + public bool RibbonSouvenir { get => FlagUtil.GetFlag(Data, 0x37, 7); set => FlagUtil.SetFlag(Data, 0x37, 7, value); } + + // ribbon u32 + public bool RibbonWishing { get => FlagUtil.GetFlag(Data, 0x38, 0); set => FlagUtil.SetFlag(Data, 0x38, 0, value); } + public bool RibbonChampionBattle { get => FlagUtil.GetFlag(Data, 0x38, 1); set => FlagUtil.SetFlag(Data, 0x38, 1, value); } + public bool RibbonChampionRegional { get => FlagUtil.GetFlag(Data, 0x38, 2); set => FlagUtil.SetFlag(Data, 0x38, 2, value); } + public bool RibbonChampionNational { get => FlagUtil.GetFlag(Data, 0x38, 3); set => FlagUtil.SetFlag(Data, 0x38, 3, value); } + public bool RibbonChampionWorld { get => FlagUtil.GetFlag(Data, 0x38, 4); set => FlagUtil.SetFlag(Data, 0x38, 4, value); } + public bool HasContestMemoryRibbon { get => FlagUtil.GetFlag(Data, 0x38, 5); set => FlagUtil.SetFlag(Data, 0x38, 5, value); } + public bool HasBattleMemoryRibbon { get => FlagUtil.GetFlag(Data, 0x38, 6); set => FlagUtil.SetFlag(Data, 0x38, 6, value); } + public bool RibbonChampionG6Hoenn { get => FlagUtil.GetFlag(Data, 0x38, 7); set => FlagUtil.SetFlag(Data, 0x38, 7, value); } + + public bool RibbonContestStar { get => FlagUtil.GetFlag(Data, 0x39, 0); set => FlagUtil.SetFlag(Data, 0x39, 0, value); } + public bool RibbonMasterCoolness { get => FlagUtil.GetFlag(Data, 0x39, 1); set => FlagUtil.SetFlag(Data, 0x39, 1, value); } + public bool RibbonMasterBeauty { get => FlagUtil.GetFlag(Data, 0x39, 2); set => FlagUtil.SetFlag(Data, 0x39, 2, value); } + public bool RibbonMasterCuteness { get => FlagUtil.GetFlag(Data, 0x39, 3); set => FlagUtil.SetFlag(Data, 0x39, 3, value); } + public bool RibbonMasterCleverness { get => FlagUtil.GetFlag(Data, 0x39, 4); set => FlagUtil.SetFlag(Data, 0x39, 4, value); } + public bool RibbonMasterToughness { get => FlagUtil.GetFlag(Data, 0x39, 5); set => FlagUtil.SetFlag(Data, 0x39, 5, value); } + public bool RibbonChampionAlola { get => FlagUtil.GetFlag(Data, 0x39, 6); set => FlagUtil.SetFlag(Data, 0x39, 6, value); } + public bool RibbonBattleRoyale { get => FlagUtil.GetFlag(Data, 0x39, 7); set => FlagUtil.SetFlag(Data, 0x39, 7, value); } + + public bool RibbonBattleTreeGreat { get => FlagUtil.GetFlag(Data, 0x3A, 0); set => FlagUtil.SetFlag(Data, 0x3A, 0, value); } + public bool RibbonBattleTreeMaster { get => FlagUtil.GetFlag(Data, 0x3A, 1); set => FlagUtil.SetFlag(Data, 0x3A, 1, value); } + public bool RibbonChampionGalar { get => FlagUtil.GetFlag(Data, 0x3A, 2); set => FlagUtil.SetFlag(Data, 0x3A, 2, value); } + public bool RibbonTowerMaster { get => FlagUtil.GetFlag(Data, 0x3A, 3); set => FlagUtil.SetFlag(Data, 0x3A, 3, value); } + public bool RibbonMasterRank { get => FlagUtil.GetFlag(Data, 0x3A, 4); set => FlagUtil.SetFlag(Data, 0x3A, 4, value); } + public bool RibbonMarkLunchtime { get => FlagUtil.GetFlag(Data, 0x3A, 5); set => FlagUtil.SetFlag(Data, 0x3A, 5, value); } + public bool RibbonMarkSleepyTime { get => FlagUtil.GetFlag(Data, 0x3A, 6); set => FlagUtil.SetFlag(Data, 0x3A, 6, value); } + public bool RibbonMarkDusk { get => FlagUtil.GetFlag(Data, 0x3A, 7); set => FlagUtil.SetFlag(Data, 0x3A, 7, value); } + + public bool RibbonMarkDawn { get => FlagUtil.GetFlag(Data, 0x3B, 0); set => FlagUtil.SetFlag(Data, 0x3B, 0, value); } + public bool RibbonMarkCloudy { get => FlagUtil.GetFlag(Data, 0x3B, 1); set => FlagUtil.SetFlag(Data, 0x3B, 1, value); } + public bool RibbonMarkRainy { get => FlagUtil.GetFlag(Data, 0x3B, 2); set => FlagUtil.SetFlag(Data, 0x3B, 2, value); } + public bool RibbonMarkStormy { get => FlagUtil.GetFlag(Data, 0x3B, 3); set => FlagUtil.SetFlag(Data, 0x3B, 3, value); } + public bool RibbonMarkSnowy { get => FlagUtil.GetFlag(Data, 0x3B, 4); set => FlagUtil.SetFlag(Data, 0x3B, 4, value); } + public bool RibbonMarkBlizzard { get => FlagUtil.GetFlag(Data, 0x3B, 5); set => FlagUtil.SetFlag(Data, 0x3B, 5, value); } + public bool RibbonMarkDry { get => FlagUtil.GetFlag(Data, 0x3B, 6); set => FlagUtil.SetFlag(Data, 0x3B, 6, value); } + public bool RibbonMarkSandstorm { get => FlagUtil.GetFlag(Data, 0x3B, 7); set => FlagUtil.SetFlag(Data, 0x3B, 7, value); } + public byte RibbonCountMemoryContest { get => Data[0x3C]; set => HasContestMemoryRibbon = (Data[0x3C] = value) != 0; } + public byte RibbonCountMemoryBattle { get => Data[0x3D]; set => HasBattleMemoryRibbon = (Data[0x3D] = value) != 0; } + // 0x3E padding + // 0x3F padding + + // 0x40 Ribbon 1 + public bool RibbonMarkMisty { get => FlagUtil.GetFlag(Data, 0x40, 0); set => FlagUtil.SetFlag(Data, 0x40, 0, value); } + public bool RibbonMarkDestiny { get => FlagUtil.GetFlag(Data, 0x40, 1); set => FlagUtil.SetFlag(Data, 0x40, 1, value); } + public bool RibbonMarkFishing { get => FlagUtil.GetFlag(Data, 0x40, 2); set => FlagUtil.SetFlag(Data, 0x40, 2, value); } + public bool RibbonMarkCurry { get => FlagUtil.GetFlag(Data, 0x40, 3); set => FlagUtil.SetFlag(Data, 0x40, 3, value); } + public bool RibbonMarkUncommon { get => FlagUtil.GetFlag(Data, 0x40, 4); set => FlagUtil.SetFlag(Data, 0x40, 4, value); } + public bool RibbonMarkRare { get => FlagUtil.GetFlag(Data, 0x40, 5); set => FlagUtil.SetFlag(Data, 0x40, 5, value); } + public bool RibbonMarkRowdy { get => FlagUtil.GetFlag(Data, 0x40, 6); set => FlagUtil.SetFlag(Data, 0x40, 6, value); } + public bool RibbonMarkAbsentMinded { get => FlagUtil.GetFlag(Data, 0x40, 7); set => FlagUtil.SetFlag(Data, 0x40, 7, value); } + + public bool RibbonMarkJittery { get => FlagUtil.GetFlag(Data, 0x41, 0); set => FlagUtil.SetFlag(Data, 0x41, 0, value); } + public bool RibbonMarkExcited { get => FlagUtil.GetFlag(Data, 0x41, 1); set => FlagUtil.SetFlag(Data, 0x41, 1, value); } + public bool RibbonMarkCharismatic { get => FlagUtil.GetFlag(Data, 0x41, 2); set => FlagUtil.SetFlag(Data, 0x41, 2, value); } + public bool RibbonMarkCalmness { get => FlagUtil.GetFlag(Data, 0x41, 3); set => FlagUtil.SetFlag(Data, 0x41, 3, value); } + public bool RibbonMarkIntense { get => FlagUtil.GetFlag(Data, 0x41, 4); set => FlagUtil.SetFlag(Data, 0x41, 4, value); } + public bool RibbonMarkZonedOut { get => FlagUtil.GetFlag(Data, 0x41, 5); set => FlagUtil.SetFlag(Data, 0x41, 5, value); } + public bool RibbonMarkJoyful { get => FlagUtil.GetFlag(Data, 0x41, 6); set => FlagUtil.SetFlag(Data, 0x41, 6, value); } + public bool RibbonMarkAngry { get => FlagUtil.GetFlag(Data, 0x41, 7); set => FlagUtil.SetFlag(Data, 0x41, 7, value); } + + public bool RibbonMarkSmiley { get => FlagUtil.GetFlag(Data, 0x42, 0); set => FlagUtil.SetFlag(Data, 0x42, 0, value); } + public bool RibbonMarkTeary { get => FlagUtil.GetFlag(Data, 0x42, 1); set => FlagUtil.SetFlag(Data, 0x42, 1, value); } + public bool RibbonMarkUpbeat { get => FlagUtil.GetFlag(Data, 0x42, 2); set => FlagUtil.SetFlag(Data, 0x42, 2, value); } + public bool RibbonMarkPeeved { get => FlagUtil.GetFlag(Data, 0x42, 3); set => FlagUtil.SetFlag(Data, 0x42, 3, value); } + public bool RibbonMarkIntellectual { get => FlagUtil.GetFlag(Data, 0x42, 4); set => FlagUtil.SetFlag(Data, 0x42, 4, value); } + public bool RibbonMarkFerocious { get => FlagUtil.GetFlag(Data, 0x42, 5); set => FlagUtil.SetFlag(Data, 0x42, 5, value); } + public bool RibbonMarkCrafty { get => FlagUtil.GetFlag(Data, 0x42, 6); set => FlagUtil.SetFlag(Data, 0x42, 6, value); } + public bool RibbonMarkScowling { get => FlagUtil.GetFlag(Data, 0x42, 7); set => FlagUtil.SetFlag(Data, 0x42, 7, value); } + + public bool RibbonMarkKindly { get => FlagUtil.GetFlag(Data, 0x43, 0); set => FlagUtil.SetFlag(Data, 0x43, 0, value); } + public bool RibbonMarkFlustered { get => FlagUtil.GetFlag(Data, 0x43, 1); set => FlagUtil.SetFlag(Data, 0x43, 1, value); } + public bool RibbonMarkPumpedUp { get => FlagUtil.GetFlag(Data, 0x43, 2); set => FlagUtil.SetFlag(Data, 0x43, 2, value); } + public bool RibbonMarkZeroEnergy { get => FlagUtil.GetFlag(Data, 0x43, 3); set => FlagUtil.SetFlag(Data, 0x43, 3, value); } + public bool RibbonMarkPrideful { get => FlagUtil.GetFlag(Data, 0x43, 4); set => FlagUtil.SetFlag(Data, 0x43, 4, value); } + public bool RibbonMarkUnsure { get => FlagUtil.GetFlag(Data, 0x43, 5); set => FlagUtil.SetFlag(Data, 0x43, 5, value); } + public bool RibbonMarkHumble { get => FlagUtil.GetFlag(Data, 0x43, 6); set => FlagUtil.SetFlag(Data, 0x43, 6, value); } + public bool RibbonMarkThorny { get => FlagUtil.GetFlag(Data, 0x43, 7); set => FlagUtil.SetFlag(Data, 0x43, 7, value); } + // 0x44 Ribbon 2 + + public bool RibbonMarkVigor { get => FlagUtil.GetFlag(Data, 0x44, 0); set => FlagUtil.SetFlag(Data, 0x44, 0, value); } + public bool RibbonMarkSlump { get => FlagUtil.GetFlag(Data, 0x44, 1); set => FlagUtil.SetFlag(Data, 0x44, 1, value); } + public bool RibbonHisui { get => FlagUtil.GetFlag(Data, 0x44, 2); set => FlagUtil.SetFlag(Data, 0x44, 2, value); } + public bool RibbonTwinklingStar { get => FlagUtil.GetFlag(Data, 0x44, 3); set => FlagUtil.SetFlag(Data, 0x44, 3, value); } + public bool RibbonChampionPaldea { get => FlagUtil.GetFlag(Data, 0x44, 4); set => FlagUtil.SetFlag(Data, 0x44, 4, value); } + public bool RibbonMarkJumbo { get => FlagUtil.GetFlag(Data, 0x44, 5); set => FlagUtil.SetFlag(Data, 0x44, 5, value); } + public bool RibbonMarkMini { get => FlagUtil.GetFlag(Data, 0x44, 6); set => FlagUtil.SetFlag(Data, 0x44, 6, value); } + public bool RibbonMarkItemfinder { get => FlagUtil.GetFlag(Data, 0x44, 7); set => FlagUtil.SetFlag(Data, 0x44, 7, value); } + + public bool RibbonMarkPartner { get => FlagUtil.GetFlag(Data, 0x45, 0); set => FlagUtil.SetFlag(Data, 0x45, 0, value); } + public bool RibbonMarkGourmand { get => FlagUtil.GetFlag(Data, 0x45, 1); set => FlagUtil.SetFlag(Data, 0x45, 1, value); } + public bool RibbonOnceInALifetime { get => FlagUtil.GetFlag(Data, 0x45, 2); set => FlagUtil.SetFlag(Data, 0x45, 2, value); } + public bool RibbonMarkAlpha { get => FlagUtil.GetFlag(Data, 0x45, 3); set => FlagUtil.SetFlag(Data, 0x45, 3, value); } + public bool RibbonMarkMightiest { get => FlagUtil.GetFlag(Data, 0x45, 4); set => FlagUtil.SetFlag(Data, 0x45, 4, value); } + public bool RibbonMarkTitan { get => FlagUtil.GetFlag(Data, 0x45, 5); set => FlagUtil.SetFlag(Data, 0x45, 5, value); } + public bool RIB45_6 { get => FlagUtil.GetFlag(Data, 0x45, 6); set => FlagUtil.SetFlag(Data, 0x45, 6, value); } + public bool RIB45_7 { get => FlagUtil.GetFlag(Data, 0x45, 7); set => FlagUtil.SetFlag(Data, 0x45, 7, value); } + + public bool RIB46_0 { get => FlagUtil.GetFlag(Data, 0x46, 0); set => FlagUtil.SetFlag(Data, 0x46, 0, value); } + public bool RIB46_1 { get => FlagUtil.GetFlag(Data, 0x46, 1); set => FlagUtil.SetFlag(Data, 0x46, 1, value); } + public bool RIB46_2 { get => FlagUtil.GetFlag(Data, 0x46, 2); set => FlagUtil.SetFlag(Data, 0x46, 2, value); } + public bool RIB46_3 { get => FlagUtil.GetFlag(Data, 0x46, 3); set => FlagUtil.SetFlag(Data, 0x46, 3, value); } + public bool RIB46_4 { get => FlagUtil.GetFlag(Data, 0x46, 4); set => FlagUtil.SetFlag(Data, 0x46, 4, value); } + public bool RIB46_5 { get => FlagUtil.GetFlag(Data, 0x46, 5); set => FlagUtil.SetFlag(Data, 0x46, 5, value); } + public bool RIB46_6 { get => FlagUtil.GetFlag(Data, 0x46, 6); set => FlagUtil.SetFlag(Data, 0x46, 6, value); } + public bool RIB46_7 { get => FlagUtil.GetFlag(Data, 0x46, 7); set => FlagUtil.SetFlag(Data, 0x46, 7, value); } + + public bool RIB47_0 { get => FlagUtil.GetFlag(Data, 0x47, 0); set => FlagUtil.SetFlag(Data, 0x47, 0, value); } + public bool RIB47_1 { get => FlagUtil.GetFlag(Data, 0x47, 1); set => FlagUtil.SetFlag(Data, 0x47, 1, value); } + public bool RIB47_2 { get => FlagUtil.GetFlag(Data, 0x47, 2); set => FlagUtil.SetFlag(Data, 0x47, 2, value); } + public bool RIB47_3 { get => FlagUtil.GetFlag(Data, 0x47, 3); set => FlagUtil.SetFlag(Data, 0x47, 3, value); } + public bool RIB47_4 { get => FlagUtil.GetFlag(Data, 0x47, 4); set => FlagUtil.SetFlag(Data, 0x47, 4, value); } + public bool RIB47_5 { get => FlagUtil.GetFlag(Data, 0x47, 5); set => FlagUtil.SetFlag(Data, 0x47, 5, value); } + public bool RIB47_6 { get => FlagUtil.GetFlag(Data, 0x47, 6); set => FlagUtil.SetFlag(Data, 0x47, 6, value); } + public bool RIB47_7 { get => FlagUtil.GetFlag(Data, 0x47, 7); set => FlagUtil.SetFlag(Data, 0x47, 7, value); } + + public bool HasMark() + { + var d = Data.AsSpan(); + if ((ReadUInt16LittleEndian(d[0x3A..]) & 0xFFE0) != 0) + return true; + if (ReadUInt32LittleEndian(d[0x40..]) != 0) + return true; + return (d[0x44] & 3) != 0; + } + + 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; } + + // 0x52-0x57 unused + + #endregion + #region Block B + public override string Nickname + { + get => StringConverter8.GetString(Nickname_Trash); + set => StringConverter8.SetString(Nickname_Trash, value.AsSpan(), 12, StringConverterOption.None); + } + + // 2 bytes for \0, automatically handled above + + public override ushort Move1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x72)); set => WriteUInt16LittleEndian(Data.AsSpan(0x72), value); } + public override ushort Move2 { get => ReadUInt16LittleEndian(Data.AsSpan(0x74)); set => WriteUInt16LittleEndian(Data.AsSpan(0x74), value); } + public override ushort Move3 { get => ReadUInt16LittleEndian(Data.AsSpan(0x76)); set => WriteUInt16LittleEndian(Data.AsSpan(0x76), value); } + public override ushort Move4 { get => ReadUInt16LittleEndian(Data.AsSpan(0x78)); set => WriteUInt16LittleEndian(Data.AsSpan(0x78), value); } + + public override int Move1_PP { get => Data[0x7A]; set => Data[0x7A] = (byte)value; } + public override int Move2_PP { get => Data[0x7B]; set => Data[0x7B] = (byte)value; } + public override int Move3_PP { get => Data[0x7C]; set => Data[0x7C] = (byte)value; } + public override int Move4_PP { get => Data[0x7D]; set => Data[0x7D] = (byte)value; } + public override int Move1_PPUps { get => Data[0x7E]; set => Data[0x7E] = (byte)value; } + public override int Move2_PPUps { get => Data[0x7F]; set => Data[0x7F] = (byte)value; } + public override int Move3_PPUps { get => Data[0x80]; set => Data[0x80] = (byte)value; } + public override int Move4_PPUps { get => Data[0x81]; set => Data[0x81] = (byte)value; } + + public override ushort RelearnMove1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x82)); set => WriteUInt16LittleEndian(Data.AsSpan(0x82), value); } + public override ushort RelearnMove2 { get => ReadUInt16LittleEndian(Data.AsSpan(0x84)); set => WriteUInt16LittleEndian(Data.AsSpan(0x84), value); } + public override ushort RelearnMove3 { get => ReadUInt16LittleEndian(Data.AsSpan(0x86)); set => WriteUInt16LittleEndian(Data.AsSpan(0x86), value); } + public override ushort RelearnMove4 { get => ReadUInt16LittleEndian(Data.AsSpan(0x88)); set => WriteUInt16LittleEndian(Data.AsSpan(0x88), value); } + + public override int Stat_HPCurrent { get => ReadUInt16LittleEndian(Data.AsSpan(0x8A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x8A), (ushort)value); } + + private uint IV32 { get => ReadUInt32LittleEndian(Data.AsSpan(0x8C)); set => WriteUInt32LittleEndian(Data.AsSpan(0x8C), value); } + public override int IV_HP { get => (int)(IV32 >> 00) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 00)) | ((value > 31 ? 31u : (uint)value) << 00); } + public override int IV_ATK { get => (int)(IV32 >> 05) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 05)) | ((value > 31 ? 31u : (uint)value) << 05); } + public override int IV_DEF { get => (int)(IV32 >> 10) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 10)) | ((value > 31 ? 31u : (uint)value) << 10); } + public override int IV_SPE { get => (int)(IV32 >> 15) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 15)) | ((value > 31 ? 31u : (uint)value) << 15); } + public override int IV_SPA { get => (int)(IV32 >> 20) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 20)) | ((value > 31 ? 31u : (uint)value) << 20); } + public override int IV_SPD { get => (int)(IV32 >> 25) & 0x1F; set => IV32 = (IV32 & ~(0x1Fu << 25)) | ((value > 31 ? 31u : (uint)value) << 25); } + public override bool IsEgg { get => ((IV32 >> 30) & 1) == 1; set => IV32 = (IV32 & ~0x40000000u) | (value ? 0x40000000u : 0u); } + public override bool IsNicknamed { get => ((IV32 >> 31) & 1) == 1; set => IV32 = (IV32 & 0x7FFFFFFFu) | (value ? 0x80000000u : 0u); } + public override int Status_Condition { get => ReadInt32LittleEndian(Data.AsSpan(0x90)); set => WriteInt32LittleEndian(Data.AsSpan(0x90), value); } + public MoveType TeraTypeOriginal { get => (MoveType)Data[0x94]; set => Data[0x94] = (byte)value; } + public MoveType TeraTypeOverride { get => (MoveType)Data[0x95]; set => Data[0x95] = (byte)value; } + public MoveType TeraType => TeraTypeUtil.GetTeraType((byte)TeraTypeOriginal, (byte)TeraTypeOverride); + + // 0x96-0xA7 unused + + #endregion + #region Block C + public override string HT_Name + { + get => StringConverter8.GetString(HT_Trash); + set => StringConverter8.SetString(HT_Trash, value.AsSpan(), 12, StringConverterOption.None); + } + + public override int HT_Gender { get => Data[0xC2]; set => Data[0xC2] = (byte)value; } + public byte HT_Language { get => Data[0xC3]; set => Data[0xC3] = value; } + public override int CurrentHandler { get => Data[0xC4]; set => Data[0xC4] = (byte)value; } + // 0xC5 unused (alignment) + public int HT_TrainerID { get => ReadUInt16LittleEndian(Data.AsSpan(0xC6)); set => WriteUInt16LittleEndian(Data.AsSpan(0xC6), (ushort)value); } // unused? + public override int HT_Friendship { get => Data[0xC8]; set => Data[0xC8] = (byte)value; } + public byte HT_Intensity { get => Data[0xC9]; set => Data[0xC9] = value; } + public byte HT_Memory { get => Data[0xCA]; set => Data[0xCA] = value; } + public byte HT_Feeling { get => Data[0xCB]; set => Data[0xCB] = value; } + public ushort HT_TextVar { get => ReadUInt16LittleEndian(Data.AsSpan(0xCC)); set => WriteUInt16LittleEndian(Data.AsSpan(0xCC), value); } + public override int Version { get => Data[0xCE]; set => Data[0xCE] = (byte)value; } + public byte BattleVersion { get => Data[0xCF]; set => Data[0xCF] = value; } + public uint FormArgument { get => ReadUInt32LittleEndian(Data.AsSpan(0xD0)); set => WriteUInt32LittleEndian(Data.AsSpan(0xD0), value); } + public byte FormArgumentRemain { get => (byte)FormArgument; set => FormArgument = (FormArgument & ~0xFFu) | value; } + public byte FormArgumentElapsed { get => (byte)(FormArgument >> 8); set => FormArgument = (FormArgument & ~0xFF00u) | (uint)(value << 8); } + public byte FormArgumentMaximum { get => (byte)(FormArgument >> 16); set => FormArgument = (FormArgument & ~0xFF0000u) | (uint)(value << 16); } + public sbyte AffixedRibbon { get => (sbyte)Data[0xD4]; set => Data[0xD4] = (byte)value; } // selected ribbon + public override int Language { get => Data[0xD5]; set => Data[0xD5] = (byte)value; } + // 0xD6..0xF7 ?? + // remainder unused + + #endregion + #region Block D + public override string OT_Name + { + get => StringConverter8.GetString(OT_Trash); + set => StringConverter8.SetString(OT_Trash, value.AsSpan(), 12, StringConverterOption.None); + } + + public override int OT_Friendship { get => Data[0x112]; set => Data[0x112] = (byte)value; } + public byte OT_Intensity { get => Data[0x113]; set => Data[0x113] = value; } + public byte OT_Memory { get => Data[0x114]; set => Data[0x114] = value; } + // 0x115 unused align + public ushort OT_TextVar { get => ReadUInt16LittleEndian(Data.AsSpan(0x116)); set => WriteUInt16LittleEndian(Data.AsSpan(0x116), value); } + public byte OT_Feeling { get => Data[0x118]; set => Data[0x118] = value; } + public override int Egg_Year { get => Data[0x119]; set => Data[0x119] = (byte)value; } + public override int Egg_Month { get => Data[0x11A]; set => Data[0x11A] = (byte)value; } + public override int Egg_Day { get => Data[0x11B]; set => Data[0x11B] = (byte)value; } + public override int Met_Year { get => Data[0x11C]; set => Data[0x11C] = (byte)value; } + public override int Met_Month { get => Data[0x11D]; set => Data[0x11D] = (byte)value; } + public override int Met_Day { get => Data[0x11E]; set => Data[0x11E] = (byte)value; } + public byte Obedience_Level { get => Data[0x11F]; set => Data[0x11F] = value; } + public override int Egg_Location { get => ReadUInt16LittleEndian(Data.AsSpan(0x120)); set => WriteUInt16LittleEndian(Data.AsSpan(0x120), (ushort)value); } + public override int Met_Location { get => ReadUInt16LittleEndian(Data.AsSpan(0x122)); set => WriteUInt16LittleEndian(Data.AsSpan(0x122), (ushort)value); } + public override int Ball { get => Data[0x124]; set => Data[0x124] = (byte)value; } + public override int Met_Level { get => Data[0x125] & ~0x80; set => Data[0x125] = (byte)((Data[0x125] & 0x80) | value); } + public override int OT_Gender { get => Data[0x125] >> 7; set => Data[0x125] = (byte)((Data[0x125] & ~0x80) | (value << 7)); } + public byte HyperTrainFlags { get => Data[0x126]; set => Data[0x126] = value; } + public bool HT_HP { get => ((HyperTrainFlags >> 0) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 0)) | ((value ? 1 : 0) << 0)); } + public bool HT_ATK { get => ((HyperTrainFlags >> 1) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 1)) | ((value ? 1 : 0) << 1)); } + public bool HT_DEF { get => ((HyperTrainFlags >> 2) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 2)) | ((value ? 1 : 0) << 2)); } + public bool HT_SPA { get => ((HyperTrainFlags >> 3) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 3)) | ((value ? 1 : 0) << 3)); } + public bool HT_SPD { get => ((HyperTrainFlags >> 4) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 4)) | ((value ? 1 : 0) << 4)); } + public bool HT_SPE { get => ((HyperTrainFlags >> 5) & 1) == 1; set => HyperTrainFlags = (byte)((HyperTrainFlags & ~(1 << 5)) | ((value ? 1 : 0) << 5)); } + + public ulong Tracker + { + get => ReadUInt64LittleEndian(Data.AsSpan(0x127)); + set => WriteUInt64LittleEndian(Data.AsSpan(0x127), value); + } + + private const int RecordStart = 0x12F; + internal const int COUNT_RECORD = 200; // Up to 200 TM flags, but not all are used. + private const int RecordLength = COUNT_RECORD / 8; + internal Span RecordFlags => Data.AsSpan(RecordStart, RecordLength); + public int RecordCountTotal => COUNT_RECORD; + public int RecordCountUsed => PersonalInfo9SV.CountTM; + + public bool GetMoveRecordFlag(int index) + { + if ((uint)index > COUNT_RECORD) // 0x19 bytes, 8 bits + throw new ArgumentOutOfRangeException(nameof(index)); + int ofs = index >> 3; + return FlagUtil.GetFlag(Data, RecordStart + ofs, index & 7); + } + + public void SetMoveRecordFlag(int index, bool value = true) + { + if ((uint)index > COUNT_RECORD) // 0x19 bytes, 8 bits + throw new ArgumentOutOfRangeException(nameof(index)); + int ofs = index >> 3; + FlagUtil.SetFlag(Data, RecordStart + ofs, index & 7, value); + } + + public bool GetMoveRecordFlagAny() => Array.FindIndex(Data, RecordStart, RecordLength, static z => z != 0) >= 0; + + public void ClearMoveRecordFlags() => Data.AsSpan(RecordStart, RecordLength).Clear(); + + #endregion + #region Battle Stats + public override int Stat_Level { get => Data[0x148]; set => Data[0x148] = (byte)value; } + // 0x149 unused alignment + public override int Stat_HPMax { get => ReadUInt16LittleEndian(Data.AsSpan(0x14A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14A), (ushort)value); } + public override int Stat_ATK { get => ReadUInt16LittleEndian(Data.AsSpan(0x14C)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14C), (ushort)value); } + public override int Stat_DEF { get => ReadUInt16LittleEndian(Data.AsSpan(0x14E)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14E), (ushort)value); } + public override int Stat_SPE { get => ReadUInt16LittleEndian(Data.AsSpan(0x150)); set => WriteUInt16LittleEndian(Data.AsSpan(0x150), (ushort)value); } + public override int Stat_SPA { get => ReadUInt16LittleEndian(Data.AsSpan(0x152)); set => WriteUInt16LittleEndian(Data.AsSpan(0x152), (ushort)value); } + public override int Stat_SPD { get => ReadUInt16LittleEndian(Data.AsSpan(0x154)); set => WriteUInt16LittleEndian(Data.AsSpan(0x154), (ushort)value); } + #endregion + + public ReadOnlySpan TechRecordPermitFlags => PersonalInfo.TMHM.AsSpan(); + public ReadOnlySpan TechRecordPermitIndexes => LearnSource9SV.TM_SV.AsSpan(); + + public override int MarkingCount => 6; + + public override int GetMarking(int index) + { + if ((uint)index >= MarkingCount) + throw new ArgumentOutOfRangeException(nameof(index)); + return (MarkValue >> (index * 2)) & 3; + } + + public override void SetMarking(int index, int value) + { + if ((uint)index >= MarkingCount) + throw new ArgumentOutOfRangeException(nameof(index)); + var shift = index * 2; + MarkValue = (MarkValue & ~(0b11 << shift)) | ((value & 3) << shift); + } + + public bool GetRibbon(int index) => FlagUtil.GetFlag(Data, GetRibbonByte(index), index & 7); + public void SetRibbon(int index, bool value = true) => FlagUtil.SetFlag(Data, GetRibbonByte(index), index & 7, value); + + public int GetRibbonByte(int index) + { + if ((uint)index >= 128) + throw new ArgumentOutOfRangeException(nameof(index)); + if (index < 64) + return 0x34 + (index >> 3); + index -= 64; + return 0x40 + (index >> 3); + } + + public void Trade(ITrainerInfo tr, int Day = 1, int Month = 1, int Year = 2015) + { + if (IsEgg) + { + // Apply link trade data, only if it left the OT (ignore if dumped & imported, or cloned, etc) + // If not matching the trainer details, mark as a traded egg. + if (!IsTradedEgg && tr.Gender == Gender && tr.Language == Language && tr.OT == OT_Name) + { + OT_Trash.Clear(); + Nickname_Trash.Clear(); + HT_Trash.Clear(); + CurrentHandler = 0; + Language = tr.Language; + Nickname = SpeciesName.GetEggName(tr.Language, 9); + OT_Name = tr.OT; + HT_Language = 0; + } + else + { + HT_Name = tr.OT; + HT_Language = (byte)tr.Language; + SetLinkTradeEgg(Day, Month, Year, Locations.LinkTrade6); + CurrentHandler = 1; + } + return; + } + + // Process to the HT if the OT of the Pokémon does not match the SAV's OT info. + if (!TradeOT(tr)) + TradeHT(tr); + } + + public void FixMemories() + { + if (IsEgg) // No memories if is egg. + { + // HT_Language is set for eggs + HT_Friendship = HT_TextVar = HT_Memory = HT_Intensity = HT_Feeling = 0; + /* OT_Friendship */ + OT_TextVar = OT_Memory = OT_Intensity = OT_Feeling = 0; + return; + } + + if (IsUntraded) + { + // HT_Language is set for gifts + // Skip clearing that. + HT_Friendship = HT_TextVar = HT_Memory = HT_Intensity = HT_Feeling = 0; + } + + int gen = Generation; + if (gen < 6) + OT_TextVar = OT_Memory = OT_Intensity = OT_Feeling = 0; + } + + private bool TradeOT(ITrainerInfo tr) + { + // Check to see if the OT matches the SAV's OT info. + if (!(tr.TID == TID && tr.SID == SID && tr.Gender == OT_Gender && tr.OT == OT_Name)) + return false; + + CurrentHandler = 0; + return true; + } + + private void TradeHT(ITrainerInfo tr) + { + if (HT_Name != tr.OT) + { + HT_Friendship = 50; + HT_Name = tr.OT; + } + CurrentHandler = 1; + HT_Gender = tr.Gender; + HT_Language = (byte)tr.Language; + } + + public void ResetMoves() + { + var learnsets = Legal.LevelUpSV; + var table = PersonalTable.SV; + + var index = table.GetFormIndex(Species, Form); + var learn = learnsets[index]; + Span moves = stackalloc ushort[4]; + learn.SetEncounterMoves(CurrentLevel, moves); + SetMoves(moves); + this.SetMaximumPPCurrent(moves); + } + + // Maximums + public override ushort MaxMoveID => Legal.MaxMoveID_9; + public override ushort MaxSpeciesID => Legal.MaxSpeciesID_9; + public override int MaxAbilityID => Legal.MaxAbilityID_9; + public override int MaxItemID => Legal.MaxItemID_9; + public override int MaxBallID => Legal.MaxBallID_9; + public override int MaxGameID => Legal.MaxGameID_9; +} diff --git a/PKHeX.Core/PKM/PKM.cs b/PKHeX.Core/PKM/PKM.cs index f99f5bcc7..a43cde425 100644 --- a/PKHeX.Core/PKM/PKM.cs +++ b/PKHeX.Core/PKM/PKM.cs @@ -238,8 +238,8 @@ private byte[] Write() public virtual int MinGameID => 0; public abstract int MaxIV { get; } public abstract int MaxEV { get; } - public abstract int OTLength { get; } - public abstract int NickLength { get; } + public abstract int MaxStringLengthOT { get; } + public abstract int MaxStringLengthNickname { get; } // Derived public virtual int SpriteItem => HeldItem; @@ -293,11 +293,13 @@ private void SetID7(int sid7, int tid7) public bool SWSH => Version is (int)SW or (int)SH; public virtual bool BDSP => Version is (int)BD or (int)SP; public virtual bool LA => Version is (int)PLA; + public bool SV => Version is (int)SL or (int)VL; public bool GO_LGPE => GO && Met_Location == Locations.GO7; public bool GO_HOME => GO && Met_Location == Locations.GO8; public bool VC => VC1 || VC2; public bool GG => LGPE || GO_LGPE; + public bool Gen9 => SV; public bool Gen8 => Version is >= 44 and <= 49 || GO_HOME; public bool Gen7 => Version is >= 30 and <= 33 || GG; public bool Gen6 => Version is >= 24 and <= 29; @@ -312,6 +314,7 @@ public int Generation { get { + if (Gen9) return 9; if (Gen8) return 8; if (Gen7) return 7; if (Gen6) return 6; @@ -745,7 +748,7 @@ public void HealPP() 1 => Move2_PP = GetMovePP(Move2, Move2_PPUps), 2 => Move3_PP = GetMovePP(Move3, Move3_PPUps), 3 => Move4_PP = GetMovePP(Move4, Move4_PPUps), - _ => throw new ArgumentOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Index must be between 0 and 3."), }; /// @@ -1041,7 +1044,7 @@ static IEnumerable GetImplementingTypes(Type t) 1 => Move2, 2 => Move3, 3 => Move4, - _ => throw new IndexOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Move index must be between 0 and 3."), }; public ushort SetMove(int index, ushort value) => index switch @@ -1050,7 +1053,7 @@ static IEnumerable GetImplementingTypes(Type t) 1 => Move2 = value, 2 => Move3 = value, 3 => Move4 = value, - _ => throw new IndexOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Move index must be between 0 and 3."), }; public ushort GetRelearnMove(int index) => index switch @@ -1059,7 +1062,7 @@ static IEnumerable GetImplementingTypes(Type t) 1 => RelearnMove2, 2 => RelearnMove3, 3 => RelearnMove4, - _ => throw new IndexOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Move index must be between 0 and 3."), }; public ushort SetRelearnMove(int index, ushort value) => index switch @@ -1068,7 +1071,7 @@ static IEnumerable GetImplementingTypes(Type t) 1 => RelearnMove2 = value, 2 => RelearnMove3 = value, 3 => RelearnMove4 = value, - _ => throw new IndexOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "Move index must be between 0 and 3."), }; /// @@ -1124,7 +1127,7 @@ public void ClearInvalidMoves() 3 => EV_SPE, 4 => EV_SPA, 5 => EV_SPD, - _ => throw new ArgumentOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "EV index must be between 0 and 5."), }; /// @@ -1139,6 +1142,6 @@ public void ClearInvalidMoves() 3 => IV_SPE, 4 => IV_SPA, 5 => IV_SPD, - _ => throw new ArgumentOutOfRangeException(nameof(index)), + _ => throw new ArgumentOutOfRangeException(nameof(index), index, "IV index must be between 0 and 5."), }; } diff --git a/PKHeX.Core/PKM/SK2.cs b/PKHeX.Core/PKM/SK2.cs index d22c872ad..24aa93376 100644 --- a/PKHeX.Core/PKM/SK2.cs +++ b/PKHeX.Core/PKM/SK2.cs @@ -18,8 +18,8 @@ public sealed class SK2 : GBPKM, ICaughtData2 private const int StringLength = 12; public override EntityContext Context => EntityContext.Gen2; - public override int OTLength => StringLength; - public override int NickLength => StringLength; + public override int MaxStringLengthOT => StringLength; + public override int MaxStringLengthNickname => StringLength; public SK2(bool jp = false) : base(PokeCrypto.SIZE_2STADIUM) => IsEncodingJapanese = jp; public SK2(byte[] data) : this(data, IsJapanese(data)) { } diff --git a/PKHeX.Core/PKM/Searching/SearchSettings.cs b/PKHeX.Core/PKM/Searching/SearchSettings.cs index 0d96cfce4..491b7f0e3 100644 --- a/PKHeX.Core/PKM/Searching/SearchSettings.cs +++ b/PKHeX.Core/PKM/Searching/SearchSettings.cs @@ -150,23 +150,33 @@ private bool SearchSimple(PKM pk) private bool SearchIntermediate(PKM pk) { - if (Generation > 0 && !SearchUtil.SatisfiesFilterGeneration(pk, Generation)) return false; - if (Moves.Count > 0 && !SearchUtil.SatisfiesFilterMoves(pk, Moves)) return false; - if (HiddenPowerType > -1 && pk.HPType != HiddenPowerType) return false; - if (SearchShiny != null && pk.IsShiny != SearchShiny) return false; + if (Generation > 0 && !SearchUtil.SatisfiesFilterGeneration(pk, Generation)) + return false; + if (Moves.Count > 0 && !SearchUtil.SatisfiesFilterMoves(pk, Moves)) + return false; + if (HiddenPowerType > -1 && pk.HPType != HiddenPowerType) + return false; + if (SearchShiny != null && pk.IsShiny != SearchShiny) + return false; - if (IVType > 0 && !SearchUtil.SatisfiesFilterIVs(pk, IVType)) return false; - if (EVType > 0 && !SearchUtil.SatisfiesFilterEVs(pk, EVType)) return false; + if (IVType > 0 && !SearchUtil.SatisfiesFilterIVs(pk, IVType)) + return false; + if (EVType > 0 && !SearchUtil.SatisfiesFilterEVs(pk, EVType)) + return false; return true; } private bool SearchComplex(PKM pk) { - if (SearchEgg != null && !FilterResultEgg(pk)) return false; - if (Level is { } x and not 0 && !SearchUtil.SatisfiesFilterLevel(pk, SearchLevel, x)) return false; - if (SearchLegal != null && new LegalityAnalysis(pk).Valid != SearchLegal) return false; - if (BatchFilters.Length != 0 && !SearchUtil.SatisfiesFilterBatchInstruction(pk, BatchFilters)) return false; + if (SearchEgg != null && !FilterResultEgg(pk)) + return false; + if (Level is { } x and not 0 && !SearchUtil.SatisfiesFilterLevel(pk, SearchLevel, x)) + return false; + if (SearchLegal != null && new LegalityAnalysis(pk).Valid != SearchLegal) + return false; + if (BatchFilters.Length != 0 && !SearchUtil.SatisfiesFilterBatchInstruction(pk, BatchFilters)) + return false; return true; } diff --git a/PKHeX.Core/PKM/Shared/EntityFormat.cs b/PKHeX.Core/PKM/Shared/EntityFormat.cs index 31aa23f1f..4c3e64872 100644 --- a/PKHeX.Core/PKM/Shared/EntityFormat.cs +++ b/PKHeX.Core/PKM/Shared/EntityFormat.cs @@ -22,6 +22,7 @@ public enum EntityContext : byte Gen6 = 6, Gen7 = 7, Gen8 = 8, + Gen9 = 9, SplitInvalid, Gen7b, @@ -53,6 +54,7 @@ public static class EntityContextExtensions Gen6 => GameVersion.AS, Gen7 => GameVersion.UM, Gen8 => GameVersion.SH, + Gen9 => GameVersion.SV, Gen7b => GameVersion.GP, Gen8a => GameVersion.PLA, diff --git a/PKHeX.Core/PKM/Shared/G3PKM.cs b/PKHeX.Core/PKM/Shared/G3PKM.cs index 3f0110b9d..0ed7d1447 100644 --- a/PKHeX.Core/PKM/Shared/G3PKM.cs +++ b/PKHeX.Core/PKM/Shared/G3PKM.cs @@ -5,7 +5,7 @@ namespace PKHeX.Core; /// /// Generation 3 Base Class /// -public abstract class G3PKM : PKM, IRibbonSetEvent3, IRibbonSetCommon3, IRibbonSetUnique3, IRibbonSetOnly3, IContestStats, IContestStatsMutable +public abstract class G3PKM : PKM, IRibbonSetEvent3, IRibbonSetCommon3, IRibbonSetUnique3, IRibbonSetOnly3, IContestStats { protected G3PKM(byte[] data) : base(data) { } protected G3PKM(int size) : base(size) { } @@ -19,8 +19,8 @@ public abstract class G3PKM : PKM, IRibbonSetEvent3, IRibbonSetCommon3, IRibbonS public sealed override int MaxGameID => Legal.MaxGameID_3; public sealed override int MaxIV => 31; public sealed override int MaxEV => 255; - public sealed override int OTLength => 7; - public sealed override int NickLength => 10; + public sealed override int MaxStringLengthOT => 7; + public sealed override int MaxStringLengthNickname => 10; // Generated Attributes public sealed override int PSV => (int)(((PID >> 16) ^ (PID & 0xFFFF)) >> 3); diff --git a/PKHeX.Core/PKM/Shared/G4PKM.cs b/PKHeX.Core/PKM/Shared/G4PKM.cs index 433f311d6..504e0a142 100644 --- a/PKHeX.Core/PKM/Shared/G4PKM.cs +++ b/PKHeX.Core/PKM/Shared/G4PKM.cs @@ -4,8 +4,7 @@ namespace PKHeX.Core; /// Generation 4 format. public abstract class G4PKM : PKM, - IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetUnique3, IRibbonSetUnique4, IRibbonSetCommon3, IRibbonSetCommon4, - IContestStats, IContestStatsMutable, IGroundTile + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetUnique3, IRibbonSetUnique4, IRibbonSetCommon3, IRibbonSetCommon4, IContestStats, IGroundTile { protected G4PKM(byte[] data) : base(data) { } protected G4PKM(int size) : base(size) { } @@ -19,8 +18,8 @@ public abstract class G4PKM : PKM, public sealed override int MaxGameID => Legal.MaxGameID_4; public sealed override int MaxIV => 31; public sealed override int MaxEV => 255; - public sealed override int OTLength => 7; - public sealed override int NickLength => 10; + public sealed override int MaxStringLengthOT => 7; + public sealed override int MaxStringLengthNickname => 10; public sealed override int PSV => (int)(((PID >> 16) ^ (PID & 0xFFFF)) >> 3); public sealed override int TSV => (TID ^ SID) >> 3; diff --git a/PKHeX.Core/PKM/Shared/G6PKM.cs b/PKHeX.Core/PKM/Shared/G6PKM.cs index 3e30584c8..1b542c53a 100644 --- a/PKHeX.Core/PKM/Shared/G6PKM.cs +++ b/PKHeX.Core/PKM/Shared/G6PKM.cs @@ -121,8 +121,8 @@ public void Trade(ITrainerInfo tr, int Day = 1, int Month = 1, int Year = 2015) // Maximums public sealed override int MaxIV => 31; public sealed override int MaxEV => 252; - public sealed override int OTLength => 12; - public sealed override int NickLength => 12; + public sealed override int MaxStringLengthOT => 12; + public sealed override int MaxStringLengthNickname => 12; } public interface ISuperTrain diff --git a/PKHeX.Core/PKM/Shared/G8PKM.cs b/PKHeX.Core/PKM/Shared/G8PKM.cs index fc02d2706..7b92d01d7 100644 --- a/PKHeX.Core/PKM/Shared/G8PKM.cs +++ b/PKHeX.Core/PKM/Shared/G8PKM.cs @@ -5,8 +5,8 @@ namespace PKHeX.Core; /// Generation 8 format. public abstract class G8PKM : PKM, ISanityChecksum, IMoveReset, - IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetAffixed, ITechRecord8, ISociability, - IContestStats, IContestStatsMutable, IHyperTrain, IScaledSize, IGigantamax, IFavorite, IDynamaxLevel, IRibbonIndex, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories + IRibbonSetEvent3, IRibbonSetEvent4, IRibbonSetCommon3, IRibbonSetCommon4, IRibbonSetCommon6, IRibbonSetMemory6, IRibbonSetCommon7, IRibbonSetCommon8, IRibbonSetMark8, IRibbonSetAffixed, ITechRecord, ISociability, + IContestStats, IHyperTrain, IScaledSize, IGigantamax, IFavorite, IDynamaxLevel, IRibbonIndex, IHandlerLanguage, IFormArgument, IHomeTrack, IBattleVersion, ITrainerMemories { protected G8PKM() : base(PokeCrypto.SIZE_8PARTY) { } protected G8PKM(byte[] data) : base(DecryptParty(data)) { } @@ -31,6 +31,9 @@ private ushort CalculateChecksum() // Simple Generated Attributes public ReadOnlySpan TechRecordPermitFlags => PersonalInfo.TMHM.AsSpan(PersonalInfo8SWSH.CountTM); public ReadOnlySpan TechRecordPermitIndexes => LearnSource8SWSH.TR_SWSH.AsSpan(); + public int RecordCountTotal => 112; + public int RecordCountUsed => PersonalInfo8SWSH.CountTR; + public override int CurrentFriendship { get => CurrentHandler == 0 ? OT_Friendship : HT_Friendship; @@ -52,8 +55,8 @@ public override int CurrentFriendship // Maximums public override int MaxIV => 31; public override int MaxEV => 252; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override int PSV => (int)(((PID >> 16) ^ (PID & 0xFFFF)) >> 4); public override int TSV => (TID ^ SID) >> 4; @@ -122,7 +125,7 @@ public void FixRelearn() public override uint EXP { get => ReadUInt32LittleEndian(Data.AsSpan(0x10)); set => WriteUInt32LittleEndian(Data.AsSpan(0x10), value); } public override int Ability { get => ReadUInt16LittleEndian(Data.AsSpan(0x14)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14), (ushort)value); } public override int AbilityNumber { get => Data[0x16] & 7; set => Data[0x16] = (byte)((Data[0x16] & ~7) | (value & 7)); } - public bool Favorite { get => (Data[0x16] & 8) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~8) | ((value ? 1 : 0) << 3)); } // unused, was in LGPE but not in SWSH + public bool IsFavorite { get => (Data[0x16] & 8) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~8) | ((value ? 1 : 0) << 3)); } // unused, was in LGPE but not in SWSH public bool CanGigantamax { get => (Data[0x16] & 16) != 0; set => Data[0x16] = (byte)((Data[0x16] & ~16) | (value ? 16 : 0)); } // 0x17 alignment unused public override int MarkValue { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } @@ -272,7 +275,7 @@ public void FixRelearn() public bool RibbonMarkVigor { get => FlagUtil.GetFlag(Data, 0x44, 0); set => FlagUtil.SetFlag(Data, 0x44, 0, value); } public bool RibbonMarkSlump { get => FlagUtil.GetFlag(Data, 0x44, 1); set => FlagUtil.SetFlag(Data, 0x44, 1, value); } - public bool RibbonPioneer { get => FlagUtil.GetFlag(Data, 0x44, 2); set => FlagUtil.SetFlag(Data, 0x44, 2, value); } + public bool RibbonHisui { get => FlagUtil.GetFlag(Data, 0x44, 2); set => FlagUtil.SetFlag(Data, 0x44, 2, value); } public bool RibbonTwinklingStar { get => FlagUtil.GetFlag(Data, 0x44, 3); set => FlagUtil.SetFlag(Data, 0x44, 3, value); } public bool RIB44_4 { get => FlagUtil.GetFlag(Data, 0x44, 4); set => FlagUtil.SetFlag(Data, 0x44, 4, value); } public bool RIB44_5 { get => FlagUtil.GetFlag(Data, 0x44, 5); set => FlagUtil.SetFlag(Data, 0x44, 5, value); } @@ -288,7 +291,7 @@ public void FixRelearn() public bool RIB45_6 { get => FlagUtil.GetFlag(Data, 0x45, 6); set => FlagUtil.SetFlag(Data, 0x45, 6, value); } public bool RIB45_7 { get => FlagUtil.GetFlag(Data, 0x45, 7); set => FlagUtil.SetFlag(Data, 0x45, 7, value); } - public bool RIB46_0 { get => FlagUtil.GetFlag(Data, 0x41, 0); set => FlagUtil.SetFlag(Data, 0x41, 0, value); } + public bool RIB46_0 { get => FlagUtil.GetFlag(Data, 0x46, 0); set => FlagUtil.SetFlag(Data, 0x46, 0, value); } public bool RIB46_1 { get => FlagUtil.GetFlag(Data, 0x46, 1); set => FlagUtil.SetFlag(Data, 0x46, 1, value); } public bool RIB46_2 { get => FlagUtil.GetFlag(Data, 0x46, 2); set => FlagUtil.SetFlag(Data, 0x46, 2, value); } public bool RIB46_3 { get => FlagUtil.GetFlag(Data, 0x46, 3); set => FlagUtil.SetFlag(Data, 0x46, 3, value); } @@ -726,7 +729,7 @@ public virtual PA8 ConvertToPA8() RibbonMarkThorny = RibbonMarkThorny, RibbonMarkVigor = RibbonMarkVigor, RibbonMarkSlump = RibbonMarkSlump, - RibbonPioneer = RibbonPioneer, + RibbonHisui = RibbonHisui, RibbonTwinklingStar = RibbonTwinklingStar, AffixedRibbon = AffixedRibbon, @@ -738,7 +741,7 @@ public virtual PA8 ConvertToPA8() HeightScalar = HeightScalar, WeightScalar = WeightScalar, - Favorite = Favorite, + IsFavorite = IsFavorite, MarkValue = MarkValue, }; diff --git a/PKHeX.Core/PKM/Shared/GBPKML.cs b/PKHeX.Core/PKM/Shared/GBPKML.cs index 0699ddc75..cb14c76f7 100644 --- a/PKHeX.Core/PKM/Shared/GBPKML.cs +++ b/PKHeX.Core/PKM/Shared/GBPKML.cs @@ -10,8 +10,8 @@ public abstract class GBPKML : GBPKM { internal const int StringLengthJapanese = 6; internal const int StringLengthNotJapan = 11; - public sealed override int OTLength => Japanese ? 5 : 7; - public sealed override int NickLength => Japanese ? 5 : 10; + public sealed override int MaxStringLengthOT => Japanese ? 5 : 7; + public sealed override int MaxStringLengthNickname => Japanese ? 5 : 10; public sealed override bool Japanese => RawOT.Length == StringLengthJapanese; internal readonly byte[] RawOT; diff --git a/PKHeX.Core/PKM/Shared/IObedienceLevel.cs b/PKHeX.Core/PKM/Shared/IObedienceLevel.cs new file mode 100644 index 000000000..42eace854 --- /dev/null +++ b/PKHeX.Core/PKM/Shared/IObedienceLevel.cs @@ -0,0 +1,25 @@ +namespace PKHeX.Core; + +public interface IObedienceLevel : IObedienceLevelReadOnly +{ + new byte Obedience_Level { get; set; } +} + +public interface IObedienceLevelReadOnly +{ + byte Obedience_Level { get; } // no setter, use for Encounters +} + +public static class ObedienceExtensions +{ + public static byte GetSuggestedObedienceLevel(this IObedienceLevelReadOnly _, PKM entity, int originalMet) + { + if (entity.Species is (int)Species.Koraidon or (int)Species.Miraidon && entity is PK9 { FormArgument: not 0 }) + return 0; // Box Legend ride-able is default 0. Everything else is met level! + if (entity.Version is not (int)GameVersion.SL or (int)GameVersion.VL) + return (byte)entity.CurrentLevel; // foreign, play it safe. + // Can just assume min-level + return (byte)originalMet; + } +} + diff --git a/PKHeX.Core/PKM/Strings/StringConverter.cs b/PKHeX.Core/PKM/Strings/StringConverter.cs index cd3dc8756..463a72ae3 100644 --- a/PKHeX.Core/PKM/Strings/StringConverter.cs +++ b/PKHeX.Core/PKM/Strings/StringConverter.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace PKHeX.Core; @@ -27,6 +27,7 @@ public static class StringConverter 6 => StringConverter6.GetString(data), 7 => StringConverter7.GetString(data), 8 => StringConverter8.GetString(data), + 9 => StringConverter8.GetString(data), _ => throw new ArgumentOutOfRangeException(nameof(generation)), }; @@ -55,6 +56,7 @@ public static class StringConverter 6 => StringConverter6.SetString(destBuffer, value, maxLength, option), 7 => StringConverter7.SetString(destBuffer, value, maxLength, language, option), 8 => StringConverter8.SetString(destBuffer, value, maxLength, option), + 9 => StringConverter8.SetString(destBuffer, value, maxLength, option), _ => throw new ArgumentOutOfRangeException(nameof(generation)), }; diff --git a/PKHeX.Core/PKM/Util/Conversion/EntityConverter.cs b/PKHeX.Core/PKM/Util/Conversion/EntityConverter.cs index 005b9e496..b227f0b43 100644 --- a/PKHeX.Core/PKM/Util/Conversion/EntityConverter.cs +++ b/PKHeX.Core/PKM/Util/Conversion/EntityConverter.cs @@ -137,6 +137,10 @@ public static bool IsConvertibleToFormat(PKM pk, int format) PK7 pk7 => pk7.ConvertToPK8(), PB7 pb7 => pb7.ConvertToPK8(), + PK8 pk8 => pk8.ConvertToPK9(), + PB8 pb8 => pb8.ConvertToPK9(), + PA8 pa8 => pa8.ConvertToPK9(), + // Side-Formats back to Mainline SK2 sk2 => sk2.ConvertToPK2(), CK3 ck3 => ck3.ConvertToPK3(), @@ -215,11 +219,11 @@ private static void MakeCompatible(PKM pk, IGameValueLimit limit) if (pk.HeldItem > limit.MaxItemID) pk.HeldItem = 0; - if (pk.Nickname.Length > limit.NickLength) - pk.Nickname = pk.Nickname[..pk.NickLength]; + if (pk.Nickname.Length > limit.MaxStringLengthNickname) + pk.Nickname = pk.Nickname[..pk.MaxStringLengthNickname]; - if (pk.OT_Name.Length > limit.OTLength) - pk.OT_Name = pk.OT_Name[..pk.OTLength]; + if (pk.OT_Name.Length > limit.MaxStringLengthOT) + pk.OT_Name = pk.OT_Name[..pk.MaxStringLengthOT]; if (pk.Move1 > limit.MaxMoveID || pk.Move2 > limit.MaxMoveID || pk.Move3 > limit.MaxMoveID || pk.Move4 > limit.MaxMoveID) pk.ClearInvalidMoves(); diff --git a/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs b/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs index 03b43a37f..6b021b2ca 100644 --- a/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs +++ b/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs @@ -37,7 +37,8 @@ public static string[] GetFormList(ushort species, IReadOnlyList types, <= Legal.MaxSpeciesID_5 => GetFormsGen5(species, types, forms, context.Generation()), <= Legal.MaxSpeciesID_6 => GetFormsGen6(species, types, forms, genders, context.Generation()), <= Legal.MaxSpeciesID_7_USUM => GetFormsGen7(species, types, forms, context.Generation()), - _ => GetFormsGen8(species, context.Generation(), types, forms, genders), + <= Legal.MaxSpeciesID_8a => GetFormsGen8(species, context.Generation(), types, forms, genders), + _ => GetFormsGen9(species, context.Generation(), types, forms, genders), }; } @@ -48,21 +49,21 @@ public static string[] GetFormList(ushort species, IReadOnlyList types, private static string[] GetFormsGen1(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { + int generation = context.Generation(); return (Species)species switch { Charizard or Mewtwo when context.IsMegaGeneration() => GetMegaXY(types, forms), Eevee when context is Gen7b => new[] { - types[000], // Normal + types[0], // Normal Starter, }, Pikachu => GetFormsPikachu(context, types, forms), - Slowbro when context.Generation() >= 8 => GetFormsGalarSlowbro(types, forms), + Slowbro when generation >= 8 => GetFormsGalarSlowbro(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.Generation(), 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), _ => GetFormsAlolan(context, types, forms, species), }; @@ -76,6 +77,7 @@ private static string[] GetFormsGen2(ushort species, IReadOnlyList types 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), _ => EMPTY, }; @@ -87,21 +89,17 @@ private static string[] GetFormsGen3(ushort species, IReadOnlyList types { Zigzagoon or Linoone when generation >= 8 => GetFormsGalar(types, forms), Castform => new[] { - types[000], // Normal + types[0], // Normal forms[889], // Sunny forms[890], // Rainy forms[891], // Snowy }, - Kyogre when generation < 8 => new[] { - types[000], // Normal - forms[899], // Primal - }, - Groudon when generation < 8 => new[] { - types[000], // Normal + Kyogre or Groudon when generation < 8 => new[] { + types[0], // Normal forms[899], // Primal }, Deoxys => new[] { - types[000], // Normal + types[0], // Normal forms[902], // Attack forms[903], // Defense forms[904], // Speed @@ -115,20 +113,20 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList types return (Species)species switch { Burmy or Wormadam or Mothim => new[] { - forms[412], // Plant + forms[(int)Burmy], // Plant forms[905], // Sandy forms[906], // Trash }, Cherrim => new[] { - forms[421], // Overcast + forms[(int)Cherrim], // Overcast forms[909], // Sunshine }, Shellos or Gastrodon => new[] { - forms[422], // West + forms[(int)Shellos], // West forms[911], // East }, Rotom => new[] { - types[000], // Normal + types[0], // Normal forms[917], // Heat forms[918], // Wash forms[919], // Frost @@ -136,15 +134,15 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList types forms[921], // Mow }, Dialga or Palkia when generation >= 8 => new[] { - types[000], // Normal + types[0], // Normal forms[922], // Origin }, Giratina => new[] { - forms[487], // Altered + forms[(int)Giratina], // Altered forms[922], // Origin }, Shaymin => new[] { - forms[492], // Land + forms[(int)Shaymin], // Land forms[923], // Sky }, Arceus => GetFormsArceus(species, generation, types, forms), @@ -158,50 +156,50 @@ private static string[] GetFormsGen5(ushort species, IReadOnlyList types { Samurott or Lilligant or Zorua or Zoroark or Braviary when generation >= 8 => GetFormsHisui(species, generation, types, forms), Basculin when generation >= 8 => new[] { - forms[550], // Red + forms[(int)Basculin], // Red forms[942], // Blue forms[989], // White }, Basculin => new[] { - forms[550], // Red + forms[(int)Basculin], // Red forms[942], // Blue }, Darumaka or Stunfisk or Yamask when generation >= 8 => GetFormsGalar(types, forms), Darmanitan when generation >= 8 => new[] { - forms[555], // Standard + forms[(int)Darmanitan], // Standard forms[943], // Zen forms[Galarian], // Standard forms[Galarian] + " " + forms[943], // Zen }, Darmanitan => new[] { - forms[555], // Standard + forms[(int)Darmanitan], // Standard forms[943], // Zen }, Deerling or Sawsbuck => new[] { - forms[585], // Spring + forms[(int)Deerling], // Spring forms[947], // Summer forms[948], // Autumn forms[949], // Winter }, Tornadus or Thundurus or Landorus => new[] { - forms[641], // Incarnate + forms[(int)Tornadus], // Incarnate forms[952], // Therian }, Kyurem => new[] { - types[000], // Normal + types[0], // Normal forms[953], // White forms[954], // Black }, Keldeo => new[] { - forms[647], // Ordinary + forms[(int)Keldeo], // Ordinary forms[955], // Resolute }, Meloetta => new[] { - forms[648], // Aria + forms[(int)Meloetta], // Aria forms[956], // Pirouette }, Genesect => new[] { - types[000], // Normal + types[0], // Normal types[010], // Douse (Water) types[012], // Shock (Electric) types[009], // Burn (Fire) @@ -215,13 +213,17 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types { return (Species)species switch { - Greninja => new[] { - types[000], // Normal - forms[962], // "Ash", + Greninja when generation < 9 => new[] { + types[0], // Normal + forms[962], // Ash forms[1012], // "Bonded" - Active }, + Greninja => new[] { + types[0], // Normal + forms[962], // Ash + }, Scatterbug or Spewpa or Vivillon => new[] { - forms[666], // Icy Snow + forms[(int)Vivillon], // Icy Snow forms[963], // Polar forms[964], // Tundra forms[965], // Continental @@ -242,23 +244,23 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types forms[980], // Fancy forms[981], // Poké Ball }, - Flabébé or Florges => new[] { - forms[669], // Red - forms[986], // Yellow - forms[987], // Orange - forms[988], // Blue - forms[989], // White - }, - Floette => new[] { - forms[669], // Red + Floette when generation < 9 => new[] { + forms[(int)Floette], // Red forms[986], // Yellow forms[987], // Orange forms[988], // Blue forms[989], // White forms[990], // Eternal }, + Flabébé or Floette or Florges => new[] { + forms[(int)Flabébé], // Red + forms[986], // Yellow + forms[987], // Orange + forms[988], // Blue + forms[989], // White + }, Furfrou => new[] { - forms[676], // Natural + forms[(int)Furfrou], // Natural forms[995], // Heart forms[996], // Star forms[997], // Diamond @@ -274,26 +276,26 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types genders[001], // Female }, Aegislash => new[] { - forms[681], // Shield + forms[(int)Aegislash], // Shield forms[1005], // Blade }, Sliggoo or Goodra or Avalugg when generation >= 8 => GetFormsHisui(species, generation, types, forms), Pumpkaboo or Gourgeist => new[] { - forms[710], // Average + forms[(int)Pumpkaboo], // Average forms[1006], // Small forms[1007], // Large forms[1008], // Super }, Xerneas => new[] { - forms[716], // Neutral + forms[(int)Xerneas], // Neutral forms[1012], // Active }, Hoopa => new[] { - forms[720], // Confined + forms[(int)Hoopa], // Confined forms[1018], // Unbound }, Zygarde => new[] { - forms[718], // 50% (Aura Break) + forms[(int)Zygarde], // 50% (Aura Break) forms[1013], // 10% (Aura Break) forms[1014] + "-C", // 10% Cell (Power Construct) forms[1015] + "-C", // 50% Cell (Power Construct) @@ -309,7 +311,7 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types { Decidueye when generation >= 8 => GetFormsHisui(species, generation, types, forms), Oricorio => new[] { - forms[741], // "RED" - Baile + forms[(int)Oricorio], // "RED" - Baile forms[1021], // "YLW" - Pom-Pom forms[1022], // "PNK" - Pa'u forms[1023], // "BLU" - Sensu @@ -319,17 +321,17 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types forms[1064], // Dusk }, Lycanroc => new[] { - forms[745], // Midday + forms[(int)Lycanroc], // Midday forms[1024], // Midnight forms[1064], // Dusk }, Wishiwashi => new[] { - forms[746], + forms[(int)Wishiwashi], forms[1025], // School }, Silvally => GetFormsArceus(species, 7, types, forms), Minior => new[] { - forms[774], // "R-Meteor", // Meteor Red + forms[(int)Minior], // "R-Meteor", // Meteor Red forms[1045], // "O-Meteor", // Meteor Orange forms[1046], // "Y-Meteor", // Meteor Yellow forms[1047], // "G-Meteor", // Meteor Green @@ -345,17 +347,17 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types forms[1057], // "V-Core", // Core Violet }, Mimikyu => new[] { - forms[778], // Disguised + forms[(int)Mimikyu], // Disguised forms[1058], // Busted }, Necrozma => new[] { - types[000], // Normal + types[0], // Normal forms[1065], // Dusk Mane forms[1066], // Dawn Wings forms[1067], // Ultra Necrozma }, Magearna => new[] { - types[000], + types[0], forms[1062], // Original }, _ => EMPTY, @@ -380,8 +382,8 @@ private static string[] GetFormsGen8(ushort species, int generation, IReadOnlyLi genders[001], // Female }, Sinistea or Polteageist => new[] { - "Phony", - "Antique", + forms[Phony], + forms[Antique], }, Alcremie => new[] { forms[(int)Alcremie], // Vanilla Cream @@ -403,10 +405,10 @@ private static string[] GetFormsGen8(ushort species, int generation, IReadOnlyLi forms[NoiceFace], }, Zacian or Zamazenta => new[] { - forms[Hero], + forms[HeroOfManyBattles], forms[Crowned], }, - Eternatus => new[] { + Eternatus when generation == 8 => new[] { types[0], // Normal forms[Eternamax], }, @@ -424,7 +426,7 @@ private static string[] GetFormsGen8(ushort species, int generation, IReadOnlyLi forms[CalyGhost], }, Kleavor when generation == 8 => new[] { - types[000], + types[0], forms[Lord], }, Enamorus => new[] { @@ -435,6 +437,59 @@ private static string[] GetFormsGen8(ushort species, int generation, IReadOnlyLi }; } + private static string[] GetFormsGen9(ushort species, int generation, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders) + { + return (Species)species switch + { + Oinkologne => new[] { + genders[000], // Male + genders[001], // Female + }, + Dudunsparce => new[] { + forms[TwoSegment], + forms[ThreeSegment], + }, + Palafin => new[] { + forms[Zero], + forms[HeroPalafin], + }, + Maushold => new[] { + forms[FamilyOfThree], + forms[FamilyOfFour], + }, + Tatsugiri => new[] { + forms[Curly], + forms[Droopy], + forms[Stretchy], + }, + Squawkabilly => new[] { + forms[Green], + forms[988], // Blue + forms[986], // Yellow + forms[989], // White + }, + Gimmighoul => new[] { + forms[Chest], + forms[Roaming], + }, + Koraidon => new[] { + forms[Apex], + forms[Limited], + forms[Sprinting], + forms[Swimming], + forms[Gliding], + }, + Miraidon => new[] { + forms[Ultimate], + forms[LowPower], + forms[Drive], + forms[Aquatic], + forms[Glide], + }, + _ => EMPTY, + }; + } + private static string[] GetFormsAlolan(EntityContext context, IReadOnlyList types, IReadOnlyList forms, ushort species) { int generation = context.Generation(); @@ -444,9 +499,9 @@ private static string[] GetFormsAlolan(EntityContext context, IReadOnlyList= 8 => new[] { - types[000], + types[0], forms[810], // Alolan - forms[Galarian], // Alolan + forms[Galarian], // Galarian }, // Only reached when Gen8+, as Totem logic picks up Gen7 earlier. @@ -460,7 +515,7 @@ or Raichu or Grimer or Muk or Exeggutor or Marowak => new[] { - types[000], + types[0], forms[810], // Alolan }, _ => EMPTY, @@ -473,7 +528,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList new[] { - types[000], // Normal + types[0], // Normal forms[729], // Rockstar forms[730], // Belle forms[731], // Pop @@ -482,7 +537,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList new[] { - types[000], // Normal + types[0], // Normal forms[813], // Original forms[814], // Hoenn forms[815], // Sinnoh @@ -493,7 +548,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList new[] { - types[000], // Normal + types[0], // Normal forms[813], // Original forms[814], // Hoenn forms[815], // Sinnoh @@ -502,8 +557,8 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList new[] { - types[000], // Normal + 8 or 9 => new[] { + types[0], // Normal forms[813], // Original forms[814], // Hoenn forms[815], // Sinnoh @@ -522,7 +577,7 @@ private static string[] GetFormsPichu(IReadOnlyList types, IReadOnlyList { return new[] { - types[000], // Normal + types[0], // Normal forms[000], // Spiky }; } @@ -621,7 +676,7 @@ private static string[] GetFormsTotem(ushort species, IReadOnlyList type { return new[] { - forms[778], // Disguised + forms[(int)Mimikyu], // Disguised forms[1058], // Busted forms[1007], // Large "*" + forms[1058], // Busted @@ -685,7 +740,7 @@ private static string[] GetMegaSingle(IReadOnlyList types, IReadOnlyList { return new[] { - types[000], // Normal + types[0], // Normal forms[804], // Mega }; } @@ -694,7 +749,7 @@ private static string[] GetMegaXY(IReadOnlyList types, IReadOnlyList types, IReadOnlyList { return new[] { - types[000], // Normal + types[0], // Normal forms[Galarian], // Galarian }; } @@ -715,34 +770,49 @@ private static string[] GetFormsGalar(IReadOnlyList types, IReadOnlyList { Lilligant => new[] { - types[000], // Normal + types[0], // Normal forms[Hisuian], forms[Lady], }, Arcanine or Electrode or Avalugg => new[] { - types[000], // Normal + types[0], // Normal forms[Hisuian], forms[Lord], }, _ => new[] { - types[000], // Normal + types[0], // Normal forms[Hisuian], }, }, _ => new[] { - types[000], // Normal + types[0], // Normal forms[Hisuian], }, }; + private static string[] GetFormsPaldea(ushort species, IReadOnlyList types, IReadOnlyList forms) => (Species)species switch + { + Tauros => new[] { + types[0], // Normal + forms[Paldean], + forms[Paldean] + $" ({types[(int)MoveType.Fire]})", + forms[Paldean] + $" ({types[(int)MoveType.Water]})", + }, + _ => new[] + { + types[0], // Normal + forms[Paldean], + }, + }; + private static string[] GetFormsGalarSlowbro(IReadOnlyList types, IReadOnlyList forms) { return new[] { - types[000], // Normal + types[0], // Normal forms[804], // Mega forms[Galarian], // Galarian }; @@ -767,8 +837,10 @@ private static string[] GetFormsGalarSlowbro(IReadOnlyList types, IReadO private const int NoiceFace = 1081; private const int HangryMode = 1082; private const int FullBellyMode = 1092; + private const int Phony = 1098; + private const int Antique = 1099; - private const int Hero = 1093; + private const int HeroOfManyBattles = 1093; private const int Crowned = 1083; private const int Eternamax = 1084; @@ -783,13 +855,37 @@ private static string[] GetFormsGalarSlowbro(IReadOnlyList types, IReadO private const int Lady = 1096; private const int Legend = 1097; + private const int Paldean = 1100; + private const int TwoSegment = 1101; + private const int ThreeSegment = 1102; + private const int Zero = 1103; + private const int HeroPalafin = 1104; + private const int FamilyOfThree = 1105; + private const int FamilyOfFour = 1106; + private const int Curly = 1107; + private const int Droopy = 1108; + private const int Stretchy = 1109; + private const int Green = 1110; + private const int Chest = 1111; + private const int Roaming = 1112; + private const int Apex = 1113; + private const int Limited = 1114; + private const int Sprinting = 1115; + private const int Swimming = 1116; + private const int Gliding = 1117; + private const int Ultimate = 1118; + private const int LowPower = 1119; + private const int Drive = 1120; + private const int Aquatic = 1121; + private const int Glide = 1122; + public static string GetGigantamaxName(IReadOnlyList forms) => forms[Gigantamax]; public static string[] GetAlcremieFormList(IReadOnlyList forms) { var result = new string[63]; // seed form0 with the pattern - result[0 * 7] = forms[(int) Alcremie]; // Vanilla Cream + result[0 * 7] = forms[(int)Alcremie]; // Vanilla Cream result[1 * 7] = forms[RubyCream]; result[2 * 7] = forms[MatchaCream]; result[3 * 7] = forms[MintCream]; diff --git a/PKHeX.Core/PKM/Util/Conversion/IEntityRejuvenator.cs b/PKHeX.Core/PKM/Util/Conversion/IEntityRejuvenator.cs index b82330c56..1ca54a4f5 100644 --- a/PKHeX.Core/PKM/Util/Conversion/IEntityRejuvenator.cs +++ b/PKHeX.Core/PKM/Util/Conversion/IEntityRejuvenator.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Interface that exposes a method to data after converting. @@ -52,10 +52,7 @@ private static void RejuvenatePLA(PKM result, PK8 original) { var relearn = la.GetSuggestedRelearnMoves(enc); if (relearn.Count != 0) - { - for (int i = 0; i < relearn.Count; i++) - pa8.SetRelearnMove(i, relearn[i]); - } + pa8.SetRelearnMoves(relearn); pa8.ClearMoveShopFlags(); if (enc is IMasteryInitialMoveShop8 e) @@ -94,9 +91,6 @@ private static void RejuvenateBDSP(PKM result, PK8 original) enc = la.EncounterOriginal; var relearn = la.GetSuggestedRelearnMoves(enc); if (relearn.Count != 0) - { - for (int i = 0; i < relearn.Count; i++) - result.SetRelearnMove(i, relearn[i]); - } + result.SetRelearnMoves(relearn); } } diff --git a/PKHeX.Core/PKM/Util/Conversion/ItemConverter.cs b/PKHeX.Core/PKM/Util/Conversion/ItemConverter.cs index c51b35f0b..1b5661711 100644 --- a/PKHeX.Core/PKM/Util/Conversion/ItemConverter.cs +++ b/PKHeX.Core/PKM/Util/Conversion/ItemConverter.cs @@ -144,7 +144,7 @@ private static byte GetItemOld2(ushort item) { 0x19 => 0x92, // Leftovers 0x2D => 0x53, // Bitter Berry - 0x32 => 0xAE, // Leftovers + 0x32 => 0xAE, // Gold Berry 0x5A or 0x64 or 0x78 or 0x87 or 0xBE or 0xC3 or 0xDC or 0xFA or 0xFF => 0xAD, // Berry _ => value, }; diff --git a/PKHeX.Core/PKM/Util/EntityBlank.cs b/PKHeX.Core/PKM/Util/EntityBlank.cs index 516c02edf..bc6cff589 100644 --- a/PKHeX.Core/PKM/Util/EntityBlank.cs +++ b/PKHeX.Core/PKM/Util/EntityBlank.cs @@ -63,6 +63,8 @@ public static PKM GetIdealBlank(ushort species, byte form) return new PB8(); if (PersonalTable.USUM.IsPresentInGame(species, form)) return new PK7(); + if (PersonalTable.SV.IsPresentInGame(species, form)) + return new PK9(); return new PB7(); } } diff --git a/PKHeX.Core/PKM/Util/EntityDetection.cs b/PKHeX.Core/PKM/Util/EntityDetection.cs index ed9f09227..4e2608da2 100644 --- a/PKHeX.Core/PKM/Util/EntityDetection.cs +++ b/PKHeX.Core/PKM/Util/EntityDetection.cs @@ -17,6 +17,7 @@ public static class EntityDetection PokeCrypto.SIZE_6STORED, PokeCrypto.SIZE_6PARTY, PokeCrypto.SIZE_8STORED, PokeCrypto.SIZE_8PARTY, PokeCrypto.SIZE_8ASTORED, PokeCrypto.SIZE_8APARTY, + PokeCrypto.SIZE_9STORED, PokeCrypto.SIZE_9PARTY, }; /// diff --git a/PKHeX.Core/PKM/Util/EntityFormat.cs b/PKHeX.Core/PKM/Util/EntityFormat.cs index 0a12a7d8e..e07278651 100644 --- a/PKHeX.Core/PKM/Util/EntityFormat.cs +++ b/PKHeX.Core/PKM/Util/EntityFormat.cs @@ -33,7 +33,7 @@ public static EntityFormatDetected GetFormat(ReadOnlySpan data) SIZE_5PARTY => FormatPK5, SIZE_6STORED => GetFormat67(data), SIZE_6PARTY => GetFormat67_PGT(data), - SIZE_8PARTY or SIZE_8STORED => GetFormat8(data), + SIZE_8PARTY or SIZE_8STORED => GetFormat89(data), SIZE_8APARTY or SIZE_8ASTORED => FormatPA8, _ => None, }; @@ -66,7 +66,7 @@ private static bool IsFormat67(ReadOnlySpan data) // assumes decrypted state private static EntityFormatDetected GetFormat45(ReadOnlySpan data) { - if (data.Length == PokeCrypto.SIZE_4RSTORED) + if (data.Length == SIZE_4RSTORED) return FormatRK4; if (ReadUInt16LittleEndian(data[0x4..]) != 0) return FormatBK4; // BK4 non-zero sanity @@ -89,12 +89,24 @@ private static EntityFormatDetected GetFormat67(ReadOnlySpan data) /// /// Checks if the input file is really a . /// - private static EntityFormatDetected GetFormat8(ReadOnlySpan data) + private static EntityFormatDetected GetFormat89(ReadOnlySpan data) { var pk = new PK8(data.ToArray()); + if (IsFormatReally9(pk)) + return FormatPK9; return IsFormatReally8b(pk); } + private static bool IsFormatReally9(PK8 pk) + { + // PK8: Unused Alignment, PK9: Obedience Level + if (pk.Data[0x11F] != 0) + return true; + // PK8: Version, PK9: Unused -- Version relocated to 0xCE + return pk.Data[0xDE] == 0; + // No need to check for other usages being different. + } + /// /// Creates an instance of from the given data. /// @@ -127,6 +139,7 @@ private static EntityFormatDetected GetFormat8(ReadOnlySpan data) FormatPB8 => new PB8(data), Format6or7 => prefer == EntityContext.Gen6 ? new PK6(data) : new PK7(data), Format8or8b => prefer == EntityContext.Gen8b ? new PB8(data) : new PK8(data), + FormatPK9 => new PK9(data), _ => null, }; @@ -188,12 +201,12 @@ private static EntityFormatDetected IsFormatReally7(PK6 pk) private static EntityFormatDetected IsFormatReally8b(PK8 pk) { + if (pk.Species > Legal.MaxSpeciesID_4) + return FormatPK8; if (pk.DynamaxLevel != 0) return FormatPK8; if (pk.CanGigantamax) return FormatPK8; - if (pk.Species > Legal.MaxSpeciesID_4) - return FormatPK8; return Format8or8b; } @@ -209,6 +222,7 @@ public enum EntityFormatDetected FormatPK4, FormatBK4, FormatRK4, FormatPK5, FormatPK6, FormatPK7, FormatPB7, FormatPK8, FormatPA8, FormatPB8, + FormatPK9, Format6or7, Format8or8b, diff --git a/PKHeX.Core/PKM/Util/Experience.cs b/PKHeX.Core/PKM/Util/Experience.cs index 3b5ea71e3..61bcaf598 100644 --- a/PKHeX.Core/PKM/Util/Experience.cs +++ b/PKHeX.Core/PKM/Util/Experience.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Calculations for and . @@ -11,7 +11,7 @@ public static class Experience /// Experience points /// Experience growth rate /// Current level of the species. - public static int GetLevel(uint exp, int growth) + public static int GetLevel(uint exp, byte growth) { if (exp >= ExpTable[99, growth]) return 100; @@ -27,7 +27,7 @@ public static int GetLevel(uint exp, int growth) /// Current level /// Growth Rate type /// Experience points needed to have specified level. - public static uint GetEXP(int level, int growth) + public static uint GetEXP(int level, byte growth) { if (level <= 1) return 0; @@ -49,9 +49,9 @@ public static uint GetEXP(int level, int growth) /// Current Level /// Growth Rate type /// EXP to level up - public static uint GetEXPToLevelUp(int level, int growth) + public static uint GetEXPToLevelUp(int level, byte growth) { - if (level >= 100) + if ((uint)level >= 100) return 0; var current = ExpTable[level - 1, growth]; var next = ExpTable[level, growth]; @@ -65,9 +65,9 @@ public static uint GetEXPToLevelUp(int level, int growth) /// Current Experience /// Growth Rate type /// Percentage [0,1.00) - public static double GetEXPToLevelUpPercentage(int level, uint exp, int growth) + public static double GetEXPToLevelUpPercentage(int level, uint exp, byte growth) { - if (level >= 100) + if ((uint)level >= 100) return 0; var current = ExpTable[level - 1, growth]; var next = ExpTable[level, growth]; diff --git a/PKHeX.Core/PKM/Util/Language.cs b/PKHeX.Core/PKM/Util/Language.cs index 7bd7cb38b..b651c52db 100644 --- a/PKHeX.Core/PKM/Util/Language.cs +++ b/PKHeX.Core/PKM/Util/Language.cs @@ -1,4 +1,4 @@ -using System; +using System; using static PKHeX.Core.LanguageID; namespace PKHeX.Core; @@ -13,9 +13,10 @@ public static class Language (byte)Japanese, (byte)English, (byte)French, - (byte)German, - (byte)Spanish, (byte)Italian, + (byte)German, + + (byte)Spanish, (byte)Korean, // GS @@ -24,8 +25,8 @@ public static class Language }; // check Korean for the VC case, never possible to match string outside of this case - private static readonly byte[] Languages_GB = Languages.AsSpan(0, 7).ToArray(); // [..KOR] - private static readonly byte[] Languages_3 = Languages.AsSpan(0, 6).ToArray(); // [..KOR) + private static ReadOnlySpan Languages_GB => Languages.AsSpan(0, 7); // [..KOR] + private static ReadOnlySpan Languages_3 => Languages.AsSpan(0, 6); // [..KOR) private const LanguageID SafeLanguage = English; public static ReadOnlySpan GetAvailableGameLanguages(int generation = PKX.Generation) => generation switch @@ -37,11 +38,7 @@ public static class Language _ => Languages, }; - private static bool HasLanguage(byte[] permitted, byte language) - { - int index = Array.IndexOf(permitted, language); - return index != -1; - } + private static bool HasLanguage(ReadOnlySpan permitted, byte language) => permitted.Contains(language); public static LanguageID GetSafeLanguage(int generation, LanguageID prefer, GameVersion game = GameVersion.Any) => generation switch { diff --git a/PKHeX.Core/PKM/Util/PKX.cs b/PKHeX.Core/PKM/Util/PKX.cs index 452119d2a..5ecb4d42a 100644 --- a/PKHeX.Core/PKM/Util/PKX.cs +++ b/PKHeX.Core/PKM/Util/PKX.cs @@ -1,11 +1,12 @@ namespace PKHeX.Core; /// -/// Common logic for data providing and manipulation. +/// Latest game values for data providing and manipulation. /// public static class PKX { - internal static readonly IPersonalTable Personal = PersonalTable.LA; - public const int Generation = 8; - public const EntityContext Context = EntityContext.Gen8a; + internal static IPersonalTable Personal => PersonalTable.SV; + public const EntityContext Context = EntityContext.Gen9; + public const GameVersion Version = GameVersion.SL; + public const int Generation = 9; } diff --git a/PKHeX.Core/PKM/Util/PokeCrypto.cs b/PKHeX.Core/PKM/Util/PokeCrypto.cs index b97c60df6..a1728ddfb 100644 --- a/PKHeX.Core/PKM/Util/PokeCrypto.cs +++ b/PKHeX.Core/PKM/Util/PokeCrypto.cs @@ -52,6 +52,10 @@ public static class PokeCrypto internal const int SIZE_8APARTY = SIZE_8ASTORED + 0x10; // 0x178 private const int SIZE_8ABLOCK = 88; // 0x58 + internal const int SIZE_9STORED = SIZE_8STORED; + internal const int SIZE_9PARTY = SIZE_8PARTY; + private const int SIZE_9BLOCK = SIZE_8BLOCK; + /// /// Positions for shuffling. /// @@ -155,6 +159,21 @@ public static byte[] DecryptArray8A(Span ekm) return ShuffleArray(ekm, sv, SIZE_8ABLOCK); } + /// + /// Decrypts a Gen9 pk byte array. + /// + /// Encrypted Pokémon data. + /// Decrypted Pokémon data. + /// Encrypted Pokémon data. + public static byte[] DecryptArray9(Span ekm) + { + uint pv = ReadUInt32LittleEndian(ekm); + uint sv = (pv >> 13) & 31; + + CryptPKM(ekm, pv, SIZE_9BLOCK); + return ShuffleArray(ekm, sv, SIZE_9BLOCK); + } + /// /// Encrypts a Gen8 pk byte array. /// @@ -183,6 +202,20 @@ public static byte[] EncryptArray8A(ReadOnlySpan pk) return ekm; } + /// + /// Encrypts a Gen9 pk byte array. + /// + /// Decrypted Pokémon data. + public static byte[] EncryptArray9(ReadOnlySpan pk) + { + uint pv = ReadUInt32LittleEndian(pk); + uint sv = (pv >> 13) & 31; + + byte[] ekm = ShuffleArray(pk, blockPositionInvert[sv], SIZE_9BLOCK); + CryptPKM(ekm, pv, SIZE_9BLOCK); + return ekm; + } + /// /// Decrypts a 232 byte + party stat byte array. /// @@ -454,4 +487,15 @@ public static void DecryptIfEncrypted8A(ref byte[] pk) if (ReadUInt16LittleEndian(span[0x78..]) != 0 || ReadUInt16LittleEndian(span[0x128..]) != 0) pk = DecryptArray8A(span); } + + /// + /// Decrypts the input data into a new array if it is encrypted, and updates the reference. + /// + /// Generation 9 Format encryption check + public static void DecryptIfEncrypted9(ref byte[] pk) + { + var span = pk.AsSpan(); + if (ReadUInt16LittleEndian(span[0x70..]) != 0 || ReadUInt16LittleEndian(span[0x110..]) != 0) + pk = DecryptArray9(span); + } } diff --git a/PKHeX.Core/PKM/XK3.cs b/PKHeX.Core/PKM/XK3.cs index 717a64292..dda656d4c 100644 --- a/PKHeX.Core/PKM/XK3.cs +++ b/PKHeX.Core/PKM/XK3.cs @@ -5,7 +5,7 @@ namespace PKHeX.Core; /// Generation 3 format, exclusively for Pokémon XD. -public sealed class XK3 : G3PKM, IShadowPKM +public sealed class XK3 : G3PKM, IShadowCapture { private static readonly ushort[] Unused = { diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo1.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo1.cs index 7bd57a96c..46f713a73 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo1.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo1.cs @@ -22,7 +22,7 @@ public override byte[] Write() return Data; } - public int DEX_ID { get => Data[0x00]; set => Data[0x00] = (byte)value; } + public override int Gender { get => Data[0x00]; set => Data[0x00] = (byte)value; } public override int HP { get => Data[0x01]; set => Data[0x01] = (byte)value; } public override int ATK { get => Data[0x02]; set => Data[0x02] = (byte)value; } public override int DEF { get => Data[0x03]; set => Data[0x03] = (byte)value; } @@ -30,15 +30,15 @@ public override byte[] Write() public int SPC { get => Data[0x05]; set => Data[0x05] = (byte)value; } public override int SPA { get => SPC; set => SPC = value; } public override int SPD { get => SPC; set => SPC = value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int BaseEXP { get => Data[0x09]; set => Data[0x09] = (byte)value; } public byte Move1 { get => Data[0x0F]; set => Data[0x0F] = value; } public byte Move2 { get => Data[0x10]; set => Data[0x10] = value; } public byte Move3 { get => Data[0x11]; set => Data[0x11] = value; } public byte Move4 { get => Data[0x12]; set => Data[0x12] = value; } - public override int EXPGrowth { get => Data[0x13]; set => Data[0x13] = (byte)value; } + public override byte EXPGrowth { get => Data[0x13]; set => Data[0x13] = value; } // EV Yields are just aliases for base stats in Gen I public override int EV_HP { get => HP; set { } } @@ -55,7 +55,6 @@ public override byte[] Write() public override int GetIndexOfAbility(int abilityID) => -1; public override int GetAbilityAtIndex(int abilityIndex) => -1; public override int AbilityCount => 0; - public override int Gender { get; set; } public override int HatchCycles { get => 0; set { } } public override int BaseFriendship { get => 0; set { } } public override int EscapeRate { get => 0; set { } } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo2.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo2.cs index 9ea179150..499d25a5b 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo2.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo2.cs @@ -30,15 +30,15 @@ public override byte[] Write() public override int SPE { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPA { get => Data[0x05]; set => Data[0x05] = (byte)value; } public override int SPD { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type1 { get => Data[0x07]; set => Data[0x07] = (byte)value; } - public override int Type2 { get => Data[0x08]; set => Data[0x08] = (byte)value; } + public override byte Type1 { get => Data[0x07]; set => Data[0x07] = value; } + public override byte Type2 { get => Data[0x08]; set => Data[0x08] = value; } public override int CatchRate { get => Data[0x09]; set => Data[0x09] = (byte)value; } public override int BaseEXP { get => Data[0x0A]; set => Data[0x0A] = (byte)value; } public int Item1 { get => Data[0xB]; set => Data[0xB] = (byte)value; } public int Item2 { get => Data[0xC]; set => Data[0xC] = (byte)value; } public override int Gender { get => Data[0xD]; set => Data[0xD] = (byte)value; } public override int HatchCycles { get => Data[0xF]; set => Data[0xF] = (byte)value; } - public override int EXPGrowth { get => Data[0x16]; set => Data[0x16] = (byte)value; } + public override byte EXPGrowth { get => Data[0x16]; set => Data[0x16] = value; } public override int EggGroup1 { get => Data[0x17] & 0xF; set => Data[0x17] = (byte)((Data[0x17] & 0xF0) | value); } public override int EggGroup2 { get => Data[0x17] >> 4; set => Data[0x17] = (byte)((Data[0x17] & 0x0F) | (value << 4)); } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo3.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo3.cs index ce07edcda..449ce0f1a 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo3.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo3.cs @@ -21,8 +21,8 @@ public sealed class PersonalInfo3 : PersonalInfo, IPersonalAbility12 public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int BaseEXP { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -37,7 +37,7 @@ public sealed class PersonalInfo3 : PersonalInfo, IPersonalAbility12 public override int Gender { get => Data[0x10]; set => Data[0x10] = (byte)value; } public override int HatchCycles { get => Data[0x11]; set => Data[0x11] = (byte)value; } public override int BaseFriendship { get => Data[0x12]; set => Data[0x12] = (byte)value; } - public override int EXPGrowth { get => Data[0x13]; set => Data[0x13] = (byte)value; } + public override byte EXPGrowth { get => Data[0x13]; set => Data[0x13] = value; } public override int EggGroup1 { get => Data[0x14]; set => Data[0x14] = (byte)value; } public override int EggGroup2 { get => Data[0x15]; set => Data[0x15] = (byte)value; } public int Ability1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo4.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo4.cs index c684471d5..c1363a0b2 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo4.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo4.cs @@ -31,8 +31,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int BaseEXP { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -47,7 +47,7 @@ public override byte[] Write() public override int Gender { get => Data[0x10]; set => Data[0x10] = (byte)value; } public override int HatchCycles { get => Data[0x11]; set => Data[0x11] = (byte)value; } public override int BaseFriendship { get => Data[0x12]; set => Data[0x12] = (byte)value; } - public override int EXPGrowth { get => Data[0x13]; set => Data[0x13] = (byte)value; } + public override byte EXPGrowth { get => Data[0x13]; set => Data[0x13] = value; } public override int EggGroup1 { get => Data[0x14]; set => Data[0x14] = (byte)value; } public override int EggGroup2 { get => Data[0x15]; set => Data[0x15] = (byte)value; } public int Ability1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo5B2W2.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo5B2W2.cs index e3cb8cb8a..9754b7790 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo5B2W2.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo5B2W2.cs @@ -43,8 +43,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -61,7 +61,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo5BW.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo5BW.cs index 675ce2cd0..85e690d47 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo5BW.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo5BW.cs @@ -32,8 +32,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -50,7 +50,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo6AO.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo6AO.cs index 22e834657..e7a80b0d4 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo6AO.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo6AO.cs @@ -44,8 +44,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -62,7 +62,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo6XY.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo6XY.cs index c9ffe994d..5ff35b760 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo6XY.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo6XY.cs @@ -33,8 +33,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -51,7 +51,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo7.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo7.cs index b4e9392df..ab12433b7 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo7.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo7.cs @@ -37,8 +37,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -55,7 +55,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo7GG.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo7GG.cs index 0d65e1b88..7f2cbd66a 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo7GG.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo7GG.cs @@ -31,8 +31,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -49,7 +49,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => Data[0x18]; set => Data[0x18] = (byte)value; } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8BDSP.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8BDSP.cs index 5a50f7daf..4977fea87 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8BDSP.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8BDSP.cs @@ -41,8 +41,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -58,7 +58,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8LA.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8LA.cs index 67785cd04..3d7f8ba92 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8LA.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8LA.cs @@ -39,8 +39,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -56,7 +56,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8SWSH.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8SWSH.cs index 3cef91d7b..f6e1e14a4 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo8SWSH.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo8SWSH.cs @@ -59,8 +59,8 @@ public override byte[] Write() public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } - public override int Type1 { get => Data[0x06]; set => Data[0x06] = (byte)value; } - public override int Type2 { get => Data[0x07]; set => Data[0x07] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } @@ -76,7 +76,7 @@ public override byte[] Write() public override int Gender { get => Data[0x12]; set => Data[0x12] = (byte)value; } public override int HatchCycles { get => Data[0x13]; set => Data[0x13] = (byte)value; } public override int BaseFriendship { get => Data[0x14]; set => Data[0x14] = (byte)value; } - public override int EXPGrowth { get => Data[0x15]; set => Data[0x15] = (byte)value; } + public override byte EXPGrowth { get => Data[0x15]; set => Data[0x15] = value; } public override int EggGroup1 { get => Data[0x16]; set => Data[0x16] = (byte)value; } public override int EggGroup2 { get => Data[0x17]; set => Data[0x17] = (byte)value; } public int Ability1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo9SV.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo9SV.cs new file mode 100644 index 000000000..d964170f7 --- /dev/null +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo9SV.cs @@ -0,0 +1,96 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// class with values from the games. +/// +public sealed class PersonalInfo9SV : PersonalInfo, IPersonalAbility12H +{ + public const int SIZE = 0x44; + private readonly byte[] Data; + + public const int CountTM = 172; + + public PersonalInfo9SV(byte[] data) + { + Data = data; + TMHM = new bool[CountTM]; + + var tm = Data.AsSpan(0x2C); + for (var i = 0; i < CountTM; i++) + TMHM[i] = FlagUtil.GetFlag(tm, i >> 3, i); + } + + public override byte[] Write() + { + var tm = Data.AsSpan(0x2C); + for (var i = 0; i < CountTM; i++) + FlagUtil.SetFlag(tm, i >> 3, i, TMHM[i]); + return Data; + } + + public override int HP { get => Data[0x00]; set => Data[0x00] = (byte)value; } + public override int ATK { get => Data[0x01]; set => Data[0x01] = (byte)value; } + public override int DEF { get => Data[0x02]; set => Data[0x02] = (byte)value; } + public override int SPE { get => Data[0x03]; set => Data[0x03] = (byte)value; } + public override int SPA { get => Data[0x04]; set => Data[0x04] = (byte)value; } + public override int SPD { get => Data[0x05]; set => Data[0x05] = (byte)value; } + public override byte Type1 { get => Data[0x06]; set => Data[0x06] = value; } + public override byte Type2 { get => Data[0x07]; set => Data[0x07] = value; } + public override int CatchRate { get => Data[0x08]; set => Data[0x08] = (byte)value; } + public override int EvoStage { get => Data[0x09]; set => Data[0x09] = (byte)value; } + private int EVYield { get => ReadUInt16LittleEndian(Data.AsSpan(0x0A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x0A), (ushort)value); } + public override int EV_HP { get => (EVYield >> 0) & 0x3; set => EVYield = (EVYield & ~(0x3 << 0)) | ((value & 0x3) << 0); } + public override int EV_ATK { get => (EVYield >> 2) & 0x3; set => EVYield = (EVYield & ~(0x3 << 2)) | ((value & 0x3) << 2); } + public override int EV_DEF { get => (EVYield >> 4) & 0x3; set => EVYield = (EVYield & ~(0x3 << 4)) | ((value & 0x3) << 4); } + public override int EV_SPE { get => (EVYield >> 6) & 0x3; set => EVYield = (EVYield & ~(0x3 << 6)) | ((value & 0x3) << 6); } + public override int EV_SPA { get => (EVYield >> 8) & 0x3; set => EVYield = (EVYield & ~(0x3 << 8)) | ((value & 0x3) << 8); } + public override int EV_SPD { get => (EVYield >> 10) & 0x3; set => EVYield = (EVYield & ~(0x3 << 10)) | ((value & 0x3) << 10); } + public override int Gender { get => Data[0x0C]; set => Data[0x0C] = (byte)value; } + public override int HatchCycles { get => Data[0x0D]; set => Data[0x0D] = (byte)value; } + public override int BaseFriendship { get => Data[0x0E]; set => Data[0x0E] = (byte)value; } + public override byte EXPGrowth { get => Data[0x0F]; set => Data[0x0F] = value; } + public override int EggGroup1 { get => Data[0x10]; set => Data[0x10] = (byte)value; } + public override int EggGroup2 { get => Data[0x11]; set => Data[0x11] = (byte)value; } + public int Ability1 { get => ReadUInt16LittleEndian(Data.AsSpan(0x12)); set => WriteUInt16LittleEndian(Data.AsSpan(0x12), (ushort)value); } + public int Ability2 { get => ReadUInt16LittleEndian(Data.AsSpan(0x14)); set => WriteUInt16LittleEndian(Data.AsSpan(0x14), (ushort)value); } + public int AbilityH { get => ReadUInt16LittleEndian(Data.AsSpan(0x16)); set => WriteUInt16LittleEndian(Data.AsSpan(0x16), (ushort)value); } + public override int FormStatsIndex { get => ReadUInt16LittleEndian(Data.AsSpan(0x18)); set => WriteUInt16LittleEndian(Data.AsSpan(0x18), (ushort)value); } + public override byte FormCount { get => Data[0x1A]; set => Data[0x1A] = value; } + public override int Color { get => Data[0x1B]; set => Data[0x1B] = (byte)value; } + public bool IsPresentInGame { get => Data[0x1C] != 0; set => Data[0x1C] = value ? (byte)1 : (byte)0; } + public byte DexGroup { get => Data[0x1D]; set => Data[0x1D] = value; } + public ushort DexIndex { get => ReadUInt16LittleEndian(Data.AsSpan(0x1E)); set => WriteUInt16LittleEndian(Data.AsSpan(0x1E), value); } + public override int Height { get => ReadUInt16LittleEndian(Data.AsSpan(0x20)); set => WriteUInt16LittleEndian(Data.AsSpan(0x20), (ushort)value); } + public override int Weight { get => ReadUInt16LittleEndian(Data.AsSpan(0x22)); set => WriteUInt16LittleEndian(Data.AsSpan(0x22), (ushort)value); } + public ushort HatchSpecies { get => ReadUInt16LittleEndian(Data.AsSpan(0x24)); set => WriteUInt16LittleEndian(Data.AsSpan(0x24), value); } + public byte LocalFormIndex { get => (byte)ReadUInt16LittleEndian(Data.AsSpan(0x26)); set => WriteUInt16LittleEndian(Data.AsSpan(0x26), value); } // local region base form + public ushort RegionalFlags { get => ReadUInt16LittleEndian(Data.AsSpan(0x28)); set => WriteUInt16LittleEndian(Data.AsSpan(0x28), value); } + public bool IsRegionalForm { get => (RegionalFlags & 1) == 1; set => RegionalFlags = (ushort)((RegionalFlags & 0xFFFE) | (value ? 1 : 0)); } + public ushort RegionalFormIndex { get => (byte)ReadUInt16LittleEndian(Data.AsSpan(0x2A)); set => WriteUInt16LittleEndian(Data.AsSpan(0x2A), value); } + + public override int EscapeRate { get => 0; set { } } + public override int BaseEXP { get => 0; set { } } + + /// + /// Gets the Form that any offspring will hatch with, assuming it is holding an Everstone. + /// + public byte HatchFormIndexEverstone => IsRegionalForm ? (byte)RegionalFormIndex : LocalFormIndex; + + /// + /// Checks if the entry shows up in any of the built-in Pokédex. + /// + public bool IsInDex => DexIndex != 0; + + public override int AbilityCount => 3; + public override int GetIndexOfAbility(int abilityID) => abilityID == Ability1 ? 0 : abilityID == Ability2 ? 1 : abilityID == AbilityH ? 2 : -1; + public override int GetAbilityAtIndex(int abilityIndex) => abilityIndex switch + { + 0 => Ability1, + 1 => Ability2, + 2 => AbilityH, + _ => throw new ArgumentOutOfRangeException(nameof(abilityIndex), abilityIndex, null), + }; +} diff --git a/PKHeX.Core/PersonalInfo/Interfaces/IPersonalInfo.cs b/PKHeX.Core/PersonalInfo/Interfaces/IPersonalInfo.cs index 5b59e2541..5ceedd8cb 100644 --- a/PKHeX.Core/PersonalInfo/Interfaces/IPersonalInfo.cs +++ b/PKHeX.Core/PersonalInfo/Interfaces/IPersonalInfo.cs @@ -18,5 +18,5 @@ public interface IPersonalInfo : IBaseStat, IEffortValueYield, IGenderDetail, IP /// /// Experience-Level Growth Rate type /// - int EXPGrowth { get; set; } + byte EXPGrowth { get; set; } } diff --git a/PKHeX.Core/PersonalInfo/Interfaces/IPersonalType.cs b/PKHeX.Core/PersonalInfo/Interfaces/IPersonalType.cs index 6beeed527..c841c906b 100644 --- a/PKHeX.Core/PersonalInfo/Interfaces/IPersonalType.cs +++ b/PKHeX.Core/PersonalInfo/Interfaces/IPersonalType.cs @@ -8,12 +8,12 @@ public interface IPersonalType /// /// Primary Type /// - int Type1 { get; set; } + byte Type1 { get; set; } /// /// Secondary Type /// - int Type2 { get; set; } + byte Type2 { get; set; } } public static class PersonalTypeExtensions @@ -24,7 +24,7 @@ public static class PersonalTypeExtensions /// Object reference /// Type /// Typing is present in entry - public static bool IsType(this IPersonalType detail, int type1) + public static bool IsType(this IPersonalType detail, byte type1) { return detail.Type1 == type1 || detail.Type2 == type1; } @@ -37,7 +37,7 @@ public static bool IsType(this IPersonalType detail, int type1) /// Type 1 /// Type 2 /// Typing is present in entry - public static bool IsType(this IPersonalType detail, int type1, int type2) + public static bool IsType(this IPersonalType detail, byte type1, byte type2) { return (detail.Type1 == type1 && detail.Type2 == type2) || (detail.Type1 == type2 && detail.Type2 == type1); } @@ -45,10 +45,10 @@ public static bool IsType(this IPersonalType detail, int type1, int type2) /// /// Checks to see if the provided Types match the entry's types. /// - /// Input order matters! If input order does not matter, use instead. + /// Input order matters! If input order does not matter, use instead. /// Object reference /// First type /// Second type /// Typing is an exact match - public static bool IsValidTypeCombination(this IPersonalType detail, int type1, int type2) => detail.Type1 == type1 && detail.Type2 == type2; + public static bool IsValidTypeCombination(this IPersonalType detail, byte type1, byte type2) => detail.Type1 == type1 && detail.Type2 == type2; } diff --git a/PKHeX.Core/PersonalInfo/PersonalInfo.cs b/PKHeX.Core/PersonalInfo/PersonalInfo.cs index f651bb4e6..6890a5cb7 100644 --- a/PKHeX.Core/PersonalInfo/PersonalInfo.cs +++ b/PKHeX.Core/PersonalInfo/PersonalInfo.cs @@ -20,8 +20,8 @@ public abstract class PersonalInfo : IPersonalInfo public abstract int EV_SPE { get; set; } public abstract int EV_SPA { get; set; } public abstract int EV_SPD { get; set; } - public abstract int Type1 { get; set; } - public abstract int Type2 { get; set; } + public abstract byte Type1 { get; set; } + public abstract byte Type2 { get; set; } public abstract int EggGroup1 { get; set; } public abstract int EggGroup2 { get; set; } public abstract int CatchRate { get; set; } @@ -29,7 +29,7 @@ public abstract class PersonalInfo : IPersonalInfo public abstract int Gender { get; set; } public abstract int HatchCycles { get; set; } public abstract int BaseFriendship { get; set; } - public abstract int EXPGrowth { get; set; } + public abstract byte EXPGrowth { get; set; } public abstract int GetIndexOfAbility(int abilityID); public abstract int GetAbilityAtIndex(int abilityIndex); public abstract int AbilityCount { get; } diff --git a/PKHeX.Core/PersonalInfo/PersonalTable.cs b/PKHeX.Core/PersonalInfo/PersonalTable.cs index dcff33e25..dfa4f88d1 100644 --- a/PKHeX.Core/PersonalInfo/PersonalTable.cs +++ b/PKHeX.Core/PersonalInfo/PersonalTable.cs @@ -10,6 +10,11 @@ namespace PKHeX.Core; /// public static class PersonalTable { + /// + /// Personal Table used in . + /// + public static readonly PersonalTable9SV SV = new(GetTable("sv")); + /// /// Personal Table used in . /// @@ -119,17 +124,8 @@ public static class PersonalTable static PersonalTable() // Finish Setup { - FixPersonalTableG1(); PopulateGen3Tutors(); PopulateGen4Tutors(); - CopyDexitGenders(); - } - - private static void FixPersonalTableG1() - { - var gs = GS.Table; - RB.LoadValuesFrom(gs); - Y.LoadValuesFrom(gs); } private static void PopulateGen3Tutors() @@ -137,61 +133,15 @@ private static void PopulateGen3Tutors() // Update Gen3 data with Emerald's data, FR/LG is a subset of Emerald's compatibility. var machine = BinLinkerAccessor.Get(Util.GetBinaryResource("hmtm_g3.pkl"), "g3"); var tutors = BinLinkerAccessor.Get(Util.GetBinaryResource("tutors_g3.pkl"), "g3"); - var table = E.Table; - for (ushort i = Legal.MaxSpeciesID_3; i >= 1; i--) - { - var entry = table[i]; - entry.AddTMHM(machine[i]); - entry.AddTypeTutors(tutors[i]); - - // Copy to other tables - RS.Table[i].TMHM = FR.Table[i].TMHM = LG.Table[i].TMHM = entry.TMHM; - RS.Table[i].TypeTutors = FR.Table[i].TypeTutors = LG.Table[i].TypeTutors = entry.TypeTutors; - } + E.LoadTables(machine, tutors); + FR.CopyTables(E); + LG.CopyTables(E); + RS.CopyTables(E); } private static void PopulateGen4Tutors() { var tutors = BinLinkerAccessor.Get(Util.GetBinaryResource("tutors_g4.pkl"), "g4"); - var table = HGSS.Table; - var count = tutors.Length; - for (ushort i = 1; i < count; i++) - table[i].AddTypeTutors(tutors[i]); - } - - /// - /// Sword/Shield do not contain personal data (stubbed) for all species that are not allowed to visit the game. - /// Copy all the genders from 's table for all past species, since we need it for gender lookups for all generations. - /// - private static void CopyDexitGenders() - { - var swsh = SWSH.Table; - var usum = USUM.Table; - - for (ushort i = 1; i <= Legal.MaxSpeciesID_7_USUM; i++) - { - var ss = swsh[i]; - if (ss.HP == 0) - ss.Gender = usum[i].Gender; - } - - var la = LA; - for (ushort i = 1; i <= Legal.MaxSpeciesID_8_R2; i++) - { - var e = la.Table[i]; - var fc = e.FormCount; - for (byte f = 0; f < fc; f++) - { - var l = la.GetFormEntry(i, f); - if (l.HP != 0) - continue; - var s = SWSH.GetFormEntry(i, f); - l.Ability1 = s.Ability1; - l.Ability2 = s.Ability2; - l.AbilityH = s.AbilityH; - l.Gender = s.Gender; - l.EXPGrowth = s.EXPGrowth; - } - } + HGSS.LoadTables(tutors); } } diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable1.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable1.cs index 9b1f0b306..fa7e10d5e 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable1.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable1.cs @@ -35,20 +35,14 @@ public PersonalTable1(ReadOnlySpan data) PersonalInfo IPersonalTable.this[ushort species, byte form] => this[species, form]; PersonalInfo IPersonalTable.GetFormEntry(ushort species, byte form) => GetFormEntry(species, form); - public void LoadValuesFrom(PersonalInfo2[] data) - { - for (int i = MaxSpecies; i >= 0; i--) - Table[i].Gender = data[i].Gender; - } - /// /// Checks to see if either of the input type combinations exist in the table. /// - /// Only useful for checking Generation 1 and properties. + /// Only useful for checking Generation 1 and properties. /// First type /// Second type /// Indication that the combination exists in the table. - public bool IsValidTypeCombination(int type1, int type2) + public bool IsValidTypeCombination(byte type1, byte type2) { for (int i = 1; i <= MaxSpecies; i++) { diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable2.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable2.cs index 006af3142..22ac711f3 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable2.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable2.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable2 : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo2[] Table; // internal to share with Gen1 tables + private readonly PersonalInfo2[] Table; // internal to share with Gen1 tables private const int SIZE = PersonalInfo2.SIZE; private const int MaxSpecies = Legal.MaxSpeciesID_2; public int MaxSpeciesID => MaxSpecies; diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable3.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable3.cs index ec0230a70..5a1d9b13b 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable3.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable3.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable3 : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo3[] Table; // internal to share with Gen1 tables + private readonly PersonalInfo3[] Table; // internal to share with Gen1 tables private const int SIZE = PersonalInfo3.SIZE; private const int MaxSpecies = Legal.MaxSpeciesID_3; public int MaxSpeciesID => MaxSpecies; @@ -45,4 +45,29 @@ public bool IsPresentInGame(ushort species, byte form) PersonalInfo IPersonalTable.this[int index] => this[index]; PersonalInfo IPersonalTable.this[ushort species, byte form] => this[species, form]; PersonalInfo IPersonalTable.GetFormEntry(ushort species, byte form) => GetFormEntry(species, form); + + internal void LoadTables(BinLinkerAccessor machine, BinLinkerAccessor tutors) + { + var table = Table; + for (int i = Legal.MaxSpeciesID_3; i >= 1; i--) + { + var entry = table[i]; + entry.AddTMHM(machine[i]); + entry.AddTypeTutors(tutors[i]); + } + } + + internal void CopyTables(PersonalTable3 pt) + { + // Copy to other tables + var other = pt.Table; + var table = Table; + for (int i = Legal.MaxSpeciesID_3; i >= 1; i--) + { + var entry = table[i]; + var source = other[i]; + entry.TMHM = source.TMHM; + entry.TypeTutors = source.TypeTutors; + } + } } diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable4.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable4.cs index 069043148..104b0eee6 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable4.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable4.cs @@ -8,7 +8,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable4 : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo4[] Table; + private readonly PersonalInfo4[] Table; private const int SIZE = PersonalInfo4.SIZE; private const int MaxSpecies = Legal.MaxSpeciesID_4; public int MaxSpeciesID => MaxSpecies; @@ -61,4 +61,11 @@ public bool IsPresentInGame(ushort species, byte form) PersonalInfo IPersonalTable.this[int index] => this[index]; PersonalInfo IPersonalTable.this[ushort species, byte form] => this[species, form]; PersonalInfo IPersonalTable.GetFormEntry(ushort species, byte form) => GetFormEntry(species, form); + + public void LoadTables(BinLinkerAccessor tutors) + { + var table = Table; + for (int i = Legal.MaxSpeciesID_4; i >= 1; i--) + table[i].AddTypeTutors(tutors[i]); + } } diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable7.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable7.cs index 6387d7d1e..df1adb538 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable7.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable7.cs @@ -8,7 +8,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable7 : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo7[] Table; + private readonly PersonalInfo7[] Table; private const int SIZE = PersonalInfo7.SIZE; public int MaxSpeciesID { get; } diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable8LA.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable8LA.cs index 60ec37a4f..538ef765b 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable8LA.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable8LA.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable8LA : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo8LA[] Table; + private readonly PersonalInfo8LA[] Table; private const int SIZE = PersonalInfo8LA.SIZE; private const int MaxSpecies = Legal.MaxSpeciesID_8a; public int MaxSpeciesID => MaxSpecies; diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable8SWSH.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable8SWSH.cs index 8bdc17782..ff1e42b79 100644 --- a/PKHeX.Core/PersonalInfo/Table/PersonalTable8SWSH.cs +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable8SWSH.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// public sealed class PersonalTable8SWSH : IPersonalTable, IPersonalTable { - internal readonly PersonalInfo8SWSH[] Table; + private readonly PersonalInfo8SWSH[] Table; private const int SIZE = PersonalInfo8SWSH.SIZE; private const int MaxSpecies = Legal.MaxSpeciesID_8_R2; public int MaxSpeciesID => MaxSpecies; diff --git a/PKHeX.Core/PersonalInfo/Table/PersonalTable9SV.cs b/PKHeX.Core/PersonalInfo/Table/PersonalTable9SV.cs new file mode 100644 index 000000000..348677a2a --- /dev/null +++ b/PKHeX.Core/PersonalInfo/Table/PersonalTable9SV.cs @@ -0,0 +1,74 @@ +using System; + +namespace PKHeX.Core; + +/// +/// Personal Table storing used in . +/// +public sealed class PersonalTable9SV : IPersonalTable, IPersonalTable +{ + private readonly PersonalInfo9SV[] Table; + private const int SIZE = PersonalInfo9SV.SIZE; + private const int MaxSpecies = Legal.MaxSpeciesID_9; + public int MaxSpeciesID => MaxSpecies; + + public PersonalTable9SV(ReadOnlySpan data) + { + Table = new PersonalInfo9SV[data.Length / SIZE]; + var count = data.Length / SIZE; + for (int i = 0, ofs = 0; i < count; i++, ofs += SIZE) + { + var slice = data.Slice(ofs, SIZE).ToArray(); + Table[i] = new PersonalInfo9SV(slice); + } + } + + public PersonalInfo9SV this[int index] => Table[(uint)index < Table.Length ? index : 0]; + public PersonalInfo9SV this[ushort species, byte form] => Table[GetFormIndex(species, form)]; + public PersonalInfo9SV GetFormEntry(ushort species, byte form) => Table[GetFormIndex(species, form)]; + + public int GetFormIndex(ushort species, byte form) + { + if ((uint)species <= MaxSpeciesID) + return Table[species].FormIndex(species, form); + return 0; + } + + public bool IsSpeciesInGame(ushort species) + { + if ((uint)species > MaxSpeciesID) + return false; + + var form0 = Table[species]; + if (form0.IsPresentInGame) + return true; + + var fc = form0.FormCount; + for (byte i = 1; i < fc; i++) + { + var entry = GetFormEntry(species, i); + if (entry.IsPresentInGame) + return true; + } + return false; + } + + public bool IsPresentInGame(ushort species, byte form) + { + if ((uint)species > MaxSpeciesID) + return false; + + var form0 = Table[species]; + if (form == 0) + return form0.IsPresentInGame; + if (!form0.HasForm(form)) + return false; + + var entry = GetFormEntry(species, form); + return entry.IsPresentInGame; + } + + PersonalInfo IPersonalTable.this[int index] => this[index]; + PersonalInfo IPersonalTable.this[ushort species, byte form] => this[species, form]; + PersonalInfo IPersonalTable.GetFormEntry(ushort species, byte form) => GetFormEntry(species, form); +} diff --git a/PKHeX.Core/Resources/byte/eggmove/eggmove_sv.pkl b/PKHeX.Core/Resources/byte/eggmove/eggmove_sv.pkl new file mode 100644 index 000000000..4e29ca869 Binary files /dev/null and b/PKHeX.Core/Resources/byte/eggmove/eggmove_sv.pkl differ diff --git a/PKHeX.Core/Resources/byte/evolve/evos_la.pkl b/PKHeX.Core/Resources/byte/evolve/evos_la.pkl index b7744d777..b3bc10d7c 100644 Binary files a/PKHeX.Core/Resources/byte/evolve/evos_la.pkl and b/PKHeX.Core/Resources/byte/evolve/evos_la.pkl differ diff --git a/PKHeX.Core/Resources/byte/evolve/evos_sv.pkl b/PKHeX.Core/Resources/byte/evolve/evos_sv.pkl new file mode 100644 index 000000000..f860da697 Binary files /dev/null and b/PKHeX.Core/Resources/byte/evolve/evos_sv.pkl differ diff --git a/PKHeX.Core/Resources/byte/levelup/lvlmove_sv.pkl b/PKHeX.Core/Resources/byte/levelup/lvlmove_sv.pkl new file mode 100644 index 000000000..29157b8de Binary files /dev/null and b/PKHeX.Core/Resources/byte/levelup/lvlmove_sv.pkl differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_la b/PKHeX.Core/Resources/byte/personal/personal_la index 6a693d16d..5ece060de 100644 Binary files a/PKHeX.Core/Resources/byte/personal/personal_la and b/PKHeX.Core/Resources/byte/personal/personal_la differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_rb b/PKHeX.Core/Resources/byte/personal/personal_rb index ccd7a53c0..a9b10fb9a 100644 Binary files a/PKHeX.Core/Resources/byte/personal/personal_rb and b/PKHeX.Core/Resources/byte/personal/personal_rb differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_sv b/PKHeX.Core/Resources/byte/personal/personal_sv new file mode 100644 index 000000000..b91fe8091 Binary files /dev/null and b/PKHeX.Core/Resources/byte/personal/personal_sv differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_swsh b/PKHeX.Core/Resources/byte/personal/personal_swsh index b80c71d6b..36ce653dc 100644 Binary files a/PKHeX.Core/Resources/byte/personal/personal_swsh and b/PKHeX.Core/Resources/byte/personal/personal_swsh differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_y b/PKHeX.Core/Resources/byte/personal/personal_y index 0da0d4de2..cc0b17be4 100644 Binary files a/PKHeX.Core/Resources/byte/personal/personal_y and b/PKHeX.Core/Resources/byte/personal/personal_y differ diff --git a/PKHeX.Core/Resources/byte/personal/reminder_sv.pkl b/PKHeX.Core/Resources/byte/personal/reminder_sv.pkl new file mode 100644 index 000000000..76470b0a3 Binary files /dev/null and b/PKHeX.Core/Resources/byte/personal/reminder_sv.pkl differ diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt index fefaaf5c0..77fbb66e3 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_de.txt @@ -1,399 +1,406 @@ -L_AError = Internal error. -L_ALegal = Legal! -L_AnalysisUnavailable = Analysis not available for this Pokémon. -L_AValid = Valid. -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} Move {1}: {2} -L_F0_RM_1_2 = {0} Relearn Move {1}: {2} -L_FEncounterType_0 = Encounter Type: {0} -L_FOriginSeed_0 = Origin Seed: {0} -L_FPIDType_0 = PID Type: {0} -L_SFishy = Fishy -L_SInvalid = Invalid -L_SNotImplemented = Not Implemented -L_SValid = Valid -L_XEnigmaBerry_0 = {0} Berry -L_XHT = HT -L_XKorean = Korean -L_XKoreanNon = Non-Korean -L_XMatches0_1 = Matches: {0} {1} -L_XOT = OT -L_XWurmpleEvo_0 = Wurmple Evolution: {0} -LAbilityCapsuleUsed = Ability available with Ability Capsule. -LAbilityFlag = Ability matches ability number. -LAbilityHiddenFail = Hidden Ability mismatch for encounter type. -LAbilityHiddenUnavailable = Hidden Ability not available. -LAbilityMismatch = Ability mismatch for encounter. -LAbilityMismatch3 = Ability does not match Generation 3 species ability. -LAbilityMismatchFlag = Ability does not match ability number. -LAbilityMismatchGift = Ability does not match Mystery Gift. -LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. -LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. -LAbilityMismatchPID = Ability does not match PID. -LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. -LAbilityPatchUsed = Ability available with Ability Patch. -LAbilityUnexpected = Ability is not valid for species/form. -LAwakenedCap = Individual AV cannot be greater than {0}. -LAwakenedShouldBeValue = Individual AV ({1}) should be greater than {0}. -LBallAbility = Can't obtain Hidden Ability with Ball. -LBallEggCherish = Can't have Cherish Ball for regular Egg. -LBallEggMaster = Can't have Master Ball for regular Egg. -LBallEnc = Correct ball for encounter type. -LBallEncMismatch = Can't have ball for encounter type. -LBallHeavy = Can't have Heavy Ball for light, low-catch rate species (Gen VII). -LBallNone = No check satisfied, assuming illegal. -LBallSpecies = Can't obtain species in Ball. -LBallSpeciesPass = Ball possible for species. -LBallUnavailable = Ball unobtainable in origin Generation. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = Contest Stats should be 0. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = Met Date is outside of distribution window. -LEffort2Remaining = 2 EVs remaining. -LEffortAbove252 = EVs cannot go above 252. -LEffortAbove510 = EV total cannot be above 510. -LEffortAllEqual = EVs are all equal. -LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. -LEffortEgg = Eggs cannot receive EVs. -LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. -LEffortShouldBeZero = Cannot receive EVs. -LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. -LEggContest = Cannot increase Contest Stats of an Egg. -LEggEXP = Eggs cannot receive experience. -LEggFMetLevel_0 = Invalid Met Level, expected {0}. -LEggHatchCycles = Invalid Egg hatch cycles. -LEggLocation = Able to hatch an Egg at Met Location. -LEggLocationInvalid = Can't hatch an Egg at Met Location. -LEggLocationNone = Invalid Egg Location, expected none. -LEggLocationPalPark = Invalid Met Location, expected Pal Park. -LEggLocationTrade = Able to hatch a traded Egg at Met Location. -LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. -LEggMetLocationFail = Can't obtain Egg from Egg Location. -LEggNature = Eggs cannot have their Stat Nature changed. -LEggPokeathlon = Eggs cannot have Pokéathlon stats. -LEggPokerus = Eggs can not be infected with Pokérus. -LEggPP = Eggs cannot have modified PP counts. -LEggPPUp = Cannot apply PP Ups to an Egg. -LEggRelearnFlags = Expected no Relearn Move Flags. -LEggShinyLeaf = Eggs cannot have Shiny Leaf/Crown. -LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. -LEggSpecies = Can't obtain Egg for this species. -LEggUnhatched = Valid un-hatched Egg. -LEncCondition = Valid Wild Encounter at location. -LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. -LEncConditionBadSpecies = Species does not exist in origin game. -LEncConditionBlack = Valid Wild Encounter at location (Black Flute). -LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). -LEncConditionDexNav = Valid Wild Encounter at location (DexNav). -LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). -LEncConditionWhite = Valid Wild Encounter at location (White Flute). -LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). -LEncGift = Unable to match a gift Egg encounter from origin game. -LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. -LEncGiftIVMismatch = IVs do not match Mystery Gift Data. -LEncGiftNicknamed = Event gift has been nicknamed. -LEncGiftNotFound = Unable to match to a Mystery Gift in the database. -LEncGiftPIDMismatch = Mystery Gift fixed PID mismatch. -LEncGiftShinyMismatch = Mystery Gift shiny mismatch. -LEncGiftVersionNotDistributed = Mystery Gift cannot be received by this version. -LEncInvalid = Unable to match an encounter from origin game. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Valid gift/static encounter. -LEncStaticPIDShiny = Static Encounter shiny mismatch. -LEncStaticRelearn = Static encounter relearn move mismatch. -LEncTradeChangedNickname = In-game Trade Nickname has been altered. -LEncTradeChangedOT = In-game Trade OT has been altered. -LEncTradeIndexBad = In-game Trade invalid index? -LEncTradeMatch = Valid in-game trade. -LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. -LEncTypeMatch = Encounter Type matches encounter. -LEncTypeMismatch = Encounter Type does not match encounter. -LEncUnreleased = Unreleased event. -LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. -LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. -LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. -LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. -LEReaderAmerica = American E-Reader Berry in Japanese save file. -LEReaderInvalid = Invalid E-Reader Berry. -LEReaderJapan = Japanese E-Reader Berry in international save file. -LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). -LEvoTradeReq = In-game trade {0} should have evolved into {1}. -LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. -LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. -LFateful = Special in-game Fateful Encounter. -LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? -LFatefulInvalid = Fateful Encounter should not be checked. -LFatefulMissing = Special in-game Fateful Encounter flag missing. -LFatefulMystery = Mystery Gift Fateful Encounter. -LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. -LFavoriteMarkingUnavailable = Favorite Marking is not available. -LFormArgumentHigh = Form argument is too high for current form. -LFormArgumentInvalid = Form argument is not valid. -LFormArgumentLow = Form argument is too low for current form. -LFormArgumentNotAllowed = Form argument is not allowed for this encounter. -LFormArgumentValid = Form argument is valid. -LFormBattle = Form cannot exist outside of a battle. -LFormEternal = Valid Eternal Flower encounter. -LFormEternalInvalid = Invalid Eternal Flower encounter. -LFormInvalidGame = Form cannot be obtained in origin game. -LFormInvalidNature = Form cannot have this nature. -LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. -LFormItem = Held item matches Form. -LFormItemInvalid = Held item does not match Form. -LFormParty = Form cannot exist outside of Party. -LFormPikachuCosplay = Only Cosplay Pikachu can have this form. -LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. -LFormPikachuEventInvalid = Event Pikachu cannot have the default form. -LFormValid = Form is Valid. -LFormVivillon = Valid Vivillon pattern. -LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. -LFormVivillonInvalid = Invalid Vivillon pattern. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. -LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. -LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. -LG1CatchRateMatchPrevious = Catch Rate matches any species from Pokémon evolution chain. -LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. -LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. -LG1CharNick = Nickname from Generation 1/2 uses unavailable characters. -LG1CharOT = OT from Generation 1/2 uses unavailable characters. -LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. -LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. -LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. -LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. -LG1OTEvent = Incorrect RBY event OT Name. -LG1OTGender = Female OT from Generation 1/2 is invalid. -LG1Stadium = Incorrect Stadium OT. -LG1StadiumInternational = Valid International Stadium OT. -LG1StadiumJapanese = Valid Japanese Stadium OT. -LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. -LG1Type1Fail = Invalid Type A, does not match species type. -LG1Type2Fail = Invalid Type B, does not match species type. -LG1TypeMatch1 = Valid Type A, matches species type. -LG1TypeMatch2 = Valid Type B, matches species type. -LG1TypeMatchPorygon = Porygon with valid Type A and B values. -LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. -LG1TypePorygonFail1 = Porygon with invalid Type A value. -LG1TypePorygonFail2 = Porygon with invalid Type B value. -LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. -LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. -LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. -LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. -LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. -LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. -LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. -LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. -LG3OTGender = OT from Colosseum/XD cannot be female. -LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. -LG5ID_N = The Name/TID/SID of N is incorrect. -LG5IVAll30 = All IVs of N's Pokémon should be 30. -LG5OTGenderN = N's Pokémon must have a male OT gender. -LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. -LG5PIDShinyN = N's Pokémon cannot be shiny. -LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. -LG5SparkleRequired = Special in-game N's Sparkle flag missing. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = Genderless Pokémon should not have a gender. -LGeoBadOrder = GeoLocation Memory: Gap/Blank present. -LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. -LGeoHardwareRange = Invalid Console Region. -LGeoHardwareValid = Geolocation: Country is in 3DS region. -LGeoMemoryMissing = GeoLocation Memory: Memories should be present. -LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. -LGeoNoRegion = GeoLocation Memory: Region without Country. -LHyperBelow100 = Can't Hyper Train a Pokémon that isn't level 100. -LHyperPerfectAll = Can't Hyper Train a Pokémon with perfect IVs. -LHyperPerfectOne = Can't Hyper Train a perfect IV. -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = Eggs cannot hold items. -LItemUnreleased = Held item is unreleased. -LIVAllEqual_0 = All IVs are {0}. -LIVF_COUNT0_31 = Should have at least {0} IVs = 31. -LIVNotCorrect = IVs do not match encounter requirements. -LLevelEXPThreshold = Current experience matches level threshold. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = Current level is below met level. -LLevelMetGift = Met Level does not match Mystery Gift level. -LLevelMetGiftFail = Current Level below Mystery Gift level. -LLevelMetSane = Current level is not below met level. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} Memory: {0} did not catch this. -LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. -LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. -LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. -LMemoryArgBadItem = {0} Memory: Species can't hold this item. -LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. -LMemoryArgBadMove = {0} Memory: Species can't learn this move. -LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. -LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. -LMemoryArgSpecies = {0} Memory: Species can be captured in game. -LMemoryCleared = Memory: Not cleared properly. -LMemoryF_0_Valid = {0} Memory is valid. -LMemoryFeelInvalid = {0} Memory: Invalid Feeling. -LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. -LMemoryHTGender = HT Gender invalid: {0} -LMemoryHTLanguage = HT Language is missing. -LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). -LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. -LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. -LMemoryIndexID = {0} Memory: Should be index {1}. -LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. -LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). -LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. -LMemoryIndexLinkHT = Should have a Link Trade HT Memory. -LMemoryIndexVar = {0} Memory: TextVar should be index {1}. -LMemoryMissingHT = Memory: Handling Trainer Memory missing. -LMemoryMissingOT = Memory: Original Trainer Memory missing. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. -LMemoryStatAffectionOT0 = OT Affection should be 0. -LMemoryStatEnjoyment = Enjoyment should be {0}. -LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. -LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. -LMemoryStatFullness = Fullness should be {0}. -LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. -LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. -LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. -LMoveEggInherited = Inherited Egg move. -LMoveEggInheritedTutor = Inherited tutor move. -LMoveEggInvalid = Not an expected Egg move. -LMoveEggInvalidEvent = Egg Move.Not expected in an event Egg. -LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up.Not expected in an event Egg. -LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. -LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. -LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. -LMoveEggLevelUp = Inherited move learned by Level-up. -LMoveEggMissing = Event Egg move missing. -LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. -LMoveEggTMHM = Inherited TM/HM move. -LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. -LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. -LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. -LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. -LMoveFDefault_0 = Default move in Generation {0}. -LMoveFExpect_0 = Expected the following Moves: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. -LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. -LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. -LMoveKeldeoMismatch = Keldeo Move/Form mismatch. -LMoveNincada = Only one Ninjask move allowed. -LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. -LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. -LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = Not an expected DexNav move. -LMoveRelearnEgg = Base Egg move. -LMoveRelearnEggMissing = Base Egg move missing. -LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1}) -LMoveRelearnFMiss_0 = Relearn Moves missing: {0} -LMoveRelearnInvalid = Not an expected Relearnable move. -LMoveRelearnNone = Expected no Relearn Move in slot. -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = Default move. -LMoveSourceDuplicate = Duplicate Move. -LMoveSourceEgg = Egg Move. -LMoveSourceEggEvent = Event Egg Move. -LMoveSourceEmpty = Empty Move. -LMoveSourceInvalid = Invalid Move. -LMoveSourceInvalidSketch = Invalid Move (Sketch). -LMoveSourceLevelUp = Learned by Level-up. -LMoveSourceRelearn = Relearnable Move. -LMoveSourceShared = Shared Non-Relearn Move. -LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. -LMoveSourceSpecial = Special Non-Relearn Move. -LMoveSourceTMHM = Learned by TM/HM. -LMoveSourceTR = Unexpected Technical Record Learned flag: {0} -LMoveSourceTutor = Learned by Move Tutor. -LNickFlagEggNo = Egg must be not nicknamed. -LNickFlagEggYes = Egg must be nicknamed. -LNickInvalidChar = Cannot be given this Nickname. -LNickLengthLong = Nickname too long. -LNickLengthShort = Nickname is empty. -LNickMatchLanguage = Nickname matches species name. -LNickMatchLanguageEgg = Egg matches language Egg name. -LNickMatchLanguageEggFail = Egg name does not match language Egg name. -LNickMatchLanguageFail = Nickname does not match species name. -LNickMatchLanguageFlag = Nickname flagged, matches species name. -LNickMatchNoOthers = Nickname does not match another species name. -LNickMatchNoOthersFail = Nickname matches another species name (+language). -LOT_IDEqual = TID and SID are equal. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = TID and SID are 0. -LOT_SID0 = SID is zero. -LOT_SID0Invalid = SID should be 0. -LOT_TID0 = TID is zero. -LOTLanguage = Language ID should be {0}, not {1}. -LOTLong = OT Name too long. -LOTShort = OT Name too short. -LOTSuspicious = Suspicious Original Trainer details. -LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. -LPIDEncryptZero = Encryption Constant is not set. -LPIDEqualsEC = Encryption Constant matches PID. -LPIDGenderMatch = Gender matches PID. -LPIDGenderMismatch = PID-Gender mismatch. -LPIDNatureMatch = Nature matches PID. -LPIDNatureMismatch = PID-Nature mismatch. -LPIDTypeMismatch = Encounter Type PID mismatch. -LPIDZero = PID is not set. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = All ribbons accounted for. -LRibbonEgg = Can't receive Ribbon(s) as an Egg. -LRibbonFInvalid_0 = Invalid Ribbons: -LRibbonFMissing_0 = Missing Ribbons: -LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} -LRibbonMarkingFInvalid_0 = Invalid Marking: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = Battle Version is not within the expected range. -LStatDynamaxInvalid = Dynamax Level is not within the expected range. -LStatGigantamaxInvalid = Gigantamax Flag mismatch. -LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. -LStatIncorrectCP = Calculated CP does not match stored value. -LStatIncorrectHeight = Calculated Height does not match stored value. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = Calculated Weight does not match stored value. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = Stat Nature is not within the expected range. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = Super Training complete flag mismatch. -LSuperDistro = Distribution Super Training missions are not released. -LSuperEgg = Can't Super Train an Egg. -LSuperNoComplete = Can't have active Super Training complete flag for origins. -LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. -LSuperUnavailable = Super Training missions are not available in games visited. -LSuperUnused = Unused Super Training Flag is flagged. -LTransferBad = Can't obtain Species from Virtual Console games. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = Can't transfer Eggs between Generations. -LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. -LTransferEggMetLevel = Invalid Met Level for transfer. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. -LTransferMetLocation = Invalid Transfer Met Location. -LTransferMove = Incompatible transfer move. -LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. -LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. -LTransferNature = Invalid Nature for transfer Experience. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. -LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! -LTransferPIDECEquals = PID should be equal to EC! -LTransferPIDECXor = Encryption Constant matches shinyxored PID. -LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. -LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. +System.String L_AError = Internal error. +System.String L_ALegal = Legal! +System.String L_AnalysisUnavailable = Analysis not available for this Pokémon. +System.String L_AValid = Valid. +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} Move {1}: {2} +System.String L_F0_RM_1_2 = {0} Relearn Move {1}: {2} +System.String L_FEncounterType_0 = Encounter Type: {0} +System.String L_FOriginSeed_0 = Origin Seed: {0} +System.String L_FPIDType_0 = PID Type: {0} +System.String L_SFishy = Fishy +System.String L_SInvalid = Invalid +System.String L_SNotImplemented = Not Implemented +System.String L_SValid = Valid +System.String L_XEnigmaBerry_0 = {0} Berry +System.String L_XHT = HT +System.String L_XKorean = Korean +System.String L_XKoreanNon = Non-Korean +System.String L_XMatches0_1 = Matches: {0} {1} +System.String L_XOT = OT +System.String L_XWurmpleEvo_0 = Wurmple Evolution: {0} +System.String LAbilityCapsuleUsed = Ability available with Ability Capsule. +System.String LAbilityFlag = Ability matches ability number. +System.String LAbilityHiddenFail = Hidden Ability mismatch for encounter type. +System.String LAbilityHiddenUnavailable = Hidden Ability not available. +System.String LAbilityMismatch = Ability mismatch for encounter. +System.String LAbilityMismatch3 = Ability does not match Generation 3 species ability. +System.String LAbilityMismatchFlag = Ability does not match ability number. +System.String LAbilityMismatchGift = Ability does not match Mystery Gift. +System.String LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. +System.String LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. +System.String LAbilityMismatchPID = Ability does not match PID. +System.String LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Ability available with Ability Patch. +System.String LAbilityUnexpected = Ability is not valid for species/form. +System.String LAwakenedCap = Individual AV cannot be greater than {0}. +System.String LAwakenedShouldBeValue = Individual AV ({1}) should be greater than {0}. +System.String LBallAbility = Can't obtain Hidden Ability with Ball. +System.String LBallEggCherish = Can't have Cherish Ball for regular Egg. +System.String LBallEggMaster = Can't have Master Ball for regular Egg. +System.String LBallEnc = Correct ball for encounter type. +System.String LBallEncMismatch = Can't have ball for encounter type. +System.String LBallHeavy = Can't have Heavy Ball for light, low-catch rate species (Gen VII). +System.String LBallNone = No check satisfied, assuming illegal. +System.String LBallSpecies = Can't obtain species in Ball. +System.String LBallSpeciesPass = Ball possible for species. +System.String LBallUnavailable = Ball unobtainable in origin Generation. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = Contest Stats should be 0. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = Met Date is outside of distribution window. +System.String LEffort2Remaining = 2 EVs remaining. +System.String LEffortAbove252 = EVs cannot go above 252. +System.String LEffortAbove510 = EV total cannot be above 510. +System.String LEffortAllEqual = EVs are all equal. +System.String LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. +System.String LEffortEgg = Eggs cannot receive EVs. +System.String LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. +System.String LEffortShouldBeZero = Cannot receive EVs. +System.String LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. +System.String LEggContest = Cannot increase Contest Stats of an Egg. +System.String LEggEXP = Eggs cannot receive experience. +System.String LEggFMetLevel_0 = Invalid Met Level, expected {0}. +System.String LEggHatchCycles = Invalid Egg hatch cycles. +System.String LEggLocation = Able to hatch an Egg at Met Location. +System.String LEggLocationInvalid = Can't hatch an Egg at Met Location. +System.String LEggLocationNone = Invalid Egg Location, expected none. +System.String LEggLocationPalPark = Invalid Met Location, expected Pal Park. +System.String LEggLocationTrade = Able to hatch a traded Egg at Met Location. +System.String LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. +System.String LEggMetLocationFail = Can't obtain Egg from Egg Location. +System.String LEggNature = Eggs cannot have their Stat Nature changed. +System.String LEggPokeathlon = Eggs cannot have Pokéathlon stats. +System.String LEggPokerus = Eggs can not be infected with Pokérus. +System.String LEggPP = Eggs cannot have modified PP counts. +System.String LEggPPUp = Cannot apply PP Ups to an Egg. +System.String LEggRelearnFlags = Expected no Relearn Move Flags. +System.String LEggShinyLeaf = Eggs cannot have Shiny Leaf/Crown. +System.String LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. +System.String LEggSpecies = Can't obtain Egg for this species. +System.String LEggUnhatched = Valid un-hatched Egg. +System.String LEncCondition = Valid Wild Encounter at location. +System.String LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. +System.String LEncConditionBadSpecies = Species does not exist in origin game. +System.String LEncConditionBlack = Valid Wild Encounter at location (Black Flute). +System.String LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). +System.String LEncConditionDexNav = Valid Wild Encounter at location (DexNav). +System.String LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). +System.String LEncConditionWhite = Valid Wild Encounter at location (White Flute). +System.String LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). +System.String LEncGift = Unable to match a gift Egg encounter from origin game. +System.String LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. +System.String LEncGiftIVMismatch = IVs do not match Mystery Gift Data. +System.String LEncGiftNicknamed = Event gift has been nicknamed. +System.String LEncGiftNotFound = Unable to match to a Mystery Gift in the database. +System.String LEncGiftPIDMismatch = Mystery Gift fixed PID mismatch. +System.String LEncGiftShinyMismatch = Mystery Gift shiny mismatch. +System.String LEncGiftVersionNotDistributed = Mystery Gift cannot be received by this version. +System.String LEncInvalid = Unable to match an encounter from origin game. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Valid gift/static encounter. +System.String LEncStaticPIDShiny = Static Encounter shiny mismatch. +System.String LEncStaticRelearn = Static encounter relearn move mismatch. +System.String LEncTradeChangedNickname = In-game Trade Nickname has been altered. +System.String LEncTradeChangedOT = In-game Trade OT has been altered. +System.String LEncTradeIndexBad = In-game Trade invalid index? +System.String LEncTradeMatch = Valid in-game trade. +System.String LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. +System.String LEncTypeMatch = Encounter Type matches encounter. +System.String LEncTypeMismatch = Encounter Type does not match encounter. +System.String LEncUnreleased = Unreleased event. +System.String LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. +System.String LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. +System.String LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. +System.String LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. +System.String LEReaderAmerica = American E-Reader Berry in Japanese save file. +System.String LEReaderInvalid = Invalid E-Reader Berry. +System.String LEReaderJapan = Japanese E-Reader Berry in international save file. +System.String LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). +System.String LEvoTradeReq = In-game trade {0} should have evolved into {1}. +System.String LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. +System.String LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. +System.String LFateful = Special in-game Fateful Encounter. +System.String LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? +System.String LFatefulInvalid = Fateful Encounter should not be checked. +System.String LFatefulMissing = Special in-game Fateful Encounter flag missing. +System.String LFatefulMystery = Mystery Gift Fateful Encounter. +System.String LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. +System.String LFavoriteMarkingUnavailable = Favorite Marking is not available. +System.String LFormArgumentHigh = Form argument is too high for current form. +System.String LFormArgumentInvalid = Form argument is not valid. +System.String LFormArgumentLow = Form argument is too low for current form. +System.String LFormArgumentNotAllowed = Form argument is not allowed for this encounter. +System.String LFormArgumentValid = Form argument is valid. +System.String LFormBattle = Form cannot exist outside of a battle. +System.String LFormEternal = Valid Eternal Flower encounter. +System.String LFormEternalInvalid = Invalid Eternal Flower encounter. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = Form cannot be obtained in origin game. +System.String LFormInvalidNature = Form cannot have this nature. +System.String LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. +System.String LFormItem = Held item matches Form. +System.String LFormItemInvalid = Held item does not match Form. +System.String LFormParty = Form cannot exist outside of Party. +System.String LFormPikachuCosplay = Only Cosplay Pikachu can have this form. +System.String LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. +System.String LFormPikachuEventInvalid = Event Pikachu cannot have the default form. +System.String LFormValid = Form is Valid. +System.String LFormVivillon = Valid Vivillon pattern. +System.String LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. +System.String LFormVivillonInvalid = Invalid Vivillon pattern. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. +System.String LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. +System.String LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. +System.String LG1CatchRateMatchPrevious = Catch Rate matches any species from Pokémon evolution chain. +System.String LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. +System.String LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. +System.String LG1CharNick = Nickname from Generation 1/2 uses unavailable characters. +System.String LG1CharOT = OT from Generation 1/2 uses unavailable characters. +System.String LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. +System.String LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. +System.String LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. +System.String LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. +System.String LG1OTEvent = Incorrect RBY event OT Name. +System.String LG1OTGender = Female OT from Generation 1/2 is invalid. +System.String LG1Stadium = Incorrect Stadium OT. +System.String LG1StadiumInternational = Valid International Stadium OT. +System.String LG1StadiumJapanese = Valid Japanese Stadium OT. +System.String LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. +System.String LG1Type1Fail = Invalid Type A, does not match species type. +System.String LG1Type2Fail = Invalid Type B, does not match species type. +System.String LG1TypeMatch1 = Valid Type A, matches species type. +System.String LG1TypeMatch2 = Valid Type B, matches species type. +System.String LG1TypeMatchPorygon = Porygon with valid Type A and B values. +System.String LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. +System.String LG1TypePorygonFail1 = Porygon with invalid Type A value. +System.String LG1TypePorygonFail2 = Porygon with invalid Type B value. +System.String LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. +System.String LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. +System.String LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. +System.String LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. +System.String LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. +System.String LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. +System.String LG3OTGender = OT from Colosseum/XD cannot be female. +System.String LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. +System.String LG5ID_N = The Name/TID/SID of N is incorrect. +System.String LG5IVAll30 = All IVs of N's Pokémon should be 30. +System.String LG5OTGenderN = N's Pokémon must have a male OT gender. +System.String LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. +System.String LG5PIDShinyN = N's Pokémon cannot be shiny. +System.String LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. +System.String LG5SparkleRequired = Special in-game N's Sparkle flag missing. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = Genderless Pokémon should not have a gender. +System.String LGeoBadOrder = GeoLocation Memory: Gap/Blank present. +System.String LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. +System.String LGeoHardwareRange = Invalid Console Region. +System.String LGeoHardwareValid = Geolocation: Country is in 3DS region. +System.String LGeoMemoryMissing = GeoLocation Memory: Memories should be present. +System.String LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. +System.String LGeoNoRegion = GeoLocation Memory: Region without Country. +System.String LHyperPerfectAll = Can't Hyper Train a Pokémon with perfect IVs. +System.String LHyperPerfectOne = Can't Hyper Train a perfect IV. +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = Can't Hyper Train a Pokémon that isn't level {0}. +System.String LItemEgg = Eggs cannot hold items. +System.String LItemUnreleased = Held item is unreleased. +System.String LIVAllEqual_0 = All IVs are {0}. +System.String LIVF_COUNT0_31 = Should have at least {0} IVs = 31. +System.String LIVNotCorrect = IVs do not match encounter requirements. +System.String LLevelEXPThreshold = Current experience matches level threshold. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = Current level is below met level. +System.String LLevelMetGift = Met Level does not match Mystery Gift level. +System.String LLevelMetGiftFail = Current Level below Mystery Gift level. +System.String LLevelMetSane = Current level is not below met level. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} Memory: {0} did not catch this. +System.String LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. +System.String LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. +System.String LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. +System.String LMemoryArgBadItem = {0} Memory: Species can't hold this item. +System.String LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. +System.String LMemoryArgBadMove = {0} Memory: Species can't learn this move. +System.String LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. +System.String LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. +System.String LMemoryArgSpecies = {0} Memory: Species can be captured in game. +System.String LMemoryCleared = Memory: Not cleared properly. +System.String LMemoryF_0_Valid = {0} Memory is valid. +System.String LMemoryFeelInvalid = {0} Memory: Invalid Feeling. +System.String LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. +System.String LMemoryHTGender = HT Gender invalid: {0} +System.String LMemoryHTLanguage = HT Language is missing. +System.String LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). +System.String LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. +System.String LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. +System.String LMemoryIndexID = {0} Memory: Should be index {1}. +System.String LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. +System.String LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). +System.String LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. +System.String LMemoryIndexLinkHT = Should have a Link Trade HT Memory. +System.String LMemoryIndexVar = {0} Memory: TextVar should be index {1}. +System.String LMemoryMissingHT = Memory: Handling Trainer Memory missing. +System.String LMemoryMissingOT = Memory: Original Trainer Memory missing. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. +System.String LMemoryStatAffectionOT0 = OT Affection should be 0. +System.String LMemoryStatEnjoyment = Enjoyment should be {0}. +System.String LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. +System.String LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. +System.String LMemoryStatFullness = Fullness should be {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. +System.String LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. +System.String LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. +System.String LMoveEggInherited = Inherited Egg move. +System.String LMoveEggInheritedTutor = Inherited tutor move. +System.String LMoveEggInvalid = Not an expected Egg move. +System.String LMoveEggInvalidEvent = Egg Move.Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up.Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. +System.String LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. +System.String LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. +System.String LMoveEggLevelUp = Inherited move learned by Level-up. +System.String LMoveEggMissing = Event Egg move missing. +System.String LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. +System.String LMoveEggTMHM = Inherited TM/HM move. +System.String LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. +System.String LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. +System.String LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. +System.String LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. +System.String LMoveFDefault_0 = Default move in Generation {0}. +System.String LMoveFExpect_0 = Expected the following Moves: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. +System.String LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. +System.String LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. +System.String LMoveKeldeoMismatch = Keldeo Move/Form mismatch. +System.String LMoveNincada = Only one Ninjask move allowed. +System.String LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. +System.String LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. +System.String LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = Not an expected DexNav move. +System.String LMoveRelearnEgg = Base Egg move. +System.String LMoveRelearnEggMissing = Base Egg move missing. +System.String LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1}) +System.String LMoveRelearnFMiss_0 = Relearn Moves missing: {0} +System.String LMoveRelearnInvalid = Not an expected Relearnable move. +System.String LMoveRelearnNone = Expected no Relearn Move in slot. +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = Default move. +System.String LMoveSourceDuplicate = Duplicate Move. +System.String LMoveSourceEgg = Egg Move. +System.String LMoveSourceEggEvent = Event Egg Move. +System.String LMoveSourceEmpty = Empty Move. +System.String LMoveSourceInvalid = Invalid Move. +System.String LMoveSourceInvalidSketch = Invalid Move (Sketch). +System.String LMoveSourceLevelUp = Learned by Level-up. +System.String LMoveSourceRelearn = Relearnable Move. +System.String LMoveSourceShared = Shared Non-Relearn Move. +System.String LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. +System.String LMoveSourceSpecial = Special Non-Relearn Move. +System.String LMoveSourceTMHM = Learned by TM/HM. +System.String LMoveSourceTR = Unexpected Technical Record Learned flag: {0} +System.String LMoveSourceTutor = Learned by Move Tutor. +System.String LNickFlagEggNo = Egg must be not nicknamed. +System.String LNickFlagEggYes = Egg must be nicknamed. +System.String LNickInvalidChar = Cannot be given this Nickname. +System.String LNickLengthLong = Nickname too long. +System.String LNickLengthShort = Nickname is empty. +System.String LNickMatchLanguage = Nickname matches species name. +System.String LNickMatchLanguageEgg = Egg matches language Egg name. +System.String LNickMatchLanguageEggFail = Egg name does not match language Egg name. +System.String LNickMatchLanguageFail = Nickname does not match species name. +System.String LNickMatchLanguageFlag = Nickname flagged, matches species name. +System.String LNickMatchNoOthers = Nickname does not match another species name. +System.String LNickMatchNoOthersFail = Nickname matches another species name (+language). +System.String LOT_IDEqual = TID and SID are equal. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = TID and SID are 0. +System.String LOT_SID0 = SID is zero. +System.String LOT_SID0Invalid = SID should be 0. +System.String LOT_TID0 = TID is zero. +System.String LOTLanguage = Language ID should be {0}, not {1}. +System.String LOTLong = OT Name too long. +System.String LOTShort = OT Name too short. +System.String LOTSuspicious = Suspicious Original Trainer details. +System.String LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. +System.String LPIDEncryptZero = Encryption Constant is not set. +System.String LPIDEqualsEC = Encryption Constant matches PID. +System.String LPIDGenderMatch = Gender matches PID. +System.String LPIDGenderMismatch = PID-Gender mismatch. +System.String LPIDNatureMatch = Nature matches PID. +System.String LPIDNatureMismatch = PID-Nature mismatch. +System.String LPIDTypeMismatch = Encounter Type PID mismatch. +System.String LPIDZero = PID is not set. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = All ribbons accounted for. +System.String LRibbonEgg = Can't receive Ribbon(s) as an Egg. +System.String LRibbonFInvalid_0 = Invalid Ribbons: +System.String LRibbonFMissing_0 = Missing Ribbons: +System.String LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} +System.String LRibbonMarkingFInvalid_0 = Invalid Marking: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = Battle Version is not within the expected range. +System.String LStatDynamaxInvalid = Dynamax Level is not within the expected range. +System.String LStatGigantamaxInvalid = Gigantamax Flag mismatch. +System.String LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. +System.String LStatIncorrectCP = Calculated CP does not match stored value. +System.String LStatIncorrectHeight = Calculated Height does not match stored value. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = Calculated Weight does not match stored value. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = Stat Nature is not within the expected range. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = Super Training complete flag mismatch. +System.String LSuperDistro = Distribution Super Training missions are not released. +System.String LSuperEgg = Can't Super Train an Egg. +System.String LSuperNoComplete = Can't have active Super Training complete flag for origins. +System.String LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. +System.String LSuperUnavailable = Super Training missions are not available in games visited. +System.String LSuperUnused = Unused Super Training Flag is flagged. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = Can't obtain Species from Virtual Console games. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = Can't transfer Eggs between Generations. +System.String LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. +System.String LTransferEggMetLevel = Invalid Met Level for transfer. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. +System.String LTransferMetLocation = Invalid Transfer Met Location. +System.String LTransferMove = Incompatible transfer move. +System.String LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. +System.String LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. +System.String LTransferNature = Invalid Nature for transfer Experience. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. +System.String LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! +System.String LTransferPIDECEquals = PID should be equal to EC! +System.String LTransferPIDECXor = Encryption Constant matches shinyxored PID. +System.String LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. +System.String LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt index ddc36dc35..df03f16f3 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_en.txt @@ -1,399 +1,406 @@ -L_AError = Internal error. -L_ALegal = Legal! -L_AnalysisUnavailable = Analysis not available for this Pokémon. -L_AValid = Valid. -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} Move {1}: {2} -L_F0_RM_1_2 = {0} Relearn Move {1}: {2} -L_FEncounterType_0 = Encounter Type: {0} -L_FOriginSeed_0 = Origin Seed: {0} -L_FPIDType_0 = PID Type: {0} -L_SFishy = Fishy -L_SInvalid = Invalid -L_SNotImplemented = Not Implemented -L_SValid = Valid -L_XEnigmaBerry_0 = {0} Berry -L_XHT = HT -L_XKorean = Korean -L_XKoreanNon = Non-Korean -L_XMatches0_1 = Matches: {0} {1} -L_XOT = OT -L_XWurmpleEvo_0 = Wurmple Evolution: {0} -LAbilityCapsuleUsed = Ability available with Ability Capsule. -LAbilityFlag = Ability matches ability number. -LAbilityHiddenFail = Hidden Ability mismatch for encounter type. -LAbilityHiddenUnavailable = Hidden Ability not available. -LAbilityMismatch = Ability mismatch for encounter. -LAbilityMismatch3 = Ability does not match Generation 3 species ability. -LAbilityMismatchFlag = Ability does not match ability number. -LAbilityMismatchGift = Ability does not match Mystery Gift. -LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. -LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. -LAbilityMismatchPID = Ability does not match PID. -LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. -LAbilityPatchUsed = Ability available with Ability Patch. -LAbilityUnexpected = Ability is not valid for species/form. -LAwakenedCap = Individual AV cannot be greater than {0}. -LAwakenedShouldBeValue = Individual ({1}) AV should be greater than {0}. -LBallAbility = Can't obtain Hidden Ability with Ball. -LBallEggCherish = Can't have Cherish Ball for regular Egg. -LBallEggMaster = Can't have Master Ball for regular Egg. -LBallEnc = Correct ball for encounter type. -LBallEncMismatch = Can't have ball for encounter type. -LBallHeavy = Can't have Heavy Ball for light, low-catch rate species (Gen VII). -LBallNone = No check satisfied, assuming illegal. -LBallSpecies = Can't obtain species in Ball. -LBallSpeciesPass = Ball possible for species. -LBallUnavailable = Ball unobtainable in origin Generation. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = Contest Stats should be 0. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = Met Date is outside of distribution window. -LEffort2Remaining = 2 EVs remaining. -LEffortAbove252 = EVs cannot go above 252. -LEffortAbove510 = EV total cannot be above 510. -LEffortAllEqual = EVs are all equal. -LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. -LEffortEgg = Eggs cannot receive EVs. -LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. -LEffortShouldBeZero = Cannot receive EVs. -LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. -LEggContest = Cannot increase Contest Stats of an Egg. -LEggEXP = Eggs cannot receive experience. -LEggFMetLevel_0 = Invalid Met Level, expected {0}. -LEggHatchCycles = Invalid Egg hatch cycles. -LEggLocation = Able to hatch an Egg at Met Location. -LEggLocationInvalid = Can't hatch an Egg at Met Location. -LEggLocationNone = Invalid Egg Location, expected none. -LEggLocationPalPark = Invalid Met Location, expected Pal Park. -LEggLocationTrade = Able to hatch a traded Egg at Met Location. -LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. -LEggMetLocationFail = Can't obtain Egg from Egg Location. -LEggNature = Eggs cannot have their Stat Nature changed. -LEggPokeathlon = Eggs cannot have Pokéathlon stats. -LEggPokerus = Eggs cannot be infected with Pokérus. -LEggPP = Eggs cannot have modified move PP counts. -LEggPPUp = Cannot apply PP Ups to an Egg. -LEggRelearnFlags = Expected no Relearn Move Flags. -LEggShinyLeaf = Eggs cannot have Shiny Leaf/Crown. -LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. -LEggSpecies = Can't obtain Egg for this species. -LEggUnhatched = Valid un-hatched Egg. -LEncCondition = Valid Wild Encounter at location. -LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. -LEncConditionBadSpecies = Species does not exist in origin game. -LEncConditionBlack = Valid Wild Encounter at location (Black Flute). -LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). -LEncConditionDexNav = Valid Wild Encounter at location (DexNav). -LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). -LEncConditionWhite = Valid Wild Encounter at location (White Flute). -LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). -LEncGift = Unable to match a gift Egg encounter from origin game. -LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. -LEncGiftIVMismatch = IVs do not match Mystery Gift Data. -LEncGiftNicknamed = Event gift has been nicknamed. -LEncGiftNotFound = Unable to match to a Mystery Gift in the database. -LEncGiftPIDMismatch = Mystery Gift fixed PID mismatch. -LEncGiftShinyMismatch = Mystery Gift shiny mismatch. -LEncGiftVersionNotDistributed = Mystery Gift cannot be received by this version. -LEncInvalid = Unable to match an encounter from origin game. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Valid gift/static encounter. -LEncStaticPIDShiny = Static Encounter shiny mismatch. -LEncStaticRelearn = Static encounter relearn move mismatch. -LEncTradeChangedNickname = In-game Trade Nickname has been altered. -LEncTradeChangedOT = In-game Trade OT has been altered. -LEncTradeIndexBad = In-game Trade invalid index? -LEncTradeMatch = Valid in-game trade. -LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. -LEncTypeMatch = Encounter Type matches encounter. -LEncTypeMismatch = Encounter Type does not match encounter. -LEncUnreleased = Unreleased event. -LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. -LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. -LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. -LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. -LEReaderAmerica = American E-Reader Berry in Japanese save file. -LEReaderInvalid = Invalid E-Reader Berry. -LEReaderJapan = Japanese E-Reader Berry in international save file. -LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). -LEvoTradeReq = In-game trade {0} should have evolved into {1}. -LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. -LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. -LFateful = Special in-game Fateful Encounter. -LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? -LFatefulInvalid = Fateful Encounter should not be checked. -LFatefulMissing = Special in-game Fateful Encounter flag missing. -LFatefulMystery = Mystery Gift Fateful Encounter. -LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. -LFavoriteMarkingUnavailable = Favorite Marking is not available. -LFormArgumentHigh = Form argument is too high for current form. -LFormArgumentInvalid = Form argument is not valid. -LFormArgumentLow = Form argument is too low for current form. -LFormArgumentNotAllowed = Form argument is not allowed for this encounter. -LFormArgumentValid = Form argument is valid. -LFormBattle = Form cannot exist outside of a battle. -LFormEternal = Valid Eternal Flower encounter. -LFormEternalInvalid = Invalid Eternal Flower encounter. -LFormInvalidGame = Form cannot be obtained in origin game. -LFormInvalidNature = Form cannot have this nature. -LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. -LFormItem = Held item matches Form. -LFormItemInvalid = Held item does not match Form. -LFormParty = Form cannot exist outside of Party. -LFormPikachuCosplay = Only Cosplay Pikachu can have this form. -LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. -LFormPikachuEventInvalid = Event Pikachu cannot have the default form. -LFormValid = Form is Valid. -LFormVivillon = Valid Vivillon pattern. -LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. -LFormVivillonInvalid = Invalid Vivillon pattern. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. -LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. -LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. -LG1CatchRateMatchPrevious = Catch Rate matches a species from Pokémon evolution chain. -LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. -LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. -LG1CharNick = Nickname from Generation 1/2 uses unavailable characters. -LG1CharOT = OT from Generation 1/2 uses unavailable characters. -LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. -LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. -LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. -LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. -LG1OTEvent = Incorrect RBY event OT Name. -LG1OTGender = Female OT from Generation 1/2 is invalid. -LG1Stadium = Incorrect Stadium OT. -LG1StadiumInternational = Valid International Stadium OT. -LG1StadiumJapanese = Valid Japanese Stadium OT. -LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. -LG1Type1Fail = Invalid Type A, does not match species type. -LG1Type2Fail = Invalid Type B, does not match species type. -LG1TypeMatch1 = Valid Type A, matches species type. -LG1TypeMatch2 = Valid Type B, matches species type. -LG1TypeMatchPorygon = Porygon with valid Type A and B values. -LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. -LG1TypePorygonFail1 = Porygon with invalid Type A value. -LG1TypePorygonFail2 = Porygon with invalid Type B value. -LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. -LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. -LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. -LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. -LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. -LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. -LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. -LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. -LG3OTGender = OT from Colosseum/XD cannot be female. -LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. -LG5ID_N = The Name/TID/SID of N is incorrect. -LG5IVAll30 = All IVs of N's Pokémon should be 30. -LG5OTGenderN = N's Pokémon must have a male OT gender. -LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. -LG5PIDShinyN = N's Pokémon cannot be shiny. -LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. -LG5SparkleRequired = Special in-game N's Sparkle flag missing. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = Genderless Pokémon should not have a gender. -LGeoBadOrder = GeoLocation Memory: Gap/Blank present. -LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. -LGeoHardwareRange = Invalid Console Region. -LGeoHardwareValid = Geolocation: Country is in 3DS region. -LGeoMemoryMissing = GeoLocation Memory: Memories should be present. -LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. -LGeoNoRegion = GeoLocation Memory: Region without Country. -LHyperBelow100 = Can't Hyper Train a Pokémon that isn't level 100. -LHyperPerfectAll = Can't Hyper Train a Pokémon with perfect IVs. -LHyperPerfectOne = Can't Hyper Train a perfect IV. -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = Eggs cannot hold items. -LItemUnreleased = Held item is unreleased. -LIVAllEqual_0 = All IVs are {0}. -LIVF_COUNT0_31 = Should have at least {0} IVs = 31. -LIVNotCorrect = IVs do not match encounter requirements. -LLevelEXPThreshold = Current experience matches level threshold. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = Current level is below met level. -LLevelMetGift = Met Level does not match Mystery Gift level. -LLevelMetGiftFail = Current Level below Mystery Gift level. -LLevelMetSane = Current level is not below met level. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} Memory: {0} did not catch this. -LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. -LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. -LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. -LMemoryArgBadItem = {0} Memory: Species can't hold this item. -LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. -LMemoryArgBadMove = {0} Memory: Species can't learn this move. -LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. -LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. -LMemoryArgSpecies = {0} Memory: Species can be captured in game. -LMemoryCleared = Memory: Not cleared properly. -LMemoryF_0_Valid = {0} Memory is valid. -LMemoryFeelInvalid = {0} Memory: Invalid Feeling. -LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. -LMemoryHTGender = HT Gender invalid: {0} -LMemoryHTLanguage = HT Language is missing. -LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). -LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. -LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. -LMemoryIndexID = {0} Memory: Should be index {1}. -LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. -LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). -LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. -LMemoryIndexLinkHT = Should have a Link Trade HT Memory. -LMemoryIndexVar = {0} Memory: TextVar should be index {1}. -LMemoryMissingHT = Memory: Handling Trainer Memory missing. -LMemoryMissingOT = Memory: Original Trainer Memory missing. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. -LMemoryStatAffectionOT0 = OT Affection should be 0. -LMemoryStatEnjoyment = Enjoyment should be {0}. -LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. -LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. -LMemoryStatFullness = Fullness should be {0}. -LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. -LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. -LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. -LMoveEggInherited = Inherited Egg move. -LMoveEggInheritedTutor = Inherited tutor move. -LMoveEggInvalid = Not an expected Egg move. -LMoveEggInvalidEvent = Egg Move. Not expected in an event Egg. -LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up. Not expected in an event Egg. -LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. -LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. -LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. -LMoveEggLevelUp = Inherited move learned by Level-up. -LMoveEggMissing = Event Egg move missing. -LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. -LMoveEggTMHM = Inherited TM/HM move. -LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. -LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. -LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. -LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. -LMoveFDefault_0 = Default move in Generation {0}. -LMoveFExpect_0 = Expected the following Moves: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. -LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. -LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. -LMoveKeldeoMismatch = Keldeo Move/Form mismatch. -LMoveNincada = Only one Ninjask move allowed. -LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. -LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. -LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = Not an expected DexNav move. -LMoveRelearnEgg = Base Egg move. -LMoveRelearnEggMissing = Base Egg move missing. -LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1}) -LMoveRelearnFMiss_0 = Relearn Moves missing: {0} -LMoveRelearnInvalid = Not an expected Relearnable move. -LMoveRelearnNone = Expected no Relearn Move in slot. -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = Default move. -LMoveSourceDuplicate = Duplicate Move. -LMoveSourceEgg = Egg Move. -LMoveSourceEggEvent = Event Egg Move. -LMoveSourceEmpty = Empty Move. -LMoveSourceInvalid = Invalid Move. -LMoveSourceInvalidSketch = Invalid Move (Sketch). -LMoveSourceLevelUp = Learned by Level-up. -LMoveSourceRelearn = Relearnable Move. -LMoveSourceShared = Shared Non-Relearn Move. -LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. -LMoveSourceSpecial = Special Non-Relearn Move. -LMoveSourceTMHM = Learned by TM/HM. -LMoveSourceTR = Unexpected Technical Record Learned flag: {0} -LMoveSourceTutor = Learned by Move Tutor. -LNickFlagEggNo = Egg must be not nicknamed. -LNickFlagEggYes = Egg must be nicknamed. -LNickInvalidChar = Cannot be given this Nickname. -LNickLengthLong = Nickname too long. -LNickLengthShort = Nickname is empty. -LNickMatchLanguage = Nickname matches species name. -LNickMatchLanguageEgg = Egg matches language Egg name. -LNickMatchLanguageEggFail = Egg name does not match language Egg name. -LNickMatchLanguageFail = Nickname does not match species name. -LNickMatchLanguageFlag = Nickname flagged, matches species name. -LNickMatchNoOthers = Nickname does not match another species name. -LNickMatchNoOthersFail = Nickname matches another species name (+language). -LOT_IDEqual = TID and SID are equal. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = TID and SID are 0. -LOT_SID0 = SID is zero. -LOT_SID0Invalid = SID should be 0. -LOT_TID0 = TID is zero. -LOTLanguage = Language ID should be {0}, not {1}. -LOTLong = OT Name too long. -LOTShort = OT Name too short. -LOTSuspicious = Suspicious Original Trainer details. -LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. -LPIDEncryptZero = Encryption Constant is not set. -LPIDEqualsEC = Encryption Constant matches PID. -LPIDGenderMatch = Gender matches PID. -LPIDGenderMismatch = PID-Gender mismatch. -LPIDNatureMatch = Nature matches PID. -LPIDNatureMismatch = PID-Nature mismatch. -LPIDTypeMismatch = Encounter Type PID mismatch. -LPIDZero = PID is not set. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = All ribbons accounted for. -LRibbonEgg = Can't receive Ribbon(s) as an Egg. -LRibbonFInvalid_0 = Invalid Ribbons: -LRibbonFMissing_0 = Missing Ribbons: -LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} -LRibbonMarkingFInvalid_0 = Invalid Marking: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = Battle Version is not within the expected range. -LStatDynamaxInvalid = Dynamax Level is not within the expected range. -LStatGigantamaxInvalid = Gigantamax Flag mismatch. -LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. -LStatIncorrectCP = Calculated CP does not match stored value. -LStatIncorrectHeight = Calculated Height does not match stored value. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = Calculated Weight does not match stored value. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = Stat Nature is not within the expected range. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = Super Training complete flag mismatch. -LSuperDistro = Distribution Super Training missions are not released. -LSuperEgg = Can't Super Train an Egg. -LSuperNoComplete = Can't have active Super Training complete flag for origins. -LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. -LSuperUnavailable = Super Training missions are not available in games visited. -LSuperUnused = Unused Super Training Flag is flagged. -LTransferBad = Incorrectly transferred from previous generation. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = Can't transfer Eggs between Generations. -LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. -LTransferEggMetLevel = Invalid Met Level for transfer. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. -LTransferMetLocation = Invalid Transfer Met Location. -LTransferMove = Incompatible transfer move. -LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. -LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. -LTransferNature = Invalid Nature for transfer Experience. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. -LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! -LTransferPIDECEquals = PID should be equal to EC! -LTransferPIDECXor = Encryption Constant matches shinyxored PID. -LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. -LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. +System.String L_AError = Internal error. +System.String L_ALegal = Legal! +System.String L_AnalysisUnavailable = Analysis not available for this Pokémon. +System.String L_AValid = Valid. +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} Move {1}: {2} +System.String L_F0_RM_1_2 = {0} Relearn Move {1}: {2} +System.String L_FEncounterType_0 = Encounter Type: {0} +System.String L_FOriginSeed_0 = Origin Seed: {0} +System.String L_FPIDType_0 = PID Type: {0} +System.String L_SFishy = Fishy +System.String L_SInvalid = Invalid +System.String L_SNotImplemented = Not Implemented +System.String L_SValid = Valid +System.String L_XEnigmaBerry_0 = {0} Berry +System.String L_XHT = HT +System.String L_XKorean = Korean +System.String L_XKoreanNon = Non-Korean +System.String L_XMatches0_1 = Matches: {0} {1} +System.String L_XOT = OT +System.String L_XWurmpleEvo_0 = Wurmple Evolution: {0} +System.String LAbilityCapsuleUsed = Ability available with Ability Capsule. +System.String LAbilityFlag = Ability matches ability number. +System.String LAbilityHiddenFail = Hidden Ability mismatch for encounter type. +System.String LAbilityHiddenUnavailable = Hidden Ability not available. +System.String LAbilityMismatch = Ability mismatch for encounter. +System.String LAbilityMismatch3 = Ability does not match Generation 3 species ability. +System.String LAbilityMismatchFlag = Ability does not match ability number. +System.String LAbilityMismatchGift = Ability does not match Mystery Gift. +System.String LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. +System.String LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. +System.String LAbilityMismatchPID = Ability does not match PID. +System.String LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Ability available with Ability Patch. +System.String LAbilityUnexpected = Ability is not valid for species/form. +System.String LAwakenedCap = Individual AV cannot be greater than {0}. +System.String LAwakenedShouldBeValue = Individual ({1}) AV should be greater than {0}. +System.String LBallAbility = Can't obtain Hidden Ability with Ball. +System.String LBallEggCherish = Can't have Cherish Ball for regular Egg. +System.String LBallEggMaster = Can't have Master Ball for regular Egg. +System.String LBallEnc = Correct ball for encounter type. +System.String LBallEncMismatch = Can't have ball for encounter type. +System.String LBallHeavy = Can't have Heavy Ball for light, low-catch rate species (Gen VII). +System.String LBallNone = No check satisfied, assuming illegal. +System.String LBallSpecies = Can't obtain species in Ball. +System.String LBallSpeciesPass = Ball possible for species. +System.String LBallUnavailable = Ball unobtainable in origin Generation. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = Contest Stats should be 0. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = Met Date is outside of distribution window. +System.String LEffort2Remaining = 2 EVs remaining. +System.String LEffortAbove252 = EVs cannot go above 252. +System.String LEffortAbove510 = EV total cannot be above 510. +System.String LEffortAllEqual = EVs are all equal. +System.String LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. +System.String LEffortEgg = Eggs cannot receive EVs. +System.String LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. +System.String LEffortShouldBeZero = Cannot receive EVs. +System.String LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. +System.String LEggContest = Cannot increase Contest Stats of an Egg. +System.String LEggEXP = Eggs cannot receive experience. +System.String LEggFMetLevel_0 = Invalid Met Level, expected {0}. +System.String LEggHatchCycles = Invalid Egg hatch cycles. +System.String LEggLocation = Able to hatch an Egg at Met Location. +System.String LEggLocationInvalid = Can't hatch an Egg at Met Location. +System.String LEggLocationNone = Invalid Egg Location, expected none. +System.String LEggLocationPalPark = Invalid Met Location, expected Pal Park. +System.String LEggLocationTrade = Able to hatch a traded Egg at Met Location. +System.String LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. +System.String LEggMetLocationFail = Can't obtain Egg from Egg Location. +System.String LEggNature = Eggs cannot have their Stat Nature changed. +System.String LEggPokeathlon = Eggs cannot have Pokéathlon stats. +System.String LEggPokerus = Eggs cannot be infected with Pokérus. +System.String LEggPP = Eggs cannot have modified move PP counts. +System.String LEggPPUp = Cannot apply PP Ups to an Egg. +System.String LEggRelearnFlags = Expected no Relearn Move Flags. +System.String LEggShinyLeaf = Eggs cannot have Shiny Leaf/Crown. +System.String LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. +System.String LEggSpecies = Can't obtain Egg for this species. +System.String LEggUnhatched = Valid un-hatched Egg. +System.String LEncCondition = Valid Wild Encounter at location. +System.String LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. +System.String LEncConditionBadSpecies = Species does not exist in origin game. +System.String LEncConditionBlack = Valid Wild Encounter at location (Black Flute). +System.String LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). +System.String LEncConditionDexNav = Valid Wild Encounter at location (DexNav). +System.String LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). +System.String LEncConditionWhite = Valid Wild Encounter at location (White Flute). +System.String LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). +System.String LEncGift = Unable to match a gift Egg encounter from origin game. +System.String LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. +System.String LEncGiftIVMismatch = IVs do not match Mystery Gift Data. +System.String LEncGiftNicknamed = Event gift has been nicknamed. +System.String LEncGiftNotFound = Unable to match to a Mystery Gift in the database. +System.String LEncGiftPIDMismatch = Mystery Gift fixed PID mismatch. +System.String LEncGiftShinyMismatch = Mystery Gift shiny mismatch. +System.String LEncGiftVersionNotDistributed = Mystery Gift cannot be received by this version. +System.String LEncInvalid = Unable to match an encounter from origin game. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Valid gift/static encounter. +System.String LEncStaticPIDShiny = Static Encounter shiny mismatch. +System.String LEncStaticRelearn = Static encounter relearn move mismatch. +System.String LEncTradeChangedNickname = In-game Trade Nickname has been altered. +System.String LEncTradeChangedOT = In-game Trade OT has been altered. +System.String LEncTradeIndexBad = In-game Trade invalid index? +System.String LEncTradeMatch = Valid in-game trade. +System.String LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. +System.String LEncTypeMatch = Encounter Type matches encounter. +System.String LEncTypeMismatch = Encounter Type does not match encounter. +System.String LEncUnreleased = Unreleased event. +System.String LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. +System.String LEncUnreleasedHoOArceus = Arceus from Hall of Origin. Unreleased event. +System.String LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. +System.String LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. +System.String LEReaderAmerica = American E-Reader Berry in Japanese save file. +System.String LEReaderInvalid = Invalid E-Reader Berry. +System.String LEReaderJapan = Japanese E-Reader Berry in international save file. +System.String LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). +System.String LEvoTradeReq = In-game trade {0} should have evolved into {1}. +System.String LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. +System.String LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. +System.String LFateful = Special in-game Fateful Encounter. +System.String LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? +System.String LFatefulInvalid = Fateful Encounter should not be checked. +System.String LFatefulMissing = Special in-game Fateful Encounter flag missing. +System.String LFatefulMystery = Mystery Gift Fateful Encounter. +System.String LFatefulMysteryMissing = Mystery Gift Fateful Encounter flag missing. +System.String LFavoriteMarkingUnavailable = Favorite Marking is not available. +System.String LFormArgumentHigh = Form argument is too high for current form. +System.String LFormArgumentInvalid = Form argument is not valid. +System.String LFormArgumentLow = Form argument is too low for current form. +System.String LFormArgumentNotAllowed = Form argument is not allowed for this encounter. +System.String LFormArgumentValid = Form argument is valid. +System.String LFormBattle = Form cannot exist outside of a battle. +System.String LFormEternal = Valid Eternal Flower encounter. +System.String LFormEternalInvalid = Invalid Eternal Flower encounter. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = Form cannot be obtained in origin game. +System.String LFormInvalidNature = Form cannot have this nature. +System.String LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. +System.String LFormItem = Held item matches Form. +System.String LFormItemInvalid = Held item does not match Form. +System.String LFormParty = Form cannot exist outside of Party. +System.String LFormPikachuCosplay = Only Cosplay Pikachu can have this form. +System.String LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. +System.String LFormPikachuEventInvalid = Event Pikachu cannot have the default form. +System.String LFormValid = Form is Valid. +System.String LFormVivillon = Valid Vivillon pattern. +System.String LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. +System.String LFormVivillonInvalid = Invalid Vivillon pattern. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. +System.String LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. +System.String LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. +System.String LG1CatchRateMatchPrevious = Catch Rate matches a species from Pokémon evolution chain. +System.String LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. +System.String LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. +System.String LG1CharNick = Nickname from Generation 1/2 uses unavailable characters. +System.String LG1CharOT = OT from Generation 1/2 uses unavailable characters. +System.String LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. +System.String LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. +System.String LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. +System.String LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. +System.String LG1OTEvent = Incorrect RBY event OT Name. +System.String LG1OTGender = Female OT from Generation 1/2 is invalid. +System.String LG1Stadium = Incorrect Stadium OT. +System.String LG1StadiumInternational = Valid International Stadium OT. +System.String LG1StadiumJapanese = Valid Japanese Stadium OT. +System.String LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. +System.String LG1Type1Fail = Invalid Type A, does not match species type. +System.String LG1Type2Fail = Invalid Type B, does not match species type. +System.String LG1TypeMatch1 = Valid Type A, matches species type. +System.String LG1TypeMatch2 = Valid Type B, matches species type. +System.String LG1TypeMatchPorygon = Porygon with valid Type A and B values. +System.String LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. +System.String LG1TypePorygonFail1 = Porygon with invalid Type A value. +System.String LG1TypePorygonFail2 = Porygon with invalid Type B value. +System.String LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. +System.String LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. +System.String LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. +System.String LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. +System.String LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. +System.String LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. +System.String LG3OTGender = OT from Colosseum/XD cannot be female. +System.String LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. +System.String LG5ID_N = The Name/TID/SID of N is incorrect. +System.String LG5IVAll30 = All IVs of N's Pokémon should be 30. +System.String LG5OTGenderN = N's Pokémon must have a male OT gender. +System.String LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. +System.String LG5PIDShinyN = N's Pokémon cannot be shiny. +System.String LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. +System.String LG5SparkleRequired = Special in-game N's Sparkle flag missing. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = Genderless Pokémon should not have a gender. +System.String LGeoBadOrder = GeoLocation Memory: Gap/Blank present. +System.String LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. +System.String LGeoHardwareRange = Invalid Console Region. +System.String LGeoHardwareValid = Geolocation: Country is in 3DS region. +System.String LGeoMemoryMissing = GeoLocation Memory: Memories should be present. +System.String LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. +System.String LGeoNoRegion = GeoLocation Memory: Region without Country. +System.String LHyperPerfectAll = Can't Hyper Train a Pokémon with perfect IVs. +System.String LHyperPerfectOne = Can't Hyper Train a perfect IV. +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = Can't Hyper Train a Pokémon that isn't level {0}. +System.String LItemEgg = Eggs cannot hold items. +System.String LItemUnreleased = Held item is unreleased. +System.String LIVAllEqual_0 = All IVs are {0}. +System.String LIVF_COUNT0_31 = Should have at least {0} IVs = 31. +System.String LIVNotCorrect = IVs do not match encounter requirements. +System.String LLevelEXPThreshold = Current experience matches level threshold. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = Current level is below met level. +System.String LLevelMetGift = Met Level does not match Mystery Gift level. +System.String LLevelMetGiftFail = Current Level below Mystery Gift level. +System.String LLevelMetSane = Current level is not below met level. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} Memory: {0} did not catch this. +System.String LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. +System.String LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. +System.String LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. +System.String LMemoryArgBadItem = {0} Memory: Species can't hold this item. +System.String LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. +System.String LMemoryArgBadMove = {0} Memory: Species can't learn this move. +System.String LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. +System.String LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. +System.String LMemoryArgSpecies = {0} Memory: Species can be captured in game. +System.String LMemoryCleared = Memory: Not cleared properly. +System.String LMemoryF_0_Valid = {0} Memory is valid. +System.String LMemoryFeelInvalid = {0} Memory: Invalid Feeling. +System.String LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. +System.String LMemoryHTGender = HT Gender invalid: {0} +System.String LMemoryHTLanguage = HT Language is missing. +System.String LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). +System.String LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. +System.String LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. +System.String LMemoryIndexID = {0} Memory: Should be index {1}. +System.String LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. +System.String LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). +System.String LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. +System.String LMemoryIndexLinkHT = Should have a Link Trade HT Memory. +System.String LMemoryIndexVar = {0} Memory: TextVar should be index {1}. +System.String LMemoryMissingHT = Memory: Handling Trainer Memory missing. +System.String LMemoryMissingOT = Memory: Original Trainer Memory missing. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. +System.String LMemoryStatAffectionOT0 = OT Affection should be 0. +System.String LMemoryStatEnjoyment = Enjoyment should be {0}. +System.String LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. +System.String LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. +System.String LMemoryStatFullness = Fullness should be {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. +System.String LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. +System.String LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. +System.String LMoveEggInherited = Inherited Egg move. +System.String LMoveEggInheritedTutor = Inherited tutor move. +System.String LMoveEggInvalid = Not an expected Egg move. +System.String LMoveEggInvalidEvent = Egg Move. Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up. Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. +System.String LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. +System.String LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. +System.String LMoveEggLevelUp = Inherited move learned by Level-up. +System.String LMoveEggMissing = Event Egg move missing. +System.String LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. +System.String LMoveEggTMHM = Inherited TM/HM move. +System.String LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. +System.String LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. +System.String LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. +System.String LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. +System.String LMoveFDefault_0 = Default move in Generation {0}. +System.String LMoveFExpect_0 = Expected the following Moves: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. +System.String LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. +System.String LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. +System.String LMoveKeldeoMismatch = Keldeo Move/Form mismatch. +System.String LMoveNincada = Only one Ninjask move allowed. +System.String LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. +System.String LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. +System.String LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = Not an expected DexNav move. +System.String LMoveRelearnEgg = Base Egg move. +System.String LMoveRelearnEggMissing = Base Egg move missing. +System.String LMoveRelearnFExpect_0 = Expected the following Relearn Moves: {0} ({1}) +System.String LMoveRelearnFMiss_0 = Relearn Moves missing: {0} +System.String LMoveRelearnInvalid = Not an expected Relearnable move. +System.String LMoveRelearnNone = Expected no Relearn Move in slot. +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = Default move. +System.String LMoveSourceDuplicate = Duplicate Move. +System.String LMoveSourceEgg = Egg Move. +System.String LMoveSourceEggEvent = Event Egg Move. +System.String LMoveSourceEmpty = Empty Move. +System.String LMoveSourceInvalid = Invalid Move. +System.String LMoveSourceInvalidSketch = Invalid Move (Sketch). +System.String LMoveSourceLevelUp = Learned by Level-up. +System.String LMoveSourceRelearn = Relearnable Move. +System.String LMoveSourceShared = Shared Non-Relearn Move. +System.String LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. +System.String LMoveSourceSpecial = Special Non-Relearn Move. +System.String LMoveSourceTMHM = Learned by TM/HM. +System.String LMoveSourceTR = Unexpected Technical Record Learned flag: {0} +System.String LMoveSourceTutor = Learned by Move Tutor. +System.String LNickFlagEggNo = Egg must be not nicknamed. +System.String LNickFlagEggYes = Egg must be nicknamed. +System.String LNickInvalidChar = Cannot be given this Nickname. +System.String LNickLengthLong = Nickname too long. +System.String LNickLengthShort = Nickname is empty. +System.String LNickMatchLanguage = Nickname matches species name. +System.String LNickMatchLanguageEgg = Egg matches language Egg name. +System.String LNickMatchLanguageEggFail = Egg name does not match language Egg name. +System.String LNickMatchLanguageFail = Nickname does not match species name. +System.String LNickMatchLanguageFlag = Nickname flagged, matches species name. +System.String LNickMatchNoOthers = Nickname does not match another species name. +System.String LNickMatchNoOthersFail = Nickname matches another species name (+language). +System.String LOT_IDEqual = TID and SID are equal. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = TID and SID are 0. +System.String LOT_SID0 = SID is zero. +System.String LOT_SID0Invalid = SID should be 0. +System.String LOT_TID0 = TID is zero. +System.String LOTLanguage = Language ID should be {0}, not {1}. +System.String LOTLong = OT Name too long. +System.String LOTShort = OT Name too short. +System.String LOTSuspicious = Suspicious Original Trainer details. +System.String LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. +System.String LPIDEncryptZero = Encryption Constant is not set. +System.String LPIDEqualsEC = Encryption Constant matches PID. +System.String LPIDGenderMatch = Gender matches PID. +System.String LPIDGenderMismatch = PID-Gender mismatch. +System.String LPIDNatureMatch = Nature matches PID. +System.String LPIDNatureMismatch = PID-Nature mismatch. +System.String LPIDTypeMismatch = Encounter Type PID mismatch. +System.String LPIDZero = PID is not set. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = All ribbons accounted for. +System.String LRibbonEgg = Can't receive Ribbon(s) as an Egg. +System.String LRibbonFInvalid_0 = Invalid Ribbons: +System.String LRibbonFMissing_0 = Missing Ribbons: +System.String LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} +System.String LRibbonMarkingFInvalid_0 = Invalid Marking: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = Battle Version is not within the expected range. +System.String LStatDynamaxInvalid = Dynamax Level is not within the expected range. +System.String LStatGigantamaxInvalid = Gigantamax Flag mismatch. +System.String LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. +System.String LStatIncorrectCP = Calculated CP does not match stored value. +System.String LStatIncorrectHeight = Calculated Height does not match stored value. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = Calculated Weight does not match stored value. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = Stat Nature is not within the expected range. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = Super Training complete flag mismatch. +System.String LSuperDistro = Distribution Super Training missions are not released. +System.String LSuperEgg = Can't Super Train an Egg. +System.String LSuperNoComplete = Can't have active Super Training complete flag for origins. +System.String LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. +System.String LSuperUnavailable = Super Training missions are not available in games visited. +System.String LSuperUnused = Unused Super Training Flag is flagged. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = Incorrectly transferred from previous generation. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = Can't transfer Eggs between Generations. +System.String LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. +System.String LTransferEggMetLevel = Invalid Met Level for transfer. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. +System.String LTransferMetLocation = Invalid Transfer Met Location. +System.String LTransferMove = Incompatible transfer move. +System.String LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. +System.String LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. +System.String LTransferNature = Invalid Nature for transfer Experience. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. +System.String LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! +System.String LTransferPIDECEquals = PID should be equal to EC! +System.String LTransferPIDECXor = Encryption Constant matches shinyxored PID. +System.String LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. +System.String LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt index 87e7856fa..1f97847a2 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_es.txt @@ -1,399 +1,406 @@ -L_AError = Error Interno. -L_ALegal = ¡Legal! -L_AnalysisUnavailable = Análisis no disponible para éste Pokémon. -L_AValid = Válido. -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} Movimiento {1}: {2} -L_F0_RM_1_2 = {0} Movimientos Recordable {1}: {2} -L_FEncounterType_0 = Tipo de Encuentro: {0} -L_FOriginSeed_0 = Semilla original: {0} -L_FPIDType_0 = Tipo de PID: {0} -L_SFishy = Sospechoso -L_SInvalid = Inválido -L_SNotImplemented = No Implementado -L_SValid = Válido -L_XEnigmaBerry_0 = {0} Baya -L_XHT = HT -L_XKorean = Coreano -L_XKoreanNon = No es coreano. -L_XMatches0_1 = Coinciden: {0} {1} -L_XOT = EO -L_XWurmpleEvo_0 = Evolución de Wurmple: {0} -LAbilityCapsuleUsed = Habilidad disponible con una Cápsula Habilidad. -LAbilityFlag = La Habilidad coincide con el número de habilidad. -LAbilityHiddenFail = La Habilidad Oculta no es correcta para el tipo de Encuentro. -LAbilityHiddenUnavailable = Habilidad Oculta no disponible. -LAbilityMismatch = La Habilidad no es correcta para el Encuentro. -LAbilityMismatch3 = La Habilidad no coincide con la Habilidad de la Especie en la 3ra Generación. -LAbilityMismatchFlag = La Habilidad no coincide con el número de habilidad. -LAbilityMismatchGift = La Habilidad no coincide con la del Regalo Misterioso. -LAbilityMismatchGrotto = Las capturas en el Claro Oculto deben tener Habilidad Oculta. -LAbilityMismatchHordeSafari = Habilidad Oculta en un Encuentro salvaje que no es mediante Hordas/Safari Amistad. -LAbilityMismatchPID = La Habilidad no coincide con el PID. -LAbilityMismatchSOS = Habilidad Oculta en un Encuentro salvaje que no es por Llamada SOS. -LAbilityPatchUsed = Habilidad disponible con parche de habilidad. -LAbilityUnexpected = La Habilidad no es válida para esta Especie/Forma. -LAwakenedCap = Los AV individuales no pueden ser mayor que: {0}. -LAwakenedShouldBeValue = Los AVs individuales deberían ser mayor que: {0} ({1}). -LBallAbility = No se puede tener Habilidad Oculta con está Ball -LBallEggCherish = No se puede tener una Gloria Ball en un Huevo común. -LBallEggMaster = No se puede tener una Master Ball en un Huevo común. -LBallEnc = Ball correcta para el tipo de encuentro. -LBallEncMismatch = Ball inobtenible para el tipo de encuentro. -LBallHeavy = No se puede tener una Peso Ball para especies ligeras, con poca probabilidad de ratio de captura (Gen VII). -LBallNone = No cumple con el chequeo, se asume ilegalidad. -LBallSpecies = La especie no se puede obtener en esta Ball. -LBallSpeciesPass = Ball posible para ésta Especie. -LBallUnavailable = Ball imposible en la Generación de origen. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = Las estadísticas de Concurso deberían ser 0. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = La fecha de encuentro está fuera del rango de fechas de distribución. -LEffort2Remaining = 2 EVs restantes. -LEffortAbove252 = Los EVs no pueden superar los 252. -LEffortAbove510 = Los EVs totales no pueden ser más de 510. -LEffortAllEqual = Todos los EVs son iguales. -LEffortCap100 = El valor de un EV individual para un encuentro de nivel 100 en Generación 4 no puede ser superior 100. -LEffortEgg = Los Huevos no pueden tener EVs. -LEffortEXPIncreased = Todos los EVs son 0, pero está al nivel por encima del Nivel de Encuentro. -LEffortShouldBeZero = No puede recibir EVs. -LEffortUntrainedCap = El valor del EV sin modificar la experiencia no puede ser superior a {0}. -LEggContest = No se pueden aumentar las estadísticas de Concurso de un Huevo. -LEggEXP = Los Huevos no pueden recibir Exp. -LEggFMetLevel_0 = Nivel de Encuentro inválido, se esperaba {0}. -LEggHatchCycles = Ciclos de eclosión del Huevo inválidos. -LEggLocation = Se puede eclosionar el Huevo en el Lugar de Encuentro. -LEggLocationInvalid = No se puede eclosionar el Huevo en el Lugar de Encuentro. -LEggLocationNone = Localización del Huevo inválida, no se esperaba ninguna. -LEggLocationPalPark = Lugar de Encuentro inválido, se esperaba Parque Compi. -LEggLocationTrade = Se puede eclosionar el Huevo intercambiado en el Lugar de Encuentro. -LEggLocationTradeFail = Localización del Huevo inválida, no debería haber sido intercambiado mientras era un Huevo. -LEggMetLocationFail = No se puede obtener el Huevo en el Lugar de Encuentro. -LEggNature = Los Huevos no pueden tener Naturaleza estadística. -LEggPokeathlon = Los Huevos no pueden tener estadísticas del Pokéathlon. -LEggPokerus = Los Huevos no pueden estar infectados con Pokérus. -LEggPP = Los Huevos no pueden tener los contadores de PP modificados. -LEggPPUp = No se puede aplicar Más PP a un huevo. -LEggRelearnFlags = Los Huevos no pueden tener Discos Técnicos marcados. -LEggShinyLeaf = Los Huevos no pueden tener Hoja/Corona Dorada. -LEggShinyPokeStar = Los Huevos no pueden ser una estrella de los Estudios Cinematográficos Pokéwoods. -LEggSpecies = Esta Especie no puede tener Huevos. -LEggUnhatched = Huevo eclosionado inválido. -LEncCondition = Encuentro salvaje válido en la localización. -LEncConditionBadRNGFrame = Imposible de encontrar las condiciones para un posible frame de RNG. -LEncConditionBadSpecies = La Especie no existe en el Juego de Origen. -LEncConditionBlack = Encuentro salvaje válido en la localización (Flauta Negra). -LEncConditionBlackLead = Encuentro salvaje válido en la localización (Flauta Negra y Presión/Entusiasmo/Espíritu Vital). -LEncConditionDexNav = Encuentro salvaje válido en la localización (DexNav). -LEncConditionLead = Encuentro salvaje válido en la localización (Presión/Entusiasmo/Espíritu Vital). -LEncConditionWhite = Encuentro salvaje válido en la localización (Flauta Blanca). -LEncConditionWhiteLead = Encuentro salvaje válido en la localización (Flauta Blanca y Presión/Entusiasmo/Espíritu Vital). -LEncGift = Imposible encontrar un Encuentro con el Huevo de Evento en el juego de origen. -LEncGiftEggEvent = Imposible encontrar un Huevo de Evento en el juego de origen. -LEncGiftIVMismatch = IVs no coinciden con los datos del Regalo Misterio. -LEncGiftNicknamed = El regalo de Evento tiene Mote. -LEncGiftNotFound = Imposible de encontrar este Regalo Misterioso en la Base de Datos. -LEncGiftPIDMismatch = El PID obligatorio del Regalo Misterioso no es correcto. -LEncGiftShinyMismatch = Regalo Misterioso Variocolor incorrecto. -LEncGiftVersionNotDistributed = El Regalo Misterioso no puede ser recibido en esa edición. -LEncInvalid = Imposible de encontrar un Encuentro en el Lugar de Origen. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Encuentro Estático/Regalo válido. -LEncStaticPIDShiny = El Encuentro Estático con el Pokémon Variocolor no es correcto. -LEncStaticRelearn = El movimiento recordable del Encuentro Estático no es correcto. -LEncTradeChangedNickname = El Mote del Intercambio In-Game ha sido alterado. -LEncTradeChangedOT = EL EO del Intercambio In-Game ha sido alterado. -LEncTradeIndexBad = ¿El índice de Intercambio In-Game no es válido? -LEncTradeMatch = Intercambio In-Game válido. -LEncTradeUnchanged = El EO de Intercambio In-Game y el Mote no han sido alterados. -LEncTypeMatch = El Tipo de encuentro corresponde con el Encuentro. -LEncTypeMismatch = El Tipo de Encuentro no coincide con el Encuentro. -LEncUnreleased = Evento no liberado. -LEncUnreleasedEMewJP = Mew de la Isla Suprema no Japonés. Evento no liberado. -LEncUnreleasedHoOArceus = Arceus de la Sala Origen. Evento no liberado. -LEncUnreleasedPtDarkrai = Darkrai de la Isla Luna Nueva no proveniente de Pokémon Platino. Evento no liberado. -LEncUnreleasedPtShaymin = Shaymin del Paraíso Floral no proveniente de Pokémon Platino. Evento no liberado. -LEReaderAmerica = Baya de E-Reader americano en un archivo japonés. -LEReaderInvalid = Baya de E-Reader inválida. -LEReaderJapan = Baya de E-Reader japonés en un archivo internacional. -LEvoInvalid = Evolución inválida (o nivel/ evolución por intercambio no satisfactorios). -LEvoTradeReq = El intercambio In-Game {0} debería haber evolucionado en {1}. -LEvoTradeReqOutsider = Forastero {0} debería haber evolucionado en {1}. -LEvoTradeRequired = La evolución específica de la versión requiere de un intercambio con la versión opuesta. Se requiere un entrenador anterior. -LFateful = Encuentro Fatídico especial de In-Game. -LFatefulGiftMissing = Encuentro Fatídico no coincide con el Encuentro. ¿Es un Regalo Misterioso contribuido? -LFatefulInvalid = El Encuentro Fatídico no debería estar marcado. -LFatefulMissing = Falta la marca de Encuentro Fatídico especial de In-Game. -LFatefulMystery = Encuentro Fatídico de Regalo Misterioso. -LFatefulMysteryMissing = Falta la marca de Encuentro Fatídico de Regalo Misterioso. -LFavoriteMarkingUnavailable = Marca de Favorito no disponible. -LFormArgumentHigh = El argumento de forma es muy alto para la forma actual. -LFormArgumentInvalid = El argumento de forma no es válido. -LFormArgumentLow = El argumento de la forma es muy bajo para la forma actual. -LFormArgumentNotAllowed = El argumento de la forma no está permitida para éste encuentro. -LFormArgumentValid = El argumento de la forma es válido. -LFormBattle = La forma no puede existir fuera de combate. -LFormEternal = Encuentro con Flor Eterna válido. -LFormEternalInvalid = Encuentro con Flor Eterna inválido. -LFormInvalidGame = La forma no se puede obtener en el juego de origen. -LFormInvalidNature = La forma no puede tener esta Naturaleza. -LFormInvalidRange = Contador de forma fuera de rango. Se esperaba <= {0}, se obtuvo {1}. -LFormItem = El objeto equipado coincide con la forma. -LFormItemInvalid = El objeto equipado no coincide con la forma. -LFormParty = La forma no puede existir fuera del equipo. -LFormPikachuCosplay = Solo Pikachu Coqueta puede tener esta forma. -LFormPikachuCosplayInvalid = Pikachu Coqueta no puede tener la forma por defecto. -LFormPikachuEventInvalid = El Pikachu de Evento no puede tener la forma por defecto. -LFormValid = Forma es válida. -LFormVivillon = Patrón de Vivillon válido. -LFormVivillonEventPre = Patrón de Vivillon de evento en una pre evolución. -LFormVivillonInvalid = Patrón de Vivillon inválido. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = El ratio de captura no coincide con ninguna especie de la cadena evolutiva del Pokémon. -LG1CatchRateEvo = El ratio de captura coincide con la especie pero sin encuentros. Se espera un ratio de captura de una pre evolución. -LG1CatchRateItem = El ratio de captura no coincide con un objeto equipado válido de la 2da Generación. -LG1CatchRateMatchPrevious = Ratio de Captura coincide con las especies de la cadena evolutiva. -LG1CatchRateMatchTradeback = Ratio de Captura coincide con un objeto válido equipado de la 2da Generación. -LG1CatchRateNone = El ratio de captura no coincide con ninguna especie de la cadena evolutiva del Pokémon o algún objeto de la 2da Generación. -LG1CharNick = El Mote de la Generación 1/2 usa caracteres no disponibles. -LG1CharOT = El EO de la Generación 1/2 usa caracteres no disponibles -LG1GBEncounter = No se puede obtener un Encuentro Especial en los juegos de Consola Virtual. -LG1MoveExclusive = Movimiento Exclusivo de Generación 1. Incompatible con Movimientos de regreso. -LG1MoveLearnSameLevel = Movimientos incompatibles. Aprendidos al mismo nivel en Rojo/Azul y Amarillo. -LG1MoveTradeback = Movimiento Huevo incompatible con movimientos exclusivos de Generación 1. -LG1OTEvent = Nombre del EO del Evento de RBY incorrecto -LG1OTGender = EO Femenino inválido para las Generaciones 1/2. -LG1Stadium = EO de Stadium incorrecto. -LG1StadiumInternational = EO del Stadium Internacional Válido. -LG1StadiumJapanese = EO del Stadium Japonés Válido. -LG1TradebackPreEvoMove = El Movimiento de pre evolución es incompatible con los exclusivos de Primera Generación. -LG1Type1Fail = Tipo A Inválido, no coincide con la especie. -LG1Type2Fail = Tipo B Inválido, no coincide con la especie. -LG1TypeMatch1 = Tipo A Válido, coincide con la especie. -LG1TypeMatch2 = Tipo B Válido, coincide con la especie. -LG1TypeMatchPorygon = Porygon con valores Tipo A y B válidos. -LG1TypePorygonFail = Porygon con valores de Tipo A y B inválidos. No coinciden con una combinación de tipo válida. -LG1TypePorygonFail1 = Porygon con un valor de Tipo A inválido. -LG1TypePorygonFail2 = Porygon con un valor de Tipo B inválido. -LG2InvalidTilePark = Encuentro mediante pesca en el Parque Nacional. Zonas de agua inalcanzables. -LG2InvalidTileR14 = Encuentro mediante pesca en la Ruta 14 de Kanto. Zonas de agua inalcanzables. -LG2InvalidTileSafari = Encuentro mediante pesca en la Zona Safari de 2da Generación. Zona inalcanzable. -LG2InvalidTileTreeID = Se encontró un árbol inalcanzable para el encuentro mediante Cabezazo en Cristal que coincida con el OTID. -LG2InvalidTileTreeNotFound = No se pudo encontrar un árbol para el encuentro mediante Cabezazo en Cristal que coincida con el OTID. -LG2OTGender = Los OT de los juegos de la consola virtual que no sean Cristal no pueden ser mujeres. -LG2TreeID = Se encontró un árbol para el encuentro mediante Cabezazo en Cristal que coincide con el OTID. -LG3EReader = Pokémon de Shadow E-reader japonés. Encuentro no liberado. -LG3OTGender = EO de Colosseum/XD no pueden ser femeninos. -LG4InvalidTileR45Surf = Encuentro mediante Surf en la ruta 45 de Johto. Zonas de agua inalcanzables. -LG5ID_N = El Nombre/TID/SID de N es incorrecto. -LG5IVAll30 = Todos los IVs de los Pokémon de N deberían de ser 30. -LG5OTGenderN = Los Pokémon de N deben tener un género OT masculino. -LG5PIDShinyGrotto = Las Capturas en Los Claros Ocultos no pueden ser Variocolor. -LG5PIDShinyN = Los Pokémon de N no pueden ser Variocolor. -LG5SparkleInvalid = La marca chispeante especial de N In-Game no debería estar. -LG5SparkleRequired = Falta la marca chispeante especial de N In-Game. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = Pokémon Sin Género no deberían tener Género. -LGeoBadOrder = Recuerdo de Geolocalización: Presente en blanco. -LGeoHardwareInvalid = Geolocalización: El país no se encuentra en la región de la 3DS. -LGeoHardwareRange = Región de Consola Inválida. -LGeoHardwareValid = Geolocalización: El país está en la región de la 3DS. -LGeoMemoryMissing = Recuerdo de Geolocalización: Los recuerdos deberían estar presentes. -LGeoNoCountryHT = Recuerdo de Geolocalización: El nombre del entrenador anterior aparece pero no tiene país anterior. -LGeoNoRegion = Recuerdo de Geolocalización: Región sin país. -LHyperBelow100 = No se puede usar el Hiper Entrenamiento en un Pokémon que no esté al nivel 100. -LHyperPerfectAll = No se puede usar el Hiper Entrenamiento con IVs perfectos. -LHyperPerfectOne = No se puede usar el Hiper Entrenamiento con un IV perfecto. -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = Los Huevos no pueden tener objetos equipados. -LItemUnreleased = El Objeto Equipado aún no está disponible. -LIVAllEqual_0 = Todos los IVs son {0}. -LIVF_COUNT0_31 = Debería tener al menos {0} IVs = 31. -LIVNotCorrect = Los IVs no coinciden con los requerimientos del encuentro. -LLevelEXPThreshold = La experiencia actual coincide con la del umbral de nivel. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = El nivel actual está por debajo del Nivel de Encuentro. -LLevelMetGift = El nivel actual no coincide con el nivel del Regalo Misterioso. -LLevelMetGiftFail = El nivel actual está por debajo del nivel del Regalo Misterioso. -LLevelMetSane = El nivel actual no está por debajo del Nivel de Encuentro. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} Recuerdo: {0} no capturó esto. -LMemoryArgBadHatch = {0} Recuerdo: {0} no eclosionó esto. -LMemoryArgBadHT = Recuerdo: No puede tener recuerdo de un entrenador anterior siendo un Huevo. -LMemoryArgBadID = {0} Recuerdo: No se puede obtener un recuerdo en la edición {0} . -LMemoryArgBadItem = {0} Recuerdo: Las especies no pueden contener este objeto. -LMemoryArgBadLocation = {0} Recuerdo: No se puede obtener la localización en la edición {0}. -LMemoryArgBadMove = {0} Recuerdo: La Especie no puede aprender este movimiento. -LMemoryArgBadOTEgg = {0} Recuerdo: Intercambio por Conexión no es un primer recuerdo válido. -LMemoryArgBadSpecies = {0} Recuerdo: No se puede capturar la Especie en el juego. -LMemoryArgSpecies = {0} Recuerdo: La Especie no se puede capturar en el juego. -LMemoryCleared = Recuerdo: No están propiamente claros. -LMemoryF_0_Valid = {0} recuerdo es válido. -LMemoryFeelInvalid = {0} Recuerdo: Sentimiento inválido. -LMemoryHTFlagInvalid = No intercambiado: El entrenador actual no debería ser el entrenador anterior. -LMemoryHTGender = Género Inválido: {0} -LMemoryHTLanguage = Falta el idioma del HT. -LMemoryIndexArgHT = Debería tener un valor TextVar de recuerdo del entrenador anterior (en algún lugar). -LMemoryIndexFeel = {0} Recuerdo: Sentimiento debería ser indicado {1}. -LMemoryIndexFeelHT09 = Debería tener un valor de Sensación de Recuerdo entre 0-9. -LMemoryIndexID = {0} Recuerdo: Debería ser indicado {1}. -LMemoryIndexIntensity = {0} Recuerdo: La intensidad debería ser indicada {1}. -LMemoryIndexIntensityHT1 = Debería tener un valor de Intensidad de recuerdo de entrenador anterior (1ro). -LMemoryIndexIntensityMin = {0} Recuerdo: La intensidad debería ser al menos {1}. -LMemoryIndexLinkHT = Debería tener un recuerdo del entrenador anterior por intercambio. -LMemoryIndexVar = {0} Recuerdo: TextVar debería ser indicado {1}. -LMemoryMissingHT = Recuerdo: Falta el recuerdo del entrenador anterior. -LMemoryMissingOT = Recuerdo: Falta el recuerdo del entrenador original. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = No intercambiado: El Afecto con el entrenador anterior debería ser cero. -LMemoryStatAffectionOT0 = El afecto del EO debería de ser cero. -LMemoryStatEnjoyment = Los Mimos deberían ser {0}. -LMemoryStatFriendshipHT0 = No intercambiado: La Amistad con el entrenador anterior debería ser cero. -LMemoryStatFriendshipOTBaseEvent = La Amistad con el EO de Evento no coincide con el valor de base. -LMemoryStatFullness = La Saciedad debería ser {0}. -LMoveEggFIncompatible0_1 = {0} Movimiento Heredado. Incompatible con {1} Movimientos heredados. -LMoveEggIncompatible = Movimiento Huevo. Incompatible con Movimientos Huevo de Evento. -LMoveEggIncompatibleEvent = Movimiento Huevo de Evento. Incompatible con Movimiento Huevo normal. -LMoveEggInherited = Movimiento huevo heredado. -LMoveEggInheritedTutor = Movimiento heredado aprendido mediante tutor. -LMoveEggInvalid = No es un Movimiento Huevo esperado. -LMoveEggInvalidEvent = Movimiento Huevo. No esperable en un Huevo de Evento. -LMoveEggInvalidEventLevelUp = Movimiento heredado aprendido por nivel. No esperable en un Huevo de Evento. -LMoveEggInvalidEventLevelUpGift = Movimiento heredado aprendido por nivel. No esperable en un Huevo regalado. -LMoveEggInvalidEventTMHM = Movimiento heredado aprendido mediante MT/MO. No esperable en un Huevo de Evento. -LMoveEggInvalidEventTutor = Movimiento heredado aprendido mediante tutor. No esperable en un Huevo de Evento. -LMoveEggLevelUp = Movimiento heredado aprendido por nivel. -LMoveEggMissing = Faltan los Movimientos Huevo de Evento. -LMoveEggMoveGift = Movimiento Huevo. No esperable en un Huevo regalado. -LMoveEggTMHM = Movimiento heredado aprendido por MT/MO. -LMoveEventEggLevelUp = Movimiento heredado aprendido por nivel. Incompatible con Movimientos Huevo de Evento. -LMoveEvoFCombination_0 = Combinaciones de Movimientos no son compatibles con Movimientos de la evolución de {0}. -LMoveEvoFHigher = Movimientos de evolución incompatibles. {1} Movimiento aprendido a un nivel superior que otros {0} movimientos. -LMoveEvoFLower = Movimientos de evolución incompatibles. {0} Movimiento aprendido a un nivel inferior que otros {1} movimientos. -LMoveFDefault_0 = Movimiento por Defecto en Generación {0}. -LMoveFExpect_0 = Se esperaban los siguientes Movimientos: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Aprendido por Nivel en Generación {0}. -LMoveFTMHM_0 = Aprendido mediante MT/MO en Generación {0}. -LMoveFTutor_0 = Aprendido mediante Tutor de Movimientos en Generación {0}. -LMoveKeldeoMismatch = Movimiento/Forma de Keldeo incorrecta. -LMoveNincada = Solo un movimiento de Ninjask permitido. -LMoveNincadaEvo = Aprendido al evolucionar a Nincada en Ninjask -LMoveNincadaEvoF_0 = Aprendido al evolucionar a Nincada en Ninjask en Generación {0}. -LMovePPTooHigh_0 = Los PP del movimiento {0} están por encima de los permitidos. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = No es un Movimiento de DexNav. -LMoveRelearnEgg = Movimiento Huevo base. -LMoveRelearnEggMissing = Faltan los Movimientos Huevo base. -LMoveRelearnFExpect_0 = Se esperaban los siguientes movimientos recordables: {0} ({1}) -LMoveRelearnFMiss_0 = Faltan movimientos recordables: {0} -LMoveRelearnInvalid = No es un Movimiento Recordable. -LMoveRelearnNone = No se esperaba un Movimiento Recordable en esta casilla. -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = Movimiento por Defecto. -LMoveSourceDuplicate = Movimiento duplicado. -LMoveSourceEgg = Movimiento Huevo. -LMoveSourceEggEvent = Movimiento Huevo de Evento. -LMoveSourceEmpty = Movimiento Vacío. -LMoveSourceInvalid = Movimiento inválido. -LMoveSourceInvalidSketch = Movimiento inválido (Esquema). -LMoveSourceLevelUp = Aprendido por Nivel. -LMoveSourceRelearn = Movimiento Recordable. -LMoveSourceShared = Movimiento no recordable compartido. -LMoveSourceSharedF = Movimiento no recordable compartido en la {0}a Generación. -LMoveSourceSpecial = Movimiento especial no recordable. -LMoveSourceTMHM = Aprendido mediante MT/MO. -LMoveSourceTR = Marca inesperada del Récord Técnico Aprendido: {0} -LMoveSourceTutor = Aprendido mediante tutor. -LNickFlagEggNo = El Huevo no debe tener Mote. -LNickFlagEggYes = El Huevo debe tener Mote. -LNickInvalidChar = No se puede utilizar este Mote. -LNickLengthLong = Mote demasiado largo. -LNickLengthShort = El Mote está vacío. -LNickMatchLanguage = El Mote coincide con el de la especie. -LNickMatchLanguageEgg = El nombre del Huevo coincide con el idioma del mismo. -LNickMatchLanguageEggFail = El nombre del Huevo no coincide con el idioma del mismo. -LNickMatchLanguageFail = El Mote no coincide con el de la especie. -LNickMatchLanguageFlag = Mote marcado, coincide con el de la especie. -LNickMatchNoOthers = El Mote no coincide con el de otra especie. -LNickMatchNoOthersFail = El Mote coincide con el de otra especie (+Idioma). -LOT_IDEqual = El TID y el SID son iguales. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = El TID y el SID son 0. -LOT_SID0 = El SID es cero. -LOT_SID0Invalid = El SID debería ser 0. -LOT_TID0 = El TID es cero. -LOTLanguage = El ID del lenguaje debería de ser {0}, no {1}. -LOTLong = Nombre del EO demasiado largo. -LOTShort = El nombre del EO es muy corto. -LOTSuspicious = Detalles del Entrenador Original sospechosos. -LPIDEncryptWurmple = La Constante de Encriptado para la evolución de Wurmple no coincide. -LPIDEncryptZero = La Constante de Encriptado no está establecida. -LPIDEqualsEC = La Constante de Encriptado coincide con el PID. -LPIDGenderMatch = El Género coincide con el PID. -LPIDGenderMismatch = El Género y el PID no coinciden. -LPIDNatureMatch = La Naturaleza coincide con el PID. -LPIDNatureMismatch = La Naturaleza y el PID no coinciden. -LPIDTypeMismatch = El PID del Tipo de Encuentro no es correcto. -LPIDZero = PID no establecido. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = Todas las cintas están justificadas. -LRibbonEgg = No se pueden recibir Cintas siendo un Huevo. -LRibbonFInvalid_0 = Cintas inválidas: -LRibbonFMissing_0 = Cintas que faltan: -LRibbonMarkingAffixedF_0 = Cinta / marca pegada no válida: {0} -LRibbonMarkingFInvalid_0 = Marca Inválida: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = La Versión de Batalla no está dentro del rango esperado. -LStatDynamaxInvalid = El nivel Dinamax no está dentro del rango esperado. -LStatGigantamaxInvalid = Gigamax incompatible. -LStatGigantamaxValid = La marca de Gigamax fue cambiada por Maxi Sopa. -LStatIncorrectCP = Los CP calculados no concuerdan con el valor almacenado. -LStatIncorrectHeight = La Altura calculada no concuerda con el valor almacenado. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = El Peso calculado no concuerda con el valor almacenado. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = La Estadística de la Naturaleza no está dentro del rango esperado. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = El Super Entrenamiento completo no es correcto. -LSuperDistro = Las misiones de Super Entrenamiento distribuidas no están liberadas. -LSuperEgg = No se puede Super Entrenar un Huevo -LSuperNoComplete = No se puede tener el Super Entrenamiento activo desbloqueado completo para el origen. -LSuperNoUnlocked = No se puede tener el Super Entrenamiento activo desbloqueado para el origen. -LSuperUnavailable = Las misiones de Super Entrenamiento no están disponibles en lo juegos visitados. -LSuperUnused = La casilla de Super Entrenamiento no utilizada está marcada. -LTransferBad = No se puede obtener la Especie en los juegos de Consola Virtual. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = No se pueden transferir Huevos entre generaciones. -LTransferEggLocationTransporter = Lugar de Encuentro inválido, se esperaba Pokétransfer. -LTransferEggMetLevel = Nivel de Encuentro inválido para el de transferencia. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = El entrenador actual no ser de una generación anterior para una especie transferida. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Lugar de Encuentro Inválido. Se esperaba Pokétransfer o Corona. -LTransferMetLocation = Lugar de Encuentro mediante transferencia inválido. -LTransferMove = Movimiento de transferencia incompatible. -LTransferMoveG4HM = Despejar y Torbellino. Uno de estos movimientos debe de ser eliminado antes de ser transferido a la Generación 5. -LTransferMoveHM = MO de la {0} generación. Debería de haber sido eliminado antes de ser transferido a la Generación {1}. -LTransferNature = Naturaleza no válida en base a la Experiencia tras la transferencia. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = {0} origen no puede existir en la partida cargada ({1}) actualmente. -LTransferPIDECBitFlip = ¡El PID debería de ser igual al EC [Con el primer dígito invertido]! -LTransferPIDECEquals = ¡El PID debería de ser igual al EC! -LTransferPIDECXor = La Constante de Encriptado coincide con el PID Variocolor. -LTransferTrackerMissing = Falta el Rastreador de Transferencia de Pokémon HOME. -LTransferTrackerShouldBeZero = El Rastreador de transferencias de Pokémon HOME debería ser 0. +System.String L_AError = Error Interno. +System.String L_ALegal = ¡Legal! +System.String L_AnalysisUnavailable = Análisis no disponible para éste Pokémon. +System.String L_AValid = Válido. +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} Movimiento {1}: {2} +System.String L_F0_RM_1_2 = {0} Movimientos Recordable {1}: {2} +System.String L_FEncounterType_0 = Tipo de Encuentro: {0} +System.String L_FOriginSeed_0 = Semilla original: {0} +System.String L_FPIDType_0 = Tipo de PID: {0} +System.String L_SFishy = Sospechoso +System.String L_SInvalid = Inválido +System.String L_SNotImplemented = No Implementado +System.String L_SValid = Válido +System.String L_XEnigmaBerry_0 = {0} Baya +System.String L_XHT = HT +System.String L_XKorean = Coreano +System.String L_XKoreanNon = No es coreano. +System.String L_XMatches0_1 = Coinciden: {0} {1} +System.String L_XOT = EO +System.String L_XWurmpleEvo_0 = Evolución de Wurmple: {0} +System.String LAbilityCapsuleUsed = Habilidad disponible con una Cápsula Habilidad. +System.String LAbilityFlag = La Habilidad coincide con el número de habilidad. +System.String LAbilityHiddenFail = La Habilidad Oculta no es correcta para el tipo de Encuentro. +System.String LAbilityHiddenUnavailable = Habilidad Oculta no disponible. +System.String LAbilityMismatch = La Habilidad no es correcta para el Encuentro. +System.String LAbilityMismatch3 = La Habilidad no coincide con la Habilidad de la Especie en la 3ra Generación. +System.String LAbilityMismatchFlag = La Habilidad no coincide con el número de habilidad. +System.String LAbilityMismatchGift = La Habilidad no coincide con la del Regalo Misterioso. +System.String LAbilityMismatchGrotto = Las capturas en el Claro Oculto deben tener Habilidad Oculta. +System.String LAbilityMismatchHordeSafari = Habilidad Oculta en un Encuentro salvaje que no es mediante Hordas/Safari Amistad. +System.String LAbilityMismatchPID = La Habilidad no coincide con el PID. +System.String LAbilityMismatchSOS = Habilidad Oculta en un Encuentro salvaje que no es por Llamada SOS. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Habilidad disponible con parche de habilidad. +System.String LAbilityUnexpected = La Habilidad no es válida para esta Especie/Forma. +System.String LAwakenedCap = Los AV individuales no pueden ser mayor que: {0}. +System.String LAwakenedShouldBeValue = Los AVs individuales deberían ser mayor que: {0} ({1}). +System.String LBallAbility = No se puede tener Habilidad Oculta con está Ball +System.String LBallEggCherish = No se puede tener una Gloria Ball en un Huevo común. +System.String LBallEggMaster = No se puede tener una Master Ball en un Huevo común. +System.String LBallEnc = Ball correcta para el tipo de encuentro. +System.String LBallEncMismatch = Ball inobtenible para el tipo de encuentro. +System.String LBallHeavy = No se puede tener una Peso Ball para especies ligeras, con poca probabilidad de ratio de captura (Gen VII). +System.String LBallNone = No cumple con el chequeo, se asume ilegalidad. +System.String LBallSpecies = La especie no se puede obtener en esta Ball. +System.String LBallSpeciesPass = Ball posible para ésta Especie. +System.String LBallUnavailable = Ball imposible en la Generación de origen. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = Las estadísticas de Concurso deberían ser 0. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = La fecha de encuentro está fuera del rango de fechas de distribución. +System.String LEffort2Remaining = 2 EVs restantes. +System.String LEffortAbove252 = Los EVs no pueden superar los 252. +System.String LEffortAbove510 = Los EVs totales no pueden ser más de 510. +System.String LEffortAllEqual = Todos los EVs son iguales. +System.String LEffortCap100 = El valor de un EV individual para un encuentro de nivel 100 en Generación 4 no puede ser superior 100. +System.String LEffortEgg = Los Huevos no pueden tener EVs. +System.String LEffortEXPIncreased = Todos los EVs son 0, pero está al nivel por encima del Nivel de Encuentro. +System.String LEffortShouldBeZero = No puede recibir EVs. +System.String LEffortUntrainedCap = El valor del EV sin modificar la experiencia no puede ser superior a {0}. +System.String LEggContest = No se pueden aumentar las estadísticas de Concurso de un Huevo. +System.String LEggEXP = Los Huevos no pueden recibir Exp. +System.String LEggFMetLevel_0 = Nivel de Encuentro inválido, se esperaba {0}. +System.String LEggHatchCycles = Ciclos de eclosión del Huevo inválidos. +System.String LEggLocation = Se puede eclosionar el Huevo en el Lugar de Encuentro. +System.String LEggLocationInvalid = No se puede eclosionar el Huevo en el Lugar de Encuentro. +System.String LEggLocationNone = Localización del Huevo inválida, no se esperaba ninguna. +System.String LEggLocationPalPark = Lugar de Encuentro inválido, se esperaba Parque Compi. +System.String LEggLocationTrade = Se puede eclosionar el Huevo intercambiado en el Lugar de Encuentro. +System.String LEggLocationTradeFail = Localización del Huevo inválida, no debería haber sido intercambiado mientras era un Huevo. +System.String LEggMetLocationFail = No se puede obtener el Huevo en el Lugar de Encuentro. +System.String LEggNature = Los Huevos no pueden tener Naturaleza estadística. +System.String LEggPokeathlon = Los Huevos no pueden tener estadísticas del Pokéathlon. +System.String LEggPokerus = Los Huevos no pueden estar infectados con Pokérus. +System.String LEggPP = Los Huevos no pueden tener los contadores de PP modificados. +System.String LEggPPUp = No se puede aplicar Más PP a un huevo. +System.String LEggRelearnFlags = Los Huevos no pueden tener Discos Técnicos marcados. +System.String LEggShinyLeaf = Los Huevos no pueden tener Hoja/Corona Dorada. +System.String LEggShinyPokeStar = Los Huevos no pueden ser una estrella de los Estudios Cinematográficos Pokéwoods. +System.String LEggSpecies = Esta Especie no puede tener Huevos. +System.String LEggUnhatched = Huevo eclosionado inválido. +System.String LEncCondition = Encuentro salvaje válido en la localización. +System.String LEncConditionBadRNGFrame = Imposible de encontrar las condiciones para un posible frame de RNG. +System.String LEncConditionBadSpecies = La Especie no existe en el Juego de Origen. +System.String LEncConditionBlack = Encuentro salvaje válido en la localización (Flauta Negra). +System.String LEncConditionBlackLead = Encuentro salvaje válido en la localización (Flauta Negra y Presión/Entusiasmo/Espíritu Vital). +System.String LEncConditionDexNav = Encuentro salvaje válido en la localización (DexNav). +System.String LEncConditionLead = Encuentro salvaje válido en la localización (Presión/Entusiasmo/Espíritu Vital). +System.String LEncConditionWhite = Encuentro salvaje válido en la localización (Flauta Blanca). +System.String LEncConditionWhiteLead = Encuentro salvaje válido en la localización (Flauta Blanca y Presión/Entusiasmo/Espíritu Vital). +System.String LEncGift = Imposible encontrar un Encuentro con el Huevo de Evento en el juego de origen. +System.String LEncGiftEggEvent = Imposible encontrar un Huevo de Evento en el juego de origen. +System.String LEncGiftIVMismatch = IVs no coinciden con los datos del Regalo Misterio. +System.String LEncGiftNicknamed = El regalo de Evento tiene Mote. +System.String LEncGiftNotFound = Imposible de encontrar este Regalo Misterioso en la Base de Datos. +System.String LEncGiftPIDMismatch = El PID obligatorio del Regalo Misterioso no es correcto. +System.String LEncGiftShinyMismatch = Regalo Misterioso Variocolor incorrecto. +System.String LEncGiftVersionNotDistributed = El Regalo Misterioso no puede ser recibido en esa edición. +System.String LEncInvalid = Imposible de encontrar un Encuentro en el Lugar de Origen. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Encuentro Estático/Regalo válido. +System.String LEncStaticPIDShiny = El Encuentro Estático con el Pokémon Variocolor no es correcto. +System.String LEncStaticRelearn = El movimiento recordable del Encuentro Estático no es correcto. +System.String LEncTradeChangedNickname = El Mote del Intercambio In-Game ha sido alterado. +System.String LEncTradeChangedOT = EL EO del Intercambio In-Game ha sido alterado. +System.String LEncTradeIndexBad = ¿El índice de Intercambio In-Game no es válido? +System.String LEncTradeMatch = Intercambio In-Game válido. +System.String LEncTradeUnchanged = El EO de Intercambio In-Game y el Mote no han sido alterados. +System.String LEncTypeMatch = El Tipo de encuentro corresponde con el Encuentro. +System.String LEncTypeMismatch = El Tipo de Encuentro no coincide con el Encuentro. +System.String LEncUnreleased = Evento no liberado. +System.String LEncUnreleasedEMewJP = Mew de la Isla Suprema no Japonés. Evento no liberado. +System.String LEncUnreleasedHoOArceus = Arceus de la Sala Origen. Evento no liberado. +System.String LEncUnreleasedPtDarkrai = Darkrai de la Isla Luna Nueva no proveniente de Pokémon Platino. Evento no liberado. +System.String LEncUnreleasedPtShaymin = Shaymin del Paraíso Floral no proveniente de Pokémon Platino. Evento no liberado. +System.String LEReaderAmerica = Baya de E-Reader americano en un archivo japonés. +System.String LEReaderInvalid = Baya de E-Reader inválida. +System.String LEReaderJapan = Baya de E-Reader japonés en un archivo internacional. +System.String LEvoInvalid = Evolución inválida (o nivel/ evolución por intercambio no satisfactorios). +System.String LEvoTradeReq = El intercambio In-Game {0} debería haber evolucionado en {1}. +System.String LEvoTradeReqOutsider = Forastero {0} debería haber evolucionado en {1}. +System.String LEvoTradeRequired = La evolución específica de la versión requiere de un intercambio con la versión opuesta. Se requiere un entrenador anterior. +System.String LFateful = Encuentro Fatídico especial de In-Game. +System.String LFatefulGiftMissing = Encuentro Fatídico no coincide con el Encuentro. ¿Es un Regalo Misterioso contribuido? +System.String LFatefulInvalid = El Encuentro Fatídico no debería estar marcado. +System.String LFatefulMissing = Falta la marca de Encuentro Fatídico especial de In-Game. +System.String LFatefulMystery = Encuentro Fatídico de Regalo Misterioso. +System.String LFatefulMysteryMissing = Falta la marca de Encuentro Fatídico de Regalo Misterioso. +System.String LFavoriteMarkingUnavailable = Marca de Favorito no disponible. +System.String LFormArgumentHigh = El argumento de forma es muy alto para la forma actual. +System.String LFormArgumentInvalid = El argumento de forma no es válido. +System.String LFormArgumentLow = El argumento de la forma es muy bajo para la forma actual. +System.String LFormArgumentNotAllowed = El argumento de la forma no está permitida para éste encuentro. +System.String LFormArgumentValid = El argumento de la forma es válido. +System.String LFormBattle = La forma no puede existir fuera de combate. +System.String LFormEternal = Encuentro con Flor Eterna válido. +System.String LFormEternalInvalid = Encuentro con Flor Eterna inválido. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = La forma no se puede obtener en el juego de origen. +System.String LFormInvalidNature = La forma no puede tener esta Naturaleza. +System.String LFormInvalidRange = Contador de forma fuera de rango. Se esperaba <= {0}, se obtuvo {1}. +System.String LFormItem = El objeto equipado coincide con la forma. +System.String LFormItemInvalid = El objeto equipado no coincide con la forma. +System.String LFormParty = La forma no puede existir fuera del equipo. +System.String LFormPikachuCosplay = Solo Pikachu Coqueta puede tener esta forma. +System.String LFormPikachuCosplayInvalid = Pikachu Coqueta no puede tener la forma por defecto. +System.String LFormPikachuEventInvalid = El Pikachu de Evento no puede tener la forma por defecto. +System.String LFormValid = Forma es válida. +System.String LFormVivillon = Patrón de Vivillon válido. +System.String LFormVivillonEventPre = Patrón de Vivillon de evento en una pre evolución. +System.String LFormVivillonInvalid = Patrón de Vivillon inválido. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = El ratio de captura no coincide con ninguna especie de la cadena evolutiva del Pokémon. +System.String LG1CatchRateEvo = El ratio de captura coincide con la especie pero sin encuentros. Se espera un ratio de captura de una pre evolución. +System.String LG1CatchRateItem = El ratio de captura no coincide con un objeto equipado válido de la 2da Generación. +System.String LG1CatchRateMatchPrevious = Ratio de Captura coincide con las especies de la cadena evolutiva. +System.String LG1CatchRateMatchTradeback = Ratio de Captura coincide con un objeto válido equipado de la 2da Generación. +System.String LG1CatchRateNone = El ratio de captura no coincide con ninguna especie de la cadena evolutiva del Pokémon o algún objeto de la 2da Generación. +System.String LG1CharNick = El Mote de la Generación 1/2 usa caracteres no disponibles. +System.String LG1CharOT = El EO de la Generación 1/2 usa caracteres no disponibles +System.String LG1GBEncounter = No se puede obtener un Encuentro Especial en los juegos de Consola Virtual. +System.String LG1MoveExclusive = Movimiento Exclusivo de Generación 1. Incompatible con Movimientos de regreso. +System.String LG1MoveLearnSameLevel = Movimientos incompatibles. Aprendidos al mismo nivel en Rojo/Azul y Amarillo. +System.String LG1MoveTradeback = Movimiento Huevo incompatible con movimientos exclusivos de Generación 1. +System.String LG1OTEvent = Nombre del EO del Evento de RBY incorrecto +System.String LG1OTGender = EO Femenino inválido para las Generaciones 1/2. +System.String LG1Stadium = EO de Stadium incorrecto. +System.String LG1StadiumInternational = EO del Stadium Internacional Válido. +System.String LG1StadiumJapanese = EO del Stadium Japonés Válido. +System.String LG1TradebackPreEvoMove = El Movimiento de pre evolución es incompatible con los exclusivos de Primera Generación. +System.String LG1Type1Fail = Tipo A Inválido, no coincide con la especie. +System.String LG1Type2Fail = Tipo B Inválido, no coincide con la especie. +System.String LG1TypeMatch1 = Tipo A Válido, coincide con la especie. +System.String LG1TypeMatch2 = Tipo B Válido, coincide con la especie. +System.String LG1TypeMatchPorygon = Porygon con valores Tipo A y B válidos. +System.String LG1TypePorygonFail = Porygon con valores de Tipo A y B inválidos. No coinciden con una combinación de tipo válida. +System.String LG1TypePorygonFail1 = Porygon con un valor de Tipo A inválido. +System.String LG1TypePorygonFail2 = Porygon con un valor de Tipo B inválido. +System.String LG2InvalidTilePark = Encuentro mediante pesca en el Parque Nacional. Zonas de agua inalcanzables. +System.String LG2InvalidTileR14 = Encuentro mediante pesca en la Ruta 14 de Kanto. Zonas de agua inalcanzables. +System.String LG2InvalidTileSafari = Encuentro mediante pesca en la Zona Safari de 2da Generación. Zona inalcanzable. +System.String LG2InvalidTileTreeID = Se encontró un árbol inalcanzable para el encuentro mediante Cabezazo en Cristal que coincida con el OTID. +System.String LG2InvalidTileTreeNotFound = No se pudo encontrar un árbol para el encuentro mediante Cabezazo en Cristal que coincida con el OTID. +System.String LG2OTGender = Los OT de los juegos de la consola virtual que no sean Cristal no pueden ser mujeres. +System.String LG2TreeID = Se encontró un árbol para el encuentro mediante Cabezazo en Cristal que coincide con el OTID. +System.String LG3EReader = Pokémon de Shadow E-reader japonés. Encuentro no liberado. +System.String LG3OTGender = EO de Colosseum/XD no pueden ser femeninos. +System.String LG4InvalidTileR45Surf = Encuentro mediante Surf en la ruta 45 de Johto. Zonas de agua inalcanzables. +System.String LG5ID_N = El Nombre/TID/SID de N es incorrecto. +System.String LG5IVAll30 = Todos los IVs de los Pokémon de N deberían de ser 30. +System.String LG5OTGenderN = Los Pokémon de N deben tener un género OT masculino. +System.String LG5PIDShinyGrotto = Las Capturas en Los Claros Ocultos no pueden ser Variocolor. +System.String LG5PIDShinyN = Los Pokémon de N no pueden ser Variocolor. +System.String LG5SparkleInvalid = La marca chispeante especial de N In-Game no debería estar. +System.String LG5SparkleRequired = Falta la marca chispeante especial de N In-Game. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = Pokémon Sin Género no deberían tener Género. +System.String LGeoBadOrder = Recuerdo de Geolocalización: Presente en blanco. +System.String LGeoHardwareInvalid = Geolocalización: El país no se encuentra en la región de la 3DS. +System.String LGeoHardwareRange = Región de Consola Inválida. +System.String LGeoHardwareValid = Geolocalización: El país está en la región de la 3DS. +System.String LGeoMemoryMissing = Recuerdo de Geolocalización: Los recuerdos deberían estar presentes. +System.String LGeoNoCountryHT = Recuerdo de Geolocalización: El nombre del entrenador anterior aparece pero no tiene país anterior. +System.String LGeoNoRegion = Recuerdo de Geolocalización: Región sin país. +System.String LHyperPerfectAll = No se puede usar el Hiper Entrenamiento con IVs perfectos. +System.String LHyperPerfectOne = No se puede usar el Hiper Entrenamiento con un IV perfecto. +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = No se puede usar el Hiper Entrenamiento en un Pokémon que no esté al nivel {0}. +System.String LItemEgg = Los Huevos no pueden tener objetos equipados. +System.String LItemUnreleased = El Objeto Equipado aún no está disponible. +System.String LIVAllEqual_0 = Todos los IVs son {0}. +System.String LIVF_COUNT0_31 = Debería tener al menos {0} IVs = 31. +System.String LIVNotCorrect = Los IVs no coinciden con los requerimientos del encuentro. +System.String LLevelEXPThreshold = La experiencia actual coincide con la del umbral de nivel. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = El nivel actual está por debajo del Nivel de Encuentro. +System.String LLevelMetGift = El nivel actual no coincide con el nivel del Regalo Misterioso. +System.String LLevelMetGiftFail = El nivel actual está por debajo del nivel del Regalo Misterioso. +System.String LLevelMetSane = El nivel actual no está por debajo del Nivel de Encuentro. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} Recuerdo: {0} no capturó esto. +System.String LMemoryArgBadHatch = {0} Recuerdo: {0} no eclosionó esto. +System.String LMemoryArgBadHT = Recuerdo: No puede tener recuerdo de un entrenador anterior siendo un Huevo. +System.String LMemoryArgBadID = {0} Recuerdo: No se puede obtener un recuerdo en la edición {0} . +System.String LMemoryArgBadItem = {0} Recuerdo: Las especies no pueden contener este objeto. +System.String LMemoryArgBadLocation = {0} Recuerdo: No se puede obtener la localización en la edición {0}. +System.String LMemoryArgBadMove = {0} Recuerdo: La Especie no puede aprender este movimiento. +System.String LMemoryArgBadOTEgg = {0} Recuerdo: Intercambio por Conexión no es un primer recuerdo válido. +System.String LMemoryArgBadSpecies = {0} Recuerdo: No se puede capturar la Especie en el juego. +System.String LMemoryArgSpecies = {0} Recuerdo: La Especie no se puede capturar en el juego. +System.String LMemoryCleared = Recuerdo: No están propiamente claros. +System.String LMemoryF_0_Valid = {0} recuerdo es válido. +System.String LMemoryFeelInvalid = {0} Recuerdo: Sentimiento inválido. +System.String LMemoryHTFlagInvalid = No intercambiado: El entrenador actual no debería ser el entrenador anterior. +System.String LMemoryHTGender = Género Inválido: {0} +System.String LMemoryHTLanguage = Falta el idioma del HT. +System.String LMemoryIndexArgHT = Debería tener un valor TextVar de recuerdo del entrenador anterior (en algún lugar). +System.String LMemoryIndexFeel = {0} Recuerdo: Sentimiento debería ser indicado {1}. +System.String LMemoryIndexFeelHT09 = Debería tener un valor de Sensación de Recuerdo entre 0-9. +System.String LMemoryIndexID = {0} Recuerdo: Debería ser indicado {1}. +System.String LMemoryIndexIntensity = {0} Recuerdo: La intensidad debería ser indicada {1}. +System.String LMemoryIndexIntensityHT1 = Debería tener un valor de Intensidad de recuerdo de entrenador anterior (1ro). +System.String LMemoryIndexIntensityMin = {0} Recuerdo: La intensidad debería ser al menos {1}. +System.String LMemoryIndexLinkHT = Debería tener un recuerdo del entrenador anterior por intercambio. +System.String LMemoryIndexVar = {0} Recuerdo: TextVar debería ser indicado {1}. +System.String LMemoryMissingHT = Recuerdo: Falta el recuerdo del entrenador anterior. +System.String LMemoryMissingOT = Recuerdo: Falta el recuerdo del entrenador original. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = No intercambiado: El Afecto con el entrenador anterior debería ser cero. +System.String LMemoryStatAffectionOT0 = El afecto del EO debería de ser cero. +System.String LMemoryStatEnjoyment = Los Mimos deberían ser {0}. +System.String LMemoryStatFriendshipHT0 = No intercambiado: La Amistad con el entrenador anterior debería ser cero. +System.String LMemoryStatFriendshipOTBaseEvent = La Amistad con el EO de Evento no coincide con el valor de base. +System.String LMemoryStatFullness = La Saciedad debería ser {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Movimiento Heredado. Incompatible con {1} Movimientos heredados. +System.String LMoveEggIncompatible = Movimiento Huevo. Incompatible con Movimientos Huevo de Evento. +System.String LMoveEggIncompatibleEvent = Movimiento Huevo de Evento. Incompatible con Movimiento Huevo normal. +System.String LMoveEggInherited = Movimiento huevo heredado. +System.String LMoveEggInheritedTutor = Movimiento heredado aprendido mediante tutor. +System.String LMoveEggInvalid = No es un Movimiento Huevo esperado. +System.String LMoveEggInvalidEvent = Movimiento Huevo. No esperable en un Huevo de Evento. +System.String LMoveEggInvalidEventLevelUp = Movimiento heredado aprendido por nivel. No esperable en un Huevo de Evento. +System.String LMoveEggInvalidEventLevelUpGift = Movimiento heredado aprendido por nivel. No esperable en un Huevo regalado. +System.String LMoveEggInvalidEventTMHM = Movimiento heredado aprendido mediante MT/MO. No esperable en un Huevo de Evento. +System.String LMoveEggInvalidEventTutor = Movimiento heredado aprendido mediante tutor. No esperable en un Huevo de Evento. +System.String LMoveEggLevelUp = Movimiento heredado aprendido por nivel. +System.String LMoveEggMissing = Faltan los Movimientos Huevo de Evento. +System.String LMoveEggMoveGift = Movimiento Huevo. No esperable en un Huevo regalado. +System.String LMoveEggTMHM = Movimiento heredado aprendido por MT/MO. +System.String LMoveEventEggLevelUp = Movimiento heredado aprendido por nivel. Incompatible con Movimientos Huevo de Evento. +System.String LMoveEvoFCombination_0 = Combinaciones de Movimientos no son compatibles con Movimientos de la evolución de {0}. +System.String LMoveEvoFHigher = Movimientos de evolución incompatibles. {1} Movimiento aprendido a un nivel superior que otros {0} movimientos. +System.String LMoveEvoFLower = Movimientos de evolución incompatibles. {0} Movimiento aprendido a un nivel inferior que otros {1} movimientos. +System.String LMoveFDefault_0 = Movimiento por Defecto en Generación {0}. +System.String LMoveFExpect_0 = Se esperaban los siguientes Movimientos: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Aprendido por Nivel en Generación {0}. +System.String LMoveFTMHM_0 = Aprendido mediante MT/MO en Generación {0}. +System.String LMoveFTutor_0 = Aprendido mediante Tutor de Movimientos en Generación {0}. +System.String LMoveKeldeoMismatch = Movimiento/Forma de Keldeo incorrecta. +System.String LMoveNincada = Solo un movimiento de Ninjask permitido. +System.String LMoveNincadaEvo = Aprendido al evolucionar a Nincada en Ninjask +System.String LMoveNincadaEvoF_0 = Aprendido al evolucionar a Nincada en Ninjask en Generación {0}. +System.String LMovePPTooHigh_0 = Los PP del movimiento {0} están por encima de los permitidos. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = No es un Movimiento de DexNav. +System.String LMoveRelearnEgg = Movimiento Huevo base. +System.String LMoveRelearnEggMissing = Faltan los Movimientos Huevo base. +System.String LMoveRelearnFExpect_0 = Se esperaban los siguientes movimientos recordables: {0} ({1}) +System.String LMoveRelearnFMiss_0 = Faltan movimientos recordables: {0} +System.String LMoveRelearnInvalid = No es un Movimiento Recordable. +System.String LMoveRelearnNone = No se esperaba un Movimiento Recordable en esta casilla. +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = Movimiento por Defecto. +System.String LMoveSourceDuplicate = Movimiento duplicado. +System.String LMoveSourceEgg = Movimiento Huevo. +System.String LMoveSourceEggEvent = Movimiento Huevo de Evento. +System.String LMoveSourceEmpty = Movimiento Vacío. +System.String LMoveSourceInvalid = Movimiento inválido. +System.String LMoveSourceInvalidSketch = Movimiento inválido (Esquema). +System.String LMoveSourceLevelUp = Aprendido por Nivel. +System.String LMoveSourceRelearn = Movimiento Recordable. +System.String LMoveSourceShared = Movimiento no recordable compartido. +System.String LMoveSourceSharedF = Movimiento no recordable compartido en la {0}a Generación. +System.String LMoveSourceSpecial = Movimiento especial no recordable. +System.String LMoveSourceTMHM = Aprendido mediante MT/MO. +System.String LMoveSourceTR = Marca inesperada del Récord Técnico Aprendido: {0} +System.String LMoveSourceTutor = Aprendido mediante tutor. +System.String LNickFlagEggNo = El Huevo no debe tener Mote. +System.String LNickFlagEggYes = El Huevo debe tener Mote. +System.String LNickInvalidChar = No se puede utilizar este Mote. +System.String LNickLengthLong = Mote demasiado largo. +System.String LNickLengthShort = El Mote está vacío. +System.String LNickMatchLanguage = El Mote coincide con el de la especie. +System.String LNickMatchLanguageEgg = El nombre del Huevo coincide con el idioma del mismo. +System.String LNickMatchLanguageEggFail = El nombre del Huevo no coincide con el idioma del mismo. +System.String LNickMatchLanguageFail = El Mote no coincide con el de la especie. +System.String LNickMatchLanguageFlag = Mote marcado, coincide con el de la especie. +System.String LNickMatchNoOthers = El Mote no coincide con el de otra especie. +System.String LNickMatchNoOthersFail = El Mote coincide con el de otra especie (+Idioma). +System.String LOT_IDEqual = El TID y el SID son iguales. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = El TID y el SID son 0. +System.String LOT_SID0 = El SID es cero. +System.String LOT_SID0Invalid = El SID debería ser 0. +System.String LOT_TID0 = El TID es cero. +System.String LOTLanguage = El ID del lenguaje debería de ser {0}, no {1}. +System.String LOTLong = Nombre del EO demasiado largo. +System.String LOTShort = El nombre del EO es muy corto. +System.String LOTSuspicious = Detalles del Entrenador Original sospechosos. +System.String LPIDEncryptWurmple = La Constante de Encriptado para la evolución de Wurmple no coincide. +System.String LPIDEncryptZero = La Constante de Encriptado no está establecida. +System.String LPIDEqualsEC = La Constante de Encriptado coincide con el PID. +System.String LPIDGenderMatch = El Género coincide con el PID. +System.String LPIDGenderMismatch = El Género y el PID no coinciden. +System.String LPIDNatureMatch = La Naturaleza coincide con el PID. +System.String LPIDNatureMismatch = La Naturaleza y el PID no coinciden. +System.String LPIDTypeMismatch = El PID del Tipo de Encuentro no es correcto. +System.String LPIDZero = PID no establecido. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = Todas las cintas están justificadas. +System.String LRibbonEgg = No se pueden recibir Cintas siendo un Huevo. +System.String LRibbonFInvalid_0 = Cintas inválidas: +System.String LRibbonFMissing_0 = Cintas que faltan: +System.String LRibbonMarkingAffixedF_0 = Cinta / marca pegada no válida: {0} +System.String LRibbonMarkingFInvalid_0 = Marca Inválida: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = La Versión de Batalla no está dentro del rango esperado. +System.String LStatDynamaxInvalid = El nivel Dinamax no está dentro del rango esperado. +System.String LStatGigantamaxInvalid = Gigamax incompatible. +System.String LStatGigantamaxValid = La marca de Gigamax fue cambiada por Maxi Sopa. +System.String LStatIncorrectCP = Los CP calculados no concuerdan con el valor almacenado. +System.String LStatIncorrectHeight = La Altura calculada no concuerda con el valor almacenado. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = El Peso calculado no concuerda con el valor almacenado. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = La Estadística de la Naturaleza no está dentro del rango esperado. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = El Super Entrenamiento completo no es correcto. +System.String LSuperDistro = Las misiones de Super Entrenamiento distribuidas no están liberadas. +System.String LSuperEgg = No se puede Super Entrenar un Huevo +System.String LSuperNoComplete = No se puede tener el Super Entrenamiento activo desbloqueado completo para el origen. +System.String LSuperNoUnlocked = No se puede tener el Super Entrenamiento activo desbloqueado para el origen. +System.String LSuperUnavailable = Las misiones de Super Entrenamiento no están disponibles en lo juegos visitados. +System.String LSuperUnused = La casilla de Super Entrenamiento no utilizada está marcada. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = No se puede obtener la Especie en los juegos de Consola Virtual. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = No se pueden transferir Huevos entre generaciones. +System.String LTransferEggLocationTransporter = Lugar de Encuentro inválido, se esperaba Pokétransfer. +System.String LTransferEggMetLevel = Nivel de Encuentro inválido para el de transferencia. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = El entrenador actual no ser de una generación anterior para una especie transferida. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Lugar de Encuentro Inválido. Se esperaba Pokétransfer o Corona. +System.String LTransferMetLocation = Lugar de Encuentro mediante transferencia inválido. +System.String LTransferMove = Movimiento de transferencia incompatible. +System.String LTransferMoveG4HM = Despejar y Torbellino. Uno de estos movimientos debe de ser eliminado antes de ser transferido a la Generación 5. +System.String LTransferMoveHM = MO de la {0} generación. Debería de haber sido eliminado antes de ser transferido a la Generación {1}. +System.String LTransferNature = Naturaleza no válida en base a la Experiencia tras la transferencia. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = {0} origen no puede existir en la partida cargada ({1}) actualmente. +System.String LTransferPIDECBitFlip = ¡El PID debería de ser igual al EC [Con el primer dígito invertido]! +System.String LTransferPIDECEquals = ¡El PID debería de ser igual al EC! +System.String LTransferPIDECXor = La Constante de Encriptado coincide con el PID Variocolor. +System.String LTransferTrackerMissing = Falta el Rastreador de Transferencia de Pokémon HOME. +System.String LTransferTrackerShouldBeZero = El Rastreador de transferencias de Pokémon HOME debería ser 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt index 9ec0ea11d..3d8d29636 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_fr.txt @@ -1,399 +1,406 @@ -L_AError = Erreur interne. -L_ALegal = Légal ! -L_AnalysisUnavailable = Analyse indisponible pour ce Pokémon. -L_AValid = Valide. -L_F0_1 = {0} : {1} -L_F0_M_1_2 = {0} Capacité {1} : {2} -L_F0_RM_1_2 = {0} Capacité réapprise {1} : {2} -L_FEncounterType_0 = Type de rencontres : {0} -L_FOriginSeed_0 = Origin Seed: {0} -L_FPIDType_0 = PID Type: {0} -L_SFishy = Suspicieux -L_SInvalid = Invalide -L_SNotImplemented = Non implémenté -L_SValid = Valide -L_XEnigmaBerry_0 = Baie {0} -L_XHT = HT -L_XKorean = Coréen -L_XKoreanNon = Non-Coréen -L_XMatches0_1 = Correspondances : {0} {1} -L_XOT = DO -L_XWurmpleEvo_0 = Évolution de Chenipotte : {0} -LAbilityCapsuleUsed = Talent disponible avec la pilule Talent. -LAbilityFlag = Le Talent correspond à son index. -LAbilityHiddenFail = Talent incompatible avec type de rencontre. -LAbilityHiddenUnavailable = Ce Pokémon n'a pas de talent caché. -LAbilityMismatch = Rencontrer ce Pokémon de cette manière ne lui permet pas d'avoir ce Talent. -LAbilityMismatch3 = Le Talent ne correspond pas aux possibilités de Talent en Génération 3. -LAbilityMismatchFlag = Le Talent ne correspond pas à son index. -LAbilityMismatchGift = Talent non correspondant au Cadeau Mystère. -LAbilityMismatchGrotto = Les Pokémon des Trouées Cachées doivent avoir leur Talent caché. -LAbilityMismatchHordeSafari = Talent caché, Pokémon rencontré dans la nature (mais pas dans un Safari des amis ni dans une horde). -LAbilityMismatchPID = Le Talent ne correspond pas au PID du Pokémon. -LAbilityMismatchSOS = Talent caché, Pokémon rencontré dans la nature (mais pas en appels SOS). -LAbilityPatchUsed = Talent disponible avec le patch de Talent. -LAbilityUnexpected = Talent incompatible avec espèce / forme. -LAwakenedCap = La valeur AV individuelle ne peut pas être supérieure à {0}. -LAwakenedShouldBeValue = La valeur AV individuelle ({1}) doit être supérieure à {0}. -LBallAbility = Impossible d'avoir le talent caché avec cette Ball. -LBallEggCherish = Un Œuf ne peut pas être contenu dans une Mémoire Ball. -LBallEggMaster = Un Œuf ne peut pas être contenu dans une Master Ball. -LBallEnc = Type de Ball possible pour le type de rencontre actuel. -LBallEncMismatch = Type de Ball impossible pour le type de rencontre actuel. -LBallHeavy = Les espèces avec faible taux de capture et faible poids ne peuvent pas être capturées dans une Masse Ball (Gén. VII). -LBallNone = Aucune vérification réussie, Pokémon considéré illégal. -LBallSpecies = L'espèce ne peut pas être capturée avec cette Ball. -LBallSpeciesPass = Ball possible pour les espèces. -LBallUnavailable = Ball impossible à obtenir dans la génération du jeu. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = Les Stats de Concours doivent être 0. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = La date de rencontre est en dehors de la fenêtre de distribution. -LEffort2Remaining = 2 EVs restants. -LEffortAbove252 = Les EVs dans une seule statistique ne peuvent pas dépasser 252. -LEffortAbove510 = Le total d'EVs ne doit pas être supérieur à 510. -LEffortAllEqual = Les EVs sont tous égaux. -LEffortCap100 = Les EVs pour une statistique ne peuvent pas être au-dessus de 100 pour un Pokémon rencontré au niveau 100 en Génération 4. -LEffortEgg = Les Œufs ne peuvent pas recevoir d'EVs. -LEffortEXPIncreased = Tous les EVs sont à 0, mais ils sont au-dessus du niveau de rencontre. -LEffortShouldBeZero = Impossible de recevoir d'EVs. -LEffortUntrainedCap = Les EVs individuels sans changer le montant d'Expérience ne peuvent pas dépasser {0}. -LEggContest = Impossible d'augmenter les Stats de Concours à un Œuf. -LEggEXP = Les œufs ne peuvent pas recevoir d'expérience. -LEggFMetLevel_0 = Niveau Atteint Invalides, attendu {0}. -LEggHatchCycles = Cycles d'éclosion d'Œuf invalides. -LEggLocation = Il est possible de faire éclore l'Œuf au lieu de rencontre. -LEggLocationInvalid = L'œuf ne peut pas éclore sur le lieu de rencontre. -LEggLocationNone = Emplacement de l'œuf non valide, aucun prévu. -LEggLocationPalPark = Emplacement rencontré non valide, attendu Parc des Amis. -LEggLocationTrade = Vous pouvez faire éclore l'oeuf échangé au lieu de rencontre. -LEggLocationTradeFail = Lieu d'obtention d'Œuf invalide, impossible de faire un échange sous cette forme. -LEggMetLocationFail = L'œuf ne peut pas être obtenu au lieu de rencontre. -LEggNature = Les œufs ne peuvent pas avoir de nature statistique. -LEggPokeathlon = Les Œufs ne peuvent pas avoir de statistiques Pokéathlon. -LEggPokerus = L'Œuf ne peut pas être atteint par le Pokérus. -LEggPP = Impossible de modifier les PP d'un Œuf. -LEggPPUp = Impossible d'appliquer des PP Plus à un Œuf. -LEggRelearnFlags = Les œufs ne peuvent pas avoir de disques techniques marqués. -LEggShinyLeaf = Les Œufs ne peuvent pas avoir de feuille / couronne d'or. -LEggShinyPokeStar = Les œufs ne peuvent pas être une star de Pokéwood. -LEggSpecies = Cette espèce ne peut pas se reproduire. -LEggUnhatched = Œuf non-éclos valide. -LEncCondition = Rencontre de Pokémon sauvage valide à cet endroit. -LEncConditionBadRNGFrame = Impossible de générer une séquence RNG correspondant aux conditions de rencontre. -LEncConditionBadSpecies = Le Pokémon n'existe pas dans le jeu d'origine. -LEncConditionBlack = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Noire). -LEncConditionBlackLead = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Noire & Esprit Vital/Agitation/Pression) -LEncConditionDexNav = Rencontre de Pokémon sauvage valide à cet endoit (Navi-Dex). -LEncConditionLead = Rencontre de Pokémon sauvage valide à cet endroit (Esprit Vital/Agitation/Pression). -LEncConditionWhite = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Blanche). -LEncConditionWhiteLead = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Blanche & Esprit Vital/Agitation/Pression) -LEncGift = Impossible de trouver une rencontre avec un œuf d'événement dans le jeu d'origine. -LEncGiftEggEvent = Impossible de faire correspondre l'obtention de l'Œuf par évènement dans le jeu d'origine. -LEncGiftIVMismatch = Les IVs ne correspondent pas aux données Cadeau Mystère. -LEncGiftNicknamed = Ce Pokémon a été surnommé et est un Pokémon événementiel. -LEncGiftNotFound = Impossible de trouver une correspondance dans les Cadeaux Mystères. -LEncGiftPIDMismatch = Le PID du cadeau mystère obligatoire n'est pas correct. -LEncGiftShinyMismatch = Le cadeau mystère shiny est incorrect. -LEncGiftVersionNotDistributed = Cette version ne peut pas recevoir de Cadeau Mystère. -LEncInvalid = Impossible de trouver une correspondance de rencontre dans le jeu d'origine. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Cadeau valide/rencontre statique. -LEncStaticPIDShiny = Pokémon shiny-locked défini comme étant chromatique. -LEncStaticRelearn = Le mouvement dé réapprentissage de la rencontre statique n'est pas correct. -LEncTradeChangedNickname = Le surnom du Pokémon reçu par échange in-game a été modifié. -LEncTradeChangedOT = Le DO du Pokémon reçu par échange in-game a été modifié. -LEncTradeIndexBad = L'index d'échange in-game n'est pas valide? -LEncTradeMatch = Échange in-game valide. -LEncTradeUnchanged = Le DO et le surnom d'un Pokémon lors d'un échange dans le jeu n'ont pas été modifiés. -LEncTypeMatch = Le type de rencontre correspond à la rencontre. -LEncTypeMismatch = Le type de rencontre ne correspond pas à la rencontre. -LEncUnreleased = Pokémon événementiel non officialisé. -LEncUnreleasedEMewJP = Mew non Japonais de l'île lointaine. Évènement non officialisé. -LEncUnreleasedHoOArceus = Arceus de Salle Originelle. Évènement non officialisé. -LEncUnreleasedPtDarkrai = Darkrai d'Île Nouvellelune hors Pokémon Platine. Évènement non officialisé. -LEncUnreleasedPtShaymin = Shaymin de Paradis Fleuri hors Pokémon Platine. Évènement non officialisé. -LEReaderAmerica = American E-Reader berry dans un fichier japonais. -LEReaderInvalid = E-Reader Berry Invalide . -LEReaderJapan = Japanese E-Reader Berry dans un fichier de sauvegarde international. -LEvoInvalid = Évolution invalide (conditions non satisfaites). -LEvoTradeReq = Le {0} échangé dans le jeu devrait évoluer vers {1}. -LEvoTradeReqOutsider = Le {0} étranger devrait évoluer en {1}. -LEvoTradeRequired = Une évolution restreinte à une version requiert un échange vers la version opposée. Un Dresseur Actuel est nécessaire. -LFateful = Rencontre spéciale in-game (fatidique). -LFatefulGiftMissing = Rencontre fatidique, aucune correspondance trouvée. Peut-être que la base de données des Cadeaux Mystère a été modifiée ? -LFatefulInvalid = La case Rencontre Fatidique ne doit pas être cochée. -LFatefulMissing = Flag de rencontre fatidique in-game manquant. -LFatefulMystery = Rencontre fatidique (Cadeau Mystère). -LFatefulMysteryMissing = Flag de rencontre fatidique par Cadeau Mystère manquant. -LFavoriteMarkingUnavailable = Le marquage des favoris n'est pas disponible. -LFormArgumentHigh = L'argument de forme est trop élevé pour le formulaire actuel. -LFormArgumentInvalid = L'argument de forme n'est pas valide. -LFormArgumentLow = L'argument de forme est trop faible pour le formulaire actuel. -LFormArgumentNotAllowed = L'argument de forme n'est pas autorisé pour cette rencontre. -LFormArgumentValid = L'argument de forme est valide. -LFormBattle = La Forme ne peut pas être obtenue en dehors d'un combat. -LFormEternal = Rencontre de fleur éternelle valide. -LFormEternalInvalid = Rencontre de fleur éternelle invalide. -LFormInvalidGame = La Forme ne peut pas être obtenue dans le jeu actuel. -LFormInvalidNature = La Forme ne peut pas avoir cette nature. -LFormInvalidRange = Le nombre de forme est hors de portée. Attendu <= {0}, obtenu {1}. -LFormItem = L'objet tenu correspond à la forme. -LFormItemInvalid = L'objet tenu ne correspond pas à la forme. -LFormParty = La Forme ne peut pas exister en dehors de l'Équipe. -LFormPikachuCosplay = Seul Cosplay Pikachu peut avoir cette forme. -LFormPikachuCosplayInvalid = Cosplay Pikachu ne peut pas avoir cette forme par défaut. -LFormPikachuEventInvalid = L'événement Pikachu ne peut pas avoir cette forme par défaut. -LFormValid = La Forme est valide. -LFormVivillon = Motif de Prismillon valide. -LFormVivillonEventPre = Motif de Prismillon événementiel appliqué sur pré-évolution. -LFormVivillonInvalid = Motif de Prismillon invalide. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = Le taux de capture ne correspond à aucune espèce de la chaîne d'évolution Pokémon. -LG1CatchRateEvo = Le taux de capture correspond aux espèces sans rencontres. Un taux de capture d'une pré-évolution est attendu. -LG1CatchRateItem = Le taux de capture ne correspond pas à l'objet détenu valide de la génération 2. -LG1CatchRateMatchPrevious = Le taux de capture correspond à toutes les espèces de la chaîne d'évolution Pokémon. -LG1CatchRateMatchTradeback = Le taux de capture correspond à l'objet détenu valide de la génération 2. -LG1CatchRateNone = Le taux de capture ne correspond à aucune espèce de la chaîne d'évolution Pokémon ni à aucun objet détenue de la génération 2. -LG1CharNick = Le surnom contient des caractères indisponibles (génération 1/2). -LG1CharOT = Le DO de géneration 1/2 utilise des caractères indisponibles. -LG1GBEncounter = Pas de rencontre spéciale dans les jeux de Console Virtuelle. -LG1MoveExclusive = Mouvement exclusif de la génération 1. Incompatible avec les mouvements sans échange. -LG1MoveLearnSameLevel = Capacités incompatibless : elles sont apprenables dans Pokémon Rouge/Vert au même niveau dans Pokémon Jaune. -LG1MoveTradeback = Mouvement d'oeuf sans échange. Incompatible avec les mouvements exclusifs de la génération 1. -LG1OTEvent = Nom DO d'événement RBY incorrect. -LG1OTGender = DO féminin des générations 1 ou 2 invalide. -LG1Stadium = DO Pokémon Stadium incorrect. -LG1StadiumInternational = DO international de Pokémon Stadium valide. -LG1StadiumJapanese = DO japonais de Pokémon Stadium valide. -LG1TradebackPreEvoMove = Mouvement pré-évolution sans échange. Incompatible avec les mouvements exclusifs de la génération 1. -LG1Type1Fail = Type A non valide, ne correspond pas au type d'espèce. -LG1Type2Fail = Type B non valide, ne correspond pas au type d'espèce. -LG1TypeMatch1 = Type A valide, correspond au type d'espèces. -LG1TypeMatch2 = Type B valide, correspond au type d'espèces. -LG1TypeMatchPorygon = Porygon avec des valeurs de Type A et B valides. -LG1TypePorygonFail = Porygon avec valeurs du Type A et B invalides ; elles ne correspondent pas à une combinaison de types valide. -LG1TypePorygonFail1 = Porygon avec Type A invalide. -LG1TypePorygonFail2 = Porygon avec Type B invalide. -LG2InvalidTilePark = Rencontre par pêche dans le Parc National. Cases d'eau inatteignables. -LG2InvalidTileR14 = Rencontre par pêche à la Route 14 de Kanto. Cases d'eau inatteignables. -LG2InvalidTileSafari = Rencontre par pêche dans le Parc Safari de la 2ème génération. Zone inatteignable. -LG2InvalidTileTreeID = Vous avez trouvé un arbre inaccessible pour la rencontre avec Coup d'Boule Crystal qui correspond à OTID. -LG2InvalidTileTreeNotFound = Impossible de trouver un arbre pour la rencontre avec le Coup d'Boule Crystal qui correspond à OTID. -LG2OTGender = Les DO des jeux de console virtuelle autres que Crystal ne peuvent pas être des femmes. -LG2TreeID = Vous avez trouvé un arbre pour la rencontre de Coup d'Boule Crystal qui correspond à OTID. -LG3EReader = Pokémon Shadow E-reader non japonais. Rencontre non officialisé. -LG3OTGender = Le DO de Pokémon Colosseum / XD ne peut pas être une fille. -LG4InvalidTileR45Surf = Rencontre à la Route 45 de Johto en Surfant. Cases d'eau inatteignables. -LG5ID_N = Le nom / ID Dresseur / ID secret de N est incorrect. -LG5IVAll30 = Tous les IVs des Pokémon de N doivent être 30. -LG5OTGenderN = Les Pokémon de N doit avoir un genre masculin DO. -LG5PIDShinyGrotto = Les Pokémon capturés dans les Trouées cachées ne peuvent pas être chromatiques. -LG5PIDShinyN = Les Pokémon de N ne peuvent pas être chromatiques. -LG5SparkleInvalid = Le flag de l'éclat spécial des Pokémon de N ne doit pas être coché. -LG5SparkleRequired = Le flag de l'éclat spécial des Pokémon de N est manquant. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = Les Pokémon asexués ne peuvent pas être genrés. -LGeoBadOrder = Mémoire géolocalisations : Vide présent. -LGeoHardwareInvalid = Géolocalisations : Le pays n'est pas inclus dans une région 3DS. -LGeoHardwareRange = Région de Console invalide. -LGeoHardwareValid = Géolocalisations : Le pays est inclus dans une région 3DS. -LGeoMemoryMissing = Mémoire géolocalisations : Des mémoires doivent être présentes. -LGeoNoCountryHT = Mémoire géolocalisations : Le nom du Dresseur actuel est présent mais n'a pas de pays précédent. -LGeoNoRegion = Mémoire géolocalisations : Région sans pays. -LHyperBelow100 = Impossible de faire subir l'Entraînement Ultime à un Pokémon au-dessous du niveau 100. -LHyperPerfectAll = Impossible de faire subir l'Entraînement Ultime à un Pokémon aux IVs parfaits. -LHyperPerfectOne = Impossible de faire subir l'Entraînement Ultime à une statistique aux IVs parfaits. -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = Les Œufs ne peuvent pas tenir d'objet. -LItemUnreleased = L'objet tenu n'a pas encore été dévoilé. -LIVAllEqual_0 = Tous les IVs sont {0}. -LIVF_COUNT0_31 = Ce Pokémon doit avoir au moins {0} IVs parfaits. -LIVNotCorrect = Les IVs ne correspondent pas aux exigences de la rencontre. -LLevelEXPThreshold = Le montant d'Expérience actuel équivaut le palier du niveau défini. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = Niveau actuel au-dessous du niveau de rencontre. -LLevelMetGift = Niveau de rencontre inégal au niveau défini par Cadeau Mystère. -LLevelMetGiftFail = Niveau actuel au-dessous du niveau défini par Cadeau Mystère. -LLevelMetSane = Le niveau actuel est au-dessus du niveau de rencontre. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = Mémoire {0} : {0} n'a pas attrapé ce Pokémon. -LMemoryArgBadHatch = Mémoire {0} : {0} n'a pas éclos cet Œuf. -LMemoryArgBadHT = Mémoire : L'Œuf ne peut pas avoir de Mémoire sur son Dresseur Actuel. -LMemoryArgBadID = Mémoire {0} : Mémoire non obtenable dans Pokémon {0}. -LMemoryArgBadItem = {0} Memory: Species can't hold this item. -LMemoryArgBadLocation = Mémoire {0} : Localisation non obtenable dans Pokémon {0}. -LMemoryArgBadMove = Mémoire {0} : L'espèce ne peut pas apprendre cette capacité. -LMemoryArgBadOTEgg = Mémoire {0} : Un échange Link n'est pas une première Mémoire valide. -LMemoryArgBadSpecies = Mémoire {0} : Cette espèce est non capturable dans ce jeu. -LMemoryArgSpecies = Mémoire {0} : L'espèce est capturable dans le jeu. -LMemoryCleared = Mémoire : La Mémoire n'a pas été correctement vidée. -LMemoryF_0_Valid = La Mémoire {0} est valide. -LMemoryFeelInvalid = Mémoire {0} : Invalid Feeling. -LMemoryHTFlagInvalid = Non-échangés : Le Dresseur du Pokémon ne doit pas être le Dresseur actuel. -LMemoryHTGender = HT Genre invalide : {0} -LMemoryHTLanguage = La langue HT est manquante. -LMemoryIndexArgHT = Il doit avoir une valeur TextVar de la mémoire de l'entraîneur précédent (quelque part). -LMemoryIndexFeel = Mémoire {0} : Le sentiment doit être index {1}. -LMemoryIndexFeelHT09 = Il doit avoir une valeur de Sentiment entre 0 et 9. -LMemoryIndexID = Mémoire {0} : Doit être index {1}. -LMemoryIndexIntensity = Mémoire {0} : L'intensité doit être index {1}. -LMemoryIndexIntensityHT1 = Vous devriez avoir une valeur d'intensité de rappel de l'entraîneur précédent (1er). -LMemoryIndexIntensityMin = Mémoire {0} : L'intensité doit être d'au moins {1}. -LMemoryIndexLinkHT = Vous devriez avoir un souvenir de l'entraîneur précédent par échange. -LMemoryIndexVar = Mémoire {0} : TextVar doit être index {1}. -LMemoryMissingHT = Mémoire : Mémoire avec Dresseur actuel manquante. -LMemoryMissingOT = Mémoire : Mémoire avec DO manquante. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = Non-échangés : L'affection avec le Dresseur Actuel doit être nulle. -LMemoryStatAffectionOT0 = L'Affection pour le DO doit être nulle. -LMemoryStatEnjoyment = Le plaisir doit être {0}. -LMemoryStatFriendshipHT0 = Non-échangés : L'amitié avec le Dresseur Actuel doit être nulle. -LMemoryStatFriendshipOTBaseEvent = L'amitié DO de l'événement ne correspond pas à l'amitié de base. -LMemoryStatFullness = La plénitude doit être {0}. -LMoveEggFIncompatible0_1 = {0} Déplacement hérité. Incompatible avec {1} mouvements hérités. -LMoveEggIncompatible = Mouvement des œufs. Incompatible avec les mouvements des œufs d'événement. -LMoveEggIncompatibleEvent = Mouvement des œufs d'événement. Incompatible avec le mouvement normal des œufs. -LMoveEggInherited = Capacité Œuf héritée. -LMoveEggInheritedTutor = Capacité de Donneur héritée. -LMoveEggInvalid = Ce n'est pas une capacité Œuf prévue. -LMoveEggInvalidEvent = Capacité Œuf imprévue chez un Œuf événementiel. -LMoveEggInvalidEventLevelUp = Capacité apprenable par montée en niveaux imprévue chez un Œuf événementiel. -LMoveEggInvalidEventLevelUpGift = Capacité héritée apprenable en montée en niveaux. Imprévu chez un Œuf reçu en cadeau. -LMoveEggInvalidEventTMHM = Capacité CT/CS héritée mais imprévue pour un Œuf par évènement. -LMoveEggInvalidEventTutor = Capacité apprenable par Donneur imprévue chez un Œuf événementiel. -LMoveEggLevelUp = Capacité apprenable par montée en niveaux héritée. -LMoveEggMissing = Capacité événementielle d'Œuf manquante. -LMoveEggMoveGift = Capacité Œuf imprévue chez un Œuf donné par cadeau. -LMoveEggTMHM = Capacité CT/CS héritée. -LMoveEventEggLevelUp = Capacité héritée apprenable en montant en niveaux. Incompatible avec les capacités d'Œuf événementiel. -LMoveEvoFCombination_0 = Le moveset est incompatible avec l'évolution de {0}. -LMoveEvoFHigher = Capacités d'évlution invalides. {1} capacité apprise à un niveau plus élevé que {0} autres. -LMoveEvoFLower = Capacités d'évlution invalides. {0} capacité apprise à un niveau plus bas que {1} autres. -LMoveFDefault_0 = Déplacement par défaut dans la génération {0}. -LMoveFExpect_0 = Les capacités suivantes étaient prévuess : {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Apprise par montée en niveaux dans la génération {0}. -LMoveFTMHM_0 = Apprise par CT/CS dans la génération {0}. -LMoveFTutor_0 = Apprise par Donneur de Capacités dans la génération {0}. -LMoveKeldeoMismatch = Combinaison forme/capacité invalide chez Keldeo. -LMoveNincada = Une seule capacité de Ninjask est permise. -LMoveNincadaEvo = Apprise en faisant évoluer Ningale en Ninjask. -LMoveNincadaEvoF_0 = Apprise en faisant évoluer Ningale en Ninjask dans la génération {0}. -LMovePPTooHigh_0 = Le déplacement {0} PP est supérieur au montant autorisé. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = Ce n'est pas un mouvement DexNav. -LMoveRelearnEgg = Mouvement de base de l'œuf. -LMoveRelearnEggMissing = Mouvement de base de l'oeuf manquant. -LMoveRelearnFExpect_0 = Capacités réapprises suivantes prévuess : {0} ({1}) -LMoveRelearnFMiss_0 = Capacités réapprises manquantess : {0} -LMoveRelearnInvalid = Ce n'est pas un mouvement enregistrable. -LMoveRelearnNone = Pas de capacité réapprise prévue. -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = Mouvement par défaut. -LMoveSourceDuplicate = Capacité dupliquée. -LMoveSourceEgg = Capacité d'Œuf. -LMoveSourceEggEvent = Capacité Œuf événementielle. -LMoveSourceEmpty = Capacité vide. -LMoveSourceInvalid = Capacité invalide. -LMoveSourceInvalidSketch = Capacité invalide (Gribouille). -LMoveSourceLevelUp = Apprise par montée en niveaux. -LMoveSourceRelearn = Capacité réapprenable. -LMoveSourceShared = Mouvement méconnaissable partagé. -LMoveSourceSharedF = Déplacement sans réapprentissage partagé dans la génération {0}. -LMoveSourceSpecial = Capacité non-réapprenable. -LMoveSourceTMHM = Apprise par CT/CS. -LMoveSourceTR = Marque inattendue du dossier technique appris: {0} -LMoveSourceTutor = Apprise par Donneur de Capacités. -LNickFlagEggNo = L'Œuf ne doit pas être surnommé. -LNickFlagEggYes = L'Œuf doit être surnommé. -LNickInvalidChar = Le Pokémon ne peut pas avoir ce surnom. -LNickLengthLong = Le surnom est trop long. -LNickLengthShort = Le surnom est vide. -LNickMatchLanguage = Le surnom correspond au nom d'une autre espèce. -LNickMatchLanguageEgg = La langue de l'Œuf correspond à son nom. -LNickMatchLanguageEggFail = Le nom de l'Œuf ne correspond pas à son nom dans la langue d'origine. -LNickMatchLanguageFail = Le surnom ne correspond pas au nom de l'espèce. -LNickMatchLanguageFlag = Surnom marqué, coïncide avec celui de l'espèce. -LNickMatchNoOthers = Le surnom ne correspond pas au nom d'une autre espèce. -LNickMatchNoOthersFail = Surnom correspond à un autre nom d'espèce (+ langue). -LOT_IDEqual = L'ID Dresseur est égal à l'ID Secret. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = L'ID Dresseur et son ID secret sont nuls. -LOT_SID0 = L'ID Secret est 0. -LOT_SID0Invalid = L'ID secret doit être 0 -LOT_TID0 = L'ID Dresseur est 0. -LOTLanguage = L'ID de langue doit être {0}, et non pas {1}. -LOTLong = Nom du DO trop long. -LOTShort = Nom du DO trop court. -LOTSuspicious = Détails DO suspicieux. -LPIDEncryptWurmple = La constante de chiffrement de Chenipotte ne correspond pas à son évolution. -LPIDEncryptZero = La constante de chiffrement n'a pas été générée. -LPIDEqualsEC = La constante de chiffrement est égale au PID. -LPIDGenderMatch = Le PID correspond au genre. -LPIDGenderMismatch = Le PID ne correspond pas au genre. -LPIDNatureMatch = Le PID correspond à la nature. -LPIDNatureMismatch = Le PID ne correspond pas à la nature. -LPIDTypeMismatch = Le PID ne correspond pas au type de rencontre. -LPIDZero = Le PID n'a pas été défini. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = Tous les rubans ont été comptabilisés. -LRibbonEgg = L'Œuf ne peut pas recevoir de Rubans. -LRibbonFInvalid_0 = Rubans invalides : -LRibbonFMissing_0 = Rubans manquants : -LRibbonMarkingAffixedF_0 = Ruban / marquage apposé non valide: {0} -LRibbonMarkingFInvalid_0 = Marquage non valide: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = La version Battle n'est pas dans le rang attendue. -LStatDynamaxInvalid = Le niveau Dynamax n'est pas dans le rang attendue. -LStatGigantamaxInvalid = Gigamax incompatible. -LStatGigantamaxValid = La marque Gigamax a été changée via Max Soup. -LStatIncorrectCP = Le CP calculé ne correspond pas à la valeur enregistrée. -LStatIncorrectHeight = La hauteur calculée ne correspond pas à la valeur stockée. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = Le poids calculé ne correspond pas à la valeur stockée. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = La Nature Stat n'est pas dans le rang attendue. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = Contradiction avec le flag d'entraînement SPV complété. -LSuperDistro = Les missions Super Training distribuées ne sont pas publiées. -LSuperEgg = Un Œuf ne peut pas participer au Système de Perfectionnement Virtuel. -LSuperNoComplete = Impossible d'avoir un indicateur complet du Super Training actif pour les origines. -LSuperNoUnlocked = Impossible de déverrouiller le drapeau actif Super Training pour les origines. -LSuperUnavailable = Les missions SPV ne sont pas disponibles dans les jeux joués. -LSuperUnused = La case Super Training inutilisée est cochée. -LTransferBad = Espèce non obtenable dans jeu de Console Virtuelle. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = Un Œuf ne peut pas être transféré entre les générations. -LTransferEggLocationTransporter = Emplacement rencontré non valide, transfert Poké attendu. -LTransferEggMetLevel = Niveau atteint non valide pour le transfert. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = L'entraîneur actuel ne sera pas d'une génération plus ancienne pour une espèce transférée. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Lieu de rencontre non valide. Pokétransfer ou Couronne attendus. -LTransferMetLocation = Pokémon transféré, endroit de rencontre invalide. -LTransferMove = Attaque de transfert incompatible. -LTransferMoveG4HM = Anti-Brume ou Siphon doivent être oubliées avant tout transfert vers la Génération 5. -LTransferMoveHM = CS de Génération {0}. Elle doit être oubliée avant de transférer le Pokémon vers la génération {1}. -LTransferNature = Nature invalide pour l'expérience de transfert. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = L'origine de {0} ne peut pas exister dans cette sauvegarde ({1}). -LTransferPIDECBitFlip = Le PID doit être égal à EC [avec le bit supérieur retourné]! -LTransferPIDECEquals = PID doit être égal à EC! -LTransferPIDECXor = La constante de chiffrement correspond au PID shinyxored. -LTransferTrackerMissing = Pokémon HOME Transfer Tracker est manquant. -LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker doit être à 0. +System.String L_AError = Erreur interne. +System.String L_ALegal = Légal ! +System.String L_AnalysisUnavailable = Analyse indisponible pour ce Pokémon. +System.String L_AValid = Valide. +System.String L_F0_1 = {0} : {1} +System.String L_F0_M_1_2 = {0} Capacité {1} : {2} +System.String L_F0_RM_1_2 = {0} Capacité réapprise {1} : {2} +System.String L_FEncounterType_0 = Type de rencontres : {0} +System.String L_FOriginSeed_0 = Origin Seed: {0} +System.String L_FPIDType_0 = PID Type: {0} +System.String L_SFishy = Suspicieux +System.String L_SInvalid = Invalide +System.String L_SNotImplemented = Non implémenté +System.String L_SValid = Valide +System.String L_XEnigmaBerry_0 = Baie {0} +System.String L_XHT = HT +System.String L_XKorean = Coréen +System.String L_XKoreanNon = Non-Coréen +System.String L_XMatches0_1 = Correspondances : {0} {1} +System.String L_XOT = DO +System.String L_XWurmpleEvo_0 = Évolution de Chenipotte : {0} +System.String LAbilityCapsuleUsed = Talent disponible avec la pilule Talent. +System.String LAbilityFlag = Le Talent correspond à son index. +System.String LAbilityHiddenFail = Talent incompatible avec type de rencontre. +System.String LAbilityHiddenUnavailable = Ce Pokémon n'a pas de talent caché. +System.String LAbilityMismatch = Rencontrer ce Pokémon de cette manière ne lui permet pas d'avoir ce Talent. +System.String LAbilityMismatch3 = Le Talent ne correspond pas aux possibilités de Talent en Génération 3. +System.String LAbilityMismatchFlag = Le Talent ne correspond pas à son index. +System.String LAbilityMismatchGift = Talent non correspondant au Cadeau Mystère. +System.String LAbilityMismatchGrotto = Les Pokémon des Trouées Cachées doivent avoir leur Talent caché. +System.String LAbilityMismatchHordeSafari = Talent caché, Pokémon rencontré dans la nature (mais pas dans un Safari des amis ni dans une horde). +System.String LAbilityMismatchPID = Le Talent ne correspond pas au PID du Pokémon. +System.String LAbilityMismatchSOS = Talent caché, Pokémon rencontré dans la nature (mais pas en appels SOS). +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Talent disponible avec le patch de Talent. +System.String LAbilityUnexpected = Talent incompatible avec espèce / forme. +System.String LAwakenedCap = La valeur AV individuelle ne peut pas être supérieure à {0}. +System.String LAwakenedShouldBeValue = La valeur AV individuelle ({1}) doit être supérieure à {0}. +System.String LBallAbility = Impossible d'avoir le talent caché avec cette Ball. +System.String LBallEggCherish = Un Œuf ne peut pas être contenu dans une Mémoire Ball. +System.String LBallEggMaster = Un Œuf ne peut pas être contenu dans une Master Ball. +System.String LBallEnc = Type de Ball possible pour le type de rencontre actuel. +System.String LBallEncMismatch = Type de Ball impossible pour le type de rencontre actuel. +System.String LBallHeavy = Les espèces avec faible taux de capture et faible poids ne peuvent pas être capturées dans une Masse Ball (Gén. VII). +System.String LBallNone = Aucune vérification réussie, Pokémon considéré illégal. +System.String LBallSpecies = L'espèce ne peut pas être capturée avec cette Ball. +System.String LBallSpeciesPass = Ball possible pour les espèces. +System.String LBallUnavailable = Ball impossible à obtenir dans la génération du jeu. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = Les Stats de Concours doivent être 0. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = La date de rencontre est en dehors de la fenêtre de distribution. +System.String LEffort2Remaining = 2 EVs restants. +System.String LEffortAbove252 = Les EVs dans une seule statistique ne peuvent pas dépasser 252. +System.String LEffortAbove510 = Le total d'EVs ne doit pas être supérieur à 510. +System.String LEffortAllEqual = Les EVs sont tous égaux. +System.String LEffortCap100 = Les EVs pour une statistique ne peuvent pas être au-dessus de 100 pour un Pokémon rencontré au niveau 100 en Génération 4. +System.String LEffortEgg = Les Œufs ne peuvent pas recevoir d'EVs. +System.String LEffortEXPIncreased = Tous les EVs sont à 0, mais ils sont au-dessus du niveau de rencontre. +System.String LEffortShouldBeZero = Impossible de recevoir d'EVs. +System.String LEffortUntrainedCap = Les EVs individuels sans changer le montant d'Expérience ne peuvent pas dépasser {0}. +System.String LEggContest = Impossible d'augmenter les Stats de Concours à un Œuf. +System.String LEggEXP = Les œufs ne peuvent pas recevoir d'expérience. +System.String LEggFMetLevel_0 = Niveau Atteint Invalides, attendu {0}. +System.String LEggHatchCycles = Cycles d'éclosion d'Œuf invalides. +System.String LEggLocation = Il est possible de faire éclore l'Œuf au lieu de rencontre. +System.String LEggLocationInvalid = L'œuf ne peut pas éclore sur le lieu de rencontre. +System.String LEggLocationNone = Emplacement de l'œuf non valide, aucun prévu. +System.String LEggLocationPalPark = Emplacement rencontré non valide, attendu Parc des Amis. +System.String LEggLocationTrade = Vous pouvez faire éclore l'oeuf échangé au lieu de rencontre. +System.String LEggLocationTradeFail = Lieu d'obtention d'Œuf invalide, impossible de faire un échange sous cette forme. +System.String LEggMetLocationFail = L'œuf ne peut pas être obtenu au lieu de rencontre. +System.String LEggNature = Les œufs ne peuvent pas avoir de nature statistique. +System.String LEggPokeathlon = Les Œufs ne peuvent pas avoir de statistiques Pokéathlon. +System.String LEggPokerus = L'Œuf ne peut pas être atteint par le Pokérus. +System.String LEggPP = Impossible de modifier les PP d'un Œuf. +System.String LEggPPUp = Impossible d'appliquer des PP Plus à un Œuf. +System.String LEggRelearnFlags = Les œufs ne peuvent pas avoir de disques techniques marqués. +System.String LEggShinyLeaf = Les Œufs ne peuvent pas avoir de feuille / couronne d'or. +System.String LEggShinyPokeStar = Les œufs ne peuvent pas être une star de Pokéwood. +System.String LEggSpecies = Cette espèce ne peut pas se reproduire. +System.String LEggUnhatched = Œuf non-éclos valide. +System.String LEncCondition = Rencontre de Pokémon sauvage valide à cet endroit. +System.String LEncConditionBadRNGFrame = Impossible de générer une séquence RNG correspondant aux conditions de rencontre. +System.String LEncConditionBadSpecies = Le Pokémon n'existe pas dans le jeu d'origine. +System.String LEncConditionBlack = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Noire). +System.String LEncConditionBlackLead = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Noire & Esprit Vital/Agitation/Pression) +System.String LEncConditionDexNav = Rencontre de Pokémon sauvage valide à cet endoit (Navi-Dex). +System.String LEncConditionLead = Rencontre de Pokémon sauvage valide à cet endroit (Esprit Vital/Agitation/Pression). +System.String LEncConditionWhite = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Blanche). +System.String LEncConditionWhiteLead = Rencontre de Pokémon sauvage valide à cet endroit (Flûte Blanche & Esprit Vital/Agitation/Pression) +System.String LEncGift = Impossible de trouver une rencontre avec un œuf d'événement dans le jeu d'origine. +System.String LEncGiftEggEvent = Impossible de faire correspondre l'obtention de l'Œuf par évènement dans le jeu d'origine. +System.String LEncGiftIVMismatch = Les IVs ne correspondent pas aux données Cadeau Mystère. +System.String LEncGiftNicknamed = Ce Pokémon a été surnommé et est un Pokémon événementiel. +System.String LEncGiftNotFound = Impossible de trouver une correspondance dans les Cadeaux Mystères. +System.String LEncGiftPIDMismatch = Le PID du cadeau mystère obligatoire n'est pas correct. +System.String LEncGiftShinyMismatch = Le cadeau mystère shiny est incorrect. +System.String LEncGiftVersionNotDistributed = Cette version ne peut pas recevoir de Cadeau Mystère. +System.String LEncInvalid = Impossible de trouver une correspondance de rencontre dans le jeu d'origine. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Cadeau valide/rencontre statique. +System.String LEncStaticPIDShiny = Pokémon shiny-locked défini comme étant chromatique. +System.String LEncStaticRelearn = Le mouvement dé réapprentissage de la rencontre statique n'est pas correct. +System.String LEncTradeChangedNickname = Le surnom du Pokémon reçu par échange in-game a été modifié. +System.String LEncTradeChangedOT = Le DO du Pokémon reçu par échange in-game a été modifié. +System.String LEncTradeIndexBad = L'index d'échange in-game n'est pas valide? +System.String LEncTradeMatch = Échange in-game valide. +System.String LEncTradeUnchanged = Le DO et le surnom d'un Pokémon lors d'un échange dans le jeu n'ont pas été modifiés. +System.String LEncTypeMatch = Le type de rencontre correspond à la rencontre. +System.String LEncTypeMismatch = Le type de rencontre ne correspond pas à la rencontre. +System.String LEncUnreleased = Pokémon événementiel non officialisé. +System.String LEncUnreleasedEMewJP = Mew non Japonais de l'île lointaine. Évènement non officialisé. +System.String LEncUnreleasedHoOArceus = Arceus de Salle Originelle. Évènement non officialisé. +System.String LEncUnreleasedPtDarkrai = Darkrai d'Île Nouvellelune hors Pokémon Platine. Évènement non officialisé. +System.String LEncUnreleasedPtShaymin = Shaymin de Paradis Fleuri hors Pokémon Platine. Évènement non officialisé. +System.String LEReaderAmerica = American E-Reader berry dans un fichier japonais. +System.String LEReaderInvalid = E-Reader Berry Invalide . +System.String LEReaderJapan = Japanese E-Reader Berry dans un fichier de sauvegarde international. +System.String LEvoInvalid = Évolution invalide (conditions non satisfaites). +System.String LEvoTradeReq = Le {0} échangé dans le jeu devrait évoluer vers {1}. +System.String LEvoTradeReqOutsider = Le {0} étranger devrait évoluer en {1}. +System.String LEvoTradeRequired = Une évolution restreinte à une version requiert un échange vers la version opposée. Un Dresseur Actuel est nécessaire. +System.String LFateful = Rencontre spéciale in-game (fatidique). +System.String LFatefulGiftMissing = Rencontre fatidique, aucune correspondance trouvée. Peut-être que la base de données des Cadeaux Mystère a été modifiée ? +System.String LFatefulInvalid = La case Rencontre Fatidique ne doit pas être cochée. +System.String LFatefulMissing = Flag de rencontre fatidique in-game manquant. +System.String LFatefulMystery = Rencontre fatidique (Cadeau Mystère). +System.String LFatefulMysteryMissing = Flag de rencontre fatidique par Cadeau Mystère manquant. +System.String LFavoriteMarkingUnavailable = Le marquage des favoris n'est pas disponible. +System.String LFormArgumentHigh = L'argument de forme est trop élevé pour le formulaire actuel. +System.String LFormArgumentInvalid = L'argument de forme n'est pas valide. +System.String LFormArgumentLow = L'argument de forme est trop faible pour le formulaire actuel. +System.String LFormArgumentNotAllowed = L'argument de forme n'est pas autorisé pour cette rencontre. +System.String LFormArgumentValid = L'argument de forme est valide. +System.String LFormBattle = La Forme ne peut pas être obtenue en dehors d'un combat. +System.String LFormEternal = Rencontre de fleur éternelle valide. +System.String LFormEternalInvalid = Rencontre de fleur éternelle invalide. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = La Forme ne peut pas être obtenue dans le jeu actuel. +System.String LFormInvalidNature = La Forme ne peut pas avoir cette nature. +System.String LFormInvalidRange = Le nombre de forme est hors de portée. Attendu <= {0}, obtenu {1}. +System.String LFormItem = L'objet tenu correspond à la forme. +System.String LFormItemInvalid = L'objet tenu ne correspond pas à la forme. +System.String LFormParty = La Forme ne peut pas exister en dehors de l'Équipe. +System.String LFormPikachuCosplay = Seul Cosplay Pikachu peut avoir cette forme. +System.String LFormPikachuCosplayInvalid = Cosplay Pikachu ne peut pas avoir cette forme par défaut. +System.String LFormPikachuEventInvalid = L'événement Pikachu ne peut pas avoir cette forme par défaut. +System.String LFormValid = La Forme est valide. +System.String LFormVivillon = Motif de Prismillon valide. +System.String LFormVivillonEventPre = Motif de Prismillon événementiel appliqué sur pré-évolution. +System.String LFormVivillonInvalid = Motif de Prismillon invalide. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = Le taux de capture ne correspond à aucune espèce de la chaîne d'évolution Pokémon. +System.String LG1CatchRateEvo = Le taux de capture correspond aux espèces sans rencontres. Un taux de capture d'une pré-évolution est attendu. +System.String LG1CatchRateItem = Le taux de capture ne correspond pas à l'objet détenu valide de la génération 2. +System.String LG1CatchRateMatchPrevious = Le taux de capture correspond à toutes les espèces de la chaîne d'évolution Pokémon. +System.String LG1CatchRateMatchTradeback = Le taux de capture correspond à l'objet détenu valide de la génération 2. +System.String LG1CatchRateNone = Le taux de capture ne correspond à aucune espèce de la chaîne d'évolution Pokémon ni à aucun objet détenue de la génération 2. +System.String LG1CharNick = Le surnom contient des caractères indisponibles (génération 1/2). +System.String LG1CharOT = Le DO de géneration 1/2 utilise des caractères indisponibles. +System.String LG1GBEncounter = Pas de rencontre spéciale dans les jeux de Console Virtuelle. +System.String LG1MoveExclusive = Mouvement exclusif de la génération 1. Incompatible avec les mouvements sans échange. +System.String LG1MoveLearnSameLevel = Capacités incompatibless : elles sont apprenables dans Pokémon Rouge/Vert au même niveau dans Pokémon Jaune. +System.String LG1MoveTradeback = Mouvement d'oeuf sans échange. Incompatible avec les mouvements exclusifs de la génération 1. +System.String LG1OTEvent = Nom DO d'événement RBY incorrect. +System.String LG1OTGender = DO féminin des générations 1 ou 2 invalide. +System.String LG1Stadium = DO Pokémon Stadium incorrect. +System.String LG1StadiumInternational = DO international de Pokémon Stadium valide. +System.String LG1StadiumJapanese = DO japonais de Pokémon Stadium valide. +System.String LG1TradebackPreEvoMove = Mouvement pré-évolution sans échange. Incompatible avec les mouvements exclusifs de la génération 1. +System.String LG1Type1Fail = Type A non valide, ne correspond pas au type d'espèce. +System.String LG1Type2Fail = Type B non valide, ne correspond pas au type d'espèce. +System.String LG1TypeMatch1 = Type A valide, correspond au type d'espèces. +System.String LG1TypeMatch2 = Type B valide, correspond au type d'espèces. +System.String LG1TypeMatchPorygon = Porygon avec des valeurs de Type A et B valides. +System.String LG1TypePorygonFail = Porygon avec valeurs du Type A et B invalides ; elles ne correspondent pas à une combinaison de types valide. +System.String LG1TypePorygonFail1 = Porygon avec Type A invalide. +System.String LG1TypePorygonFail2 = Porygon avec Type B invalide. +System.String LG2InvalidTilePark = Rencontre par pêche dans le Parc National. Cases d'eau inatteignables. +System.String LG2InvalidTileR14 = Rencontre par pêche à la Route 14 de Kanto. Cases d'eau inatteignables. +System.String LG2InvalidTileSafari = Rencontre par pêche dans le Parc Safari de la 2ème génération. Zone inatteignable. +System.String LG2InvalidTileTreeID = Vous avez trouvé un arbre inaccessible pour la rencontre avec Coup d'Boule Crystal qui correspond à OTID. +System.String LG2InvalidTileTreeNotFound = Impossible de trouver un arbre pour la rencontre avec le Coup d'Boule Crystal qui correspond à OTID. +System.String LG2OTGender = Les DO des jeux de console virtuelle autres que Crystal ne peuvent pas être des femmes. +System.String LG2TreeID = Vous avez trouvé un arbre pour la rencontre de Coup d'Boule Crystal qui correspond à OTID. +System.String LG3EReader = Pokémon Shadow E-reader non japonais. Rencontre non officialisé. +System.String LG3OTGender = Le DO de Pokémon Colosseum / XD ne peut pas être une fille. +System.String LG4InvalidTileR45Surf = Rencontre à la Route 45 de Johto en Surfant. Cases d'eau inatteignables. +System.String LG5ID_N = Le nom / ID Dresseur / ID secret de N est incorrect. +System.String LG5IVAll30 = Tous les IVs des Pokémon de N doivent être 30. +System.String LG5OTGenderN = Les Pokémon de N doit avoir un genre masculin DO. +System.String LG5PIDShinyGrotto = Les Pokémon capturés dans les Trouées cachées ne peuvent pas être chromatiques. +System.String LG5PIDShinyN = Les Pokémon de N ne peuvent pas être chromatiques. +System.String LG5SparkleInvalid = Le flag de l'éclat spécial des Pokémon de N ne doit pas être coché. +System.String LG5SparkleRequired = Le flag de l'éclat spécial des Pokémon de N est manquant. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = Les Pokémon asexués ne peuvent pas être genrés. +System.String LGeoBadOrder = Mémoire géolocalisations : Vide présent. +System.String LGeoHardwareInvalid = Géolocalisations : Le pays n'est pas inclus dans une région 3DS. +System.String LGeoHardwareRange = Région de Console invalide. +System.String LGeoHardwareValid = Géolocalisations : Le pays est inclus dans une région 3DS. +System.String LGeoMemoryMissing = Mémoire géolocalisations : Des mémoires doivent être présentes. +System.String LGeoNoCountryHT = Mémoire géolocalisations : Le nom du Dresseur actuel est présent mais n'a pas de pays précédent. +System.String LGeoNoRegion = Mémoire géolocalisations : Région sans pays. +System.String LHyperPerfectAll = Impossible de faire subir l'Entraînement Ultime à un Pokémon aux IVs parfaits. +System.String LHyperPerfectOne = Impossible de faire subir l'Entraînement Ultime à une statistique aux IVs parfaits. +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = Impossible de faire subir l'Entraînement Ultime à un Pokémon au-dessous du niveau {0}. +System.String LItemEgg = Les Œufs ne peuvent pas tenir d'objet. +System.String LItemUnreleased = L'objet tenu n'a pas encore été dévoilé. +System.String LIVAllEqual_0 = Tous les IVs sont {0}. +System.String LIVF_COUNT0_31 = Ce Pokémon doit avoir au moins {0} IVs parfaits. +System.String LIVNotCorrect = Les IVs ne correspondent pas aux exigences de la rencontre. +System.String LLevelEXPThreshold = Le montant d'Expérience actuel équivaut le palier du niveau défini. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = Niveau actuel au-dessous du niveau de rencontre. +System.String LLevelMetGift = Niveau de rencontre inégal au niveau défini par Cadeau Mystère. +System.String LLevelMetGiftFail = Niveau actuel au-dessous du niveau défini par Cadeau Mystère. +System.String LLevelMetSane = Le niveau actuel est au-dessus du niveau de rencontre. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = Mémoire {0} : {0} n'a pas attrapé ce Pokémon. +System.String LMemoryArgBadHatch = Mémoire {0} : {0} n'a pas éclos cet Œuf. +System.String LMemoryArgBadHT = Mémoire : L'Œuf ne peut pas avoir de Mémoire sur son Dresseur Actuel. +System.String LMemoryArgBadID = Mémoire {0} : Mémoire non obtenable dans Pokémon {0}. +System.String LMemoryArgBadItem = {0} Memory: Species can't hold this item. +System.String LMemoryArgBadLocation = Mémoire {0} : Localisation non obtenable dans Pokémon {0}. +System.String LMemoryArgBadMove = Mémoire {0} : L'espèce ne peut pas apprendre cette capacité. +System.String LMemoryArgBadOTEgg = Mémoire {0} : Un échange Link n'est pas une première Mémoire valide. +System.String LMemoryArgBadSpecies = Mémoire {0} : Cette espèce est non capturable dans ce jeu. +System.String LMemoryArgSpecies = Mémoire {0} : L'espèce est capturable dans le jeu. +System.String LMemoryCleared = Mémoire : La Mémoire n'a pas été correctement vidée. +System.String LMemoryF_0_Valid = La Mémoire {0} est valide. +System.String LMemoryFeelInvalid = Mémoire {0} : Invalid Feeling. +System.String LMemoryHTFlagInvalid = Non-échangés : Le Dresseur du Pokémon ne doit pas être le Dresseur actuel. +System.String LMemoryHTGender = HT Genre invalide : {0} +System.String LMemoryHTLanguage = La langue HT est manquante. +System.String LMemoryIndexArgHT = Il doit avoir une valeur TextVar de la mémoire de l'entraîneur précédent (quelque part). +System.String LMemoryIndexFeel = Mémoire {0} : Le sentiment doit être index {1}. +System.String LMemoryIndexFeelHT09 = Il doit avoir une valeur de Sentiment entre 0 et 9. +System.String LMemoryIndexID = Mémoire {0} : Doit être index {1}. +System.String LMemoryIndexIntensity = Mémoire {0} : L'intensité doit être index {1}. +System.String LMemoryIndexIntensityHT1 = Vous devriez avoir une valeur d'intensité de rappel de l'entraîneur précédent (1er). +System.String LMemoryIndexIntensityMin = Mémoire {0} : L'intensité doit être d'au moins {1}. +System.String LMemoryIndexLinkHT = Vous devriez avoir un souvenir de l'entraîneur précédent par échange. +System.String LMemoryIndexVar = Mémoire {0} : TextVar doit être index {1}. +System.String LMemoryMissingHT = Mémoire : Mémoire avec Dresseur actuel manquante. +System.String LMemoryMissingOT = Mémoire : Mémoire avec DO manquante. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = Non-échangés : L'affection avec le Dresseur Actuel doit être nulle. +System.String LMemoryStatAffectionOT0 = L'Affection pour le DO doit être nulle. +System.String LMemoryStatEnjoyment = Le plaisir doit être {0}. +System.String LMemoryStatFriendshipHT0 = Non-échangés : L'amitié avec le Dresseur Actuel doit être nulle. +System.String LMemoryStatFriendshipOTBaseEvent = L'amitié DO de l'événement ne correspond pas à l'amitié de base. +System.String LMemoryStatFullness = La plénitude doit être {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Déplacement hérité. Incompatible avec {1} mouvements hérités. +System.String LMoveEggIncompatible = Mouvement des œufs. Incompatible avec les mouvements des œufs d'événement. +System.String LMoveEggIncompatibleEvent = Mouvement des œufs d'événement. Incompatible avec le mouvement normal des œufs. +System.String LMoveEggInherited = Capacité Œuf héritée. +System.String LMoveEggInheritedTutor = Capacité de Donneur héritée. +System.String LMoveEggInvalid = Ce n'est pas une capacité Œuf prévue. +System.String LMoveEggInvalidEvent = Capacité Œuf imprévue chez un Œuf événementiel. +System.String LMoveEggInvalidEventLevelUp = Capacité apprenable par montée en niveaux imprévue chez un Œuf événementiel. +System.String LMoveEggInvalidEventLevelUpGift = Capacité héritée apprenable en montée en niveaux. Imprévu chez un Œuf reçu en cadeau. +System.String LMoveEggInvalidEventTMHM = Capacité CT/CS héritée mais imprévue pour un Œuf par évènement. +System.String LMoveEggInvalidEventTutor = Capacité apprenable par Donneur imprévue chez un Œuf événementiel. +System.String LMoveEggLevelUp = Capacité apprenable par montée en niveaux héritée. +System.String LMoveEggMissing = Capacité événementielle d'Œuf manquante. +System.String LMoveEggMoveGift = Capacité Œuf imprévue chez un Œuf donné par cadeau. +System.String LMoveEggTMHM = Capacité CT/CS héritée. +System.String LMoveEventEggLevelUp = Capacité héritée apprenable en montant en niveaux. Incompatible avec les capacités d'Œuf événementiel. +System.String LMoveEvoFCombination_0 = Le moveset est incompatible avec l'évolution de {0}. +System.String LMoveEvoFHigher = Capacités d'évlution invalides. {1} capacité apprise à un niveau plus élevé que {0} autres. +System.String LMoveEvoFLower = Capacités d'évlution invalides. {0} capacité apprise à un niveau plus bas que {1} autres. +System.String LMoveFDefault_0 = Déplacement par défaut dans la génération {0}. +System.String LMoveFExpect_0 = Les capacités suivantes étaient prévuess : {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Apprise par montée en niveaux dans la génération {0}. +System.String LMoveFTMHM_0 = Apprise par CT/CS dans la génération {0}. +System.String LMoveFTutor_0 = Apprise par Donneur de Capacités dans la génération {0}. +System.String LMoveKeldeoMismatch = Combinaison forme/capacité invalide chez Keldeo. +System.String LMoveNincada = Une seule capacité de Ninjask est permise. +System.String LMoveNincadaEvo = Apprise en faisant évoluer Ningale en Ninjask. +System.String LMoveNincadaEvoF_0 = Apprise en faisant évoluer Ningale en Ninjask dans la génération {0}. +System.String LMovePPTooHigh_0 = Le déplacement {0} PP est supérieur au montant autorisé. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = Ce n'est pas un mouvement DexNav. +System.String LMoveRelearnEgg = Mouvement de base de l'œuf. +System.String LMoveRelearnEggMissing = Mouvement de base de l'oeuf manquant. +System.String LMoveRelearnFExpect_0 = Capacités réapprises suivantes prévuess : {0} ({1}) +System.String LMoveRelearnFMiss_0 = Capacités réapprises manquantess : {0} +System.String LMoveRelearnInvalid = Ce n'est pas un mouvement enregistrable. +System.String LMoveRelearnNone = Pas de capacité réapprise prévue. +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = Mouvement par défaut. +System.String LMoveSourceDuplicate = Capacité dupliquée. +System.String LMoveSourceEgg = Capacité d'Œuf. +System.String LMoveSourceEggEvent = Capacité Œuf événementielle. +System.String LMoveSourceEmpty = Capacité vide. +System.String LMoveSourceInvalid = Capacité invalide. +System.String LMoveSourceInvalidSketch = Capacité invalide (Gribouille). +System.String LMoveSourceLevelUp = Apprise par montée en niveaux. +System.String LMoveSourceRelearn = Capacité réapprenable. +System.String LMoveSourceShared = Mouvement méconnaissable partagé. +System.String LMoveSourceSharedF = Déplacement sans réapprentissage partagé dans la génération {0}. +System.String LMoveSourceSpecial = Capacité non-réapprenable. +System.String LMoveSourceTMHM = Apprise par CT/CS. +System.String LMoveSourceTR = Marque inattendue du dossier technique appris: {0} +System.String LMoveSourceTutor = Apprise par Donneur de Capacités. +System.String LNickFlagEggNo = L'Œuf ne doit pas être surnommé. +System.String LNickFlagEggYes = L'Œuf doit être surnommé. +System.String LNickInvalidChar = Le Pokémon ne peut pas avoir ce surnom. +System.String LNickLengthLong = Le surnom est trop long. +System.String LNickLengthShort = Le surnom est vide. +System.String LNickMatchLanguage = Le surnom correspond au nom d'une autre espèce. +System.String LNickMatchLanguageEgg = La langue de l'Œuf correspond à son nom. +System.String LNickMatchLanguageEggFail = Le nom de l'Œuf ne correspond pas à son nom dans la langue d'origine. +System.String LNickMatchLanguageFail = Le surnom ne correspond pas au nom de l'espèce. +System.String LNickMatchLanguageFlag = Surnom marqué, coïncide avec celui de l'espèce. +System.String LNickMatchNoOthers = Le surnom ne correspond pas au nom d'une autre espèce. +System.String LNickMatchNoOthersFail = Surnom correspond à un autre nom d'espèce (+ langue). +System.String LOT_IDEqual = L'ID Dresseur est égal à l'ID Secret. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = L'ID Dresseur et son ID secret sont nuls. +System.String LOT_SID0 = L'ID Secret est 0. +System.String LOT_SID0Invalid = L'ID secret doit être 0 +System.String LOT_TID0 = L'ID Dresseur est 0. +System.String LOTLanguage = L'ID de langue doit être {0}, et non pas {1}. +System.String LOTLong = Nom du DO trop long. +System.String LOTShort = Nom du DO trop court. +System.String LOTSuspicious = Détails DO suspicieux. +System.String LPIDEncryptWurmple = La constante de chiffrement de Chenipotte ne correspond pas à son évolution. +System.String LPIDEncryptZero = La constante de chiffrement n'a pas été générée. +System.String LPIDEqualsEC = La constante de chiffrement est égale au PID. +System.String LPIDGenderMatch = Le PID correspond au genre. +System.String LPIDGenderMismatch = Le PID ne correspond pas au genre. +System.String LPIDNatureMatch = Le PID correspond à la nature. +System.String LPIDNatureMismatch = Le PID ne correspond pas à la nature. +System.String LPIDTypeMismatch = Le PID ne correspond pas au type de rencontre. +System.String LPIDZero = Le PID n'a pas été défini. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = Tous les rubans ont été comptabilisés. +System.String LRibbonEgg = L'Œuf ne peut pas recevoir de Rubans. +System.String LRibbonFInvalid_0 = Rubans invalides : +System.String LRibbonFMissing_0 = Rubans manquants : +System.String LRibbonMarkingAffixedF_0 = Ruban / marquage apposé non valide: {0} +System.String LRibbonMarkingFInvalid_0 = Marquage non valide: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = La version Battle n'est pas dans le rang attendue. +System.String LStatDynamaxInvalid = Le niveau Dynamax n'est pas dans le rang attendue. +System.String LStatGigantamaxInvalid = Gigamax incompatible. +System.String LStatGigantamaxValid = La marque Gigamax a été changée via Max Soup. +System.String LStatIncorrectCP = Le CP calculé ne correspond pas à la valeur enregistrée. +System.String LStatIncorrectHeight = La hauteur calculée ne correspond pas à la valeur stockée. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = Le poids calculé ne correspond pas à la valeur stockée. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = La Nature Stat n'est pas dans le rang attendue. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = Contradiction avec le flag d'entraînement SPV complété. +System.String LSuperDistro = Les missions Super Training distribuées ne sont pas publiées. +System.String LSuperEgg = Un Œuf ne peut pas participer au Système de Perfectionnement Virtuel. +System.String LSuperNoComplete = Impossible d'avoir un indicateur complet du Super Training actif pour les origines. +System.String LSuperNoUnlocked = Impossible de déverrouiller le drapeau actif Super Training pour les origines. +System.String LSuperUnavailable = Les missions SPV ne sont pas disponibles dans les jeux joués. +System.String LSuperUnused = La case Super Training inutilisée est cochée. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = Espèce non obtenable dans jeu de Console Virtuelle. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = Un Œuf ne peut pas être transféré entre les générations. +System.String LTransferEggLocationTransporter = Emplacement rencontré non valide, transfert Poké attendu. +System.String LTransferEggMetLevel = Niveau atteint non valide pour le transfert. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = L'entraîneur actuel ne sera pas d'une génération plus ancienne pour une espèce transférée. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Lieu de rencontre non valide. Pokétransfer ou Couronne attendus. +System.String LTransferMetLocation = Pokémon transféré, endroit de rencontre invalide. +System.String LTransferMove = Attaque de transfert incompatible. +System.String LTransferMoveG4HM = Anti-Brume ou Siphon doivent être oubliées avant tout transfert vers la Génération 5. +System.String LTransferMoveHM = CS de Génération {0}. Elle doit être oubliée avant de transférer le Pokémon vers la génération {1}. +System.String LTransferNature = Nature invalide pour l'expérience de transfert. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = L'origine de {0} ne peut pas exister dans cette sauvegarde ({1}). +System.String LTransferPIDECBitFlip = Le PID doit être égal à EC [avec le bit supérieur retourné]! +System.String LTransferPIDECEquals = PID doit être égal à EC! +System.String LTransferPIDECXor = La constante de chiffrement correspond au PID shinyxored. +System.String LTransferTrackerMissing = Pokémon HOME Transfer Tracker est manquant. +System.String LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker doit être à 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt index 6de3338eb..23c49cbae 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_it.txt @@ -1,399 +1,406 @@ -L_AError = Errore Interno. -L_ALegal = Legale! -L_AnalysisUnavailable = Anilisi non disponibile per questo Pokémon. -L_AValid = Valido. -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} Mossa {1}: {2} -L_F0_RM_1_2 = {0} Mossa Ricordabile {1}: {2} -L_FEncounterType_0 = Tipo Incontro: {0} -L_FOriginSeed_0 = Seed di origine: {0} -L_FPIDType_0 = Tipo PID: {0} -L_SFishy = Sospetto -L_SInvalid = Invalido -L_SNotImplemented = Non implementato -L_SValid = Valido -L_XEnigmaBerry_0 = {0} Bacca -L_XHT = HT -L_XKorean = Korean -L_XKoreanNon = Non-Korean -L_XMatches0_1 = Matches: {0} {1} -L_XOT = OT -L_XWurmpleEvo_0 = Evoluzione Wurmple: {0} -LAbilityCapsuleUsed = Abilità disponibile con la Capsula Abilità. -LAbilityFlag = Abilità corrispondente al Numero Abilità. -LAbilityHiddenFail = Abilità Nascosta non corrispondente al Tipo di Incontro. -LAbilityHiddenUnavailable = Abilità Nascosta non disponibile. -LAbilityMismatch = Abilità non corrispondente al Tipo di Incontro. -LAbilityMismatch3 = L'Abilità non corrisponde a quelle disponibili per la Gen 3. -LAbilityMismatchFlag = Abilità non corrispondente al Numero Abilità. -LAbilityMismatchGift = L'Abilità non corrisponde al Dono Segreto. -LAbilityMismatchGrotto = Le catture del Meandro Nascosto dovrebbero avere l'Abilità Nascosta. -LAbilityMismatchHordeSafari = Abilità Nascosta su un Pokémon non proveniente dal Safari o da un Gruppo. -LAbilityMismatchPID = l'Abilità non corrisponde al PID. -LAbilityMismatchSOS = Abilità Nascosta su un Pokémon non proveniente da una chiamata di aiuto. -LAbilityPatchUsed = Abilità disponibile con il Cerotto Abilità. -LAbilityUnexpected = Abilità non valida per la Specie/Forma. -LAwakenedCap = AV individuali non possono essere superiori a {0}. -LAwakenedShouldBeValue = AV individuali ({1}) dovrebbero essere {0}. -LBallAbility = Impossibile ottenere l'Abilità con la Ball. -LBallEggCherish = Le uova non possono essere in Pregio Ball. -LBallEggMaster = Le uova non possono essere in Master Ball. -LBallEnc = Ball corretta per il tipo di incontro. -LBallEncMismatch = Questo tipo di incontro non può avere questa Ball. -LBallHeavy = Impossibile avere la Peso Ball per Pokémon leggeri con catch rate basso (gen VII). -LBallNone = Nessun controllo sodisfatto, si assume sia illegale. -LBallSpecies = Impossibile ottenere questa specie in questa Ball. -LBallSpeciesPass = Ball possibile per la specie. -LBallUnavailable = Ball inottenibile nella generazione di origine. -LContestSheenTooHigh_0 = Il Lustro dovrebbe essere <= {0}. -LContestSheenTooLow_0 = Il Lustro dovrebbe essere >= {0}. -LContestZero = Le statistiche delle Gare dovrebbero essere 0. -LContestZeroSheen = Il Lustro dovrebbe essere 0. -LDateOutsideDistributionWindow = La data di incontro è al di fuori del periodo di Distribuzione. -LEffort2Remaining = 2 EV rimanenti. -LEffortAbove252 = Gli EV non possono essere maggiori di 252. -LEffortAbove510 = Gli EV totali non possono essere maggiori di 510. -LEffortAllEqual = Gli EV sono tutti uguali. -LEffortCap100 = EV individuali per incontri di livello 100 in Gen 4 non possono essere maggiori di 100. -LEffortEgg = Le Uova non possono ricevere EV. -LEffortEXPIncreased = Gli EV sono Zero, ma il Pokémon è di livello superiore a quello di incontro. -LEffortShouldBeZero = Non può ricevere EV. -LEffortUntrainedCap = EV individuali senza guadagnare EXP non possono essere maggiori di {0}. -LEggContest = Le statistiche delle gare non possono crescere per un Uovo. -LEggEXP = Le Uova non possono ricevere esperienza. -LEggFMetLevel_0 = Livello di incontro invalido, valore previsto {0}. -LEggHatchCycles = Cicli di schiusa dell'Uovo invalidi. -LEggLocation = È possibile schiudere un Uovo nel luogo di incontro. -LEggLocationInvalid = Impossibile schiudere un Uovo nel luogo di incontro. -LEggLocationNone = Luogo dell'Uovo invalido, valore previsto None. -LEggLocationPalPark = Luogo di incontro invalido, valore previsto Parco Amici. -LEggLocationTrade = È possibile schiudere un Uovo scambiato nel luogo di incontro. -LEggLocationTradeFail = Il luogo di incontro non dovrebbe essere 'Scambio', se è un Uovo. -LEggMetLocationFail = Impossibile ottenre l'Uovo nel Luogo dell'Uovo. -LEggNature = Le Uova non possono avere la Natura delle Statistiche cambiata. -LEggPokeathlon = Le Uova non possono avere statistiche Pokéathlon. -LEggPokerus = Le Uova non possono essere infette da Pokérus. -LEggPP = Le Uova non possono avere modifiche ai PP. -LEggPPUp = Non si possono applicare PP Up alle Uova. -LEggRelearnFlags = Non sono previsti segnali di Mosse Ricordabili. -LEggShinyLeaf = Le Uova non possono avere Foglielucenti o la Corona di Foglie. -LEggShinyPokeStar = Le Uova non possono essere Star del Pokéwood. -LEggSpecies = Impossibile ottenere Uova di questa specie. -LEggUnhatched = Uovo non schiuso valido. -LEncCondition = Incontro selvatico valido nel luogo. -LEncConditionBadRNGFrame = Impossibile trovare una corrispondenza delle condizioni di incontro ad un possibile Frame RNG. -LEncConditionBadSpecies = La specie non esiste nel gioco di origine. -LEncConditionBlack = Incontro selvatico valido nel Luogo (Flauto Nero). -LEncConditionBlackLead = Incontro selvatico valido nel Luogo (Flauto Nero & Pressione/Tuttafretta/Spritovivo). -LEncConditionDexNav = Incontro selvatico valido nel Luogo (Navidex). -LEncConditionLead = Incontro selvatico valido nel Luogo (Pressione/Tuttafretta/Spiritovivo). -LEncConditionWhite = Incontro selvatico valido nel Luogo (Flauto Bianco). -LEncConditionWhiteLead = Incontro selvatico valido nel Luogo (Flauto Bianco & Pressione/Tuttafretta/Spiritovivo). -LEncGift = Impossibile trovare una corrispondenza per un Uovo donato dal gioco di origine. -LEncGiftEggEvent = Impossibile trovare una corrispondenza per un Uovo evento dal gioco di origine. -LEncGiftIVMismatch = Gli IV non corrispondono al Dono Segreto. -LEncGiftNicknamed = il Dono Segreto è stato soprannominato. -LEncGiftNotFound = Impossibile trovare una corrispondenza ai Doni Segreti nel Database. -LEncGiftPIDMismatch = Il PID non corrisponde a quello del Dono Segreto. -LEncGiftShinyMismatch = Il Dono Segreto non può essere Shiny. -LEncGiftVersionNotDistributed = Il Dono Segreto non può essere ricevuto in questa versione di gioco. -LEncInvalid = Impossibile trovare una corrispondenza per l'incontro nel gioco di origine. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Dono/Incontro statico valido. -LEncStaticPIDShiny = L'Incontro statico non può essere shiny. -LEncStaticRelearn = L'incontro statico non può avere la mossa ricordabile. -LEncTradeChangedNickname = Il soprannome del Pokémon ottenuto con uno scambio in gioco è stato alterato. -LEncTradeChangedOT = Il Nome dell'AO di un Pokémon ottenuto con uno scambio in gioco è stato alterato. -LEncTradeIndexBad = Indice di scambio in gioco invalido? -LEncTradeMatch = Scambio in gioco valido. -LEncTradeUnchanged = Il nome dell'AO e il soprannome del Pokémon ottenuto con uno scambio in gioco sono validi. -LEncTypeMatch = Il tipo di incontro corrisponde all'incontro. -LEncTypeMismatch = il tipo di incontro non corrisponde all'incontro. -LEncUnreleased = Evento non rilasciato ufficialmente. -LEncUnreleasedEMewJP = L'evento di Mew è stato rilasciato solo in Giappone. -LEncUnreleasedHoOArceus = Arceus dallo Spazio Origine. L'Evento non è mai stato rilasciato. -LEncUnreleasedPtDarkrai = Darkrai dall'Isola Lunanuova non proveniente da Platino. L'Evento non è mai stato rilasciato. -LEncUnreleasedPtShaymin = Shaymin dal Paradiso Fiore non proveniente da Platino. L'Evento non è mai stato rilasciato. -LEReaderAmerica = Bacca da E-Reader Americano in un salvataggio Giapponese. -LEReaderInvalid = Bacca E-Reader invalida. -LEReaderJapan = Bacca da E-Reader Giapponese in un salvataggio Internazionale. -LEvoInvalid = Evoluzione non valida (o i requisiti di livello/scambio non sono soddisfatti). -LEvoTradeReq = Lo scambio in gioco {0} si sarebbe dovuto evolvere in {1}. -LEvoTradeReqOutsider = L'outsider {0} si sarebbe dovuto evolvere in {1}. -LEvoTradeRequired = L'evoluzione è specifica di una versione di gioco e richiede uno scambio. Il Pokémon deve avere un Handling Trainer. -LFateful = Incontro mediante Evento Speciale in gioco. -LFatefulGiftMissing = Evento Speciale senza corrispondenze. I dati per il Dono Segreto sono stati contribuiti? -LFatefulInvalid = Evento Speciale non dovrebbe essere selezionato. -LFatefulMissing = Il segnale di Evento Speciale in gioco non è presente. -LFatefulMystery = Evento Speciale da Dono Segreto. -LFatefulMysteryMissing = Il segnale di Evento Speciale deve essere presente per il Dono Segreto. -LFavoriteMarkingUnavailable = Segnalino preferito non disponibile. -LFormArgumentHigh = L'Argomento di forma è troppo grande per la forma attuale. -LFormArgumentInvalid = L'Argomento di forma non è valido. -LFormArgumentLow = L'Argomento di forma è troppo basso per la forma attuale. -LFormArgumentNotAllowed = L'Argomento di forma non è disponibile per questo incontro. -LFormArgumentValid = L'Argomento di Forma è valido. -LFormBattle = La Forma non può esistere al di fuori di una battaglia. -LFormEternal = Incontro per Fiore Eterno valido. -LFormEternalInvalid = Incontro per Fiore Eterno non valido. -LFormInvalidGame = La forma non può essere ottenuta nel gioco di origine. -LFormInvalidNature = La forma non può avere la natura. -LFormInvalidRange = Il conteggio della forma è fuori dall'indice. Valore previsto <= {0}, non {1}. -LFormItem = Lo strumento tenuto corrisponde alla forma. -LFormItemInvalid = Lo strumento tenuto non corrisponde alla forma. -LFormParty = La forma non può esistere al di fuori della squadra. -LFormPikachuCosplay = Solo Cosplay Pikachu può avere questa forma. -LFormPikachuCosplayInvalid = Cosplay Pikachu non può avere la forma base. -LFormPikachuEventInvalid = Pikachu Evento non può avere la forma base. -LFormValid = La forma è valida. -LFormVivillon = Il pattern di Vivillion è valido. -LFormVivillonEventPre = Il pattern di Vivillion evento è in una pre-evoluzione. -LFormVivillonInvalid = Il pattern di Vivillion non è valido. -LFormVivillonNonNative = Il pattern di Vivillion non è nativo. -LG1CatchRateChain = Il tasso di cattura non corrisponde a nessuna specie della catena evolutiva. -LG1CatchRateEvo = Il tasso di cattura corrisponde la specie senza incontri. Previsto il tasso di cattura di una pre-evoluzione. -LG1CatchRateItem = Il tasso di cattura non corrisponde ad un valido strumento tenuto nella seconda generazione. -LG1CatchRateMatchPrevious = Il tasso di cattura corrisponde tutte le specie della catena evolutiva. -LG1CatchRateMatchTradeback = Il tasso di cattura corrisponde ad un valido strumento tenuto nella seconda generazione. -LG1CatchRateNone = Il tasso di cattura non corrisponde a nessuna specie della catena evolutiva o ad alcun valido strumento tenuto nella seconda generazione. -LG1CharNick = Il soprannome da Gen1/2 utilizza caratteri proibiti. -LG1CharOT = Il nome allenatore da Gen1/2 utilizza caratteri proibiti. -LG1GBEncounter = Impossibile ottenere Incontri Speciali nei giochi Virtual Console. -LG1MoveExclusive = Mossa esclusiva della prima generazione. Incompatibile con le mosse non-tradeback. -LG1MoveLearnSameLevel = Mosse incompatibili. Imparate allo stesso livello in Rosso/Blu e Giallo. -LG1MoveTradeback = Mossa uovo non-tradeback. Incompatibile con le mosse esclusive da Gen1. -LG1OTEvent = Nome AO da evento RBG non corretto. -LG1OTGender = AO Femmina da Gen1/2 è invalido. -LG1Stadium = L'AO di Stadium è invalido. -LG1StadiumInternational = L'AO da Stadium Internazionale è valido. -LG1StadiumJapanese = L'AO da Stadium Giapponese è valido. -LG1TradebackPreEvoMove = Mossa pre-evolutiva non-tradeback. Incompatibile con le mosse esclusive di Gen1. -LG1Type1Fail = Tipo A invalido, non corrisponde al tipo specie. -LG1Type2Fail = Tipo B invalido, non corrisponde al tipo specie. -LG1TypeMatch1 = Tipo A valido, corrisponde al tipo specie. -LG1TypeMatch2 = Tipo B valido, corrisponde al tipo specie. -LG1TypeMatchPorygon = Porygon con tipo A e B valido. -LG1TypePorygonFail = Porygon con tipo A e B invalido. Non corrisponde a nessuna possibile combinazione. -LG1TypePorygonFail1 = Porygon con tipo A invalido. -LG1TypePorygonFail2 = Porygon con tipo B invalido. -LG2InvalidTilePark = Incontro da pesca al Parco Nazionale. La casella d'acqua non è raggiungibile. -LG2InvalidTileR14 = Incontro da pesca nel Percorso 14 di Kanto. La casella d'acqua non è raggiungibile. -LG2InvalidTileSafari = Incontro da pesca nella Zona Safari in Gen2. Zona irraggiungibile. -LG2InvalidTileTreeID = Trovato un albero irraggiungibile per un incontro Bottintesta su Cristallo che corrisponde al OTID. -LG2InvalidTileTreeNotFound = Impossibile trovare un incontro Bottintesta su Cristallo che corrisponda al OTID. -LG2OTGender = AO di giochi Virtual Console ad eccezione di Cristallo non possono essere femmina. -LG2TreeID = Trovato un albero per un incontro Bottintesta su Cristallo che corrisponde al OTID. -LG3EReader = Incontro Ombra E-Reader non Giapponese. Evento non rilasciato. -LG3OTGender = AO di Colosseum/XD non possono essere femmina. -LG4InvalidTileR45Surf = Incontro da surf nel Percorso 45 di Johto, la casella d'acqua è irraggiungibile. -LG5ID_N = Il Nome/TID/SID di N non è corretto. -LG5IVAll30 = Tutti gli IV dei Pokémon di N dovrebbero essere 30. -LG5OTGenderN = I Pokémon di N devono avere il sesso dell'AO maschio. -LG5PIDShinyGrotto = Gli incontri del Meandro Nascosto non possono essere Shiny. -LG5PIDShinyN = I Pokémon di N non possono essere Shiny. -LG5SparkleInvalid = Il segnale speciale di luccichio dei Pokémon di N non dovrebbe essere ablitato. -LG5SparkleRequired = Segnale speciale di luccichio dei Pokémon di N assente. -LGanbaruStatTooHigh = Uno o più valori Ganbaru è oltre il limite naturale di (10 - IV bonus). -LGenderInvalidNone = I Pokémon senza sesso non dovrebbero avere un Sesso. -LGeoBadOrder = GeoLocation Memory: Gap/Blank present. -LGeoHardwareInvalid = Geolocation: La nazione non è disponibile nel 3DS. -LGeoHardwareRange = Regione della console non valida. -LGeoHardwareValid = Geolocation: la nazione è disponibile nel 3DS. -LGeoMemoryMissing = GeoLocation Memory: le memorie dovrebbero essere presenti. -LGeoNoCountryHT = GeoLocation Memory: HT Name presente ma senza una nazione. -LGeoNoRegion = GeoLocation Memory: regione senza nazione. -LHyperBelow100 = Impossibile usare l'Allenamento Pro su un Pokémon che non sia al livello 100. -LHyperPerfectAll = Impossibile usare l'Allenamento Pro su un Pokémon con IV perfetti. -LHyperPerfectOne = Impossibile usare l'Allenamento Pro un IV perfetto. -LHyperPerfectUnavailable = L'Allenamento Pro non è possibile su alcun IV. -LItemEgg = Le Uova non possono tenere strumenti. -LItemUnreleased = Lo strumento tenuto non è stato rilasciato. -LIVAllEqual_0 = Tutti gli IV sono {0}. -LIVF_COUNT0_31 = Dovrebbe avere almeno {0} IVs = 31. -LIVNotCorrect = Gli IV non combaciano con i requisiti dell'incontro. -LLevelEXPThreshold = L'Esperienza è compatibile con il treshold del livello. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = Il livello attuale è al di sotto del livello di incontro. -LLevelMetGift = Il livello di incontro non corrisponde al Dono Segreto. -LLevelMetGiftFail = Il livello attuale è al di sotto del livello del Dono Segreto. -LLevelMetSane = Il livello attuale non è al di sotto del livello di incontro. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} Memory: {0} non lo ha catturato. -LMemoryArgBadHatch = {0} Memory: {0} non lo ha schiuso. -LMemoryArgBadHT = Memory: Non può avere memorie di Handling Trainer da Uovo. -LMemoryArgBadID = {0} Memory: Impossibile ottenere la Memoria nella versione {0}. -LMemoryArgBadItem = {0} Memory: La specie non può tenere questo oggetto. -LMemoryArgBadLocation = {0} Memory: Impossibile avere il Luogo nella versione {0}. -LMemoryArgBadMove = {0} Memory: La specie non può imparare questa mossa. -LMemoryArgBadOTEgg = {0} Memory: Scambio in Link non è valida come prima memoria. -LMemoryArgBadSpecies = {0} Memory: Impossibile catturare questa specie nel gioco. -LMemoryArgSpecies = {0} Memory: La specie può essere catturata nel gioco. -LMemoryCleared = Memory: Non ripulita correttamente. -LMemoryF_0_Valid = {0} La memoria è valida. -LMemoryFeelInvalid = {0} Memory: Sentimenti invalidi. -LMemoryHTFlagInvalid = Untraded: L'Attuale Trainer non dovrebbe essere l'Handling Trainer. -LMemoryHTGender = HT Gender invalido: {0} -LMemoryHTLanguage = HT Language mancante. -LMemoryIndexArgHT = Dovrebbe avere un valore HT Memory TextVar (d qualche parte). -LMemoryIndexFeel = {0} Memory: il Sentimento dovrebbe essere di indice {1}. -LMemoryIndexFeelHT09 = Dovrebbe avere un feeling per HT di 0-9. -LMemoryIndexID = {0} Memory: Dovrebbe essere di indice {1}. -LMemoryIndexIntensity = {0} Memory: L'Intensità dovrebbe essere di indice {1}. -LMemoryIndexIntensityHT1 = Dovrebbe avere un Intensità per l'HT (primo). -LMemoryIndexIntensityMin = {0} Memory: l'Intensità dovrebbe essere di almeno {1}. -LMemoryIndexLinkHT = Dovrebbe avere una memoria di un HT per Scambio in Link. -LMemoryIndexVar = {0} Memory: TextVar dovrebbe essere di indice {1}. -LMemoryMissingHT = Memory: Handling Trainer Memory mancante. -LMemoryMissingOT = Memory: Original Trainer Memory mancante. -LMemorySocialTooHigh_0 = Social Stat dovrebbe essere <= {0} -LMemorySocialZero = Social Stat dovrebbe essere zero. -LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection dovrebbe essere 0. -LMemoryStatAffectionOT0 = l'Affetto per l'AO dovrebbe essere 0. -LMemoryStatEnjoyment = Enjoyment dovrebbe essere {0}. -LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship dovrebbe essere 0. -LMemoryStatFriendshipOTBaseEvent = L'Amicizia all'AO evento non corrisponde con l'amicizia base. -LMemoryStatFullness = Fullness dovrebbe essere {0}. -LMoveEggFIncompatible0_1 = {0} Mossa Ereditata. Incompatibile con {1} mossa ereditata. -LMoveEggIncompatible = Mossa uovo. Incompatibile con mosse uovo evento. -LMoveEggIncompatibleEvent = Mossa uovo evento. Incompatibile con mosse uovo normali. -LMoveEggInherited = Mossa uovo ereditata. -LMoveEggInheritedTutor = Mossa tutor ereditata. -LMoveEggInvalid = Non è una mossa uovo prevista. -LMoveEggInvalidEvent = Mossa uovo. Non prevista in un uovo evento. -LMoveEggInvalidEventLevelUp = Mossa ereditata acquisita con aumento di livello. Non prevista in un uovo evento. -LMoveEggInvalidEventLevelUpGift = Mossa ereditata acquisita con aumento di livelllo. Non prevista in un uovo donato. -LMoveEggInvalidEventTMHM = Mossa MT/MN ereditata. Non prevista in un uovo evento. -LMoveEggInvalidEventTutor = Mossa totor ereditata. Non prevista in un uovo evento. -LMoveEggLevelUp = Mossa ereditata acquisita tramite aumento di livello. -LMoveEggMissing = Mossa uovo evento mancante. -LMoveEggMoveGift = Mossa uovo. Non prevista in un uovo donato. -LMoveEggTMHM = Mossa MT/MN ereditata. -LMoveEventEggLevelUp = Mossa ereditata acquisita tramite aumento di livello. Incompatibile con mosse uovo evento. -LMoveEvoFCombination_0 = la combinazione di mosse non è compatibile con l'evoluzione di {0}. -LMoveEvoFHigher = Mosse evolutive incompatibili. {1} mossa imparata ad un livello pù alto delle altre {0} mosse. -LMoveEvoFLower = Mosse evolutive non compatibili. {0} mossa imparata ad un livello più basso delle altre {1} mosse. -LMoveFDefault_0 = Mossa base in generazione {0}. -LMoveFExpect_0 = Previste le seguenti mosse: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Acquisita per aumento di livello in gen {0}. -LMoveFTMHM_0 = Acquisita tramite MT/MN in gen {0}. -LMoveFTutor_0 = Insegnata da un Tutor Mosse in gen {0}. -LMoveKeldeoMismatch = Mossa/Forma di Keldeo non corrispondente. -LMoveNincada = Solo una mossa di Ninjask è concessa. -LMoveNincadaEvo = Acquisita evolvendo Nincada in Ninjask. -LMoveNincadaEvoF_0 = Acquisita evolvendo Nincada in Ninjask in gen {0}. -LMovePPTooHigh_0 = I PP della mossa {0} sono oltre il massimo consentito. -LMovePPUpsTooHigh_0 = I PP Up della mossa {0} sono oltre il massimo consentito. -LMoveRelearnDexNav = Non è una mossa da Navidex prevista. -LMoveRelearnEgg = Mossa uovo base. -LMoveRelearnEggMissing = Mossa uovo base mancante. -LMoveRelearnFExpect_0 = Previste le seguenti mosse ricordabili: {0} ({1}) -LMoveRelearnFMiss_0 = Mosse ricordabili mancanti: {0} -LMoveRelearnInvalid = Non è una mossa ricordabile prevista. -LMoveRelearnNone = Non è prevista una mossa ricordabile nello slot. -LMoveRelearnUnderground = Non è una mossa uovo sotterranea prevista. -LMoveShopAlphaMoveShouldBeMastered = La Mossa Alfa dovrebbe essere registrata come masterata. -LMoveShopAlphaMoveShouldBeOther = L'incontro Alfa non può essere trovato con questa mossa Alfa. -LMoveShopAlphaMoveShouldBeZero = Solo gli Alfa possono avere una mossa Alfa. -LMoveShopMasterInvalid_0 = Impossibile masterare manualmente {0}: non è permesso masterare. -LMoveShopMasterNotLearned_0 = Impossibile masterare manualmente {0}: non in possibili mosse acquisite per aumento di livello. -LMoveShopPurchaseInvalid_0 = Impossibile acquistare {0} dal negozio mosse. -LMoveSourceDefault = Mossa base. -LMoveSourceDuplicate = Mossa duplicata. -LMoveSourceEgg = Mossa uovo. -LMoveSourceEggEvent = Mossa uovo evento. -LMoveSourceEmpty = Mossa vuota. -LMoveSourceInvalid = Mossa invalida. -LMoveSourceInvalidSketch = Mossa invalida (Schizzo). -LMoveSourceLevelUp = Acquisita per aumento di livello. -LMoveSourceRelearn = Mossa ricordabile. -LMoveSourceShared = Shared Non-Relearn Move. -LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. -LMoveSourceSpecial = Special Non-Relearn Move. -LMoveSourceTMHM = Acquisita tramite MT/MN. -LMoveSourceTR = Record per Disco Tecnico non aspettato: {0} -LMoveSourceTutor = Insegnata dal Tutor Mosse. -LNickFlagEggNo = L'Uovo non deve avere soprannomi. -LNickFlagEggYes = L'Egg deve avere il soprannome. -LNickInvalidChar = Non può avere questo soprannome. -LNickLengthLong = Soprannome troppo lungo. -LNickLengthShort = Il soprannome è vuoto. -LNickMatchLanguage = Il soprannome è uguale alla specie. -LNickMatchLanguageEgg = L'Uovo corrisponde al nome in lingua dell'Uovo. -LNickMatchLanguageEggFail = L'uovo non corrisponde al nome in lingua dell'Uovo. -LNickMatchLanguageFail = Il soprannome non corrisponde alla specie. -LNickMatchLanguageFlag = Soprannome segnalato, corrisponde al nome della specie. -LNickMatchNoOthers = Il soprannome non corrisponde al nome di un altra specie. -LNickMatchNoOthersFail = Il soprannome corrisponde al nome di un'altra specie (+language). -LOT_IDEqual = TID e SID sono uguali. -LOT_IDInvalid = la combinazione di TID e SID non è possibile. -LOT_IDs0 = TID e SID sono 0. -LOT_SID0 = SID è zero. -LOT_SID0Invalid = SID dovrebbe essere 0. -LOT_TID0 = TID è zero. -LOTLanguage = Language ID dovrebbe essere {0}, non {1}. -LOTLong = Nome AO troppo lungo. -LOTShort = Nome AO troppo corto. -LOTSuspicious = Dettagli dell'AO sospetti. -LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. -LPIDEncryptZero = Encryption Constant non impostata. -LPIDEqualsEC = Encryption Constant uguale al PID. -LPIDGenderMatch = Il sesso combacia con il PID. -LPIDGenderMismatch = Il sesso non combacia con il PID. -LPIDNatureMatch = La Natura combacia il PID. -LPIDNatureMismatch = La Natura non combacia con il PID. -LPIDTypeMismatch = Encounter Type PID mismatch. -LPIDZero = Il PID non è impostato. -LPokerusDaysTooHigh_0 = I giorni di Pokérus rimanenti sono troppi, previsto <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} non può essere ottenuta. -LRibbonAllValid = Tutti i fiocchi sono stati contabilizzati. -LRibbonEgg = Non può avere fiocchi da Uovo. -LRibbonFInvalid_0 = Fiocchi invalidi: -LRibbonFMissing_0 = Fiocchi mancanti: -LRibbonMarkingAffixedF_0 = Fioccho o Emblema fissato invalido: {0} -LRibbonMarkingFInvalid_0 = Emblema invalido: {0} -LStatAlphaInvalid = Alfa non corrispondente. -LStatBattleVersionInvalid = la Versione Lotta non è in un range accettabile. -LStatDynamaxInvalid = Il Livello Dynamax non è in un range accettabile. -LStatGigantamaxInvalid = Gigamax non corrispondente. -LStatGigantamaxValid = Gigamax ottenuto con la Zuppamax. -LStatIncorrectCP = I PL calcolati non combaciano con il valore nei dati. -LStatIncorrectHeight = L'Altezza calcolata non corrisponde con il valore nei dati. -LStatIncorrectHeightCopy = Copy Height non corrisponde il valore originale. -LStatIncorrectHeightValue = L'Altezza non combacia con il valore previsto. -LStatIncorrectWeight = Il Peso calcolato non corrisponde con il valore nei dati. -LStatIncorrectWeightValue = Il Peso non cirrsponde con il valore previsto. -LStatInvalidHeightWeight = Il valore di Altezza e Peso è statisticamente improbabile. -LStatNatureInvalid = La Natura delle Statistiche non è in un range accettabile. -LStatNobleInvalid = Sgnale Nobile non corrispondente. -LSuperComplete = Segnale di completamento del Super Allenamento non corrispondente. -LSuperDistro = Le missioni evento per il Super Allenamento non sono state rilasciate. -LSuperEgg = Un Uovo non può partecipare al Super Allenamento. -LSuperNoComplete = Non può aver completato il Super Allenamento per l'origine. -LSuperNoUnlocked = Non può avere il segnale di Sblocco Super Allenamento per l'origine. -LSuperUnavailable = Le missioni di Super Allenamento non sono disponibili nei giochi visitati. -LSuperUnused = Il segnale inutilizzato per il Super Allenamento è stato abilitato. -LTransferBad = Il Pokémon trasferito da una generazione passata non è stato trasferito correttamente, o non è compatibile con questo salvataggio. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = Impossibile tarsferire Uova tra Generazioni diverse. -LTransferEggLocationTransporter = Luogo di incontro non valido, previsto Pokétrasporto. -LTransferEggMetLevel = Livello di incontro non valido per il trasferimento. -LTransferFlagIllegal = Segnato come Illegale dal gioco (abuso di glitch o clonazione). -LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen (l'Allenatore Originale non può essere l'Allenatore Corrente). -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Luogo di incontro invalido, previsto Pokétrasporto o Corona. -LTransferMetLocation = Luogo di trasferimento non valido. -LTransferMove = Mossa di trasferimento non valida. -LTransferMoveG4HM = Scacciabruma e Mulinello. Una delle due mosse deve essere rimossa prima di poter avviare il trasferimento verso Gen 5. -LTransferMoveHM = MN di {0} Gen. Deve essere rimossa prima di poter avviare il trasferimento verso Gen {1}. -LTransferNature = Natura non valida per il processo di trasferimento. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = L'origine {0} non può esistere nell'attuale ({1}) file di salvataggio. -LTransferPIDECBitFlip = Il PID dovrebbe essere uguale alla EC [con i bit superiori flippati]! -LTransferPIDECEquals = Il PID dovrebbe essere uguale alla EC! -LTransferPIDECXor = La Encryption Constant corrisponde ad uno shinyxored PID. -LTransferTrackerMissing = Il codice di tracciamento di Pokémon Home è mancante. -LTransferTrackerShouldBeZero = Il codice di tracciamento di Pokémon Home dovrebbe essere 0. +System.String L_AError = Errore Interno. +System.String L_ALegal = Legale! +System.String L_AnalysisUnavailable = Anilisi non disponibile per questo Pokémon. +System.String L_AValid = Valido. +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} Mossa {1}: {2} +System.String L_F0_RM_1_2 = {0} Mossa Ricordabile {1}: {2} +System.String L_FEncounterType_0 = Tipo Incontro: {0} +System.String L_FOriginSeed_0 = Seed di origine: {0} +System.String L_FPIDType_0 = Tipo PID: {0} +System.String L_SFishy = Sospetto +System.String L_SInvalid = Invalido +System.String L_SNotImplemented = Non implementato +System.String L_SValid = Valido +System.String L_XEnigmaBerry_0 = {0} Bacca +System.String L_XHT = HT +System.String L_XKorean = Korean +System.String L_XKoreanNon = Non-Korean +System.String L_XMatches0_1 = Matches: {0} {1} +System.String L_XOT = OT +System.String L_XWurmpleEvo_0 = Evoluzione Wurmple: {0} +System.String LAbilityCapsuleUsed = Abilità disponibile con la Capsula Abilità. +System.String LAbilityFlag = Abilità corrispondente al Numero Abilità. +System.String LAbilityHiddenFail = Abilità Nascosta non corrispondente al Tipo di Incontro. +System.String LAbilityHiddenUnavailable = Abilità Nascosta non disponibile. +System.String LAbilityMismatch = Abilità non corrispondente al Tipo di Incontro. +System.String LAbilityMismatch3 = L'Abilità non corrisponde a quelle disponibili per la Gen 3. +System.String LAbilityMismatchFlag = Abilità non corrispondente al Numero Abilità. +System.String LAbilityMismatchGift = L'Abilità non corrisponde al Dono Segreto. +System.String LAbilityMismatchGrotto = Le catture del Meandro Nascosto dovrebbero avere l'Abilità Nascosta. +System.String LAbilityMismatchHordeSafari = Abilità Nascosta su un Pokémon non proveniente dal Safari o da un Gruppo. +System.String LAbilityMismatchPID = l'Abilità non corrisponde al PID. +System.String LAbilityMismatchSOS = Abilità Nascosta su un Pokémon non proveniente da una chiamata di aiuto. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Abilità disponibile con il Cerotto Abilità. +System.String LAbilityUnexpected = Abilità non valida per la Specie/Forma. +System.String LAwakenedCap = AV individuali non possono essere superiori a {0}. +System.String LAwakenedShouldBeValue = AV individuali ({1}) dovrebbero essere {0}. +System.String LBallAbility = Impossibile ottenere l'Abilità con la Ball. +System.String LBallEggCherish = Le uova non possono essere in Pregio Ball. +System.String LBallEggMaster = Le uova non possono essere in Master Ball. +System.String LBallEnc = Ball corretta per il tipo di incontro. +System.String LBallEncMismatch = Questo tipo di incontro non può avere questa Ball. +System.String LBallHeavy = Impossibile avere la Peso Ball per Pokémon leggeri con catch rate basso (gen VII). +System.String LBallNone = Nessun controllo sodisfatto, si assume sia illegale. +System.String LBallSpecies = Impossibile ottenere questa specie in questa Ball. +System.String LBallSpeciesPass = Ball possibile per la specie. +System.String LBallUnavailable = Ball inottenibile nella generazione di origine. +System.String LContestSheenTooHigh_0 = Il Lustro dovrebbe essere <= {0}. +System.String LContestSheenTooLow_0 = Il Lustro dovrebbe essere >= {0}. +System.String LContestZero = Le statistiche delle Gare dovrebbero essere 0. +System.String LContestZeroSheen = Il Lustro dovrebbe essere 0. +System.String LDateOutsideDistributionWindow = La data di incontro è al di fuori del periodo di Distribuzione. +System.String LEffort2Remaining = 2 EV rimanenti. +System.String LEffortAbove252 = Gli EV non possono essere maggiori di 252. +System.String LEffortAbove510 = Gli EV totali non possono essere maggiori di 510. +System.String LEffortAllEqual = Gli EV sono tutti uguali. +System.String LEffortCap100 = EV individuali per incontri di livello 100 in Gen 4 non possono essere maggiori di 100. +System.String LEffortEgg = Le Uova non possono ricevere EV. +System.String LEffortEXPIncreased = Gli EV sono Zero, ma il Pokémon è di livello superiore a quello di incontro. +System.String LEffortShouldBeZero = Non può ricevere EV. +System.String LEffortUntrainedCap = EV individuali senza guadagnare EXP non possono essere maggiori di {0}. +System.String LEggContest = Le statistiche delle gare non possono crescere per un Uovo. +System.String LEggEXP = Le Uova non possono ricevere esperienza. +System.String LEggFMetLevel_0 = Livello di incontro invalido, valore previsto {0}. +System.String LEggHatchCycles = Cicli di schiusa dell'Uovo invalidi. +System.String LEggLocation = È possibile schiudere un Uovo nel luogo di incontro. +System.String LEggLocationInvalid = Impossibile schiudere un Uovo nel luogo di incontro. +System.String LEggLocationNone = Luogo dell'Uovo invalido, valore previsto None. +System.String LEggLocationPalPark = Luogo di incontro invalido, valore previsto Parco Amici. +System.String LEggLocationTrade = È possibile schiudere un Uovo scambiato nel luogo di incontro. +System.String LEggLocationTradeFail = Il luogo di incontro non dovrebbe essere 'Scambio', se è un Uovo. +System.String LEggMetLocationFail = Impossibile ottenre l'Uovo nel Luogo dell'Uovo. +System.String LEggNature = Le Uova non possono avere la Natura delle Statistiche cambiata. +System.String LEggPokeathlon = Le Uova non possono avere statistiche Pokéathlon. +System.String LEggPokerus = Le Uova non possono essere infette da Pokérus. +System.String LEggPP = Le Uova non possono avere modifiche ai PP. +System.String LEggPPUp = Non si possono applicare PP Up alle Uova. +System.String LEggRelearnFlags = Non sono previsti segnali di Mosse Ricordabili. +System.String LEggShinyLeaf = Le Uova non possono avere Foglielucenti o la Corona di Foglie. +System.String LEggShinyPokeStar = Le Uova non possono essere Star del Pokéwood. +System.String LEggSpecies = Impossibile ottenere Uova di questa specie. +System.String LEggUnhatched = Uovo non schiuso valido. +System.String LEncCondition = Incontro selvatico valido nel luogo. +System.String LEncConditionBadRNGFrame = Impossibile trovare una corrispondenza delle condizioni di incontro ad un possibile Frame RNG. +System.String LEncConditionBadSpecies = La specie non esiste nel gioco di origine. +System.String LEncConditionBlack = Incontro selvatico valido nel Luogo (Flauto Nero). +System.String LEncConditionBlackLead = Incontro selvatico valido nel Luogo (Flauto Nero & Pressione/Tuttafretta/Spritovivo). +System.String LEncConditionDexNav = Incontro selvatico valido nel Luogo (Navidex). +System.String LEncConditionLead = Incontro selvatico valido nel Luogo (Pressione/Tuttafretta/Spiritovivo). +System.String LEncConditionWhite = Incontro selvatico valido nel Luogo (Flauto Bianco). +System.String LEncConditionWhiteLead = Incontro selvatico valido nel Luogo (Flauto Bianco & Pressione/Tuttafretta/Spiritovivo). +System.String LEncGift = Impossibile trovare una corrispondenza per un Uovo donato dal gioco di origine. +System.String LEncGiftEggEvent = Impossibile trovare una corrispondenza per un Uovo evento dal gioco di origine. +System.String LEncGiftIVMismatch = Gli IV non corrispondono al Dono Segreto. +System.String LEncGiftNicknamed = il Dono Segreto è stato soprannominato. +System.String LEncGiftNotFound = Impossibile trovare una corrispondenza ai Doni Segreti nel Database. +System.String LEncGiftPIDMismatch = Il PID non corrisponde a quello del Dono Segreto. +System.String LEncGiftShinyMismatch = Il Dono Segreto non può essere Shiny. +System.String LEncGiftVersionNotDistributed = Il Dono Segreto non può essere ricevuto in questa versione di gioco. +System.String LEncInvalid = Impossibile trovare una corrispondenza per l'incontro nel gioco di origine. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Dono/Incontro statico valido. +System.String LEncStaticPIDShiny = L'Incontro statico non può essere shiny. +System.String LEncStaticRelearn = L'incontro statico non può avere la mossa ricordabile. +System.String LEncTradeChangedNickname = Il soprannome del Pokémon ottenuto con uno scambio in gioco è stato alterato. +System.String LEncTradeChangedOT = Il Nome dell'AO di un Pokémon ottenuto con uno scambio in gioco è stato alterato. +System.String LEncTradeIndexBad = Indice di scambio in gioco invalido? +System.String LEncTradeMatch = Scambio in gioco valido. +System.String LEncTradeUnchanged = Il nome dell'AO e il soprannome del Pokémon ottenuto con uno scambio in gioco sono validi. +System.String LEncTypeMatch = Il tipo di incontro corrisponde all'incontro. +System.String LEncTypeMismatch = il tipo di incontro non corrisponde all'incontro. +System.String LEncUnreleased = Evento non rilasciato ufficialmente. +System.String LEncUnreleasedEMewJP = L'evento di Mew è stato rilasciato solo in Giappone. +System.String LEncUnreleasedHoOArceus = Arceus dallo Spazio Origine. L'Evento non è mai stato rilasciato. +System.String LEncUnreleasedPtDarkrai = Darkrai dall'Isola Lunanuova non proveniente da Platino. L'Evento non è mai stato rilasciato. +System.String LEncUnreleasedPtShaymin = Shaymin dal Paradiso Fiore non proveniente da Platino. L'Evento non è mai stato rilasciato. +System.String LEReaderAmerica = Bacca da E-Reader Americano in un salvataggio Giapponese. +System.String LEReaderInvalid = Bacca E-Reader invalida. +System.String LEReaderJapan = Bacca da E-Reader Giapponese in un salvataggio Internazionale. +System.String LEvoInvalid = Evoluzione non valida (o i requisiti di livello/scambio non sono soddisfatti). +System.String LEvoTradeReq = Lo scambio in gioco {0} si sarebbe dovuto evolvere in {1}. +System.String LEvoTradeReqOutsider = L'outsider {0} si sarebbe dovuto evolvere in {1}. +System.String LEvoTradeRequired = L'evoluzione è specifica di una versione di gioco e richiede uno scambio. Il Pokémon deve avere un Handling Trainer. +System.String LFateful = Incontro mediante Evento Speciale in gioco. +System.String LFatefulGiftMissing = Evento Speciale senza corrispondenze. I dati per il Dono Segreto sono stati contribuiti? +System.String LFatefulInvalid = Evento Speciale non dovrebbe essere selezionato. +System.String LFatefulMissing = Il segnale di Evento Speciale in gioco non è presente. +System.String LFatefulMystery = Evento Speciale da Dono Segreto. +System.String LFatefulMysteryMissing = Il segnale di Evento Speciale deve essere presente per il Dono Segreto. +System.String LFavoriteMarkingUnavailable = Segnalino preferito non disponibile. +System.String LFormArgumentHigh = L'Argomento di forma è troppo grande per la forma attuale. +System.String LFormArgumentInvalid = L'Argomento di forma non è valido. +System.String LFormArgumentLow = L'Argomento di forma è troppo basso per la forma attuale. +System.String LFormArgumentNotAllowed = L'Argomento di forma non è disponibile per questo incontro. +System.String LFormArgumentValid = L'Argomento di Forma è valido. +System.String LFormBattle = La Forma non può esistere al di fuori di una battaglia. +System.String LFormEternal = Incontro per Fiore Eterno valido. +System.String LFormEternalInvalid = Incontro per Fiore Eterno non valido. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = La forma non può essere ottenuta nel gioco di origine. +System.String LFormInvalidNature = La forma non può avere la natura. +System.String LFormInvalidRange = Il conteggio della forma è fuori dall'indice. Valore previsto <= {0}, non {1}. +System.String LFormItem = Lo strumento tenuto corrisponde alla forma. +System.String LFormItemInvalid = Lo strumento tenuto non corrisponde alla forma. +System.String LFormParty = La forma non può esistere al di fuori della squadra. +System.String LFormPikachuCosplay = Solo Cosplay Pikachu può avere questa forma. +System.String LFormPikachuCosplayInvalid = Cosplay Pikachu non può avere la forma base. +System.String LFormPikachuEventInvalid = Pikachu Evento non può avere la forma base. +System.String LFormValid = La forma è valida. +System.String LFormVivillon = Il pattern di Vivillion è valido. +System.String LFormVivillonEventPre = Il pattern di Vivillion evento è in una pre-evoluzione. +System.String LFormVivillonInvalid = Il pattern di Vivillion non è valido. +System.String LFormVivillonNonNative = Il pattern di Vivillion non è nativo. +System.String LG1CatchRateChain = Il tasso di cattura non corrisponde a nessuna specie della catena evolutiva. +System.String LG1CatchRateEvo = Il tasso di cattura corrisponde la specie senza incontri. Previsto il tasso di cattura di una pre-evoluzione. +System.String LG1CatchRateItem = Il tasso di cattura non corrisponde ad un valido strumento tenuto nella seconda generazione. +System.String LG1CatchRateMatchPrevious = Il tasso di cattura corrisponde tutte le specie della catena evolutiva. +System.String LG1CatchRateMatchTradeback = Il tasso di cattura corrisponde ad un valido strumento tenuto nella seconda generazione. +System.String LG1CatchRateNone = Il tasso di cattura non corrisponde a nessuna specie della catena evolutiva o ad alcun valido strumento tenuto nella seconda generazione. +System.String LG1CharNick = Il soprannome da Gen1/2 utilizza caratteri proibiti. +System.String LG1CharOT = Il nome allenatore da Gen1/2 utilizza caratteri proibiti. +System.String LG1GBEncounter = Impossibile ottenere Incontri Speciali nei giochi Virtual Console. +System.String LG1MoveExclusive = Mossa esclusiva della prima generazione. Incompatibile con le mosse non-tradeback. +System.String LG1MoveLearnSameLevel = Mosse incompatibili. Imparate allo stesso livello in Rosso/Blu e Giallo. +System.String LG1MoveTradeback = Mossa uovo non-tradeback. Incompatibile con le mosse esclusive da Gen1. +System.String LG1OTEvent = Nome AO da evento RBG non corretto. +System.String LG1OTGender = AO Femmina da Gen1/2 è invalido. +System.String LG1Stadium = L'AO di Stadium è invalido. +System.String LG1StadiumInternational = L'AO da Stadium Internazionale è valido. +System.String LG1StadiumJapanese = L'AO da Stadium Giapponese è valido. +System.String LG1TradebackPreEvoMove = Mossa pre-evolutiva non-tradeback. Incompatibile con le mosse esclusive di Gen1. +System.String LG1Type1Fail = Tipo A invalido, non corrisponde al tipo specie. +System.String LG1Type2Fail = Tipo B invalido, non corrisponde al tipo specie. +System.String LG1TypeMatch1 = Tipo A valido, corrisponde al tipo specie. +System.String LG1TypeMatch2 = Tipo B valido, corrisponde al tipo specie. +System.String LG1TypeMatchPorygon = Porygon con tipo A e B valido. +System.String LG1TypePorygonFail = Porygon con tipo A e B invalido. Non corrisponde a nessuna possibile combinazione. +System.String LG1TypePorygonFail1 = Porygon con tipo A invalido. +System.String LG1TypePorygonFail2 = Porygon con tipo B invalido. +System.String LG2InvalidTilePark = Incontro da pesca al Parco Nazionale. La casella d'acqua non è raggiungibile. +System.String LG2InvalidTileR14 = Incontro da pesca nel Percorso 14 di Kanto. La casella d'acqua non è raggiungibile. +System.String LG2InvalidTileSafari = Incontro da pesca nella Zona Safari in Gen2. Zona irraggiungibile. +System.String LG2InvalidTileTreeID = Trovato un albero irraggiungibile per un incontro Bottintesta su Cristallo che corrisponde al OTID. +System.String LG2InvalidTileTreeNotFound = Impossibile trovare un incontro Bottintesta su Cristallo che corrisponda al OTID. +System.String LG2OTGender = AO di giochi Virtual Console ad eccezione di Cristallo non possono essere femmina. +System.String LG2TreeID = Trovato un albero per un incontro Bottintesta su Cristallo che corrisponde al OTID. +System.String LG3EReader = Incontro Ombra E-Reader non Giapponese. Evento non rilasciato. +System.String LG3OTGender = AO di Colosseum/XD non possono essere femmina. +System.String LG4InvalidTileR45Surf = Incontro da surf nel Percorso 45 di Johto, la casella d'acqua è irraggiungibile. +System.String LG5ID_N = Il Nome/TID/SID di N non è corretto. +System.String LG5IVAll30 = Tutti gli IV dei Pokémon di N dovrebbero essere 30. +System.String LG5OTGenderN = I Pokémon di N devono avere il sesso dell'AO maschio. +System.String LG5PIDShinyGrotto = Gli incontri del Meandro Nascosto non possono essere Shiny. +System.String LG5PIDShinyN = I Pokémon di N non possono essere Shiny. +System.String LG5SparkleInvalid = Il segnale speciale di luccichio dei Pokémon di N non dovrebbe essere ablitato. +System.String LG5SparkleRequired = Segnale speciale di luccichio dei Pokémon di N assente. +System.String LGanbaruStatTooHigh = Uno o più valori Ganbaru è oltre il limite naturale di (10 - IV bonus). +System.String LGenderInvalidNone = I Pokémon senza sesso non dovrebbero avere un Sesso. +System.String LGeoBadOrder = GeoLocation Memory: Gap/Blank present. +System.String LGeoHardwareInvalid = Geolocation: La nazione non è disponibile nel 3DS. +System.String LGeoHardwareRange = Regione della console non valida. +System.String LGeoHardwareValid = Geolocation: la nazione è disponibile nel 3DS. +System.String LGeoMemoryMissing = GeoLocation Memory: le memorie dovrebbero essere presenti. +System.String LGeoNoCountryHT = GeoLocation Memory: HT Name presente ma senza una nazione. +System.String LGeoNoRegion = GeoLocation Memory: regione senza nazione. +System.String LHyperPerfectAll = Impossibile usare l'Allenamento Pro su un Pokémon con IV perfetti. +System.String LHyperPerfectOne = Impossibile usare l'Allenamento Pro un IV perfetto. +System.String LHyperPerfectUnavailable = L'Allenamento Pro non è possibile su alcun IV. +System.String LHyperTooLow_0 = Impossibile usare l'Allenamento Pro su un Pokémon che non sia al livello {0}. +System.String LItemEgg = Le Uova non possono tenere strumenti. +System.String LItemUnreleased = Lo strumento tenuto non è stato rilasciato. +System.String LIVAllEqual_0 = Tutti gli IV sono {0}. +System.String LIVF_COUNT0_31 = Dovrebbe avere almeno {0} IVs = 31. +System.String LIVNotCorrect = Gli IV non combaciano con i requisiti dell'incontro. +System.String LLevelEXPThreshold = L'Esperienza è compatibile con il treshold del livello. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = Il livello attuale è al di sotto del livello di incontro. +System.String LLevelMetGift = Il livello di incontro non corrisponde al Dono Segreto. +System.String LLevelMetGiftFail = Il livello attuale è al di sotto del livello del Dono Segreto. +System.String LLevelMetSane = Il livello attuale non è al di sotto del livello di incontro. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} Memory: {0} non lo ha catturato. +System.String LMemoryArgBadHatch = {0} Memory: {0} non lo ha schiuso. +System.String LMemoryArgBadHT = Memory: Non può avere memorie di Handling Trainer da Uovo. +System.String LMemoryArgBadID = {0} Memory: Impossibile ottenere la Memoria nella versione {0}. +System.String LMemoryArgBadItem = {0} Memory: La specie non può tenere questo oggetto. +System.String LMemoryArgBadLocation = {0} Memory: Impossibile avere il Luogo nella versione {0}. +System.String LMemoryArgBadMove = {0} Memory: La specie non può imparare questa mossa. +System.String LMemoryArgBadOTEgg = {0} Memory: Scambio in Link non è valida come prima memoria. +System.String LMemoryArgBadSpecies = {0} Memory: Impossibile catturare questa specie nel gioco. +System.String LMemoryArgSpecies = {0} Memory: La specie può essere catturata nel gioco. +System.String LMemoryCleared = Memory: Non ripulita correttamente. +System.String LMemoryF_0_Valid = {0} La memoria è valida. +System.String LMemoryFeelInvalid = {0} Memory: Sentimenti invalidi. +System.String LMemoryHTFlagInvalid = Untraded: L'Attuale Trainer non dovrebbe essere l'Handling Trainer. +System.String LMemoryHTGender = HT Gender invalido: {0} +System.String LMemoryHTLanguage = HT Language mancante. +System.String LMemoryIndexArgHT = Dovrebbe avere un valore HT Memory TextVar (d qualche parte). +System.String LMemoryIndexFeel = {0} Memory: il Sentimento dovrebbe essere di indice {1}. +System.String LMemoryIndexFeelHT09 = Dovrebbe avere un feeling per HT di 0-9. +System.String LMemoryIndexID = {0} Memory: Dovrebbe essere di indice {1}. +System.String LMemoryIndexIntensity = {0} Memory: L'Intensità dovrebbe essere di indice {1}. +System.String LMemoryIndexIntensityHT1 = Dovrebbe avere un Intensità per l'HT (primo). +System.String LMemoryIndexIntensityMin = {0} Memory: l'Intensità dovrebbe essere di almeno {1}. +System.String LMemoryIndexLinkHT = Dovrebbe avere una memoria di un HT per Scambio in Link. +System.String LMemoryIndexVar = {0} Memory: TextVar dovrebbe essere di indice {1}. +System.String LMemoryMissingHT = Memory: Handling Trainer Memory mancante. +System.String LMemoryMissingOT = Memory: Original Trainer Memory mancante. +System.String LMemorySocialTooHigh_0 = Social Stat dovrebbe essere <= {0} +System.String LMemorySocialZero = Social Stat dovrebbe essere zero. +System.String LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection dovrebbe essere 0. +System.String LMemoryStatAffectionOT0 = l'Affetto per l'AO dovrebbe essere 0. +System.String LMemoryStatEnjoyment = Enjoyment dovrebbe essere {0}. +System.String LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship dovrebbe essere 0. +System.String LMemoryStatFriendshipOTBaseEvent = L'Amicizia all'AO evento non corrisponde con l'amicizia base. +System.String LMemoryStatFullness = Fullness dovrebbe essere {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Mossa Ereditata. Incompatibile con {1} mossa ereditata. +System.String LMoveEggIncompatible = Mossa uovo. Incompatibile con mosse uovo evento. +System.String LMoveEggIncompatibleEvent = Mossa uovo evento. Incompatibile con mosse uovo normali. +System.String LMoveEggInherited = Mossa uovo ereditata. +System.String LMoveEggInheritedTutor = Mossa tutor ereditata. +System.String LMoveEggInvalid = Non è una mossa uovo prevista. +System.String LMoveEggInvalidEvent = Mossa uovo. Non prevista in un uovo evento. +System.String LMoveEggInvalidEventLevelUp = Mossa ereditata acquisita con aumento di livello. Non prevista in un uovo evento. +System.String LMoveEggInvalidEventLevelUpGift = Mossa ereditata acquisita con aumento di livelllo. Non prevista in un uovo donato. +System.String LMoveEggInvalidEventTMHM = Mossa MT/MN ereditata. Non prevista in un uovo evento. +System.String LMoveEggInvalidEventTutor = Mossa totor ereditata. Non prevista in un uovo evento. +System.String LMoveEggLevelUp = Mossa ereditata acquisita tramite aumento di livello. +System.String LMoveEggMissing = Mossa uovo evento mancante. +System.String LMoveEggMoveGift = Mossa uovo. Non prevista in un uovo donato. +System.String LMoveEggTMHM = Mossa MT/MN ereditata. +System.String LMoveEventEggLevelUp = Mossa ereditata acquisita tramite aumento di livello. Incompatibile con mosse uovo evento. +System.String LMoveEvoFCombination_0 = la combinazione di mosse non è compatibile con l'evoluzione di {0}. +System.String LMoveEvoFHigher = Mosse evolutive incompatibili. {1} mossa imparata ad un livello pù alto delle altre {0} mosse. +System.String LMoveEvoFLower = Mosse evolutive non compatibili. {0} mossa imparata ad un livello più basso delle altre {1} mosse. +System.String LMoveFDefault_0 = Mossa base in generazione {0}. +System.String LMoveFExpect_0 = Previste le seguenti mosse: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Acquisita per aumento di livello in gen {0}. +System.String LMoveFTMHM_0 = Acquisita tramite MT/MN in gen {0}. +System.String LMoveFTutor_0 = Insegnata da un Tutor Mosse in gen {0}. +System.String LMoveKeldeoMismatch = Mossa/Forma di Keldeo non corrispondente. +System.String LMoveNincada = Solo una mossa di Ninjask è concessa. +System.String LMoveNincadaEvo = Acquisita evolvendo Nincada in Ninjask. +System.String LMoveNincadaEvoF_0 = Acquisita evolvendo Nincada in Ninjask in gen {0}. +System.String LMovePPTooHigh_0 = I PP della mossa {0} sono oltre il massimo consentito. +System.String LMovePPUpsTooHigh_0 = I PP Up della mossa {0} sono oltre il massimo consentito. +System.String LMoveRelearnDexNav = Non è una mossa da Navidex prevista. +System.String LMoveRelearnEgg = Mossa uovo base. +System.String LMoveRelearnEggMissing = Mossa uovo base mancante. +System.String LMoveRelearnFExpect_0 = Previste le seguenti mosse ricordabili: {0} ({1}) +System.String LMoveRelearnFMiss_0 = Mosse ricordabili mancanti: {0} +System.String LMoveRelearnInvalid = Non è una mossa ricordabile prevista. +System.String LMoveRelearnNone = Non è prevista una mossa ricordabile nello slot. +System.String LMoveRelearnUnderground = Non è una mossa uovo sotterranea prevista. +System.String LMoveShopAlphaMoveShouldBeMastered = La Mossa Alfa dovrebbe essere registrata come masterata. +System.String LMoveShopAlphaMoveShouldBeOther = L'incontro Alfa non può essere trovato con questa mossa Alfa. +System.String LMoveShopAlphaMoveShouldBeZero = Solo gli Alfa possono avere una mossa Alfa. +System.String LMoveShopMasterInvalid_0 = Impossibile masterare manualmente {0}: non è permesso masterare. +System.String LMoveShopMasterNotLearned_0 = Impossibile masterare manualmente {0}: non in possibili mosse acquisite per aumento di livello. +System.String LMoveShopPurchaseInvalid_0 = Impossibile acquistare {0} dal negozio mosse. +System.String LMoveSourceDefault = Mossa base. +System.String LMoveSourceDuplicate = Mossa duplicata. +System.String LMoveSourceEgg = Mossa uovo. +System.String LMoveSourceEggEvent = Mossa uovo evento. +System.String LMoveSourceEmpty = Mossa vuota. +System.String LMoveSourceInvalid = Mossa invalida. +System.String LMoveSourceInvalidSketch = Mossa invalida (Schizzo). +System.String LMoveSourceLevelUp = Acquisita per aumento di livello. +System.String LMoveSourceRelearn = Mossa ricordabile. +System.String LMoveSourceShared = Shared Non-Relearn Move. +System.String LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. +System.String LMoveSourceSpecial = Special Non-Relearn Move. +System.String LMoveSourceTMHM = Acquisita tramite MT/MN. +System.String LMoveSourceTR = Record per Disco Tecnico non aspettato: {0} +System.String LMoveSourceTutor = Insegnata dal Tutor Mosse. +System.String LNickFlagEggNo = L'Uovo non deve avere soprannomi. +System.String LNickFlagEggYes = L'Egg deve avere il soprannome. +System.String LNickInvalidChar = Non può avere questo soprannome. +System.String LNickLengthLong = Soprannome troppo lungo. +System.String LNickLengthShort = Il soprannome è vuoto. +System.String LNickMatchLanguage = Il soprannome è uguale alla specie. +System.String LNickMatchLanguageEgg = L'Uovo corrisponde al nome in lingua dell'Uovo. +System.String LNickMatchLanguageEggFail = L'uovo non corrisponde al nome in lingua dell'Uovo. +System.String LNickMatchLanguageFail = Il soprannome non corrisponde alla specie. +System.String LNickMatchLanguageFlag = Soprannome segnalato, corrisponde al nome della specie. +System.String LNickMatchNoOthers = Il soprannome non corrisponde al nome di un altra specie. +System.String LNickMatchNoOthersFail = Il soprannome corrisponde al nome di un'altra specie (+language). +System.String LOT_IDEqual = TID e SID sono uguali. +System.String LOT_IDInvalid = la combinazione di TID e SID non è possibile. +System.String LOT_IDs0 = TID e SID sono 0. +System.String LOT_SID0 = SID è zero. +System.String LOT_SID0Invalid = SID dovrebbe essere 0. +System.String LOT_TID0 = TID è zero. +System.String LOTLanguage = Language ID dovrebbe essere {0}, non {1}. +System.String LOTLong = Nome AO troppo lungo. +System.String LOTShort = Nome AO troppo corto. +System.String LOTSuspicious = Dettagli dell'AO sospetti. +System.String LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. +System.String LPIDEncryptZero = Encryption Constant non impostata. +System.String LPIDEqualsEC = Encryption Constant uguale al PID. +System.String LPIDGenderMatch = Il sesso combacia con il PID. +System.String LPIDGenderMismatch = Il sesso non combacia con il PID. +System.String LPIDNatureMatch = La Natura combacia il PID. +System.String LPIDNatureMismatch = La Natura non combacia con il PID. +System.String LPIDTypeMismatch = Encounter Type PID mismatch. +System.String LPIDZero = Il PID non è impostato. +System.String LPokerusDaysTooHigh_0 = I giorni di Pokérus rimanenti sono troppi, previsto <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} non può essere ottenuta. +System.String LRibbonAllValid = Tutti i fiocchi sono stati contabilizzati. +System.String LRibbonEgg = Non può avere fiocchi da Uovo. +System.String LRibbonFInvalid_0 = Fiocchi invalidi: +System.String LRibbonFMissing_0 = Fiocchi mancanti: +System.String LRibbonMarkingAffixedF_0 = Fioccho o Emblema fissato invalido: {0} +System.String LRibbonMarkingFInvalid_0 = Emblema invalido: {0} +System.String LStatAlphaInvalid = Alfa non corrispondente. +System.String LStatBattleVersionInvalid = la Versione Lotta non è in un range accettabile. +System.String LStatDynamaxInvalid = Il Livello Dynamax non è in un range accettabile. +System.String LStatGigantamaxInvalid = Gigamax non corrispondente. +System.String LStatGigantamaxValid = Gigamax ottenuto con la Zuppamax. +System.String LStatIncorrectCP = I PL calcolati non combaciano con il valore nei dati. +System.String LStatIncorrectHeight = L'Altezza calcolata non corrisponde con il valore nei dati. +System.String LStatIncorrectHeightCopy = Copy Height non corrisponde il valore originale. +System.String LStatIncorrectHeightValue = L'Altezza non combacia con il valore previsto. +System.String LStatIncorrectWeight = Il Peso calcolato non corrisponde con il valore nei dati. +System.String LStatIncorrectWeightValue = Il Peso non cirrsponde con il valore previsto. +System.String LStatInvalidHeightWeight = Il valore di Altezza e Peso è statisticamente improbabile. +System.String LStatNatureInvalid = La Natura delle Statistiche non è in un range accettabile. +System.String LStatNobleInvalid = Sgnale Nobile non corrispondente. +System.String LSuperComplete = Segnale di completamento del Super Allenamento non corrispondente. +System.String LSuperDistro = Le missioni evento per il Super Allenamento non sono state rilasciate. +System.String LSuperEgg = Un Uovo non può partecipare al Super Allenamento. +System.String LSuperNoComplete = Non può aver completato il Super Allenamento per l'origine. +System.String LSuperNoUnlocked = Non può avere il segnale di Sblocco Super Allenamento per l'origine. +System.String LSuperUnavailable = Le missioni di Super Allenamento non sono disponibili nei giochi visitati. +System.String LSuperUnused = Il segnale inutilizzato per il Super Allenamento è stato abilitato. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = Il Pokémon trasferito da una generazione passata non è stato trasferito correttamente, o non è compatibile con questo salvataggio. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = Impossibile tarsferire Uova tra Generazioni diverse. +System.String LTransferEggLocationTransporter = Luogo di incontro non valido, previsto Pokétrasporto. +System.String LTransferEggMetLevel = Livello di incontro non valido per il trasferimento. +System.String LTransferFlagIllegal = Segnato come Illegale dal gioco (abuso di glitch o clonazione). +System.String LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen (l'Allenatore Originale non può essere l'Allenatore Corrente). +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Luogo di incontro invalido, previsto Pokétrasporto o Corona. +System.String LTransferMetLocation = Luogo di trasferimento non valido. +System.String LTransferMove = Mossa di trasferimento non valida. +System.String LTransferMoveG4HM = Scacciabruma e Mulinello. Una delle due mosse deve essere rimossa prima di poter avviare il trasferimento verso Gen 5. +System.String LTransferMoveHM = MN di {0} Gen. Deve essere rimossa prima di poter avviare il trasferimento verso Gen {1}. +System.String LTransferNature = Natura non valida per il processo di trasferimento. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = L'origine {0} non può esistere nell'attuale ({1}) file di salvataggio. +System.String LTransferPIDECBitFlip = Il PID dovrebbe essere uguale alla EC [con i bit superiori flippati]! +System.String LTransferPIDECEquals = Il PID dovrebbe essere uguale alla EC! +System.String LTransferPIDECXor = La Encryption Constant corrisponde ad uno shinyxored PID. +System.String LTransferTrackerMissing = Il codice di tracciamento di Pokémon Home è mancante. +System.String LTransferTrackerShouldBeZero = Il codice di tracciamento di Pokémon Home dovrebbe essere 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt index 028402757..e2c8b224d 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ja.txt @@ -1,399 +1,406 @@ -L_AError = 内部エラー -L_ALegal = 正規 -L_AnalysisUnavailable = このポケモンは分析できません -L_AValid = 有効 -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} Move {1}: {2} -L_F0_RM_1_2 = {0} Relearn Move {1}: {2} -L_FEncounterType_0 = エンカウンタータイプ: {0} -L_FOriginSeed_0 = Origin Seed: {0} -L_FPIDType_0 = 性格値: {0} -L_SFishy = Fishy -L_SInvalid = エラー -L_SNotImplemented = 実装されていません -L_SValid = 有効 -L_XEnigmaBerry_0 = {0} Berry -L_XHT = HT -L_XKorean = Korean -L_XKoreanNon = Non-Korean -L_XMatches0_1 = Matches: {0} {1} -L_XOT = OT -L_XWurmpleEvo_0 = Wurmple Evolution: {0} -LAbilityCapsuleUsed = Ability available with Ability Capsule. -LAbilityFlag = Ability matches ability number. -LAbilityHiddenFail = 隠れ特性がエンカウントタイプと一致しません -LAbilityHiddenUnavailable = 隠れ特性は無効です -LAbilityMismatch = 特性がエンカウントタイプと一致しません -LAbilityMismatch3 = Ability does not match Generation 3 species ability. -LAbilityMismatchFlag = Ability does not match ability number. -LAbilityMismatchGift = 特性がふしぎなおくりものデータベースと一致しません -LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. -LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. -LAbilityMismatchPID = 特性と性格値が一致しません。性格値を再生成してください。 -LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. -LAbilityPatchUsed = Ability available with Ability Patch. -LAbilityUnexpected = Ability is not valid for species/form. -LAwakenedCap = Individual AV cannot be greater than {0}. -LAwakenedShouldBeValue = Individual AV ({1}) should be greater than {0}. -LBallAbility = 隠れ特性と捕獲ボールが一致しません -LBallEggCherish = プレシャルボールは遺伝できません -LBallEggMaster = マスターボールは遺伝できません -LBallEnc = Correct ball for encounter type. -LBallEncMismatch = このボールでは捕獲できません -LBallHeavy = ヘビーボールでの捕獲確率はゼロに近いです -LBallNone = No check satisfied, assuming illegal. -LBallSpecies = このボールでは捕獲できません -LBallSpeciesPass = Ball possible for species. -LBallUnavailable = Ball unobtainable in origin Generation. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = Contest Stats should be 0. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = Met Date is outside of distribution window. -LEffort2Remaining = 2 EVs remaining. -LEffortAbove252 = EVs cannot go above 252. -LEffortAbove510 = EV total cannot be above 510. -LEffortAllEqual = EVs are all equal. -LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. -LEffortEgg = Eggs cannot receive EVs. -LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. -LEffortShouldBeZero = Cannot receive EVs. -LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. -LEggContest = Cannot increase Contest Stats of an Egg. -LEggEXP = Eggs cannot receive experience. -LEggFMetLevel_0 = Invalid Met Level, expected {0}. -LEggHatchCycles = 孵化サイクルが無効です -LEggLocation = Able to hatch an Egg at Met Location. -LEggLocationInvalid = Can't hatch an Egg at Met Location. -LEggLocationNone = Invalid Egg Location, expected none. -LEggLocationPalPark = Invalid Met Location, expected Pal Park. -LEggLocationTrade = Able to hatch a traded Egg at Met Location. -LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. -LEggMetLocationFail = Can't obtain Egg from Egg Location. -LEggNature = Eggs cannot have their Stat Nature changed. -LEggPokeathlon = Eggs cannot have Pokéathlon stats. -LEggPokerus = Eggs can not be infected with Pokérus. -LEggPP = タマゴのPPは最大値に設定してください -LEggPPUp = タマゴにポイントアップは使用できません -LEggRelearnFlags = Expected no Relearn Move Flags. -LEggShinyLeaf = タマゴに「かがやくはっぱ」「おうかん」は設定できません -LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. -LEggSpecies = Can't obtain Egg for this species. -LEggUnhatched = Valid un-hatched Egg. -LEncCondition = Valid Wild Encounter at location. -LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. -LEncConditionBadSpecies = Species does not exist in origin game. -LEncConditionBlack = Valid Wild Encounter at location (Black Flute). -LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). -LEncConditionDexNav = Valid Wild Encounter at location (DexNav). -LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). -LEncConditionWhite = Valid Wild Encounter at location (White Flute). -LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). -LEncGift = Unable to match a gift Egg encounter from origin game. -LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. -LEncGiftIVMismatch = IVs do not match Mystery Gift Data. -LEncGiftNicknamed = Event gift has been nicknamed. -LEncGiftNotFound = ふしぎなおくりものデータベースと一致しません -LEncGiftPIDMismatch = 性格値固定のため不一致 (ふしぎなおくりもの) -LEncGiftShinyMismatch = 色違い不一致 (ふしぎなおくりもの) -LEncGiftVersionNotDistributed = このバージョンではふしぎなおくりものを受け取れません -LEncInvalid = エンカウントエラー -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = Valid gift/static encounter. -LEncStaticPIDShiny = Static Encounter shiny mismatch. -LEncStaticRelearn = Static encounter relearn move mismatch. -LEncTradeChangedNickname = In-game Trade Nickname has been altered. -LEncTradeChangedOT = In-game Trade OT has been altered. -LEncTradeIndexBad = In-game Trade invalid index? -LEncTradeMatch = Valid in-game trade. -LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. -LEncTypeMatch = Encounter Type matches encounter. -LEncTypeMismatch = Encounter Type does not match encounter. -LEncUnreleased = 未解禁イベント -LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. -LEncUnreleasedHoOArceus = 「はじまりのま」のアルセウスイベントは解禁されていません -LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. -LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. -LEReaderAmerica = American E-Reader Berry in Japanese save file. -LEReaderInvalid = Invalid E-Reader Berry. -LEReaderJapan = Japanese E-Reader Berry in international save file. -LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). -LEvoTradeReq = In-game trade {0} should have evolved into {1}. -LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. -LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. -LFateful = Special in-game Fateful Encounter. -LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? -LFatefulInvalid = 「うんめいてきなであい」のチェックを外してください -LFatefulMissing = Special in-game Fateful Encounter flag missing. -LFatefulMystery = うんめいてきなであい -LFatefulMysteryMissing = 「うんめいてきなであい」にチェックを入れてください -LFavoriteMarkingUnavailable = Favorite Marking is not available. -LFormArgumentHigh = Form argument is too high for current form. -LFormArgumentInvalid = Form argument is not valid. -LFormArgumentLow = Form argument is too low for current form. -LFormArgumentNotAllowed = Form argument is not allowed for this encounter. -LFormArgumentValid = Form argument is valid. -LFormBattle = このフォルムはバトル中以外では選択できません -LFormEternal = Valid Eternal Flower encounter. -LFormEternalInvalid = Invalid Eternal Flower encounter. -LFormInvalidGame = Form cannot be obtained in origin game. -LFormInvalidNature = Form cannot have this nature. -LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. -LFormItem = 持ち物とフォルムは一致しています -LFormItemInvalid = 持ち物とフォルムが一致しません -LFormParty = Form cannot exist outside of Party. -LFormPikachuCosplay = Only Cosplay Pikachu can have this form. -LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. -LFormPikachuEventInvalid = Event Pikachu cannot have the default form. -LFormValid = Form is Valid. -LFormVivillon = Valid Vivillon pattern. -LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. -LFormVivillonInvalid = Invalid Vivillon pattern. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. -LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. -LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. -LG1CatchRateMatchPrevious = Catch Rate matches any species from Pokémon evolution chain. -LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. -LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. -LG1CharNick = 第1世代、第2世代では使用できない文字がニックネームに含まれています -LG1CharOT = 第1世代、第2世代では使用できない文字がトレーナー名に含まれています -LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. -LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. -LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. -LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. -LG1OTEvent = Incorrect RBY event OT Name. -LG1OTGender = 第1世代、第2世代では女性トレーナーは選択できません -LG1Stadium = Incorrect Stadium OT. -LG1StadiumInternational = Valid International Stadium OT. -LG1StadiumJapanese = Valid Japanese Stadium OT. -LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. -LG1Type1Fail = Invalid Type A, does not match species type. -LG1Type2Fail = Invalid Type B, does not match species type. -LG1TypeMatch1 = Valid Type A, matches species type. -LG1TypeMatch2 = Valid Type B, matches species type. -LG1TypeMatchPorygon = Porygon with valid Type A and B values. -LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. -LG1TypePorygonFail1 = Porygon with invalid Type A value. -LG1TypePorygonFail2 = Porygon with invalid Type B value. -LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. -LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. -LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. -LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. -LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. -LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. -LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. -LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. -LG3OTGender = 「ポケモンコロシアム」「ポケモンXD」では女性トレーナーは選択できません -LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. -LG5ID_N = The Name/TID/SID of N is incorrect. -LG5IVAll30 = All IVs of N's Pokémon should be 30. -LG5OTGenderN = N's Pokémon must have a male OT gender. -LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. -LG5PIDShinyN = Nのポケモンは色違いにはなりえません -LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. -LG5SparkleRequired = Special in-game N's Sparkle flag missing. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = Genderless Pokémon should not have a gender. -LGeoBadOrder = GeoLocation Memory: Gap/Blank present. -LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. -LGeoHardwareRange = Invalid Console Region. -LGeoHardwareValid = Geolocation: Country is in 3DS region. -LGeoMemoryMissing = GeoLocation Memory: Memories should be present. -LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. -LGeoNoRegion = GeoLocation Memory: Region without Country. -LHyperBelow100 = 王冠を使用するにはレベル100でなければなりません -LHyperPerfectAll = 全ての個体値は31のため王冠は使用できません -LHyperPerfectOne = 個体値31には王冠は使用できません -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = タマゴはアイテムを持てません -LItemUnreleased = この持ち物は解禁されていません -LIVAllEqual_0 = All IVs are {0}. -LIVF_COUNT0_31 = Should have at least {0} IVs = 31. -LIVNotCorrect = IVs do not match encounter requirements. -LLevelEXPThreshold = Current experience matches level threshold. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = 現在のレベルが出会ったレベルより低いです -LLevelMetGift = ふしぎなおくりもので出会ったレベルと一致しません -LLevelMetGiftFail = Current Level below Mystery Gift level. -LLevelMetSane = Current level is not below met level. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} Memory: {0} did not catch this. -LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. -LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. -LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. -LMemoryArgBadItem = {0} Memory: Species can't hold this item. -LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. -LMemoryArgBadMove = {0} Memory: Species can't learn this move. -LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. -LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. -LMemoryArgSpecies = {0} Memory: Species can be captured in game. -LMemoryCleared = Memory: Not cleared properly. -LMemoryF_0_Valid = {0} Memory is valid. -LMemoryFeelInvalid = {0} Memory: Invalid Feeling. -LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. -LMemoryHTGender = HT Gender invalid: {0} -LMemoryHTLanguage = HT Language is missing. -LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). -LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. -LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. -LMemoryIndexID = {0} Memory: Should be index {1}. -LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. -LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). -LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. -LMemoryIndexLinkHT = Should have a Link Trade HT Memory. -LMemoryIndexVar = {0} Memory: TextVar should be index {1}. -LMemoryMissingHT = Memory: Handling Trainer Memory missing. -LMemoryMissingOT = Memory: Original Trainer Memory missing. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. -LMemoryStatAffectionOT0 = OT Affection should be 0. -LMemoryStatEnjoyment = Enjoyment should be {0}. -LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. -LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. -LMemoryStatFullness = Fullness should be {0}. -LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. -LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. -LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. -LMoveEggInherited = Inherited Egg move. -LMoveEggInheritedTutor = Inherited tutor move. -LMoveEggInvalid = Not an expected Egg move. -LMoveEggInvalidEvent = Egg Move.Not expected in an event Egg. -LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up.Not expected in an event Egg. -LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. -LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. -LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. -LMoveEggLevelUp = Inherited move learned by Level-up. -LMoveEggMissing = Event Egg move missing. -LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. -LMoveEggTMHM = Inherited TM/HM move. -LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. -LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. -LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. -LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. -LMoveFDefault_0 = Default move in Generation {0}. -LMoveFExpect_0 = Expected the following Moves: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. -LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. -LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. -LMoveKeldeoMismatch = Keldeo Move/Form mismatch. -LMoveNincada = Only one Ninjask move allowed. -LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. -LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. -LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = Not an expected DexNav move. -LMoveRelearnEgg = 遺伝技 -LMoveRelearnEggMissing = ベースの遺伝技を設定してください -LMoveRelearnFExpect_0 = 次の技のいずれかを遺伝技に設定してください: {0} ({1}) -LMoveRelearnFMiss_0 = 通常では覚えられません: {0} -LMoveRelearnInvalid = Not an expected Relearnable Move. -LMoveRelearnNone = 遺伝技が設定されていません -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = Default move. -LMoveSourceDuplicate = Duplicate Move. -LMoveSourceEgg = Egg Move. -LMoveSourceEggEvent = Event Egg Move. -LMoveSourceEmpty = 技が設定されていません -LMoveSourceInvalid = この技は習得できません -LMoveSourceInvalidSketch = この技は習得できません(スケッチ) -LMoveSourceLevelUp = Learned by Level-up. -LMoveSourceRelearn = Relearnable Move. -LMoveSourceShared = Shared Non-Relearn Move. -LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. -LMoveSourceSpecial = Special Non-Relearn Move. -LMoveSourceTMHM = Learned by TM/HM. -LMoveSourceTR = Unexpected Technical Record Learned flag: {0} -LMoveSourceTutor = Learned by Move Tutor. -LNickFlagEggNo = タマゴには必ずニックネームを設定してください -LNickFlagEggYes = Egg must be nicknamed. -LNickInvalidChar = Cannot be given this Nickname. -LNickLengthLong = ニックネーム文字数が超過しています -LNickLengthShort = ニックネームが未設定です -LNickMatchLanguage = Nickname matches species name. -LNickMatchLanguageEgg = タマゴのニックネームと言語設定が一致しません -LNickMatchLanguageEggFail = Egg name does not match language Egg name. -LNickMatchLanguageFail = Nickname does not match species name. -LNickMatchLanguageFlag = Nickname flagged, matches species name. -LNickMatchNoOthers = Nickname does not match another species name. -LNickMatchNoOthersFail = Nickname matches another species name (+language). -LOT_IDEqual = TID and SID are equal. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = TID and SID are 0. -LOT_SID0 = SID is zero. -LOT_SID0Invalid = 裏IDは「00000」でなければなりません -LOT_TID0 = TID is zero. -LOTLanguage = Language ID should be {0}, not {1}. -LOTLong = トレーナー名の文字数が超過しています -LOTShort = トレーナー名が空白です -LOTSuspicious = Suspicious Original Trainer details. -LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. -LPIDEncryptZero = Encryption Constant is not set. -LPIDEqualsEC = Encryption Constant matches PID. -LPIDGenderMatch = Gender matches PID. -LPIDGenderMismatch = 性別と性格値が一致しません -LPIDNatureMatch = 性格と性格値は一致しています -LPIDNatureMismatch = 性格と性格値が一致しません -LPIDTypeMismatch = エンカウントタイプと性格値が一致しません -LPIDZero = PID is not set. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = All ribbons accounted for. -LRibbonEgg = タマゴにリボンは設定できません -LRibbonFInvalid_0 = 無効なリボンが設定されています: -LRibbonFMissing_0 = 次のリボンが不足しています: -LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} -LRibbonMarkingFInvalid_0 = Invalid Marking: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = Battle Version is not within the expected range. -LStatDynamaxInvalid = Dynamax Level is not within the expected range. -LStatGigantamaxInvalid = Gigantamax Flag mismatch. -LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. -LStatIncorrectCP = Calculated CP does not match stored value. -LStatIncorrectHeight = Calculated Height does not match stored value. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = Calculated Weight does not match stored value. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = Stat Nature is not within the expected range. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = Super Training complete flag mismatch. -LSuperDistro = Distribution Super Training missions are not released. -LSuperEgg = Can't Super Train an Egg. -LSuperNoComplete = Can't have active Super Training complete flag for origins. -LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. -LSuperUnavailable = Super Training missions are not available in games visited. -LSuperUnused = Unused Super Training Flag is flagged. -LTransferBad = Can't obtain Species from Virtual Console games. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = Can't transfer Eggs between Generations. -LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. -LTransferEggMetLevel = Invalid Met Level for transfer. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. -LTransferMetLocation = Invalid Transfer Met Location. -LTransferMove = Incompatible transfer move. -LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. -LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. -LTransferNature = Invalid Nature for transfer Experience. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. -LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! -LTransferPIDECEquals = PID should be equal to EC! -LTransferPIDECXor = Encryption Constant matches shinyxored PID. -LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. -LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. +System.String L_AError = 内部エラー +System.String L_ALegal = 正規 +System.String L_AnalysisUnavailable = このポケモンは分析できません +System.String L_AValid = 有効 +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} Move {1}: {2} +System.String L_F0_RM_1_2 = {0} Relearn Move {1}: {2} +System.String L_FEncounterType_0 = エンカウンタータイプ: {0} +System.String L_FOriginSeed_0 = Origin Seed: {0} +System.String L_FPIDType_0 = 性格値: {0} +System.String L_SFishy = Fishy +System.String L_SInvalid = エラー +System.String L_SNotImplemented = 実装されていません +System.String L_SValid = 有効 +System.String L_XEnigmaBerry_0 = {0} Berry +System.String L_XHT = HT +System.String L_XKorean = Korean +System.String L_XKoreanNon = Non-Korean +System.String L_XMatches0_1 = Matches: {0} {1} +System.String L_XOT = OT +System.String L_XWurmpleEvo_0 = Wurmple Evolution: {0} +System.String LAbilityCapsuleUsed = Ability available with Ability Capsule. +System.String LAbilityFlag = Ability matches ability number. +System.String LAbilityHiddenFail = 隠れ特性がエンカウントタイプと一致しません +System.String LAbilityHiddenUnavailable = 隠れ特性は無効です +System.String LAbilityMismatch = 特性がエンカウントタイプと一致しません +System.String LAbilityMismatch3 = Ability does not match Generation 3 species ability. +System.String LAbilityMismatchFlag = Ability does not match ability number. +System.String LAbilityMismatchGift = 特性がふしぎなおくりものデータベースと一致しません +System.String LAbilityMismatchGrotto = Hidden Grotto captures should have Hidden Ability. +System.String LAbilityMismatchHordeSafari = Hidden Ability on non-horde/friend safari wild encounter. +System.String LAbilityMismatchPID = 特性と性格値が一致しません。性格値を再生成してください。 +System.String LAbilityMismatchSOS = Hidden Ability on non-SOS wild encounter. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Ability available with Ability Patch. +System.String LAbilityUnexpected = Ability is not valid for species/form. +System.String LAwakenedCap = Individual AV cannot be greater than {0}. +System.String LAwakenedShouldBeValue = Individual AV ({1}) should be greater than {0}. +System.String LBallAbility = 隠れ特性と捕獲ボールが一致しません +System.String LBallEggCherish = プレシャルボールは遺伝できません +System.String LBallEggMaster = マスターボールは遺伝できません +System.String LBallEnc = Correct ball for encounter type. +System.String LBallEncMismatch = このボールでは捕獲できません +System.String LBallHeavy = ヘビーボールでの捕獲確率はゼロに近いです +System.String LBallNone = No check satisfied, assuming illegal. +System.String LBallSpecies = このボールでは捕獲できません +System.String LBallSpeciesPass = Ball possible for species. +System.String LBallUnavailable = Ball unobtainable in origin Generation. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = Contest Stats should be 0. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = Met Date is outside of distribution window. +System.String LEffort2Remaining = 2 EVs remaining. +System.String LEffortAbove252 = EVs cannot go above 252. +System.String LEffortAbove510 = EV total cannot be above 510. +System.String LEffortAllEqual = EVs are all equal. +System.String LEffortCap100 = Individual EV for a level 100 encounter in Generation 4 cannot be greater than 100. +System.String LEffortEgg = Eggs cannot receive EVs. +System.String LEffortEXPIncreased = All EVs are zero, but leveled above Met Level. +System.String LEffortShouldBeZero = Cannot receive EVs. +System.String LEffortUntrainedCap = Individual EV without changing EXP cannot be greater than {0}. +System.String LEggContest = Cannot increase Contest Stats of an Egg. +System.String LEggEXP = Eggs cannot receive experience. +System.String LEggFMetLevel_0 = Invalid Met Level, expected {0}. +System.String LEggHatchCycles = 孵化サイクルが無効です +System.String LEggLocation = Able to hatch an Egg at Met Location. +System.String LEggLocationInvalid = Can't hatch an Egg at Met Location. +System.String LEggLocationNone = Invalid Egg Location, expected none. +System.String LEggLocationPalPark = Invalid Met Location, expected Pal Park. +System.String LEggLocationTrade = Able to hatch a traded Egg at Met Location. +System.String LEggLocationTradeFail = Invalid Egg Location, shouldn't be 'traded' while an Egg. +System.String LEggMetLocationFail = Can't obtain Egg from Egg Location. +System.String LEggNature = Eggs cannot have their Stat Nature changed. +System.String LEggPokeathlon = Eggs cannot have Pokéathlon stats. +System.String LEggPokerus = Eggs can not be infected with Pokérus. +System.String LEggPP = タマゴのPPは最大値に設定してください +System.String LEggPPUp = タマゴにポイントアップは使用できません +System.String LEggRelearnFlags = Expected no Relearn Move Flags. +System.String LEggShinyLeaf = タマゴに「かがやくはっぱ」「おうかん」は設定できません +System.String LEggShinyPokeStar = Eggs cannot be a Pokéstar Studios star. +System.String LEggSpecies = Can't obtain Egg for this species. +System.String LEggUnhatched = Valid un-hatched Egg. +System.String LEncCondition = Valid Wild Encounter at location. +System.String LEncConditionBadRNGFrame = Unable to match encounter conditions to a possible RNG frame. +System.String LEncConditionBadSpecies = Species does not exist in origin game. +System.String LEncConditionBlack = Valid Wild Encounter at location (Black Flute). +System.String LEncConditionBlackLead = Valid Wild Encounter at location (Black Flute & Pressure/Hustle/Vital Spirit). +System.String LEncConditionDexNav = Valid Wild Encounter at location (DexNav). +System.String LEncConditionLead = Valid Wild Encounter at location (Pressure/Hustle/Vital Spirit). +System.String LEncConditionWhite = Valid Wild Encounter at location (White Flute). +System.String LEncConditionWhiteLead = Valid Wild Encounter at location (White Flute & Pressure/Hustle/Vital Spirit). +System.String LEncGift = Unable to match a gift Egg encounter from origin game. +System.String LEncGiftEggEvent = Unable to match an event Egg encounter from origin game. +System.String LEncGiftIVMismatch = IVs do not match Mystery Gift Data. +System.String LEncGiftNicknamed = Event gift has been nicknamed. +System.String LEncGiftNotFound = ふしぎなおくりものデータベースと一致しません +System.String LEncGiftPIDMismatch = 性格値固定のため不一致 (ふしぎなおくりもの) +System.String LEncGiftShinyMismatch = 色違い不一致 (ふしぎなおくりもの) +System.String LEncGiftVersionNotDistributed = このバージョンではふしぎなおくりものを受け取れません +System.String LEncInvalid = エンカウントエラー +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = Valid gift/static encounter. +System.String LEncStaticPIDShiny = Static Encounter shiny mismatch. +System.String LEncStaticRelearn = Static encounter relearn move mismatch. +System.String LEncTradeChangedNickname = In-game Trade Nickname has been altered. +System.String LEncTradeChangedOT = In-game Trade OT has been altered. +System.String LEncTradeIndexBad = In-game Trade invalid index? +System.String LEncTradeMatch = Valid in-game trade. +System.String LEncTradeUnchanged = In-game Trade OT and Nickname have not been altered. +System.String LEncTypeMatch = Encounter Type matches encounter. +System.String LEncTypeMismatch = Encounter Type does not match encounter. +System.String LEncUnreleased = 未解禁イベント +System.String LEncUnreleasedEMewJP = Non Japanese Mew from Faraway Island. Unreleased event. +System.String LEncUnreleasedHoOArceus = 「はじまりのま」のアルセウスイベントは解禁されていません +System.String LEncUnreleasedPtDarkrai = Non Platinum Darkrai from Newmoon Island. Unreleased event. +System.String LEncUnreleasedPtShaymin = Non Platinum Shaymin from Flower Paradise. Unreleased event. +System.String LEReaderAmerica = American E-Reader Berry in Japanese save file. +System.String LEReaderInvalid = Invalid E-Reader Berry. +System.String LEReaderJapan = Japanese E-Reader Berry in international save file. +System.String LEvoInvalid = Evolution not valid (or level/trade evolution unsatisfied). +System.String LEvoTradeReq = In-game trade {0} should have evolved into {1}. +System.String LEvoTradeReqOutsider = Outsider {0} should have evolved into {1}. +System.String LEvoTradeRequired = Version Specific evolution requires a trade to opposite version. A Handling Trainer is required. +System.String LFateful = Special in-game Fateful Encounter. +System.String LFatefulGiftMissing = Fateful Encounter with no matching Encounter. Has the Mystery Gift data been contributed? +System.String LFatefulInvalid = 「うんめいてきなであい」のチェックを外してください +System.String LFatefulMissing = Special in-game Fateful Encounter flag missing. +System.String LFatefulMystery = うんめいてきなであい +System.String LFatefulMysteryMissing = 「うんめいてきなであい」にチェックを入れてください +System.String LFavoriteMarkingUnavailable = Favorite Marking is not available. +System.String LFormArgumentHigh = Form argument is too high for current form. +System.String LFormArgumentInvalid = Form argument is not valid. +System.String LFormArgumentLow = Form argument is too low for current form. +System.String LFormArgumentNotAllowed = Form argument is not allowed for this encounter. +System.String LFormArgumentValid = Form argument is valid. +System.String LFormBattle = このフォルムはバトル中以外では選択できません +System.String LFormEternal = Valid Eternal Flower encounter. +System.String LFormEternalInvalid = Invalid Eternal Flower encounter. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = Form cannot be obtained in origin game. +System.String LFormInvalidNature = Form cannot have this nature. +System.String LFormInvalidRange = Form Count is out of range. Expected <= {0}, got {1}. +System.String LFormItem = 持ち物とフォルムは一致しています +System.String LFormItemInvalid = 持ち物とフォルムが一致しません +System.String LFormParty = Form cannot exist outside of Party. +System.String LFormPikachuCosplay = Only Cosplay Pikachu can have this form. +System.String LFormPikachuCosplayInvalid = Cosplay Pikachu cannot have the default form. +System.String LFormPikachuEventInvalid = Event Pikachu cannot have the default form. +System.String LFormValid = Form is Valid. +System.String LFormVivillon = Valid Vivillon pattern. +System.String LFormVivillonEventPre = Event Vivillon pattern on pre-evolution. +System.String LFormVivillonInvalid = Invalid Vivillon pattern. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = Catch rate does not match any species from Pokémon evolution chain. +System.String LG1CatchRateEvo = Catch rate match species without encounters. Expected a preevolution catch rate. +System.String LG1CatchRateItem = Catch rate does not match a valid held item from Generation 2. +System.String LG1CatchRateMatchPrevious = Catch Rate matches any species from Pokémon evolution chain. +System.String LG1CatchRateMatchTradeback = Catch rate matches a valid held item from Generation 2. +System.String LG1CatchRateNone = Catch rate does not match any species from Pokémon evolution chain or any Generation 2 held items. +System.String LG1CharNick = 第1世代、第2世代では使用できない文字がニックネームに含まれています +System.String LG1CharOT = 第1世代、第2世代では使用できない文字がトレーナー名に含まれています +System.String LG1GBEncounter = Can't obtain Special encounter in Virtual Console games. +System.String LG1MoveExclusive = Generation 1 exclusive move. Incompatible with Non-tradeback moves. +System.String LG1MoveLearnSameLevel = Incompatible moves. Learned at the same level in Red/Blue and Yellow. +System.String LG1MoveTradeback = Non-tradeback Egg move. Incompatible with Generation 1 exclusive moves. +System.String LG1OTEvent = Incorrect RBY event OT Name. +System.String LG1OTGender = 第1世代、第2世代では女性トレーナーは選択できません +System.String LG1Stadium = Incorrect Stadium OT. +System.String LG1StadiumInternational = Valid International Stadium OT. +System.String LG1StadiumJapanese = Valid Japanese Stadium OT. +System.String LG1TradebackPreEvoMove = Non-tradeback pre evolution move. Incompatible with Generation 1 exclusive moves. +System.String LG1Type1Fail = Invalid Type A, does not match species type. +System.String LG1Type2Fail = Invalid Type B, does not match species type. +System.String LG1TypeMatch1 = Valid Type A, matches species type. +System.String LG1TypeMatch2 = Valid Type B, matches species type. +System.String LG1TypeMatchPorygon = Porygon with valid Type A and B values. +System.String LG1TypePorygonFail = Porygon with invalid Type A and B values. Does not a match a valid type combination. +System.String LG1TypePorygonFail1 = Porygon with invalid Type A value. +System.String LG1TypePorygonFail2 = Porygon with invalid Type B value. +System.String LG2InvalidTilePark = National Park fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileR14 = Kanto Route 14 fishing encounter. Unreachable Water tiles. +System.String LG2InvalidTileSafari = Generation 2 Safari Zone fishing encounter. Unreachable zone. +System.String LG2InvalidTileTreeID = Found an unreachable tree for Crystal headbutt encounter that matches OTID. +System.String LG2InvalidTileTreeNotFound = Could not find a tree for Crystal headbutt encounter that matches OTID. +System.String LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. +System.String LG2TreeID = Found a tree for Crystal headbutt encounter that matches OTID. +System.String LG3EReader = Non Japanese Shadow E-reader Pokémon. Unreleased encounter. +System.String LG3OTGender = 「ポケモンコロシアム」「ポケモンXD」では女性トレーナーは選択できません +System.String LG4InvalidTileR45Surf = Johto Route 45 surfing encounter. Unreachable Water tiles. +System.String LG5ID_N = The Name/TID/SID of N is incorrect. +System.String LG5IVAll30 = All IVs of N's Pokémon should be 30. +System.String LG5OTGenderN = N's Pokémon must have a male OT gender. +System.String LG5PIDShinyGrotto = Hidden Grotto captures cannot be shiny. +System.String LG5PIDShinyN = Nのポケモンは色違いにはなりえません +System.String LG5SparkleInvalid = Special in-game N's Sparkle flag should not be checked. +System.String LG5SparkleRequired = Special in-game N's Sparkle flag missing. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = Genderless Pokémon should not have a gender. +System.String LGeoBadOrder = GeoLocation Memory: Gap/Blank present. +System.String LGeoHardwareInvalid = Geolocation: Country is not in 3DS region. +System.String LGeoHardwareRange = Invalid Console Region. +System.String LGeoHardwareValid = Geolocation: Country is in 3DS region. +System.String LGeoMemoryMissing = GeoLocation Memory: Memories should be present. +System.String LGeoNoCountryHT = GeoLocation Memory: HT Name present but has no previous Country. +System.String LGeoNoRegion = GeoLocation Memory: Region without Country. +System.String LHyperPerfectAll = 全ての個体値は31のため王冠は使用できません +System.String LHyperPerfectOne = 個体値31には王冠は使用できません +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = 王冠を使用するにはレベル{0}でなければなりません +System.String LItemEgg = タマゴはアイテムを持てません +System.String LItemUnreleased = この持ち物は解禁されていません +System.String LIVAllEqual_0 = All IVs are {0}. +System.String LIVF_COUNT0_31 = Should have at least {0} IVs = 31. +System.String LIVNotCorrect = IVs do not match encounter requirements. +System.String LLevelEXPThreshold = Current experience matches level threshold. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = 現在のレベルが出会ったレベルより低いです +System.String LLevelMetGift = ふしぎなおくりもので出会ったレベルと一致しません +System.String LLevelMetGiftFail = Current Level below Mystery Gift level. +System.String LLevelMetSane = Current level is not below met level. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} Memory: {0} did not catch this. +System.String LMemoryArgBadHatch = {0} Memory: {0} did not hatch this. +System.String LMemoryArgBadHT = Memory: Can't have Handling Trainer Memory as Egg. +System.String LMemoryArgBadID = {0} Memory: Can't obtain Memory on {0} Version. +System.String LMemoryArgBadItem = {0} Memory: Species can't hold this item. +System.String LMemoryArgBadLocation = {0} Memory: Can't obtain Location on {0} Version. +System.String LMemoryArgBadMove = {0} Memory: Species can't learn this move. +System.String LMemoryArgBadOTEgg = {0} Memory: Link Trade is not a valid first memory. +System.String LMemoryArgBadSpecies = {0} Memory: Can't capture species in game. +System.String LMemoryArgSpecies = {0} Memory: Species can be captured in game. +System.String LMemoryCleared = Memory: Not cleared properly. +System.String LMemoryF_0_Valid = {0} Memory is valid. +System.String LMemoryFeelInvalid = {0} Memory: Invalid Feeling. +System.String LMemoryHTFlagInvalid = Untraded: Current handler should not be the Handling Trainer. +System.String LMemoryHTGender = HT Gender invalid: {0} +System.String LMemoryHTLanguage = HT Language is missing. +System.String LMemoryIndexArgHT = Should have a HT Memory TextVar value (somewhere). +System.String LMemoryIndexFeel = {0} Memory: Feeling should be index {1}. +System.String LMemoryIndexFeelHT09 = Should have a HT Memory Feeling value 0-9. +System.String LMemoryIndexID = {0} Memory: Should be index {1}. +System.String LMemoryIndexIntensity = {0} Memory: Intensity should be index {1}. +System.String LMemoryIndexIntensityHT1 = Should have a HT Memory Intensity value (1st). +System.String LMemoryIndexIntensityMin = {0} Memory: Intensity should be at least {1}. +System.String LMemoryIndexLinkHT = Should have a Link Trade HT Memory. +System.String LMemoryIndexVar = {0} Memory: TextVar should be index {1}. +System.String LMemoryMissingHT = Memory: Handling Trainer Memory missing. +System.String LMemoryMissingOT = Memory: Original Trainer Memory missing. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = Untraded: Handling Trainer Affection should be 0. +System.String LMemoryStatAffectionOT0 = OT Affection should be 0. +System.String LMemoryStatEnjoyment = Enjoyment should be {0}. +System.String LMemoryStatFriendshipHT0 = Untraded: Handling Trainer Friendship should be 0. +System.String LMemoryStatFriendshipOTBaseEvent = Event OT Friendship does not match base friendship. +System.String LMemoryStatFullness = Fullness should be {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0} Inherited Move. Incompatible with {1} inherited moves. +System.String LMoveEggIncompatible = Egg Move. Incompatible with event Egg moves. +System.String LMoveEggIncompatibleEvent = Event Egg Move. Incompatible with normal Egg moves. +System.String LMoveEggInherited = Inherited Egg move. +System.String LMoveEggInheritedTutor = Inherited tutor move. +System.String LMoveEggInvalid = Not an expected Egg move. +System.String LMoveEggInvalidEvent = Egg Move.Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUp = Inherited move learned by Level-up.Not expected in an event Egg. +System.String LMoveEggInvalidEventLevelUpGift = Inherited move learned by Level-up. Not expected in a gift Egg. +System.String LMoveEggInvalidEventTMHM = Inherited TM/HM move. Not expected in an event Egg. +System.String LMoveEggInvalidEventTutor = Inherited tutor move. Not expected in an event Egg. +System.String LMoveEggLevelUp = Inherited move learned by Level-up. +System.String LMoveEggMissing = Event Egg move missing. +System.String LMoveEggMoveGift = Egg Move. Not expected in a gift Egg. +System.String LMoveEggTMHM = Inherited TM/HM move. +System.String LMoveEventEggLevelUp = Inherited move learned by Level-up. Incompatible with event Egg moves. +System.String LMoveEvoFCombination_0 = Moves combinations is not compatible with {0} evolution. +System.String LMoveEvoFHigher = Incompatible evolution moves. {1} Move learned at a higher level than other {0} moves. +System.String LMoveEvoFLower = Incompatible evolution moves. {0} Move learned at a lower level than other {1} moves. +System.String LMoveFDefault_0 = Default move in Generation {0}. +System.String LMoveFExpect_0 = Expected the following Moves: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = Learned by Level-up in Generation {0}. +System.String LMoveFTMHM_0 = Learned by TM/HM in Generation {0}. +System.String LMoveFTutor_0 = Learned by Move Tutor in Generation {0}. +System.String LMoveKeldeoMismatch = Keldeo Move/Form mismatch. +System.String LMoveNincada = Only one Ninjask move allowed. +System.String LMoveNincadaEvo = Learned by evolving Nincada into Ninjask. +System.String LMoveNincadaEvoF_0 = Learned by evolving Nincada into Ninjask in Generation {0}. +System.String LMovePPTooHigh_0 = Move {0} PP is above the amount allowed. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = Not an expected DexNav move. +System.String LMoveRelearnEgg = 遺伝技 +System.String LMoveRelearnEggMissing = ベースの遺伝技を設定してください +System.String LMoveRelearnFExpect_0 = 次の技のいずれかを遺伝技に設定してください: {0} ({1}) +System.String LMoveRelearnFMiss_0 = 通常では覚えられません: {0} +System.String LMoveRelearnInvalid = Not an expected Relearnable Move. +System.String LMoveRelearnNone = 遺伝技が設定されていません +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = Default move. +System.String LMoveSourceDuplicate = Duplicate Move. +System.String LMoveSourceEgg = Egg Move. +System.String LMoveSourceEggEvent = Event Egg Move. +System.String LMoveSourceEmpty = 技が設定されていません +System.String LMoveSourceInvalid = この技は習得できません +System.String LMoveSourceInvalidSketch = この技は習得できません(スケッチ) +System.String LMoveSourceLevelUp = Learned by Level-up. +System.String LMoveSourceRelearn = Relearnable Move. +System.String LMoveSourceShared = Shared Non-Relearn Move. +System.String LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. +System.String LMoveSourceSpecial = Special Non-Relearn Move. +System.String LMoveSourceTMHM = Learned by TM/HM. +System.String LMoveSourceTR = Unexpected Technical Record Learned flag: {0} +System.String LMoveSourceTutor = Learned by Move Tutor. +System.String LNickFlagEggNo = タマゴには必ずニックネームを設定してください +System.String LNickFlagEggYes = Egg must be nicknamed. +System.String LNickInvalidChar = Cannot be given this Nickname. +System.String LNickLengthLong = ニックネーム文字数が超過しています +System.String LNickLengthShort = ニックネームが未設定です +System.String LNickMatchLanguage = Nickname matches species name. +System.String LNickMatchLanguageEgg = タマゴのニックネームと言語設定が一致しません +System.String LNickMatchLanguageEggFail = Egg name does not match language Egg name. +System.String LNickMatchLanguageFail = Nickname does not match species name. +System.String LNickMatchLanguageFlag = Nickname flagged, matches species name. +System.String LNickMatchNoOthers = Nickname does not match another species name. +System.String LNickMatchNoOthersFail = Nickname matches another species name (+language). +System.String LOT_IDEqual = TID and SID are equal. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = TID and SID are 0. +System.String LOT_SID0 = SID is zero. +System.String LOT_SID0Invalid = 裏IDは「00000」でなければなりません +System.String LOT_TID0 = TID is zero. +System.String LOTLanguage = Language ID should be {0}, not {1}. +System.String LOTLong = トレーナー名の文字数が超過しています +System.String LOTShort = トレーナー名が空白です +System.String LOTSuspicious = Suspicious Original Trainer details. +System.String LPIDEncryptWurmple = Wurmple evolution Encryption Constant mismatch. +System.String LPIDEncryptZero = Encryption Constant is not set. +System.String LPIDEqualsEC = Encryption Constant matches PID. +System.String LPIDGenderMatch = Gender matches PID. +System.String LPIDGenderMismatch = 性別と性格値が一致しません +System.String LPIDNatureMatch = 性格と性格値は一致しています +System.String LPIDNatureMismatch = 性格と性格値が一致しません +System.String LPIDTypeMismatch = エンカウントタイプと性格値が一致しません +System.String LPIDZero = PID is not set. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = All ribbons accounted for. +System.String LRibbonEgg = タマゴにリボンは設定できません +System.String LRibbonFInvalid_0 = 無効なリボンが設定されています: +System.String LRibbonFMissing_0 = 次のリボンが不足しています: +System.String LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} +System.String LRibbonMarkingFInvalid_0 = Invalid Marking: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = Battle Version is not within the expected range. +System.String LStatDynamaxInvalid = Dynamax Level is not within the expected range. +System.String LStatGigantamaxInvalid = Gigantamax Flag mismatch. +System.String LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. +System.String LStatIncorrectCP = Calculated CP does not match stored value. +System.String LStatIncorrectHeight = Calculated Height does not match stored value. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = Calculated Weight does not match stored value. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = Stat Nature is not within the expected range. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = Super Training complete flag mismatch. +System.String LSuperDistro = Distribution Super Training missions are not released. +System.String LSuperEgg = Can't Super Train an Egg. +System.String LSuperNoComplete = Can't have active Super Training complete flag for origins. +System.String LSuperNoUnlocked = Can't have active Super Training unlocked flag for origins. +System.String LSuperUnavailable = Super Training missions are not available in games visited. +System.String LSuperUnused = Unused Super Training Flag is flagged. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = Can't obtain Species from Virtual Console games. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = Can't transfer Eggs between Generations. +System.String LTransferEggLocationTransporter = Invalid Met Location, expected Poké Transfer. +System.String LTransferEggMetLevel = Invalid Met Level for transfer. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = Current handler cannot be past gen OT for transferred specimen. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = Invalid Met Location, expected Poké Transfer or Crown. +System.String LTransferMetLocation = Invalid Transfer Met Location. +System.String LTransferMove = Incompatible transfer move. +System.String LTransferMoveG4HM = Defog and Whirlpool. One of the two moves should have been removed before transferred to Generation 5. +System.String LTransferMoveHM = Generation {0} HM. Should have been removed before transferred to Generation {1}. +System.String LTransferNature = Invalid Nature for transfer Experience. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = {0} origin cannot exist in the currently loaded ({1}) save file. +System.String LTransferPIDECBitFlip = PID should be equal to EC [with top bit flipped]! +System.String LTransferPIDECEquals = PID should be equal to EC! +System.String LTransferPIDECXor = Encryption Constant matches shinyxored PID. +System.String LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. +System.String LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt index c2861165e..437eb3b40 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_ko.txt @@ -1,399 +1,406 @@ -L_AError = 내부 오류입니다. -L_ALegal = 존재 가능합니다! -L_AnalysisUnavailable = 이 포켓몬을 분석할 수 없습니다. -L_AValid = 사용 가능합니다. -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0} 기술 {1}: {2} -L_F0_RM_1_2 = {0} 떠올리기 기술 {1}: {2} -L_FEncounterType_0 = 인카운터 유형: {0} -L_FOriginSeed_0 = Origin Seed: {0} -L_FPIDType_0 = PID 유형: {0} -L_SFishy = 의심 -L_SInvalid = 사용 불가능 -L_SNotImplemented = 미구현 -L_SValid = 사용 가능 -L_XEnigmaBerry_0 = {0}열매 -L_XHT = 소유했던 트레이너 (HT) -L_XKorean = 한국어 버전 포켓몬 -L_XKoreanNon = 한국어 버전이 아닌 포켓몬 -L_XMatches0_1 = 일치: {0} {1} -L_XOT = 어버이 (OT) -L_XWurmpleEvo_0 = 개무소 진화: {0} -LAbilityCapsuleUsed = 특성캡슐로 바뀐 특성입니다. -LAbilityFlag = 특성이 특성 번호와 일치합니다. -LAbilityHiddenFail = 숨겨진 특성이 인카운터 유형과 일치하지 않습니다. -LAbilityHiddenUnavailable = 숨겨진 특성을 사용할 수 없습니다. -LAbilityMismatch = 특성이 인카운터와 일치하지 않습니다. -LAbilityMismatch3 = 특성이 3세대 포켓몬 종류의 특성과 일치하지 않습니다. -LAbilityMismatchFlag = 특성이 특성 번호와 일치하지 않습니다. -LAbilityMismatchGift = 특성이 이상한소포와 일치하지 않습니다. -LAbilityMismatchGrotto = 은혈에서 포획한 포켓몬은 숨겨진 특성을 가지고 있어야 합니다. -LAbilityMismatchHordeSafari = 프렌드사파리/무리배틀이 아닌 야생 인카운터에서 숨겨진 특성이 설정되었습니다. -LAbilityMismatchPID = 특성이 PID와 일치하지 않습니다. -LAbilityMismatchSOS = 난입배틀이 아닌 야생 인카운터에서 숨겨진 특성이 설정되었습니다. -LAbilityPatchUsed = Ability modified with Ability Patch. -LAbilityUnexpected = 포켓몬 종류/폼에서 사용할 수 없는 특성입니다. -LAwakenedCap = 각 AV는 {0}보다 클 수 없습니다. -LAwakenedShouldBeValue = 각 AV는 {0}보다 커야 합니다 ({1}). -LBallAbility = 숨겨진 특성을 잡을 수 없는 볼입니다. -LBallEggCherish = 일반 알은 프레셔스볼에 들어있을 수 없습니다. -LBallEggMaster = 일반 알은 마스터볼에 들어있을 수 없습니다. -LBallEnc = 인카운터 유형에 맞는 볼입니다. -LBallEncMismatch = 인카운터 유형에 맞지 않는 볼입니다. -LBallHeavy = 헤비볼로 가볍고 포획률이 낮은 포켓몬 종류를 잡을 수 없습니다 (7세대). -LBallNone = 만족한 체크가 없습니다. 존재 불가능한 포켓몬으로 가정합니다. -LBallSpecies = 이 포켓몬 종류를 잡을 수 없는 볼입니다. -LBallSpeciesPass = 이 포켓몬 종류를 잡을 수 있는 볼입니다. -LBallUnavailable = 만난 게임에서 얻을 수 없는 볼입니다. -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = 컨디션은 0이어야 합니다. -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = Met Date is outside of distribution window. -LEffort2Remaining = EV가 2 남았습니다. -LEffortAbove252 = EV는 252 이하여야 합니다. -LEffortAbove510 = EV의 총합은 510 이하여야 합니다. -LEffortAllEqual = 모든 EV가 동일합니다. -LEffortCap100 = 4세대에서 레벨 100 인카운터의 각 EV는 100을 초과할 수 없습니다. -LEffortEgg = 알은 EV를 얻을 수 없습니다. -LEffortEXPIncreased = 현재 레벨이 만난 레벨 이상이지만 모든 EV가 0입니다. -LEffortShouldBeZero = EV를 얻을 수 없습니다. -LEffortUntrainedCap = 경험치를 수정하지 않은 채 변경한 EV는 {0}보다 클 수 없습니다. -LEggContest = 알은 컨디션을 올릴 수 없습니다. -LEggEXP = 알은 경험치를 얻을 수 없습니다. -LEggFMetLevel_0 = 만난 레벨이 잘못되었습니다. {0}으로 예상됩니다. -LEggHatchCycles = 사용할 수 없는 알 부화 사이클입니다. -LEggLocation = 만난 장소에서 알을 부화시킬 수 있습니다. -LEggLocationInvalid = 만난 장소에서 알을 부화시킬 수 없습니다. -LEggLocationNone = 알을 만난 장소가 잘못되었습니다. 없음으로 예상됩니다. -LEggLocationPalPark = 만난 장소가 잘못되었습니다. 팔파크로 예상됩니다. -LEggLocationTrade = 만난 장소에서 교환한 알을 부화시킬 수 있습니다. -LEggLocationTradeFail = 알을 만난 장소가 잘못되었습니다. 부화 전 알을 교환할 수 없습니다. -LEggMetLocationFail = 알을 만난 장소에서 알을 얻을 수 없습니다. -LEggNature = 알은 성격과 능력치 성격이 서로 다를 수 없습니다. -LEggPokeathlon = 알은 포켓슬론 능력치를 가질 수 없습니다. -LEggPokerus = 알은 포켓러스에 감염될 수 없습니다. -LEggPP = 알은 PP를 수정할 수 없습니다. -LEggPPUp = 알에는 PP업을 적용할 수 없습니다. -LEggRelearnFlags = 떠올리기 기술 플래그가 없어야 합니다. -LEggShinyLeaf = 알은 빛나는나뭇잎/왕관을 가질 수 없습니다. -LEggShinyPokeStar = 알은 포켓우드 스타가 될 수 없습니다. -LEggSpecies = 이 포켓몬 종류의 알은 얻을 수 없습니다. -LEggUnhatched = 사용할 수 있는 부화 전 알입니다. -LEncCondition = 장소에서 사용할 수 있는 야생 인카운터입니다. -LEncConditionBadRNGFrame = 가능한 RNG 프레임과 인카운터 조건이 일치하지 않습니다. -LEncConditionBadSpecies = 만난 게임에 존재하지 않는 포켓몬 종류입니다. -LEncConditionBlack = 장소에서 사용할 수 있는 야생 인카운터입니다 (검정비드로). -LEncConditionBlackLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (검정비드로 & 프레셔/의욕/의기양양). -LEncConditionDexNav = 장소에서 사용할 수 있는 야생 인카운터입니다 (도감 내비). -LEncConditionLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (프레셔/의욕/의기양양). -LEncConditionWhite = 장소에서 사용할 수 있는 야생 인카운터입니다 (하양비드로). -LEncConditionWhiteLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (하양비드로 & 프레셔/의욕/의기양양). -LEncGift = 만난 게임의 선물받은 알 인카운터와 일치하지 않습니다. -LEncGiftEggEvent = 만난 게임의 이벤트 알 인카운터와 일치하지 않습니다. -LEncGiftIVMismatch = IV가 이상한소포 데이터와 일치하지 않습니다. -LEncGiftNicknamed = 이벤트 선물의 이름 플래그가 켜져 있습니다. -LEncGiftNotFound = 이상한소포 데이터베이스에 존재하지 않습니다. -LEncGiftPIDMismatch = 이상한소포의 고정된 PID가 일치하지 않습니다. -LEncGiftShinyMismatch = 이상한소포의 색이 다른 포켓몬 여부가 일치하지 않습니다. -LEncGiftVersionNotDistributed = 이 버전에서 받을 수 없는 이상한소포입니다. -LEncInvalid = 만난 게임의 인카운터와 일치하지 않습니다. -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = 사용 가능한 선물/고정된 인카운터입니다. -LEncStaticPIDShiny = 고정된 인카운터의 색이 다른 포켓몬 여부가 일치하지 않습니다. -LEncStaticRelearn = 고정된 인카운터의 떠올리기 기술이 일치하지 않습니다. -LEncTradeChangedNickname = 게임 내 교환의 이름이 달라졌습니다. -LEncTradeChangedOT = 게임 내 교환의 어버이가 달라졌습니다. -LEncTradeIndexBad = 게임 내 교환의 인덱스가 잘못되었을 수 있습니다. -LEncTradeMatch = 사용 가능한 게임 내 교환입니다. -LEncTradeUnchanged = 게임 내 교환의 어버이와 이름이 달라졌습니다. -LEncTypeMatch = 인카운터 유형과 인카운터가 일치합니다. -LEncTypeMismatch = 인카운터 유형과 인카운터가 일치하지 않습니다. -LEncUnreleased = 배포되지 않은 이벤트입니다. -LEncUnreleasedEMewJP = 일본산이 아닌 뮤는 머나먼 고도에서 포획할 수 없습니다. 배포되지 않은 이벤트입니다. -LEncUnreleasedHoOArceus = 아르세우스는 시작의 방에서 포획할 수 없습니다. 배포되지 않은 이벤트입니다. -LEncUnreleasedPtDarkrai = Pt가 아닌 버전에서는 신월섬에서 다크라이를 잡을 수 없습니다. 배포되지 않은 이벤트입니다. -LEncUnreleasedPtShaymin = Pt가 아닌 버전에서는 꽃의 낙원에서 쉐이미를 잡을 수 없습니다. 배포되지 않은 이벤트입니다. -LEReaderAmerica = 일본 세이브게임에서 북미 E-Reader 열매가 설정되었습니다. -LEReaderInvalid = 사용할 수 없는 E-Reader 열매입니다. -LEReaderJapan = 국제 세이브게임에서 일본 E-Reader 열매가 설정되었습니다. -LEvoInvalid = 사용할 수 없는 진화입니다 (또는 레벨/통신진화를 만족하지 않습니다). -LEvoTradeReq = 게임 내에서 교환한 {0} 포켓몬은 {1}(으)로 진화해야 합니다. -LEvoTradeReqOutsider = 동떨어진(Outsider) {0} 포켓몬은 {1}(으)로 진화해야 합니다. -LEvoTradeRequired = 버전에 따른 진화는 반대 버전으로의 교환이 필요하므로 소유했던 트레이너를 설정해야 합니다. -LFateful = 게임 내 특수한 운명적인 만남입니다. -LFatefulGiftMissing = 일치하는 인카운터 없이 운명적인 만남이 설정되었습니다. -LFatefulInvalid = 운명적인 만남이 켜져 있지 않아야 합니다. -LFatefulMissing = 게임 내 특수한 운명적인 만남 플래그가 켜져 있지 않습니다. -LFatefulMystery = 이상한소포에 운명적인 만남 플래그가 켜져 있습니다. -LFatefulMysteryMissing = 이상한소포에 운명적인 만남 플래그가 켜져 있지 않습니다. -LFavoriteMarkingUnavailable = 즐겨찾기 마킹을 할 수 없습니다. -LFormArgumentHigh = 현재 폼에 비해 폼 인수가 너무 높습니다. -LFormArgumentInvalid = Form argument is not valid. -LFormArgumentLow = 현재 폼에 비해 폼 인수가 너무 낮습니다. -LFormArgumentNotAllowed = 이 인카운터에는 폼 인수가 허용되지 않습니다. -LFormArgumentValid = 사용 가능한 폼 인수입니다. -LFormBattle = 배틀 밖에서 존재할 수 없는 폼입니다. -LFormEternal = 사용 가능한 영원의 꽃 인카운터입니다. -LFormEternalInvalid = 사용할 수 없는 영원의 꽃 인카운터입니다. -LFormInvalidGame = 이 양식은 원래 게임에서 얻을 수 없습니다. -LFormInvalidNature = Form cannot have this nature. -LFormInvalidRange = 폼 번호가 범위를 벗어났습니다. 예상되는 폼 번호는 최대 {0}입니다. got {1}. -LFormItem = 지닌 물건이 도구와 일치합니다. -LFormItemInvalid = 지닌 물건이 도구와 일치하지 않습니다. -LFormParty = 파티 밖에서 존재할 수 없는 폼입니다. -LFormPikachuCosplay = 옷갈아입기 피카츄만 가질 수 있는 폼입니다. -LFormPikachuCosplayInvalid = 옷갈아입기 피카츄는 기본 폼을 가질 수 없습니다. -LFormPikachuEventInvalid = 이벤트 피카츄는 기본 폼을 가질 수 없습니다. -LFormValid = 사용할 수 있는 폼입니다. -LFormVivillon = 사용 가능한 비비용 패턴입니다. -LFormVivillonEventPre = 진화 전에 이벤트 비비용 패턴이 설정되었습니다. -LFormVivillonInvalid = 사용할 수 없는 비비용 패턴입니다. -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = 포획률이 포켓몬 진화 체인의 아무 포켓몬과도 일치하지 않습니다. -LG1CatchRateEvo = 포획률이 인카운터 없이 포켓몬 종류와 일치합니다. 진화 전에 포획한 포켓몬으로 예상됩니다. -LG1CatchRateItem = 포획률이 2세대의 유효한 지닌 물건과 일치하지 않습니다. -LG1CatchRateMatchPrevious = 포획률이 포켓몬 진화 체인의 아무 포켓몬과 일치합니다. -LG1CatchRateMatchTradeback = 포획률이 2세대의 유효한 지닌 물건과 일치합니다. -LG1CatchRateNone = 포획률이 포켓몬 진화 체인의 아무 포켓몬, 또는 2세대의 지닌 물건과 일치하지 않습니다. -LG1CharNick = 1/2세대에서 사용할 수 없는 문자가 포켓몬 이름에 포함되어 있습니다. -LG1CharOT = 1/2세대에서 사용할 수 없는 문자가 어버이 이름에 포함되어 있습니다. -LG1GBEncounter = 버추얼 콘솔 게임에서 얻을 수 없는 특수 인카운터입니다. -LG1MoveExclusive = 1세대 전용 기술입니다. 이전 세대로 옮길 수 없는 자력기와 함께 존재할 수 없습니다. -LG1MoveLearnSameLevel = 함께 존재할 수 없는 기술입니다. 레드/그린/옐로에서 같은 레벨에 배우는 기술입니다. -LG1MoveTradeback = 이전 세대로 옮길 수 없는 교배기입니다. 1세대 전용 기술과 함께 존재할 수 없습니다. -LG1OTEvent = RBY 이벤트의 어버이 이름이 다릅니다. -LG1OTGender = 1/2세대에서는 여성 어버이를 사용할 수 없습니다. -LG1Stadium = 스타디움 어버이가 잘못되었습니다. -LG1StadiumInternational = 유효한 국제판 스타디움 어버이입니다. -LG1StadiumJapanese = 유효한 일본판 스타디움 어버이입니다. -LG1TradebackPreEvoMove = 이전 세대로 옮길 수 없는 진화 전 기술입니다. 1세대 전용 기술과 함께 존재할 수 없습니다. -LG1Type1Fail = 사용할 수 없는 타입 A 값입니다. 포켓몬 종류 유형과 일치하지 않습니다. -LG1Type2Fail = 사용할 수 없는 타입 B 값입니다. 포켓몬 종류 유형과 일치하지 않습니다. -LG1TypeMatch1 = 유효한 타입 A 값입니다. 포켓몬 종류 유형과 일치합니다. -LG1TypeMatch2 = 유효한 타입 B 값입니다. 포켓몬 종류 유형과 일치합니다. -LG1TypeMatchPorygon = 유효한 타입 A 및 타입 B 값을 지닌 폴리곤입니다. -LG1TypePorygonFail = 사용할 수 없는 타입 A 및 타입 B 값을 지닌 폴리곤입니다. 유효한 타입 조합과 일치하지 않습니다. -LG1TypePorygonFail1 = 사용할 수 없는 타입 A 값을 지닌 폴리곤입니다. -LG1TypePorygonFail2 = 사용할 수 없는 타입 B 값을 지닌 폴리곤입니다. -LG2InvalidTilePark = 자연공원의 낚시 인카운터입니다. 물 타일에 접근할 수 없는 지역입니다. -LG2InvalidTileR14 = 관동 14번 도로의 낚시 인카운터입니다. 물 타일에 접근할 수 없는 지역입니다. -LG2InvalidTileSafari = 2세대 사파리존의 낚시 인카운터입니다. 접근할 수 없는 지역입니다. -LG2InvalidTileTreeID = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾았습니다. 그러나 접근할 수 없는 나무입니다. -LG2InvalidTileTreeNotFound = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾지 못했습니다. -LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. -LG2TreeID = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾았습니다. -LG3EReader = 일본판이 아닌 버전의 섀도우 E-reader 포켓몬입니다. 배포되지 않은 인카운터입니다. -LG3OTGender = 콜로세움/XD 버전에서는 여성 어버이를 사용할 수 없습니다. -LG4InvalidTileR45Surf = 성도 45번 도로는 물 타일에 접근할 수 없으므로 파도타기 인카운터가 불가능합니다. -LG5ID_N = N의 이름/TID/SID가 잘못되었습니다. -LG5IVAll30 = N이 소유한 포켓몬의 IV는 30이어야 합니다. -LG5OTGenderN = N's Pokémon must have a male OT gender. -LG5PIDShinyGrotto = 은혈에서 포획한 포켓몬은 색이 다를 수 없습니다. -LG5PIDShinyN = N이 소유한 포켓몬은 색이 다를 수 없습니다. -LG5SparkleInvalid = 게임 내 특수한 N 전용 반짝임 플래그가 켜져 있지 않아야 합니다. -LG5SparkleRequired = 게임 내 특수한 N 전용 반짝임 플래그가 켜져 있지 않습니다. -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = 무성 포켓몬은 성별을 가질 수 없습니다. -LGeoBadOrder = 지오로케이션 기억: 빈 공간이 존재합니다. -LGeoHardwareInvalid = 지오로케이션: 국가가 3DS 지역 내에 있지 않습니다. -LGeoHardwareRange = 사용할 수 없는 3DS 지역입니다. -LGeoHardwareValid = 지오로케이션: 국가가 3DS 지역 내에 있습니다. -LGeoMemoryMissing = 지오로케이션 기억: 기억이 존재해야 합니다. -LGeoNoCountryHT = 지오로케이션 기억: 소유했던 트레이너의 이름이 존재하지만 이전 국가가 설정되어 있지 않습니다. -LGeoNoRegion = 지오로케이션 기억: 국가는 설정되어 있지만 지역이 설정되어 있지 않습니다. -LHyperBelow100 = 레벨 100 미만인 포켓몬은 대단한 특훈을 받을 수 없습니다. -LHyperPerfectAll = 모든 IV가 31인 포켓몬은 대단한 특훈을 받을 수 없습니다. -LHyperPerfectOne = IV 31은 대단한 특훈을 시킬 수 없습니다. -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = 알은 물건을 지닐 수 없습니다. -LItemUnreleased = 지닌 물건이 배포되지 않은 물건입니다. -LIVAllEqual_0 = All IVs are {0}. -LIVF_COUNT0_31 = 최소 {0}가지의 IV가 31이어야 합니다. -LIVNotCorrect = IV가 인카운터 요구 조건과 일치하지 않습니다. -LLevelEXPThreshold = 현재 경험치가 레벨 한계와 일치합니다. -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = 현재 레벨이 만난 레벨보다 낮습니다. -LLevelMetGift = 만난 레벨이 이상한소포 레벨과 일치하지 않습니다. -LLevelMetGiftFail = 현재 레벨이 이상한소포 레벨보다 낮습니다. -LLevelMetSane = 현재 레벨이 만난 레벨보다 낮지 않습니다. -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} 추억: {0}은(는) 이 포켓몬을 포획하지 않았습니다. -LMemoryArgBadHatch = {0} 추억: {0}은(는) 이 알을 부화시키지 않았습니다. -LMemoryArgBadHT = 추억: 알 상태에서 소유했던 트레이너와의 추억을 가질 수 없습니다. -LMemoryArgBadID = {0} 추억: {0} 버전에서 얻어올 수 없는 추억입니다. -LMemoryArgBadItem = {0} Memory: Species can't hold this item. -LMemoryArgBadLocation = {0} 추억: {0} 버전에서 얻어올 수 없는 장소입니다. -LMemoryArgBadMove = {0} 추억: 이 기술을 배울 수 없는 포켓몬 종류입니다. -LMemoryArgBadOTEgg = {0} 추억: 통신교환은 첫 번째 추억으로 사용할 수 없습니다. -LMemoryArgBadSpecies = {0} 추억: 이 버전에서 잡을 수 없는 포켓몬 종류입니다. -LMemoryArgSpecies = {0} 추억: 이 버전에서 잡을 수 있는 포켓몬 종류입니다. -LMemoryCleared = 추억: 제대로 지워지지 않았습니다. -LMemoryF_0_Valid = {0} 추억을 사용할 수 있습니다. -LMemoryFeelInvalid = {0} 추억: Invalid Feeling. -LMemoryHTFlagInvalid = 교환 경험 없음: 현재 소유자는 소유했던 트레이너가 될 수 없습니다. -LMemoryHTGender = 소유했던 트레이너의 성별이 잘못되었습니다: {0} -LMemoryHTLanguage = 소유했던 트레이너의 언어가 없습니다. -LMemoryIndexArgHT = 소유했던 트레이너와의 추억 중 TextVar 값을 가지고 있어야 합니다 (아무 곳이나). -LMemoryIndexFeel = {0} 추억: Feeling은 인덱스 {1}이어야 합니다. -LMemoryIndexFeelHT09 = 소유했던 트레이너와의 추억 중 Feeling 값을 가지고 있어야 합니다 (0-9). -LMemoryIndexID = {0} 추억: 인덱스 {1}이어야 합니다. -LMemoryIndexIntensity = {0} 추억: 강도는 인덱스 {1}이어야 합니다. -LMemoryIndexIntensityHT1 = 소유했던 트레이너와의 추억 중 강도 값을 가지고 있어야 합니다 (첫 번째). -LMemoryIndexIntensityMin = {0} 추억: 강도는 최소 {1}이어야 합니다. -LMemoryIndexLinkHT = 소유했던 통신교환 트레이너와의 추억을 가지고 있어야 합니다. -LMemoryIndexVar = {0} 추억: TextVar는 인덱스 {1}이어야 합니다. -LMemoryMissingHT = 추억: 소유했던 트레이너와의 추억이 없습니다. -LMemoryMissingOT = 추억: 어버이와의 추억이 없습니다. -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = 교환 경험 없음: 소유했던 트레이너와의 절친도는 0이어야 합니다. -LMemoryStatAffectionOT0 = 어버이와의 절친도는 0이어야 합니다. -LMemoryStatEnjoyment = Enjoyment should be {0}. -LMemoryStatFriendshipHT0 = 교환 경험 없음: 소유했던 트레이너와의 친밀도는 0이어야 합니다. -LMemoryStatFriendshipOTBaseEvent = 이벤트 어버이와의 친밀도가 기본 친밀도와 일치하지 않습니다. -LMemoryStatFullness = Fullness should be {0}. -LMoveEggFIncompatible0_1 = 유전받은 {0} 기술입니다. 유전받은 {1} 기술과 함께 존재할 수 없습니다. -LMoveEggIncompatible = 교배기입니다. 이벤트 교배기와 함께 존재할 수 없습니다. -LMoveEggIncompatibleEvent = 이벤트 교배기입니다. 일반 교배기와 함께 존재할 수 없습니다. -LMoveEggInherited = 유전받은 교배기입니다. -LMoveEggInheritedTutor = 유전받은 기술 가르침 기술입니다. -LMoveEggInvalid = 예상된 교배기가 아닙니다. -LMoveEggInvalidEvent = 교배기입니다. 이벤트 알에서 예상되는 기술이 아닙니다. -LMoveEggInvalidEventLevelUp = 유전받은 레벨업 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. -LMoveEggInvalidEventLevelUpGift = 유전받은 레벨업 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. -LMoveEggInvalidEventTMHM = 우전받은 기술머신/비전머신 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. -LMoveEggInvalidEventTutor = 유전받은 기술 가르침 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. -LMoveEggLevelUp = 유전받은 레벨업 기술입니다. -LMoveEggMissing = 이벤트 교배기가 없습니다. -LMoveEggMoveGift = 교배기입니다. 이벤트 알에서 예상된 기술이 아닙니다. -LMoveEggTMHM = 유전받은 기술머신/비전머신 기술입니다. -LMoveEventEggLevelUp = 유전받은 레벨업 기술입니다. 이벤트 교배기와 함께 존재할 수 없습니다. -LMoveEvoFCombination_0 = 기술 조합이 {0} 진화와 호환되지 않습니다. -LMoveEvoFHigher = 함께 존재할 수 없는 기술입니다. {1}은(는) {0}보다 높은 레벨에 배우는 기술입니다. -LMoveEvoFLower = 함께 존재할 수 없는 기술입니다. {0}은(는) {1}보다 낮은 레벨애 배우는 기술입니다. -LMoveFDefault_0 = {0}세대 기본 기술입니다. -LMoveFExpect_0 = 다음 기술이 예상됩니다: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = {0}세대 레벨업 기술입니다. -LMoveFTMHM_0 = {0}세대 기술머신/비전머신 기술입니다. -LMoveFTutor_0 = {0}세대 기술 가르침 기술입니다. -LMoveKeldeoMismatch = 케르디오의 기술과 폼이 일치하지 않습니다. -LMoveNincada = 하나의 아이스크 기술만 가질 수 있습니다. -LMoveNincadaEvo = 토중몬에서 아이스크로 진화하면서 배운 기술입니다. -LMoveNincadaEvoF_0 = {0}세대에서 토중몬에서 아이스크로 진화하면서 배운 기술입니다. -LMovePPTooHigh_0 = 기술 {0}의 PP가 허용된 값보다 많습니다. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = 도감 내비 기술이 예상과 다릅니다. -LMoveRelearnEgg = 베이스 자력기입니다. -LMoveRelearnEggMissing = 베이스 자력기가 없습니다. -LMoveRelearnFExpect_0 = 다음 떠올리기 기술이 예상됩니다: {0} ({1}) -LMoveRelearnFMiss_0 = 떠올리기 기술이 없습니다: {0} -LMoveRelearnInvalid = 떠올리기 기술이 예상과 다릅니다. -LMoveRelearnNone = 슬롯에 떠올리기 기술이 없어야 할 것으로 예상됩니다. -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = 기본 기술입니다. -LMoveSourceDuplicate = 중복되는 기술입니다. -LMoveSourceEgg = 자력기입니다. -LMoveSourceEggEvent = 이벤트 자력기입니다. -LMoveSourceEmpty = 비어 있는 기술입니다. -LMoveSourceInvalid = 사용할 수 없는 기술입니다. -LMoveSourceInvalidSketch = 사용할 수 없는 기술입니다 (스케치). -LMoveSourceLevelUp = 레벨업 기술입니다. -LMoveSourceRelearn = 떠올리기 기술입니다. -LMoveSourceShared = Shared Non-Relearn Move. -LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. -LMoveSourceSpecial = 다시 배울 수 없는 특별한 기술입니다. -LMoveSourceTMHM = 기술머신/비전머신 기술입니다. -LMoveSourceTR = Unexpected Technical Record Learned flag: {0} -LMoveSourceTutor = 기술 가르침 기술입니다. -LNickFlagEggNo = 알은 반드시 이름 플래그가 꺼져 있어야 합니다. -LNickFlagEggYes = 알은 반드시 이름 플래그가 켜져 있어야 합니다. -LNickInvalidChar = 이 이름은 사용할 수 없습니다. -LNickLengthLong = 이름이 너무 깁니다. -LNickLengthShort = 이름이 비어 있습니다. -LNickMatchLanguage = 이름이 포켓몬 종류와 일치합니다. -LNickMatchLanguageEgg = 알이 나라별 알 이름과 일치합니다. -LNickMatchLanguageEggFail = 알 이름이 언어별 알 이름과 일치하지 않습니다. -LNickMatchLanguageFail = 이름이 포켓몬 종류와 일치하지 않습니다. -LNickMatchLanguageFlag = 이름 플래그가 켜져 있으나 이름이 포켓몬 종류와 일치합니다. -LNickMatchNoOthers = 이름이 다른 포켓몬 종류와 일치하지 않습니다. -LNickMatchNoOthersFail = 이름이 다른 포켓몬 종류와 일치합니다 (+언어). -LOT_IDEqual = TID와 SID가 동일합니다. -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = TID와 SID가 0입니다. -LOT_SID0 = SID가 0입니다. -LOT_SID0Invalid = SID는 0이어야 합니다. -LOT_TID0 = TID가 0입니다. -LOTLanguage = 언어 ID는 {1}이 아니라 {0}이어야 합니다. -LOTLong = 어버이 이름이 너무 깁니다. -LOTShort = 어버이의 이름이 너무 짧습니다. -LOTSuspicious = 의심을 받을 수 있는 어버이입니다. -LPIDEncryptWurmple = 개무소의 진화 형태가 암호화 상수와 일치하지 않습니다. -LPIDEncryptZero = 암호화 상수가 설정되어 있지 않습니다. -LPIDEqualsEC = 암호화 상수가 PID와 일치합니다. -LPIDGenderMatch = PID와 성별이 일치합니다. -LPIDGenderMismatch = PID와 성별이 일치하지 않습니다. -LPIDNatureMatch = PID와 성격이 일치합니다. -LPIDNatureMismatch = PID와 성격이 일치하지 않습니다. -LPIDTypeMismatch = 인카운터 유형 PID가 일치하지 않습니다. -LPIDZero = PID가 지정되지 않았습니다. -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = 모든 리본이 채워졌습니다. -LRibbonEgg = 알은 리본을 얻을 수 없습니다. -LRibbonFInvalid_0 = 사용할 수 없는 리본: -LRibbonFMissing_0 = 없는 리본: -LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} -LRibbonMarkingFInvalid_0 = Invalid Marking: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = Battle Version is not within the expected range. -LStatDynamaxInvalid = 다이맥스 레벨이 예상 범위를 벗어났습니다. -LStatGigantamaxInvalid = 거다이맥스 플래그가 일치하지 않습니다. -LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. -LStatIncorrectCP = 계산된 CP와 저장된 값이 일치하지 않습니다. -LStatIncorrectHeight = 계산된 키와 저장된 값이 일치하지 않습니다. -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = 계산된 몸무게와 저장된 값이 일치하지 않습니다. -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = Stat Nature is not within the expected range. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = 대단한 특훈 완료 플래그가 일치하지 않습니다. -LSuperDistro = 배분한 대단한 특훈 미션이 배포되지 않은 미션입니다. -LSuperEgg = 알은 대단한 특훈을 시킬 수 없습니다. -LSuperNoComplete = 만난 게임에서 대단한 특훈 완료 플래그를 켤 수 없습니다. -LSuperNoUnlocked = 만난 게임에서 대단한 특훈 해금 플래그를 켤 수 없습니다. -LSuperUnavailable = 방문했던 게임에서 대단한 특훈 미션을 사용할 수 없습니다. -LSuperUnused = 사용되지 않는 대단한 특훈 플래그가 켜져 있습니다. -LTransferBad = 버추얼 콘솔 게임에서 얻을 수 없는 포켓몬 종류입니다. -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = 알은 세대를 옮길 수 없습니다. -LTransferEggLocationTransporter = 만난 장소가 잘못되었습니다. 포케시프터로 예상됩니다. -LTransferEggMetLevel = 만난 장소가 잘못되었습니다. -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = 현재 소유자는 전송된 포켓몬의 이전 세대 어버이와 같을 수 없습니다. -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = 만난 장소가 잘못되었습니다. 포케시프터 또는 크라운시티로 예상됩니다. -LTransferMetLocation = 옮겨진 만난 장소가 잘못되었습니다. -LTransferMove = 호환되지 않는 전송 공격. -LTransferMoveG4HM = 안개제거와 바다회오리가 함께 존재합니다. 둘 중 하나는 5세대로 옮기기 전에 제거해야 합니다. -LTransferMoveHM = {0}세대 비전머신입니다. {1}세대로 옮기기 전에 제거해야 합니다. -LTransferNature = Invalid Nature for transfer Experience. -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = 현재 로드한 세이브파일 ({1}) 에서는 {0} 버전에서 만난 포켓몬이 존재할 수 없습니다. -LTransferPIDECBitFlip = PID는 Top bit가 뒤집힌 암호화 상수와 동일해야 합니다! -LTransferPIDECEquals = PID는 암호화 상수와 동일해야 합니다! -LTransferPIDECXor = 암호화 상수가 색이 다르도록 계산된 PID와 일치합니다. -LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. -LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. +System.String L_AError = 내부 오류입니다. +System.String L_ALegal = 존재 가능합니다! +System.String L_AnalysisUnavailable = 이 포켓몬을 분석할 수 없습니다. +System.String L_AValid = 사용 가능합니다. +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0} 기술 {1}: {2} +System.String L_F0_RM_1_2 = {0} 떠올리기 기술 {1}: {2} +System.String L_FEncounterType_0 = 인카운터 유형: {0} +System.String L_FOriginSeed_0 = Origin Seed: {0} +System.String L_FPIDType_0 = PID 유형: {0} +System.String L_SFishy = 의심 +System.String L_SInvalid = 사용 불가능 +System.String L_SNotImplemented = 미구현 +System.String L_SValid = 사용 가능 +System.String L_XEnigmaBerry_0 = {0}열매 +System.String L_XHT = 소유했던 트레이너 (HT) +System.String L_XKorean = 한국어 버전 포켓몬 +System.String L_XKoreanNon = 한국어 버전이 아닌 포켓몬 +System.String L_XMatches0_1 = 일치: {0} {1} +System.String L_XOT = 어버이 (OT) +System.String L_XWurmpleEvo_0 = 개무소 진화: {0} +System.String LAbilityCapsuleUsed = 특성캡슐로 바뀐 특성입니다. +System.String LAbilityFlag = 특성이 특성 번호와 일치합니다. +System.String LAbilityHiddenFail = 숨겨진 특성이 인카운터 유형과 일치하지 않습니다. +System.String LAbilityHiddenUnavailable = 숨겨진 특성을 사용할 수 없습니다. +System.String LAbilityMismatch = 특성이 인카운터와 일치하지 않습니다. +System.String LAbilityMismatch3 = 특성이 3세대 포켓몬 종류의 특성과 일치하지 않습니다. +System.String LAbilityMismatchFlag = 특성이 특성 번호와 일치하지 않습니다. +System.String LAbilityMismatchGift = 특성이 이상한소포와 일치하지 않습니다. +System.String LAbilityMismatchGrotto = 은혈에서 포획한 포켓몬은 숨겨진 특성을 가지고 있어야 합니다. +System.String LAbilityMismatchHordeSafari = 프렌드사파리/무리배틀이 아닌 야생 인카운터에서 숨겨진 특성이 설정되었습니다. +System.String LAbilityMismatchPID = 특성이 PID와 일치하지 않습니다. +System.String LAbilityMismatchSOS = 난입배틀이 아닌 야생 인카운터에서 숨겨진 특성이 설정되었습니다. +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = Ability modified with Ability Patch. +System.String LAbilityUnexpected = 포켓몬 종류/폼에서 사용할 수 없는 특성입니다. +System.String LAwakenedCap = 각 AV는 {0}보다 클 수 없습니다. +System.String LAwakenedShouldBeValue = 각 AV는 {0}보다 커야 합니다 ({1}). +System.String LBallAbility = 숨겨진 특성을 잡을 수 없는 볼입니다. +System.String LBallEggCherish = 일반 알은 프레셔스볼에 들어있을 수 없습니다. +System.String LBallEggMaster = 일반 알은 마스터볼에 들어있을 수 없습니다. +System.String LBallEnc = 인카운터 유형에 맞는 볼입니다. +System.String LBallEncMismatch = 인카운터 유형에 맞지 않는 볼입니다. +System.String LBallHeavy = 헤비볼로 가볍고 포획률이 낮은 포켓몬 종류를 잡을 수 없습니다 (7세대). +System.String LBallNone = 만족한 체크가 없습니다. 존재 불가능한 포켓몬으로 가정합니다. +System.String LBallSpecies = 이 포켓몬 종류를 잡을 수 없는 볼입니다. +System.String LBallSpeciesPass = 이 포켓몬 종류를 잡을 수 있는 볼입니다. +System.String LBallUnavailable = 만난 게임에서 얻을 수 없는 볼입니다. +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = 컨디션은 0이어야 합니다. +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = Met Date is outside of distribution window. +System.String LEffort2Remaining = EV가 2 남았습니다. +System.String LEffortAbove252 = EV는 252 이하여야 합니다. +System.String LEffortAbove510 = EV의 총합은 510 이하여야 합니다. +System.String LEffortAllEqual = 모든 EV가 동일합니다. +System.String LEffortCap100 = 4세대에서 레벨 100 인카운터의 각 EV는 100을 초과할 수 없습니다. +System.String LEffortEgg = 알은 EV를 얻을 수 없습니다. +System.String LEffortEXPIncreased = 현재 레벨이 만난 레벨 이상이지만 모든 EV가 0입니다. +System.String LEffortShouldBeZero = EV를 얻을 수 없습니다. +System.String LEffortUntrainedCap = 경험치를 수정하지 않은 채 변경한 EV는 {0}보다 클 수 없습니다. +System.String LEggContest = 알은 컨디션을 올릴 수 없습니다. +System.String LEggEXP = 알은 경험치를 얻을 수 없습니다. +System.String LEggFMetLevel_0 = 만난 레벨이 잘못되었습니다. {0}으로 예상됩니다. +System.String LEggHatchCycles = 사용할 수 없는 알 부화 사이클입니다. +System.String LEggLocation = 만난 장소에서 알을 부화시킬 수 있습니다. +System.String LEggLocationInvalid = 만난 장소에서 알을 부화시킬 수 없습니다. +System.String LEggLocationNone = 알을 만난 장소가 잘못되었습니다. 없음으로 예상됩니다. +System.String LEggLocationPalPark = 만난 장소가 잘못되었습니다. 팔파크로 예상됩니다. +System.String LEggLocationTrade = 만난 장소에서 교환한 알을 부화시킬 수 있습니다. +System.String LEggLocationTradeFail = 알을 만난 장소가 잘못되었습니다. 부화 전 알을 교환할 수 없습니다. +System.String LEggMetLocationFail = 알을 만난 장소에서 알을 얻을 수 없습니다. +System.String LEggNature = 알은 성격과 능력치 성격이 서로 다를 수 없습니다. +System.String LEggPokeathlon = 알은 포켓슬론 능력치를 가질 수 없습니다. +System.String LEggPokerus = 알은 포켓러스에 감염될 수 없습니다. +System.String LEggPP = 알은 PP를 수정할 수 없습니다. +System.String LEggPPUp = 알에는 PP업을 적용할 수 없습니다. +System.String LEggRelearnFlags = 떠올리기 기술 플래그가 없어야 합니다. +System.String LEggShinyLeaf = 알은 빛나는나뭇잎/왕관을 가질 수 없습니다. +System.String LEggShinyPokeStar = 알은 포켓우드 스타가 될 수 없습니다. +System.String LEggSpecies = 이 포켓몬 종류의 알은 얻을 수 없습니다. +System.String LEggUnhatched = 사용할 수 있는 부화 전 알입니다. +System.String LEncCondition = 장소에서 사용할 수 있는 야생 인카운터입니다. +System.String LEncConditionBadRNGFrame = 가능한 RNG 프레임과 인카운터 조건이 일치하지 않습니다. +System.String LEncConditionBadSpecies = 만난 게임에 존재하지 않는 포켓몬 종류입니다. +System.String LEncConditionBlack = 장소에서 사용할 수 있는 야생 인카운터입니다 (검정비드로). +System.String LEncConditionBlackLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (검정비드로 & 프레셔/의욕/의기양양). +System.String LEncConditionDexNav = 장소에서 사용할 수 있는 야생 인카운터입니다 (도감 내비). +System.String LEncConditionLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (프레셔/의욕/의기양양). +System.String LEncConditionWhite = 장소에서 사용할 수 있는 야생 인카운터입니다 (하양비드로). +System.String LEncConditionWhiteLead = 장소에서 사용할 수 있는 야생 인카운터입니다 (하양비드로 & 프레셔/의욕/의기양양). +System.String LEncGift = 만난 게임의 선물받은 알 인카운터와 일치하지 않습니다. +System.String LEncGiftEggEvent = 만난 게임의 이벤트 알 인카운터와 일치하지 않습니다. +System.String LEncGiftIVMismatch = IV가 이상한소포 데이터와 일치하지 않습니다. +System.String LEncGiftNicknamed = 이벤트 선물의 이름 플래그가 켜져 있습니다. +System.String LEncGiftNotFound = 이상한소포 데이터베이스에 존재하지 않습니다. +System.String LEncGiftPIDMismatch = 이상한소포의 고정된 PID가 일치하지 않습니다. +System.String LEncGiftShinyMismatch = 이상한소포의 색이 다른 포켓몬 여부가 일치하지 않습니다. +System.String LEncGiftVersionNotDistributed = 이 버전에서 받을 수 없는 이상한소포입니다. +System.String LEncInvalid = 만난 게임의 인카운터와 일치하지 않습니다. +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = 사용 가능한 선물/고정된 인카운터입니다. +System.String LEncStaticPIDShiny = 고정된 인카운터의 색이 다른 포켓몬 여부가 일치하지 않습니다. +System.String LEncStaticRelearn = 고정된 인카운터의 떠올리기 기술이 일치하지 않습니다. +System.String LEncTradeChangedNickname = 게임 내 교환의 이름이 달라졌습니다. +System.String LEncTradeChangedOT = 게임 내 교환의 어버이가 달라졌습니다. +System.String LEncTradeIndexBad = 게임 내 교환의 인덱스가 잘못되었을 수 있습니다. +System.String LEncTradeMatch = 사용 가능한 게임 내 교환입니다. +System.String LEncTradeUnchanged = 게임 내 교환의 어버이와 이름이 달라졌습니다. +System.String LEncTypeMatch = 인카운터 유형과 인카운터가 일치합니다. +System.String LEncTypeMismatch = 인카운터 유형과 인카운터가 일치하지 않습니다. +System.String LEncUnreleased = 배포되지 않은 이벤트입니다. +System.String LEncUnreleasedEMewJP = 일본산이 아닌 뮤는 머나먼 고도에서 포획할 수 없습니다. 배포되지 않은 이벤트입니다. +System.String LEncUnreleasedHoOArceus = 아르세우스는 시작의 방에서 포획할 수 없습니다. 배포되지 않은 이벤트입니다. +System.String LEncUnreleasedPtDarkrai = Pt가 아닌 버전에서는 신월섬에서 다크라이를 잡을 수 없습니다. 배포되지 않은 이벤트입니다. +System.String LEncUnreleasedPtShaymin = Pt가 아닌 버전에서는 꽃의 낙원에서 쉐이미를 잡을 수 없습니다. 배포되지 않은 이벤트입니다. +System.String LEReaderAmerica = 일본 세이브게임에서 북미 E-Reader 열매가 설정되었습니다. +System.String LEReaderInvalid = 사용할 수 없는 E-Reader 열매입니다. +System.String LEReaderJapan = 국제 세이브게임에서 일본 E-Reader 열매가 설정되었습니다. +System.String LEvoInvalid = 사용할 수 없는 진화입니다 (또는 레벨/통신진화를 만족하지 않습니다). +System.String LEvoTradeReq = 게임 내에서 교환한 {0} 포켓몬은 {1}(으)로 진화해야 합니다. +System.String LEvoTradeReqOutsider = 동떨어진(Outsider) {0} 포켓몬은 {1}(으)로 진화해야 합니다. +System.String LEvoTradeRequired = 버전에 따른 진화는 반대 버전으로의 교환이 필요하므로 소유했던 트레이너를 설정해야 합니다. +System.String LFateful = 게임 내 특수한 운명적인 만남입니다. +System.String LFatefulGiftMissing = 일치하는 인카운터 없이 운명적인 만남이 설정되었습니다. +System.String LFatefulInvalid = 운명적인 만남이 켜져 있지 않아야 합니다. +System.String LFatefulMissing = 게임 내 특수한 운명적인 만남 플래그가 켜져 있지 않습니다. +System.String LFatefulMystery = 이상한소포에 운명적인 만남 플래그가 켜져 있습니다. +System.String LFatefulMysteryMissing = 이상한소포에 운명적인 만남 플래그가 켜져 있지 않습니다. +System.String LFavoriteMarkingUnavailable = 즐겨찾기 마킹을 할 수 없습니다. +System.String LFormArgumentHigh = 현재 폼에 비해 폼 인수가 너무 높습니다. +System.String LFormArgumentInvalid = Form argument is not valid. +System.String LFormArgumentLow = 현재 폼에 비해 폼 인수가 너무 낮습니다. +System.String LFormArgumentNotAllowed = 이 인카운터에는 폼 인수가 허용되지 않습니다. +System.String LFormArgumentValid = 사용 가능한 폼 인수입니다. +System.String LFormBattle = 배틀 밖에서 존재할 수 없는 폼입니다. +System.String LFormEternal = 사용 가능한 영원의 꽃 인카운터입니다. +System.String LFormEternalInvalid = 사용할 수 없는 영원의 꽃 인카운터입니다. +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = 이 양식은 원래 게임에서 얻을 수 없습니다. +System.String LFormInvalidNature = Form cannot have this nature. +System.String LFormInvalidRange = 폼 번호가 범위를 벗어났습니다. 예상되는 폼 번호는 최대 {0}입니다. got {1}. +System.String LFormItem = 지닌 물건이 도구와 일치합니다. +System.String LFormItemInvalid = 지닌 물건이 도구와 일치하지 않습니다. +System.String LFormParty = 파티 밖에서 존재할 수 없는 폼입니다. +System.String LFormPikachuCosplay = 옷갈아입기 피카츄만 가질 수 있는 폼입니다. +System.String LFormPikachuCosplayInvalid = 옷갈아입기 피카츄는 기본 폼을 가질 수 없습니다. +System.String LFormPikachuEventInvalid = 이벤트 피카츄는 기본 폼을 가질 수 없습니다. +System.String LFormValid = 사용할 수 있는 폼입니다. +System.String LFormVivillon = 사용 가능한 비비용 패턴입니다. +System.String LFormVivillonEventPre = 진화 전에 이벤트 비비용 패턴이 설정되었습니다. +System.String LFormVivillonInvalid = 사용할 수 없는 비비용 패턴입니다. +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = 포획률이 포켓몬 진화 체인의 아무 포켓몬과도 일치하지 않습니다. +System.String LG1CatchRateEvo = 포획률이 인카운터 없이 포켓몬 종류와 일치합니다. 진화 전에 포획한 포켓몬으로 예상됩니다. +System.String LG1CatchRateItem = 포획률이 2세대의 유효한 지닌 물건과 일치하지 않습니다. +System.String LG1CatchRateMatchPrevious = 포획률이 포켓몬 진화 체인의 아무 포켓몬과 일치합니다. +System.String LG1CatchRateMatchTradeback = 포획률이 2세대의 유효한 지닌 물건과 일치합니다. +System.String LG1CatchRateNone = 포획률이 포켓몬 진화 체인의 아무 포켓몬, 또는 2세대의 지닌 물건과 일치하지 않습니다. +System.String LG1CharNick = 1/2세대에서 사용할 수 없는 문자가 포켓몬 이름에 포함되어 있습니다. +System.String LG1CharOT = 1/2세대에서 사용할 수 없는 문자가 어버이 이름에 포함되어 있습니다. +System.String LG1GBEncounter = 버추얼 콘솔 게임에서 얻을 수 없는 특수 인카운터입니다. +System.String LG1MoveExclusive = 1세대 전용 기술입니다. 이전 세대로 옮길 수 없는 자력기와 함께 존재할 수 없습니다. +System.String LG1MoveLearnSameLevel = 함께 존재할 수 없는 기술입니다. 레드/그린/옐로에서 같은 레벨에 배우는 기술입니다. +System.String LG1MoveTradeback = 이전 세대로 옮길 수 없는 교배기입니다. 1세대 전용 기술과 함께 존재할 수 없습니다. +System.String LG1OTEvent = RBY 이벤트의 어버이 이름이 다릅니다. +System.String LG1OTGender = 1/2세대에서는 여성 어버이를 사용할 수 없습니다. +System.String LG1Stadium = 스타디움 어버이가 잘못되었습니다. +System.String LG1StadiumInternational = 유효한 국제판 스타디움 어버이입니다. +System.String LG1StadiumJapanese = 유효한 일본판 스타디움 어버이입니다. +System.String LG1TradebackPreEvoMove = 이전 세대로 옮길 수 없는 진화 전 기술입니다. 1세대 전용 기술과 함께 존재할 수 없습니다. +System.String LG1Type1Fail = 사용할 수 없는 타입 A 값입니다. 포켓몬 종류 유형과 일치하지 않습니다. +System.String LG1Type2Fail = 사용할 수 없는 타입 B 값입니다. 포켓몬 종류 유형과 일치하지 않습니다. +System.String LG1TypeMatch1 = 유효한 타입 A 값입니다. 포켓몬 종류 유형과 일치합니다. +System.String LG1TypeMatch2 = 유효한 타입 B 값입니다. 포켓몬 종류 유형과 일치합니다. +System.String LG1TypeMatchPorygon = 유효한 타입 A 및 타입 B 값을 지닌 폴리곤입니다. +System.String LG1TypePorygonFail = 사용할 수 없는 타입 A 및 타입 B 값을 지닌 폴리곤입니다. 유효한 타입 조합과 일치하지 않습니다. +System.String LG1TypePorygonFail1 = 사용할 수 없는 타입 A 값을 지닌 폴리곤입니다. +System.String LG1TypePorygonFail2 = 사용할 수 없는 타입 B 값을 지닌 폴리곤입니다. +System.String LG2InvalidTilePark = 자연공원의 낚시 인카운터입니다. 물 타일에 접근할 수 없는 지역입니다. +System.String LG2InvalidTileR14 = 관동 14번 도로의 낚시 인카운터입니다. 물 타일에 접근할 수 없는 지역입니다. +System.String LG2InvalidTileSafari = 2세대 사파리존의 낚시 인카운터입니다. 접근할 수 없는 지역입니다. +System.String LG2InvalidTileTreeID = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾았습니다. 그러나 접근할 수 없는 나무입니다. +System.String LG2InvalidTileTreeNotFound = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾지 못했습니다. +System.String LG2OTGender = OT from Virtual Console games other than Crystal cannot be female. +System.String LG2TreeID = 크리스탈 버전 어버이 ID와 일치하는 박치기 인카운터용 나무를 찾았습니다. +System.String LG3EReader = 일본판이 아닌 버전의 섀도우 E-reader 포켓몬입니다. 배포되지 않은 인카운터입니다. +System.String LG3OTGender = 콜로세움/XD 버전에서는 여성 어버이를 사용할 수 없습니다. +System.String LG4InvalidTileR45Surf = 성도 45번 도로는 물 타일에 접근할 수 없으므로 파도타기 인카운터가 불가능합니다. +System.String LG5ID_N = N의 이름/TID/SID가 잘못되었습니다. +System.String LG5IVAll30 = N이 소유한 포켓몬의 IV는 30이어야 합니다. +System.String LG5OTGenderN = N's Pokémon must have a male OT gender. +System.String LG5PIDShinyGrotto = 은혈에서 포획한 포켓몬은 색이 다를 수 없습니다. +System.String LG5PIDShinyN = N이 소유한 포켓몬은 색이 다를 수 없습니다. +System.String LG5SparkleInvalid = 게임 내 특수한 N 전용 반짝임 플래그가 켜져 있지 않아야 합니다. +System.String LG5SparkleRequired = 게임 내 특수한 N 전용 반짝임 플래그가 켜져 있지 않습니다. +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = 무성 포켓몬은 성별을 가질 수 없습니다. +System.String LGeoBadOrder = 지오로케이션 기억: 빈 공간이 존재합니다. +System.String LGeoHardwareInvalid = 지오로케이션: 국가가 3DS 지역 내에 있지 않습니다. +System.String LGeoHardwareRange = 사용할 수 없는 3DS 지역입니다. +System.String LGeoHardwareValid = 지오로케이션: 국가가 3DS 지역 내에 있습니다. +System.String LGeoMemoryMissing = 지오로케이션 기억: 기억이 존재해야 합니다. +System.String LGeoNoCountryHT = 지오로케이션 기억: 소유했던 트레이너의 이름이 존재하지만 이전 국가가 설정되어 있지 않습니다. +System.String LGeoNoRegion = 지오로케이션 기억: 국가는 설정되어 있지만 지역이 설정되어 있지 않습니다. +System.String LHyperPerfectAll = 모든 IV가 31인 포켓몬은 대단한 특훈을 받을 수 없습니다. +System.String LHyperPerfectOne = IV 31은 대단한 특훈을 시킬 수 없습니다. +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = 레벨 {0} 미만인 포켓몬은 대단한 특훈을 받을 수 없습니다. +System.String LItemEgg = 알은 물건을 지닐 수 없습니다. +System.String LItemUnreleased = 지닌 물건이 배포되지 않은 물건입니다. +System.String LIVAllEqual_0 = All IVs are {0}. +System.String LIVF_COUNT0_31 = 최소 {0}가지의 IV가 31이어야 합니다. +System.String LIVNotCorrect = IV가 인카운터 요구 조건과 일치하지 않습니다. +System.String LLevelEXPThreshold = 현재 경험치가 레벨 한계와 일치합니다. +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = 현재 레벨이 만난 레벨보다 낮습니다. +System.String LLevelMetGift = 만난 레벨이 이상한소포 레벨과 일치하지 않습니다. +System.String LLevelMetGiftFail = 현재 레벨이 이상한소포 레벨보다 낮습니다. +System.String LLevelMetSane = 현재 레벨이 만난 레벨보다 낮지 않습니다. +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} 추억: {0}은(는) 이 포켓몬을 포획하지 않았습니다. +System.String LMemoryArgBadHatch = {0} 추억: {0}은(는) 이 알을 부화시키지 않았습니다. +System.String LMemoryArgBadHT = 추억: 알 상태에서 소유했던 트레이너와의 추억을 가질 수 없습니다. +System.String LMemoryArgBadID = {0} 추억: {0} 버전에서 얻어올 수 없는 추억입니다. +System.String LMemoryArgBadItem = {0} Memory: Species can't hold this item. +System.String LMemoryArgBadLocation = {0} 추억: {0} 버전에서 얻어올 수 없는 장소입니다. +System.String LMemoryArgBadMove = {0} 추억: 이 기술을 배울 수 없는 포켓몬 종류입니다. +System.String LMemoryArgBadOTEgg = {0} 추억: 통신교환은 첫 번째 추억으로 사용할 수 없습니다. +System.String LMemoryArgBadSpecies = {0} 추억: 이 버전에서 잡을 수 없는 포켓몬 종류입니다. +System.String LMemoryArgSpecies = {0} 추억: 이 버전에서 잡을 수 있는 포켓몬 종류입니다. +System.String LMemoryCleared = 추억: 제대로 지워지지 않았습니다. +System.String LMemoryF_0_Valid = {0} 추억을 사용할 수 있습니다. +System.String LMemoryFeelInvalid = {0} 추억: Invalid Feeling. +System.String LMemoryHTFlagInvalid = 교환 경험 없음: 현재 소유자는 소유했던 트레이너가 될 수 없습니다. +System.String LMemoryHTGender = 소유했던 트레이너의 성별이 잘못되었습니다: {0} +System.String LMemoryHTLanguage = 소유했던 트레이너의 언어가 없습니다. +System.String LMemoryIndexArgHT = 소유했던 트레이너와의 추억 중 TextVar 값을 가지고 있어야 합니다 (아무 곳이나). +System.String LMemoryIndexFeel = {0} 추억: Feeling은 인덱스 {1}이어야 합니다. +System.String LMemoryIndexFeelHT09 = 소유했던 트레이너와의 추억 중 Feeling 값을 가지고 있어야 합니다 (0-9). +System.String LMemoryIndexID = {0} 추억: 인덱스 {1}이어야 합니다. +System.String LMemoryIndexIntensity = {0} 추억: 강도는 인덱스 {1}이어야 합니다. +System.String LMemoryIndexIntensityHT1 = 소유했던 트레이너와의 추억 중 강도 값을 가지고 있어야 합니다 (첫 번째). +System.String LMemoryIndexIntensityMin = {0} 추억: 강도는 최소 {1}이어야 합니다. +System.String LMemoryIndexLinkHT = 소유했던 통신교환 트레이너와의 추억을 가지고 있어야 합니다. +System.String LMemoryIndexVar = {0} 추억: TextVar는 인덱스 {1}이어야 합니다. +System.String LMemoryMissingHT = 추억: 소유했던 트레이너와의 추억이 없습니다. +System.String LMemoryMissingOT = 추억: 어버이와의 추억이 없습니다. +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = 교환 경험 없음: 소유했던 트레이너와의 절친도는 0이어야 합니다. +System.String LMemoryStatAffectionOT0 = 어버이와의 절친도는 0이어야 합니다. +System.String LMemoryStatEnjoyment = Enjoyment should be {0}. +System.String LMemoryStatFriendshipHT0 = 교환 경험 없음: 소유했던 트레이너와의 친밀도는 0이어야 합니다. +System.String LMemoryStatFriendshipOTBaseEvent = 이벤트 어버이와의 친밀도가 기본 친밀도와 일치하지 않습니다. +System.String LMemoryStatFullness = Fullness should be {0}. +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = 유전받은 {0} 기술입니다. 유전받은 {1} 기술과 함께 존재할 수 없습니다. +System.String LMoveEggIncompatible = 교배기입니다. 이벤트 교배기와 함께 존재할 수 없습니다. +System.String LMoveEggIncompatibleEvent = 이벤트 교배기입니다. 일반 교배기와 함께 존재할 수 없습니다. +System.String LMoveEggInherited = 유전받은 교배기입니다. +System.String LMoveEggInheritedTutor = 유전받은 기술 가르침 기술입니다. +System.String LMoveEggInvalid = 예상된 교배기가 아닙니다. +System.String LMoveEggInvalidEvent = 교배기입니다. 이벤트 알에서 예상되는 기술이 아닙니다. +System.String LMoveEggInvalidEventLevelUp = 유전받은 레벨업 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. +System.String LMoveEggInvalidEventLevelUpGift = 유전받은 레벨업 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. +System.String LMoveEggInvalidEventTMHM = 우전받은 기술머신/비전머신 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. +System.String LMoveEggInvalidEventTutor = 유전받은 기술 가르침 기술입니다. 이벤트 알에서 예상된 기술이 아닙니다. +System.String LMoveEggLevelUp = 유전받은 레벨업 기술입니다. +System.String LMoveEggMissing = 이벤트 교배기가 없습니다. +System.String LMoveEggMoveGift = 교배기입니다. 이벤트 알에서 예상된 기술이 아닙니다. +System.String LMoveEggTMHM = 유전받은 기술머신/비전머신 기술입니다. +System.String LMoveEventEggLevelUp = 유전받은 레벨업 기술입니다. 이벤트 교배기와 함께 존재할 수 없습니다. +System.String LMoveEvoFCombination_0 = 기술 조합이 {0} 진화와 호환되지 않습니다. +System.String LMoveEvoFHigher = 함께 존재할 수 없는 기술입니다. {1}은(는) {0}보다 높은 레벨에 배우는 기술입니다. +System.String LMoveEvoFLower = 함께 존재할 수 없는 기술입니다. {0}은(는) {1}보다 낮은 레벨애 배우는 기술입니다. +System.String LMoveFDefault_0 = {0}세대 기본 기술입니다. +System.String LMoveFExpect_0 = 다음 기술이 예상됩니다: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = {0}세대 레벨업 기술입니다. +System.String LMoveFTMHM_0 = {0}세대 기술머신/비전머신 기술입니다. +System.String LMoveFTutor_0 = {0}세대 기술 가르침 기술입니다. +System.String LMoveKeldeoMismatch = 케르디오의 기술과 폼이 일치하지 않습니다. +System.String LMoveNincada = 하나의 아이스크 기술만 가질 수 있습니다. +System.String LMoveNincadaEvo = 토중몬에서 아이스크로 진화하면서 배운 기술입니다. +System.String LMoveNincadaEvoF_0 = {0}세대에서 토중몬에서 아이스크로 진화하면서 배운 기술입니다. +System.String LMovePPTooHigh_0 = 기술 {0}의 PP가 허용된 값보다 많습니다. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = 도감 내비 기술이 예상과 다릅니다. +System.String LMoveRelearnEgg = 베이스 자력기입니다. +System.String LMoveRelearnEggMissing = 베이스 자력기가 없습니다. +System.String LMoveRelearnFExpect_0 = 다음 떠올리기 기술이 예상됩니다: {0} ({1}) +System.String LMoveRelearnFMiss_0 = 떠올리기 기술이 없습니다: {0} +System.String LMoveRelearnInvalid = 떠올리기 기술이 예상과 다릅니다. +System.String LMoveRelearnNone = 슬롯에 떠올리기 기술이 없어야 할 것으로 예상됩니다. +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = 기본 기술입니다. +System.String LMoveSourceDuplicate = 중복되는 기술입니다. +System.String LMoveSourceEgg = 자력기입니다. +System.String LMoveSourceEggEvent = 이벤트 자력기입니다. +System.String LMoveSourceEmpty = 비어 있는 기술입니다. +System.String LMoveSourceInvalid = 사용할 수 없는 기술입니다. +System.String LMoveSourceInvalidSketch = 사용할 수 없는 기술입니다 (스케치). +System.String LMoveSourceLevelUp = 레벨업 기술입니다. +System.String LMoveSourceRelearn = 떠올리기 기술입니다. +System.String LMoveSourceShared = Shared Non-Relearn Move. +System.String LMoveSourceSharedF = Shared Non-Relearn Move in Generation {0}. +System.String LMoveSourceSpecial = 다시 배울 수 없는 특별한 기술입니다. +System.String LMoveSourceTMHM = 기술머신/비전머신 기술입니다. +System.String LMoveSourceTR = Unexpected Technical Record Learned flag: {0} +System.String LMoveSourceTutor = 기술 가르침 기술입니다. +System.String LNickFlagEggNo = 알은 반드시 이름 플래그가 꺼져 있어야 합니다. +System.String LNickFlagEggYes = 알은 반드시 이름 플래그가 켜져 있어야 합니다. +System.String LNickInvalidChar = 이 이름은 사용할 수 없습니다. +System.String LNickLengthLong = 이름이 너무 깁니다. +System.String LNickLengthShort = 이름이 비어 있습니다. +System.String LNickMatchLanguage = 이름이 포켓몬 종류와 일치합니다. +System.String LNickMatchLanguageEgg = 알이 나라별 알 이름과 일치합니다. +System.String LNickMatchLanguageEggFail = 알 이름이 언어별 알 이름과 일치하지 않습니다. +System.String LNickMatchLanguageFail = 이름이 포켓몬 종류와 일치하지 않습니다. +System.String LNickMatchLanguageFlag = 이름 플래그가 켜져 있으나 이름이 포켓몬 종류와 일치합니다. +System.String LNickMatchNoOthers = 이름이 다른 포켓몬 종류와 일치하지 않습니다. +System.String LNickMatchNoOthersFail = 이름이 다른 포켓몬 종류와 일치합니다 (+언어). +System.String LOT_IDEqual = TID와 SID가 동일합니다. +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = TID와 SID가 0입니다. +System.String LOT_SID0 = SID가 0입니다. +System.String LOT_SID0Invalid = SID는 0이어야 합니다. +System.String LOT_TID0 = TID가 0입니다. +System.String LOTLanguage = 언어 ID는 {1}이 아니라 {0}이어야 합니다. +System.String LOTLong = 어버이 이름이 너무 깁니다. +System.String LOTShort = 어버이의 이름이 너무 짧습니다. +System.String LOTSuspicious = 의심을 받을 수 있는 어버이입니다. +System.String LPIDEncryptWurmple = 개무소의 진화 형태가 암호화 상수와 일치하지 않습니다. +System.String LPIDEncryptZero = 암호화 상수가 설정되어 있지 않습니다. +System.String LPIDEqualsEC = 암호화 상수가 PID와 일치합니다. +System.String LPIDGenderMatch = PID와 성별이 일치합니다. +System.String LPIDGenderMismatch = PID와 성별이 일치하지 않습니다. +System.String LPIDNatureMatch = PID와 성격이 일치합니다. +System.String LPIDNatureMismatch = PID와 성격이 일치하지 않습니다. +System.String LPIDTypeMismatch = 인카운터 유형 PID가 일치하지 않습니다. +System.String LPIDZero = PID가 지정되지 않았습니다. +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = 모든 리본이 채워졌습니다. +System.String LRibbonEgg = 알은 리본을 얻을 수 없습니다. +System.String LRibbonFInvalid_0 = 사용할 수 없는 리본: +System.String LRibbonFMissing_0 = 없는 리본: +System.String LRibbonMarkingAffixedF_0 = Invalid Affixed Ribbon/Marking: {0} +System.String LRibbonMarkingFInvalid_0 = Invalid Marking: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = Battle Version is not within the expected range. +System.String LStatDynamaxInvalid = 다이맥스 레벨이 예상 범위를 벗어났습니다. +System.String LStatGigantamaxInvalid = 거다이맥스 플래그가 일치하지 않습니다. +System.String LStatGigantamaxValid = Gigantamax Flag was changed via Max Soup. +System.String LStatIncorrectCP = 계산된 CP와 저장된 값이 일치하지 않습니다. +System.String LStatIncorrectHeight = 계산된 키와 저장된 값이 일치하지 않습니다. +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = 계산된 몸무게와 저장된 값이 일치하지 않습니다. +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = Stat Nature is not within the expected range. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = 대단한 특훈 완료 플래그가 일치하지 않습니다. +System.String LSuperDistro = 배분한 대단한 특훈 미션이 배포되지 않은 미션입니다. +System.String LSuperEgg = 알은 대단한 특훈을 시킬 수 없습니다. +System.String LSuperNoComplete = 만난 게임에서 대단한 특훈 완료 플래그를 켤 수 없습니다. +System.String LSuperNoUnlocked = 만난 게임에서 대단한 특훈 해금 플래그를 켤 수 없습니다. +System.String LSuperUnavailable = 방문했던 게임에서 대단한 특훈 미션을 사용할 수 없습니다. +System.String LSuperUnused = 사용되지 않는 대단한 특훈 플래그가 켜져 있습니다. +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = 버추얼 콘솔 게임에서 얻을 수 없는 포켓몬 종류입니다. +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = 알은 세대를 옮길 수 없습니다. +System.String LTransferEggLocationTransporter = 만난 장소가 잘못되었습니다. 포케시프터로 예상됩니다. +System.String LTransferEggMetLevel = 만난 장소가 잘못되었습니다. +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = 현재 소유자는 전송된 포켓몬의 이전 세대 어버이와 같을 수 없습니다. +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = 만난 장소가 잘못되었습니다. 포케시프터 또는 크라운시티로 예상됩니다. +System.String LTransferMetLocation = 옮겨진 만난 장소가 잘못되었습니다. +System.String LTransferMove = 호환되지 않는 전송 공격. +System.String LTransferMoveG4HM = 안개제거와 바다회오리가 함께 존재합니다. 둘 중 하나는 5세대로 옮기기 전에 제거해야 합니다. +System.String LTransferMoveHM = {0}세대 비전머신입니다. {1}세대로 옮기기 전에 제거해야 합니다. +System.String LTransferNature = Invalid Nature for transfer Experience. +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = 현재 로드한 세이브파일 ({1}) 에서는 {0} 버전에서 만난 포켓몬이 존재할 수 없습니다. +System.String LTransferPIDECBitFlip = PID는 Top bit가 뒤집힌 암호화 상수와 동일해야 합니다! +System.String LTransferPIDECEquals = PID는 암호화 상수와 동일해야 합니다! +System.String LTransferPIDECXor = 암호화 상수가 색이 다르도록 계산된 PID와 일치합니다. +System.String LTransferTrackerMissing = Pokémon HOME Transfer Tracker is missing. +System.String LTransferTrackerShouldBeZero = Pokémon HOME Transfer Tracker should be 0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt index 16f2827c6..1a8f0841f 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh.txt @@ -1,399 +1,406 @@ -L_AError = 内部错误。 -L_ALegal = 合法。 -L_AnalysisUnavailable = 无法分析该宝可梦。 -L_AValid = 有效。 -L_F0_1 = {0}: {1} -L_F0_M_1_2 = {0}招式 {1} : {2} -L_F0_RM_1_2 = {0}回忆招式 {1}: {2} -L_FEncounterType_0 = 相遇方式: {0} -L_FOriginSeed_0 = 原始Seed: {0} -L_FPIDType_0 = PID类型: {0} -L_SFishy = 可疑 -L_SInvalid = 不合法 -L_SNotImplemented = 功能未实现 -L_SValid = 合法 -L_XEnigmaBerry_0 = {0}树果 -L_XHT = 持有人 -L_XKorean = 韩版 -L_XKoreanNon = 非韩版 -L_XMatches0_1 = 匹配: {0} {1} -L_XOT = 初训家 -L_XWurmpleEvo_0 = 刺尾虫进化形态: {0} -LAbilityCapsuleUsed = 特性被特性胶囊改变。 -LAbilityFlag = 特性与特性序号一致。 -LAbilityHiddenFail = 隐藏特性与相遇方式不一致。 -LAbilityHiddenUnavailable = 隐藏特性不可获得。 -LAbilityMismatch = 特性与相遇方式不一致。 -LAbilityMismatch3 = 特性与三代种类特性不一致。 -LAbilityMismatchFlag = 特性与特性值不一致。 -LAbilityMismatchGift = 特性与神秘礼物不一致。 -LAbilityMismatchGrotto = 隐藏洞穴捕获的宝可梦必定为隐藏特性。 -LAbilityMismatchHordeSafari = 非群战/朋友原野区获得隐藏特性。 -LAbilityMismatchPID = 特性与PID不一致。 -LAbilityMismatchSOS = 非帮手宝可梦拥有隐藏特性。 -LAbilityPatchUsed = 特性已被特性膏药修改 -LAbilityUnexpected = 特性对于该种类/形态不合法。 -LAwakenedCap = 单个觉醒值不能大于 {0}. -LAwakenedShouldBeValue = 单个觉醒值应该大于 {0} ({1}). -LBallAbility = 不能以该球捕获隐藏特性。 -LBallEggCherish = 一般的蛋不能为贵重球。 -LBallEggMaster = 一般的蛋不能为大师球。 -LBallEnc = 对于相遇方式球种合法。 -LBallEncMismatch = 对于相遇方式为不合法球种。 -LBallHeavy = 体重轻, 低捕获率的宝可梦不能被沉重球捕获(7代)。 -LBallNone = 没有满足条件的检查,假设为不合法。 -LBallSpecies = 不能以该球捕获宝可梦。 -LBallSpeciesPass = 球对该种类合法。 -LBallUnavailable = 在原来世代该球不可获得。 -LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. -LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. -LContestZero = 华丽大赛状态值应为0。 -LContestZeroSheen = Contest Stat Sheen should be 0. -LDateOutsideDistributionWindow = 相遇日期在配信日期区间之外. -LEffort2Remaining = 剩下2点努力值。 -LEffortAbove252 = 单项努力值不能超过252。 -LEffortAbove510 = 努力值总和不能超过510。 -LEffortAllEqual = 所有努力值相等。 -LEffortCap100 = 对于遇见等级为100的4代宝可梦,单项努力值不能大于100。 -LEffortEgg = 蛋不能有努力值。 -LEffortEXPIncreased = 所有努力值为0,但当前等级高于遇见等级。 -LEffortShouldBeZero = 无法获得努力值. -LEffortUntrainedCap = 有努力值但没有超过{0}的经验值。 -LEggContest = 不能增加蛋的华丽大赛状态。 -LEggEXP = 蛋不能获得经验值. -LEggFMetLevel_0 = 不合法相遇等级, 应该是 {0}。 -LEggHatchCycles = 蛋剩余孵化周期不合法。 -LEggLocation = 能在相遇地点孵化蛋。 -LEggLocationInvalid = 不能在相遇地点孵化蛋。 -LEggLocationNone = 不合法蛋取得场所, 应该为空。 -LEggLocationPalPark = 不合法相遇地点, 应该是伙伴公园。 -LEggLocationTrade = 能在相遇地点孵化交易的蛋。 -LEggLocationTradeFail = 不合法蛋取得场所, 不能在还是蛋时“交换” -LEggMetLocationFail = 不能在蛋取得场所获得蛋。 -LEggNature = 不能改变蛋得能力性格(薄荷). -LEggPokeathlon = 蛋不能有全能竞技赛体能值。 -LEggPokerus = 蛋不能感染宝可病毒。 -LEggPP = 蛋不能有PP数变动。 -LEggPPUp = 不能对蛋使用PP提升剂。 -LEggRelearnFlags = 预期不会重新学习技能标志. -LEggShinyLeaf = 蛋不能有闪光树叶/王冠。 -LEggShinyPokeStar = 蛋无法成为宝可梦好莱坞之星. -LEggSpecies = 不能获得该种宝可梦的蛋。 -LEggUnhatched = 合法孵化的蛋。 -LEncCondition = 合法野外遇见方式。 -LEncConditionBadRNGFrame = 遇见方式无法与可能的乱数帧匹配。 -LEncConditionBadSpecies = 该宝可梦在来源版本中不存在。 -LEncConditionBlack = 合法野外遇见方式 (黑色玻璃哨)。 -LEncConditionBlackLead = 合法野外遇见方式 (黑色玻璃哨 & 压迫感/活力/干劲)。 -LEncConditionDexNav = 合法野外遇见方式 (忍足系统)。 -LEncConditionLead = 合法野外遇见方式 (压迫感/活力/干劲)。 -LEncConditionWhite = 合法野外遇见方式 (白色玻璃哨)。 -LEncConditionWhiteLead = 合法野外遇见方式 (白色玻璃哨 & 压迫感/活力/干劲)。 -LEncGift = 无法在来源版本中匹配到相应的礼物蛋。 -LEncGiftEggEvent = 无法在来源版本中匹配到相应的配信蛋。 -LEncGiftIVMismatch = 个体值与神秘礼物数据不一致。 -LEncGiftNicknamed = 配信宝可梦被改名。 -LEncGiftNotFound = 不能与数据库中神秘礼物匹配。 -LEncGiftPIDMismatch = 神秘礼物与 PID 不一致。 -LEncGiftShinyMismatch = 神秘礼物与闪光状态不一致。 -LEncGiftVersionNotDistributed = 神秘礼物不能被该版本接收。 -LEncInvalid = 不能在来源版本中找到对应相遇方式。 -LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. -LEncStaticMatch = 合法的礼物/定点相遇。 -LEncStaticPIDShiny = 定点相遇闪光条件不匹配。 -LEncStaticRelearn = 定点遇见宝可梦,可回忆招式不匹配。 -LEncTradeChangedNickname = 游戏内连接交换的昵称被修改。 -LEncTradeChangedOT = 游戏内连接交换的初训家被修改。 -LEncTradeIndexBad = 游戏内连接交换序号不合法? -LEncTradeMatch = 合法的游戏内连接交换。 -LEncTradeUnchanged = 游戏内连接交换的初训家和昵称未被修改。 -LEncTypeMatch = 遇见类型与遇见方式一致。 -LEncTypeMismatch = 遇见类型与遇见方式不一致。 -LEncUnreleased = 未解禁配信。 -LEncUnreleasedEMewJP = 非日版来自边境的小岛的梦幻,未发布的配信。 -LEncUnreleasedHoOArceus = 来自初始之间的阿尔宙斯,未发布的配信。 -LEncUnreleasedPtDarkrai = 非白金版来自新月岛的达克莱伊,未发布的配信。 -LEncUnreleasedPtShaymin = 非白金版来自花之乐园的谢米,未发布的配信。 -LEReaderAmerica = 美版E-Reader树果在日版存档中。 -LEReaderInvalid = 不合法E-Reader树果。 -LEReaderJapan = 日版E-Reader树果在国际版存档中。 -LEvoInvalid = 进化形态不合法(或等级/交换进化型不合法)。 -LEvoTradeReq = 游戏内交换{0}应当进化为{1}. -LEvoTradeReqOutsider = 外来的{0}应当进化为{1}. -LEvoTradeRequired = 版本特定进化需要交换到另一版本。需要有最近持有人。 -LFateful = 特殊游戏内宝可梦命中注定般地遇见。 -LFatefulGiftMissing = 没有匹配的“命中注定遇见”的数据。该神秘礼物有被共享吗? -LFatefulInvalid = 命中注定般地遇见不应被勾选。 -LFatefulMissing = 特殊游戏内宝可梦缺失命中注定般地遇见。 -LFatefulMystery = 神秘礼物命中注定般地遇见。 -LFatefulMysteryMissing = 神秘礼物缺失命中注定般地遇见。 -LFavoriteMarkingUnavailable = 最喜欢的标志不可用. -LFormArgumentHigh = 形态参数对于当前 形态来说太高. -LFormArgumentInvalid = 形态参数无效. -LFormArgumentLow = 形态参数对于当前 形态来说太低. -LFormArgumentNotAllowed = 当前相遇方式不允许此 形态参数. -LFormArgumentValid = 形态参数有效. -LFormBattle = 该形态不可能存在对战外。 -LFormEternal = 永恒之花遇见合法。 -LFormEternalInvalid = 永恒之花遇见不合法。 -LFormInvalidGame = 这种形态不能在来源版本中获得。 -LFormInvalidNature = 此形态无法拥有这种性格. -LFormInvalidRange = 形态数超过最大值。 应该 <= {0}, 实际是 {1}。 -LFormItem = 持有物与形态一致。 -LFormItemInvalid = 持有物与形态不一致。 -LFormParty = 该形态不可能存在同行队伍外。 -LFormPikachuCosplay = 只有换装皮卡丘能有该形态。 -LFormPikachuCosplayInvalid = 换装皮卡丘不能有普通形态。 -LFormPikachuEventInvalid = 配信皮卡丘不能有普通形态。 -LFormValid = 合法形态。 -LFormVivillon = 合法彩粉蝶花纹。 -LFormVivillonEventPre = 退化形态拥有配信彩粉蝶花纹。 -LFormVivillonInvalid = 不合法彩粉蝶花纹。 -LFormVivillonNonNative = Non-native Vivillon pattern. -LG1CatchRateChain = 捕获率不能与该宝可梦进化链内种族一致。 -LG1CatchRateEvo = 捕获率与不计遇见方式的种族一致。应为进化前捕获率。 -LG1CatchRateItem = 捕获率与合法二代持有物一致。 -LG1CatchRateMatchPrevious = 捕获率与进化链中某种一致。 -LG1CatchRateMatchTradeback = 捕获率与合法二代持有物一致。 -LG1CatchRateNone = 捕获率不能与该宝可梦进化链内种族或2代持有物一致。 -LG1CharNick = 来自1/2代的昵称使用了非法字符。 -LG1CharOT = 来自1/2代的初训家名使用了非法字符。 -LG1GBEncounter = 不能在VC中特殊遇见该种宝可梦。 -LG1MoveExclusive = 初代专属招式。与无法追踪的遗传招式冲突。 -LG1MoveLearnSameLevel = 不共存招式。 在四色中同一等级的升级招式。 -LG1MoveTradeback = 无法追踪的遗传招式。与初代专属招式冲突。 -LG1OTEvent = 不正确初代四色配信初训家名。 -LG1OTGender = 第1/2世代的初训家不能为女性。 -LG1Stadium = 不正确竞技场初训家。 -LG1StadiumInternational = 合法国际版竞技场初训家。 -LG1StadiumJapanese = 合法日版竞技场初训家。 -LG1TradebackPreEvoMove = 无法追踪的进化前招式。与第一世代专属招式不兼容。 -LG1Type1Fail = 不合法类型A, 与种类不一致。 -LG1Type2Fail = 不合法类型B, 与种类不一致。 -LG1TypeMatch1 = 合法类型A, 与种族一致。 -LG1TypeMatch2 = 合法类型B, 与种族一致。 -LG1TypeMatchPorygon = 多边兽有合法的类型A与B值。 -LG1TypePorygonFail = 多边兽有不合法的类型A或B值。组合不合法 -LG1TypePorygonFail1 = 多边兽有不合法的类型A值。 -LG1TypePorygonFail2 = 多边兽有不合法的类型B值。 -LG2InvalidTilePark = 自然公园钓鱼遇敌。无法到达的水域。 -LG2InvalidTileR14 = 关都14号道路钓鱼遇敌。无法到达的水域。 -LG2InvalidTileSafari = 第二世代狩猎区钓鱼遇敌。无法到达的区域。 -LG2InvalidTileTreeID = 匹配到水晶版头锤遇敌的一棵无法到达的树符合初训家ID。 -LG2InvalidTileTreeNotFound = 无法在水晶版找到头锤遇敌的树符合初训家ID。 -LG2OTGender = 除水晶版之外的虚拟主机游戏中初训家不能为女性。 -LG2TreeID = 匹配到水晶版头锤遇敌的一棵树符合初训家ID。 -LG3EReader = 非日版黑暗E-reader宝可梦。未解禁遇见方式。 -LG3OTGender = 来自Colosseum/XD的初训家不能为女性。 -LG4InvalidTileR45Surf = 城都45号道路的水面遇见类型,不可到达的水道。 -LG5ID_N = N的初训家或表里ID不正确。 -LG5IVAll30 = N的宝可梦所有个体值应为30。 -LG5OTGenderN = N的宝可梦初训家性别必须为男性。 -LG5PIDShinyGrotto = 在隐藏洞穴捕获的宝可梦不能为闪。 -LG5PIDShinyN = N的宝可梦不能为闪。 -LG5SparkleInvalid = 特殊游戏内宝可梦N的闪光标记不应勾选。 -LG5SparkleRequired = 特殊游戏内宝可梦N的闪光标记缺失。 -LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). -LGenderInvalidNone = 无性别宝可梦不能有性别。 -LGeoBadOrder = 地理位置回忆: 间隔/空白存在。 -LGeoHardwareInvalid = 地理位置: 国家不在3DS区域内。 -LGeoHardwareRange = 不合法主机系统。 -LGeoHardwareValid = 地理位置: 国家在3DS区域内。 -LGeoMemoryMissing = 地理位置回忆: 回忆应该存在。 -LGeoNoCountryHT = 地理位置回忆: 持有人名称存在但没有故居。 -LGeoNoRegion = 地理位置回忆: 地区没有国家。 -LHyperBelow100 = 不能对未满100级的宝可梦极限训练。 -LHyperPerfectAll = 不能对完美个体的宝可梦极限训练。 -LHyperPerfectOne = 不能对完美个体项极限训练。 -LHyperPerfectUnavailable = Can't Hyper Train any IV(s). -LItemEgg = 蛋不能有持有物。 -LItemUnreleased = 持有物未解禁。 -LIVAllEqual_0 = 所有个体值都是 {0}。 -LIVF_COUNT0_31 = 至少有 {0} 项个体值 = 31。 -LIVNotCorrect = 个体值与相遇要求不匹配 -LLevelEXPThreshold = 当前经验与等级匹配。 -LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. -LLevelMetBelow = 当前等级低于相遇等级。 -LLevelMetGift = 相遇等级与神秘礼物等级不一致。 -LLevelMetGiftFail = 相遇等级低于神秘礼物等级。 -LLevelMetSane = 当前等级不低于相遇等级。 -LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. -LMarkValueShouldBeZero = Marking flags cannot be set. -LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. -LMemoryArgBadCatch = {0} 回忆: {0} 没有捕获它。 -LMemoryArgBadHatch = {0} 回忆: {0} 没有孵化它。 -LMemoryArgBadHT = 回忆: 蛋不能作为持有人的回忆。 -LMemoryArgBadID = {0} 回忆: 不能在 {0} 版中获得回忆。 -LMemoryArgBadItem = {0} 回忆: 该宝可梦不能持有此物品。 -LMemoryArgBadLocation = {0} 回忆: 不能在 {0} 版中获得地点。 -LMemoryArgBadMove = {0} 回忆: 当前种类不能习得该招式。 -LMemoryArgBadOTEgg = {0} 回忆: 连接交换不能为第一回忆。 -LMemoryArgBadSpecies = {0} 回忆: 不能在游戏中捕获。 -LMemoryArgSpecies = {0} 回忆: 当前种类能在游戏中捕获。 -LMemoryCleared = 回忆: 未完全清理。 -LMemoryF_0_Valid = {0} 回忆有效。 -LMemoryFeelInvalid = {0} 回忆: 不合法感受。 -LMemoryHTFlagInvalid = 未交换: 当前持有者不能为持有人。 -LMemoryHTGender = 持有人性别不合法: {0} -LMemoryHTLanguage = 持有人语言丢失. -LMemoryIndexArgHT = 应该有持有人回忆文本值(某处)。 -LMemoryIndexFeel = {0} 回忆: 感受应为序号 {1}。 -LMemoryIndexFeelHT09 = 应该有持有人回忆感受值 0-9。 -LMemoryIndexID = {0} 回忆: 应为序号 {1}。 -LMemoryIndexIntensity = {0} 回忆: 回忆强度应为序号 {1}。 -LMemoryIndexIntensityHT1 = 应该有持有人回忆强度值(1st)。 -LMemoryIndexIntensityMin = {0} 回忆: 回忆强度应不小于 {1}。 -LMemoryIndexLinkHT = 应该有连接交换持有人的回忆。 -LMemoryIndexVar = {0} 回忆: 文本值应为序号 {1}。 -LMemoryMissingHT = 回忆: 缺失持有人回忆。 -LMemoryMissingOT = 回忆: 缺失初训家回忆。 -LMemorySocialTooHigh_0 = Social Stat should be <= {0} -LMemorySocialZero = Social Stat should be zero. -LMemoryStatAffectionHT0 = 未交换: 持有人的友好度应为0。 -LMemoryStatAffectionOT0 = 初训家友好度应为0。 -LMemoryStatEnjoyment = 享受度应该为{0}。 -LMemoryStatFriendshipHT0 = 未交换: 持有人的亲密度应为0。 -LMemoryStatFriendshipOTBaseEvent = 配信的初训家亲密度与初始亲密度不一致。 -LMemoryStatFullness = 饱腹度应该为{0}。 -LMoveEggFIncompatible0_1 = {0}的遗传招式。与遗传的招式{1}不共存。 -LMoveEggIncompatible = 遗传招式。与配信蛋招式冲突。 -LMoveEggIncompatibleEvent = 配信蛋招式。与遗传招式冲突。 -LMoveEggInherited = 遗传了蛋招式。 -LMoveEggInheritedTutor = 遗传了教学招式。 -LMoveEggInvalid = 不应有的遗传招式 -LMoveEggInvalidEvent = 遗传了遗传招式。配信的蛋不应有。 -LMoveEggInvalidEventLevelUp = 遗传了升级招式。配信的蛋不应有。 -LMoveEggInvalidEventLevelUpGift = 遗传升级招式。礼物蛋不应有。 -LMoveEggInvalidEventTMHM = 遗传了TM/HM招式。配信的蛋不应有。 -LMoveEggInvalidEventTutor = 遗传了教学招式。配信的蛋不应有。 -LMoveEggLevelUp = 遗传了升级招式。 -LMoveEggMissing = 缺失配信蛋招式. -LMoveEggMoveGift = 遗传招式。礼物蛋不应有。 -LMoveEggTMHM = 遗传了TM/HM招式。 -LMoveEventEggLevelUp = 遗传升级招式。与配信蛋招式冲突。 -LMoveEvoFCombination_0 = 招式组合与{0}进化型不兼容. -LMoveEvoFHigher = 不共存进化招式。招式 {1} 比其他招式 {0} 习得等级高。 -LMoveEvoFLower = 不共存进化招式。招式 {0} 比其他招式 {1} 习得等级低。 -LMoveFDefault_0 = 在第{0}世代的默认招式。 -LMoveFExpect_0 = 应该是该招式: {0} -LMoveFExpectSingle_0 = Expected: {0} -LMoveFLevelUp_0 = 在第{0}世代通过升级习得。 -LMoveFTMHM_0 = 在第{0}世代通过TM/HM习得。 -LMoveFTutor_0 = 在第{0}世代通过招式教学习得。 -LMoveKeldeoMismatch = 凯路迪欧的招式与形态不匹配。 -LMoveNincada = 只能拥有一个铁面忍者的招式。 -LMoveNincadaEvo = 通过土居忍士进化为铁面忍者习得。 -LMoveNincadaEvoF_0 = 通过土居忍士在第{0}世代进化为铁面忍者习得。 -LMovePPTooHigh_0 = 技能 {0} PP高于允许值. -LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. -LMoveRelearnDexNav = 非正确忍足招式。 -LMoveRelearnEgg = 基本遗传招式。 -LMoveRelearnEggMissing = 缺失基本遗传招式。 -LMoveRelearnFExpect_0 = 应为以下可回忆招式: {0} ({1}) -LMoveRelearnFMiss_0 = 缺失可回忆招式: {0} -LMoveRelearnInvalid = 非正确回忆招式。 -LMoveRelearnNone = 应该没有回忆招式。 -LMoveRelearnUnderground = Not an expected Underground egg move. -LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. -LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. -LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. -LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. -LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. -LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. -LMoveSourceDefault = 默认招式。 -LMoveSourceDuplicate = 重复招式。 -LMoveSourceEgg = 遗传招式。 -LMoveSourceEggEvent = 配信蛋招式。 -LMoveSourceEmpty = 空招式。 -LMoveSourceInvalid = 招式不合法。 -LMoveSourceInvalidSketch = 招式不合法 (写生)。 -LMoveSourceLevelUp = 通过升级习得。 -LMoveSourceRelearn = 可回忆招式。 -LMoveSourceShared = 共享的不可回忆招式. -LMoveSourceSharedF = 共享的{0}代不可回忆招式. -LMoveSourceSpecial = 特殊不可回忆招式。 -LMoveSourceTMHM = 通过TM/HM习得。 -LMoveSourceTR = 意外的招式学习机标志: {0} -LMoveSourceTutor = 通过招式教学习得。 -LNickFlagEggNo = 蛋不能被改名。 -LNickFlagEggYes = 蛋必须有昵称。 -LNickInvalidChar = 无法给宝可梦取中文昵称。 -LNickLengthLong = 昵称太长。 -LNickLengthShort = 昵称为空。 -LNickMatchLanguage = 昵称与种类名一致。 -LNickMatchLanguageEgg = 蛋名称与语言一致。 -LNickMatchLanguageEggFail = 蛋名称与语言不一致。 -LNickMatchLanguageFail = 昵称与种类名不一致。 -LNickMatchLanguageFlag = 昵称被标记, 与种类名一致。 -LNickMatchNoOthers = 昵称不与另一种类名一致。 -LNickMatchNoOthersFail = 昵称与另一宝可梦种类名一致 (+language)。 -LOT_IDEqual = 表里ID相等。 -LOT_IDInvalid = TID and SID combination is not possible. -LOT_IDs0 = 表ID与里ID为 0。 -LOT_SID0 = 里ID为0。 -LOT_SID0Invalid = 里ID应为 0。 -LOT_TID0 = 表ID为0。 -LOTLanguage = 语言ID应该 {0}, 而不是 {1}。 -LOTLong = 初训家名称太长。 -LOTShort = 初训家名太短 -LOTSuspicious = 可疑的初训家信息。 -LPIDEncryptWurmple = 刺尾虫进化形态与加密常数不一致。 -LPIDEncryptZero = 未设置加密常数。 -LPIDEqualsEC = 加密常数与PID一致。 -LPIDGenderMatch = 性别与PID匹配。 -LPIDGenderMismatch = 性别与PID不匹配。 -LPIDNatureMatch = 性格与PID匹配。 -LPIDNatureMismatch = 性格与PID不匹配。 -LPIDTypeMismatch = 遇见类型与 PID 不一致。 -LPIDZero = 未设置PID。 -LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. -LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. -LRibbonAllValid = 所有奖章合法。 -LRibbonEgg = 蛋不能接受奖章。 -LRibbonFInvalid_0 = 不合法奖章: -LRibbonFMissing_0 = 缺失奖章: -LRibbonMarkingAffixedF_0 = 无效的奖章/证章: {0} -LRibbonMarkingFInvalid_0 = 无效标记: {0} -LStatAlphaInvalid = Alpha Flag mismatch. -LStatBattleVersionInvalid = 对战版本不在期望范围内. -LStatDynamaxInvalid = 极巨等级不在预期范围内. -LStatGigantamaxInvalid = 超级极巨标志不匹配. -LStatGigantamaxValid = 超级极巨标志已被极巨汤修改. -LStatIncorrectCP = 计算的CP值与存储值不匹配. -LStatIncorrectHeight = 计算的高度与存储值不匹配 -LStatIncorrectHeightCopy = Copy Height does not match the original value. -LStatIncorrectHeightValue = Height does not match the expected value. -LStatIncorrectWeight = 计算的重量与存储值不匹配 -LStatIncorrectWeightValue = Weight does not match the expected value. -LStatInvalidHeightWeight = Height / Weight values are statistically improbable. -LStatNatureInvalid = 性格不在期望范围内. -LStatNobleInvalid = Noble Flag mismatch. -LSuperComplete = 超级训练完成标记不匹配。 -LSuperDistro = 配信超级训练任务未发布。 -LSuperEgg = 不能对蛋进行超级训练。 -LSuperNoComplete = 当前来源版本不能有超级训练完成的标记。 -LSuperNoUnlocked = 当前来源版本不能有超级训练解锁的标记。 -LSuperUnavailable = 所达游戏版本不能进行超级训练。 -LSuperUnused = 未使用的超级训练旗标被标记。 -LTransferBad = 不能在VC中获得该种宝可梦。 -LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. -LTransferEgg = 不能跨世代传送蛋。 -LTransferEggLocationTransporter = 不合法相遇地点, 应该是虚拟传送。 -LTransferEggMetLevel = 对于传送,相遇等级不合法。 -LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). -LTransferHTFlagRequired = 对于通过前代传送获得的宝可梦,当前持有人不能为前代初训家。 -LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. -LTransferHTMismatchName = Handling trainer does not match the expected trainer name. -LTransferMet = 不合法遇见地点,应该为传送或王冠。 -LTransferMetLocation = 传送相遇地点不合法。 -LTransferMove = 不兼容的虚拟传送招式。 -LTransferMoveG4HM = 清除浓雾与潮旋。两者在传到5代以前必须被移除。 -LTransferMoveHM = 第{0}世代秘传学习器(HM招式)。应在传至第{1}世代前被移除。 -LTransferNature = 对于传送不合法的性格 -LTransferNotPossible = Unable to transfer into current format from origin format. -LTransferOriginFInvalid0_1 = {0}来源的宝可梦不能存在于({1})的游戏记录。 -LTransferPIDECBitFlip = PID应与加密常数相等[第一位反转]! -LTransferPIDECEquals = PID应与加密常数相等! -LTransferPIDECXor = 加密常数与闪光xor的PID匹配。 -LTransferTrackerMissing = Pokémon HOME传输跟踪信息丢失. -LTransferTrackerShouldBeZero = Pokémon HOME传输跟踪信息应为0. +System.String L_AError = 内部错误。 +System.String L_ALegal = 合法。 +System.String L_AnalysisUnavailable = 无法分析该宝可梦。 +System.String L_AValid = 有效。 +System.String L_F0_1 = {0}: {1} +System.String L_F0_M_1_2 = {0}招式 {1} : {2} +System.String L_F0_RM_1_2 = {0}回忆招式 {1}: {2} +System.String L_FEncounterType_0 = 相遇方式: {0} +System.String L_FOriginSeed_0 = 原始Seed: {0} +System.String L_FPIDType_0 = PID类型: {0} +System.String L_SFishy = 可疑 +System.String L_SInvalid = 不合法 +System.String L_SNotImplemented = 功能未实现 +System.String L_SValid = 合法 +System.String L_XEnigmaBerry_0 = {0}树果 +System.String L_XHT = 持有人 +System.String L_XKorean = 韩版 +System.String L_XKoreanNon = 非韩版 +System.String L_XMatches0_1 = 匹配: {0} {1} +System.String L_XOT = 初训家 +System.String L_XWurmpleEvo_0 = 刺尾虫进化形态: {0} +System.String LAbilityCapsuleUsed = 特性被特性胶囊改变。 +System.String LAbilityFlag = 特性与特性序号一致。 +System.String LAbilityHiddenFail = 隐藏特性与相遇方式不一致。 +System.String LAbilityHiddenUnavailable = 隐藏特性不可获得。 +System.String LAbilityMismatch = 特性与相遇方式不一致。 +System.String LAbilityMismatch3 = 特性与三代种类特性不一致。 +System.String LAbilityMismatchFlag = 特性与特性值不一致。 +System.String LAbilityMismatchGift = 特性与神秘礼物不一致。 +System.String LAbilityMismatchGrotto = 隐藏洞穴捕获的宝可梦必定为隐藏特性。 +System.String LAbilityMismatchHordeSafari = 非群战/朋友原野区获得隐藏特性。 +System.String LAbilityMismatchPID = 特性与PID不一致。 +System.String LAbilityMismatchSOS = 非帮手宝可梦拥有隐藏特性。 +System.String LAbilityPatchRevertUsed = Ability available with Ability Patch Revert. +System.String LAbilityPatchUsed = 特性已被特性膏药修改 +System.String LAbilityUnexpected = 特性对于该种类/形态不合法。 +System.String LAwakenedCap = 单个觉醒值不能大于 {0}. +System.String LAwakenedShouldBeValue = 单个觉醒值应该大于 {0} ({1}). +System.String LBallAbility = 不能以该球捕获隐藏特性。 +System.String LBallEggCherish = 一般的蛋不能为贵重球。 +System.String LBallEggMaster = 一般的蛋不能为大师球。 +System.String LBallEnc = 对于相遇方式球种合法。 +System.String LBallEncMismatch = 对于相遇方式为不合法球种。 +System.String LBallHeavy = 体重轻, 低捕获率的宝可梦不能被沉重球捕获(7代)。 +System.String LBallNone = 没有满足条件的检查,假设为不合法。 +System.String LBallSpecies = 不能以该球捕获宝可梦。 +System.String LBallSpeciesPass = 球对该种类合法。 +System.String LBallUnavailable = 在原来世代该球不可获得。 +System.String LContestSheenTooHigh_0 = Contest Stat Sheen should be <= {0}. +System.String LContestSheenTooLow_0 = Contest Stat Sheen should be >= {0}. +System.String LContestZero = 华丽大赛状态值应为0。 +System.String LContestZeroSheen = Contest Stat Sheen should be 0. +System.String LDateOutsideDistributionWindow = 相遇日期在配信日期区间之外. +System.String LEffort2Remaining = 剩下2点努力值。 +System.String LEffortAbove252 = 单项努力值不能超过252。 +System.String LEffortAbove510 = 努力值总和不能超过510。 +System.String LEffortAllEqual = 所有努力值相等。 +System.String LEffortCap100 = 对于遇见等级为100的4代宝可梦,单项努力值不能大于100。 +System.String LEffortEgg = 蛋不能有努力值。 +System.String LEffortEXPIncreased = 所有努力值为0,但当前等级高于遇见等级。 +System.String LEffortShouldBeZero = 无法获得努力值. +System.String LEffortUntrainedCap = 有努力值但没有超过{0}的经验值。 +System.String LEggContest = 不能增加蛋的华丽大赛状态。 +System.String LEggEXP = 蛋不能获得经验值. +System.String LEggFMetLevel_0 = 不合法相遇等级, 应该是 {0}。 +System.String LEggHatchCycles = 蛋剩余孵化周期不合法。 +System.String LEggLocation = 能在相遇地点孵化蛋。 +System.String LEggLocationInvalid = 不能在相遇地点孵化蛋。 +System.String LEggLocationNone = 不合法蛋取得场所, 应该为空。 +System.String LEggLocationPalPark = 不合法相遇地点, 应该是伙伴公园。 +System.String LEggLocationTrade = 能在相遇地点孵化交易的蛋。 +System.String LEggLocationTradeFail = 不合法蛋取得场所, 不能在还是蛋时“交换” +System.String LEggMetLocationFail = 不能在蛋取得场所获得蛋。 +System.String LEggNature = 不能改变蛋得能力性格(薄荷). +System.String LEggPokeathlon = 蛋不能有全能竞技赛体能值。 +System.String LEggPokerus = 蛋不能感染宝可病毒。 +System.String LEggPP = 蛋不能有PP数变动。 +System.String LEggPPUp = 不能对蛋使用PP提升剂。 +System.String LEggRelearnFlags = 预期不会重新学习技能标志. +System.String LEggShinyLeaf = 蛋不能有闪光树叶/王冠。 +System.String LEggShinyPokeStar = 蛋无法成为宝可梦好莱坞之星. +System.String LEggSpecies = 不能获得该种宝可梦的蛋。 +System.String LEggUnhatched = 合法孵化的蛋。 +System.String LEncCondition = 合法野外遇见方式。 +System.String LEncConditionBadRNGFrame = 遇见方式无法与可能的乱数帧匹配。 +System.String LEncConditionBadSpecies = 该宝可梦在来源版本中不存在。 +System.String LEncConditionBlack = 合法野外遇见方式 (黑色玻璃哨)。 +System.String LEncConditionBlackLead = 合法野外遇见方式 (黑色玻璃哨 & 压迫感/活力/干劲)。 +System.String LEncConditionDexNav = 合法野外遇见方式 (忍足系统)。 +System.String LEncConditionLead = 合法野外遇见方式 (压迫感/活力/干劲)。 +System.String LEncConditionWhite = 合法野外遇见方式 (白色玻璃哨)。 +System.String LEncConditionWhiteLead = 合法野外遇见方式 (白色玻璃哨 & 压迫感/活力/干劲)。 +System.String LEncGift = 无法在来源版本中匹配到相应的礼物蛋。 +System.String LEncGiftEggEvent = 无法在来源版本中匹配到相应的配信蛋。 +System.String LEncGiftIVMismatch = 个体值与神秘礼物数据不一致。 +System.String LEncGiftNicknamed = 配信宝可梦被改名。 +System.String LEncGiftNotFound = 不能与数据库中神秘礼物匹配。 +System.String LEncGiftPIDMismatch = 神秘礼物与 PID 不一致。 +System.String LEncGiftShinyMismatch = 神秘礼物与闪光状态不一致。 +System.String LEncGiftVersionNotDistributed = 神秘礼物不能被该版本接收。 +System.String LEncInvalid = 不能在来源版本中找到对应相遇方式。 +System.String LEncMasteryInitial = Initial move mastery flags do not match the encounter's expected state. +System.String LEncStaticMatch = 合法的礼物/定点相遇。 +System.String LEncStaticPIDShiny = 定点相遇闪光条件不匹配。 +System.String LEncStaticRelearn = 定点遇见宝可梦,可回忆招式不匹配。 +System.String LEncTradeChangedNickname = 游戏内连接交换的昵称被修改。 +System.String LEncTradeChangedOT = 游戏内连接交换的初训家被修改。 +System.String LEncTradeIndexBad = 游戏内连接交换序号不合法? +System.String LEncTradeMatch = 合法的游戏内连接交换。 +System.String LEncTradeUnchanged = 游戏内连接交换的初训家和昵称未被修改。 +System.String LEncTypeMatch = 遇见类型与遇见方式一致。 +System.String LEncTypeMismatch = 遇见类型与遇见方式不一致。 +System.String LEncUnreleased = 未解禁配信。 +System.String LEncUnreleasedEMewJP = 非日版来自边境的小岛的梦幻,未发布的配信。 +System.String LEncUnreleasedHoOArceus = 来自初始之间的阿尔宙斯,未发布的配信。 +System.String LEncUnreleasedPtDarkrai = 非白金版来自新月岛的达克莱伊,未发布的配信。 +System.String LEncUnreleasedPtShaymin = 非白金版来自花之乐园的谢米,未发布的配信。 +System.String LEReaderAmerica = 美版E-Reader树果在日版存档中。 +System.String LEReaderInvalid = 不合法E-Reader树果。 +System.String LEReaderJapan = 日版E-Reader树果在国际版存档中。 +System.String LEvoInvalid = 进化形态不合法(或等级/交换进化型不合法)。 +System.String LEvoTradeReq = 游戏内交换{0}应当进化为{1}. +System.String LEvoTradeReqOutsider = 外来的{0}应当进化为{1}. +System.String LEvoTradeRequired = 版本特定进化需要交换到另一版本。需要有最近持有人。 +System.String LFateful = 特殊游戏内宝可梦命中注定般地遇见。 +System.String LFatefulGiftMissing = 没有匹配的“命中注定遇见”的数据。该神秘礼物有被共享吗? +System.String LFatefulInvalid = 命中注定般地遇见不应被勾选。 +System.String LFatefulMissing = 特殊游戏内宝可梦缺失命中注定般地遇见。 +System.String LFatefulMystery = 神秘礼物命中注定般地遇见。 +System.String LFatefulMysteryMissing = 神秘礼物缺失命中注定般地遇见。 +System.String LFavoriteMarkingUnavailable = 最喜欢的标志不可用. +System.String LFormArgumentHigh = 形态参数对于当前 形态来说太高. +System.String LFormArgumentInvalid = 形态参数无效. +System.String LFormArgumentLow = 形态参数对于当前 形态来说太低. +System.String LFormArgumentNotAllowed = 当前相遇方式不允许此 形态参数. +System.String LFormArgumentValid = 形态参数有效. +System.String LFormBattle = 该形态不可能存在对战外。 +System.String LFormEternal = 永恒之花遇见合法。 +System.String LFormEternalInvalid = 永恒之花遇见不合法。 +System.String LFormInvalidExpect_0 = Form is invalid, expected form index {0}. +System.String LFormInvalidGame = 这种形态不能在来源版本中获得。 +System.String LFormInvalidNature = 此形态无法拥有这种性格. +System.String LFormInvalidRange = 形态数超过最大值。 应该 <= {0}, 实际是 {1}。 +System.String LFormItem = 持有物与形态一致。 +System.String LFormItemInvalid = 持有物与形态不一致。 +System.String LFormParty = 该形态不可能存在同行队伍外。 +System.String LFormPikachuCosplay = 只有换装皮卡丘能有该形态。 +System.String LFormPikachuCosplayInvalid = 换装皮卡丘不能有普通形态。 +System.String LFormPikachuEventInvalid = 配信皮卡丘不能有普通形态。 +System.String LFormValid = 合法形态。 +System.String LFormVivillon = 合法彩粉蝶花纹。 +System.String LFormVivillonEventPre = 退化形态拥有配信彩粉蝶花纹。 +System.String LFormVivillonInvalid = 不合法彩粉蝶花纹。 +System.String LFormVivillonNonNative = Non-native Vivillon pattern. +System.String LG1CatchRateChain = 捕获率不能与该宝可梦进化链内种族一致。 +System.String LG1CatchRateEvo = 捕获率与不计遇见方式的种族一致。应为进化前捕获率。 +System.String LG1CatchRateItem = 捕获率与合法二代持有物一致。 +System.String LG1CatchRateMatchPrevious = 捕获率与进化链中某种一致。 +System.String LG1CatchRateMatchTradeback = 捕获率与合法二代持有物一致。 +System.String LG1CatchRateNone = 捕获率不能与该宝可梦进化链内种族或2代持有物一致。 +System.String LG1CharNick = 来自1/2代的昵称使用了非法字符。 +System.String LG1CharOT = 来自1/2代的初训家名使用了非法字符。 +System.String LG1GBEncounter = 不能在VC中特殊遇见该种宝可梦。 +System.String LG1MoveExclusive = 初代专属招式。与无法追踪的遗传招式冲突。 +System.String LG1MoveLearnSameLevel = 不共存招式。 在四色中同一等级的升级招式。 +System.String LG1MoveTradeback = 无法追踪的遗传招式。与初代专属招式冲突。 +System.String LG1OTEvent = 不正确初代四色配信初训家名。 +System.String LG1OTGender = 第1/2世代的初训家不能为女性。 +System.String LG1Stadium = 不正确竞技场初训家。 +System.String LG1StadiumInternational = 合法国际版竞技场初训家。 +System.String LG1StadiumJapanese = 合法日版竞技场初训家。 +System.String LG1TradebackPreEvoMove = 无法追踪的进化前招式。与第一世代专属招式不兼容。 +System.String LG1Type1Fail = 不合法类型A, 与种类不一致。 +System.String LG1Type2Fail = 不合法类型B, 与种类不一致。 +System.String LG1TypeMatch1 = 合法类型A, 与种族一致。 +System.String LG1TypeMatch2 = 合法类型B, 与种族一致。 +System.String LG1TypeMatchPorygon = 多边兽有合法的类型A与B值。 +System.String LG1TypePorygonFail = 多边兽有不合法的类型A或B值。组合不合法 +System.String LG1TypePorygonFail1 = 多边兽有不合法的类型A值。 +System.String LG1TypePorygonFail2 = 多边兽有不合法的类型B值。 +System.String LG2InvalidTilePark = 自然公园钓鱼遇敌。无法到达的水域。 +System.String LG2InvalidTileR14 = 关都14号道路钓鱼遇敌。无法到达的水域。 +System.String LG2InvalidTileSafari = 第二世代狩猎区钓鱼遇敌。无法到达的区域。 +System.String LG2InvalidTileTreeID = 匹配到水晶版头锤遇敌的一棵无法到达的树符合初训家ID。 +System.String LG2InvalidTileTreeNotFound = 无法在水晶版找到头锤遇敌的树符合初训家ID。 +System.String LG2OTGender = 除水晶版之外的虚拟主机游戏中初训家不能为女性。 +System.String LG2TreeID = 匹配到水晶版头锤遇敌的一棵树符合初训家ID。 +System.String LG3EReader = 非日版黑暗E-reader宝可梦。未解禁遇见方式。 +System.String LG3OTGender = 来自Colosseum/XD的初训家不能为女性。 +System.String LG4InvalidTileR45Surf = 城都45号道路的水面遇见类型,不可到达的水道。 +System.String LG5ID_N = N的初训家或表里ID不正确。 +System.String LG5IVAll30 = N的宝可梦所有个体值应为30。 +System.String LG5OTGenderN = N的宝可梦初训家性别必须为男性。 +System.String LG5PIDShinyGrotto = 在隐藏洞穴捕获的宝可梦不能为闪。 +System.String LG5PIDShinyN = N的宝可梦不能为闪。 +System.String LG5SparkleInvalid = 特殊游戏内宝可梦N的闪光标记不应勾选。 +System.String LG5SparkleRequired = 特殊游戏内宝可梦N的闪光标记缺失。 +System.String LGanbaruStatTooHigh = One or more Ganbaru Value is above the natural limit of (10 - IV bonus). +System.String LGenderInvalidNone = 无性别宝可梦不能有性别。 +System.String LGeoBadOrder = 地理位置回忆: 间隔/空白存在。 +System.String LGeoHardwareInvalid = 地理位置: 国家不在3DS区域内。 +System.String LGeoHardwareRange = 不合法主机系统。 +System.String LGeoHardwareValid = 地理位置: 国家在3DS区域内。 +System.String LGeoMemoryMissing = 地理位置回忆: 回忆应该存在。 +System.String LGeoNoCountryHT = 地理位置回忆: 持有人名称存在但没有故居。 +System.String LGeoNoRegion = 地理位置回忆: 地区没有国家。 +System.String LHyperPerfectAll = 不能对完美个体的宝可梦极限训练。 +System.String LHyperPerfectOne = 不能对完美个体项极限训练。 +System.String LHyperPerfectUnavailable = Can't Hyper Train any IV(s). +System.String LHyperTooLow_0 = 不能对未满{0}级的宝可梦极限训练。 +System.String LItemEgg = 蛋不能有持有物。 +System.String LItemUnreleased = 持有物未解禁。 +System.String LIVAllEqual_0 = 所有个体值都是 {0}。 +System.String LIVF_COUNT0_31 = 至少有 {0} 项个体值 = 31。 +System.String LIVNotCorrect = 个体值与相遇要求不匹配 +System.String LLevelEXPThreshold = 当前经验与等级匹配。 +System.String LLevelEXPTooHigh = Current experience exceeds maximum amount for level 100. +System.String LLevelMetBelow = 当前等级低于相遇等级。 +System.String LLevelMetGift = 相遇等级与神秘礼物等级不一致。 +System.String LLevelMetGiftFail = 相遇等级低于神秘礼物等级。 +System.String LLevelMetSane = 当前等级不低于相遇等级。 +System.String LMarkValueOutOfRange_0 = Individual marking at index {0} is not within the allowed value range. +System.String LMarkValueShouldBeZero = Marking flags cannot be set. +System.String LMarkValueUnusedBitsPresent = Marking flags uses bits beyond the accessible range. +System.String LMemoryArgBadCatch = {0} 回忆: {0} 没有捕获它。 +System.String LMemoryArgBadHatch = {0} 回忆: {0} 没有孵化它。 +System.String LMemoryArgBadHT = 回忆: 蛋不能作为持有人的回忆。 +System.String LMemoryArgBadID = {0} 回忆: 不能在 {0} 版中获得回忆。 +System.String LMemoryArgBadItem = {0} 回忆: 该宝可梦不能持有此物品。 +System.String LMemoryArgBadLocation = {0} 回忆: 不能在 {0} 版中获得地点。 +System.String LMemoryArgBadMove = {0} 回忆: 当前种类不能习得该招式。 +System.String LMemoryArgBadOTEgg = {0} 回忆: 连接交换不能为第一回忆。 +System.String LMemoryArgBadSpecies = {0} 回忆: 不能在游戏中捕获。 +System.String LMemoryArgSpecies = {0} 回忆: 当前种类能在游戏中捕获。 +System.String LMemoryCleared = 回忆: 未完全清理。 +System.String LMemoryF_0_Valid = {0} 回忆有效。 +System.String LMemoryFeelInvalid = {0} 回忆: 不合法感受。 +System.String LMemoryHTFlagInvalid = 未交换: 当前持有者不能为持有人。 +System.String LMemoryHTGender = 持有人性别不合法: {0} +System.String LMemoryHTLanguage = 持有人语言丢失. +System.String LMemoryIndexArgHT = 应该有持有人回忆文本值(某处)。 +System.String LMemoryIndexFeel = {0} 回忆: 感受应为序号 {1}。 +System.String LMemoryIndexFeelHT09 = 应该有持有人回忆感受值 0-9。 +System.String LMemoryIndexID = {0} 回忆: 应为序号 {1}。 +System.String LMemoryIndexIntensity = {0} 回忆: 回忆强度应为序号 {1}。 +System.String LMemoryIndexIntensityHT1 = 应该有持有人回忆强度值(1st)。 +System.String LMemoryIndexIntensityMin = {0} 回忆: 回忆强度应不小于 {1}。 +System.String LMemoryIndexLinkHT = 应该有连接交换持有人的回忆。 +System.String LMemoryIndexVar = {0} 回忆: 文本值应为序号 {1}。 +System.String LMemoryMissingHT = 回忆: 缺失持有人回忆。 +System.String LMemoryMissingOT = 回忆: 缺失初训家回忆。 +System.String LMemorySocialTooHigh_0 = Social Stat should be <= {0} +System.String LMemorySocialZero = Social Stat should be zero. +System.String LMemoryStatAffectionHT0 = 未交换: 持有人的友好度应为0。 +System.String LMemoryStatAffectionOT0 = 初训家友好度应为0。 +System.String LMemoryStatEnjoyment = 享受度应该为{0}。 +System.String LMemoryStatFriendshipHT0 = 未交换: 持有人的亲密度应为0。 +System.String LMemoryStatFriendshipOTBaseEvent = 配信的初训家亲密度与初始亲密度不一致。 +System.String LMemoryStatFullness = 饱腹度应该为{0}。 +System.String LMetDetailTimeOfDay = Met Time of Day value is not within the expected range. +System.String LMoveEggFIncompatible0_1 = {0}的遗传招式。与遗传的招式{1}不共存。 +System.String LMoveEggIncompatible = 遗传招式。与配信蛋招式冲突。 +System.String LMoveEggIncompatibleEvent = 配信蛋招式。与遗传招式冲突。 +System.String LMoveEggInherited = 遗传了蛋招式。 +System.String LMoveEggInheritedTutor = 遗传了教学招式。 +System.String LMoveEggInvalid = 不应有的遗传招式 +System.String LMoveEggInvalidEvent = 遗传了遗传招式。配信的蛋不应有。 +System.String LMoveEggInvalidEventLevelUp = 遗传了升级招式。配信的蛋不应有。 +System.String LMoveEggInvalidEventLevelUpGift = 遗传升级招式。礼物蛋不应有。 +System.String LMoveEggInvalidEventTMHM = 遗传了TM/HM招式。配信的蛋不应有。 +System.String LMoveEggInvalidEventTutor = 遗传了教学招式。配信的蛋不应有。 +System.String LMoveEggLevelUp = 遗传了升级招式。 +System.String LMoveEggMissing = 缺失配信蛋招式. +System.String LMoveEggMoveGift = 遗传招式。礼物蛋不应有。 +System.String LMoveEggTMHM = 遗传了TM/HM招式。 +System.String LMoveEventEggLevelUp = 遗传升级招式。与配信蛋招式冲突。 +System.String LMoveEvoFCombination_0 = 招式组合与{0}进化型不兼容. +System.String LMoveEvoFHigher = 不共存进化招式。招式 {1} 比其他招式 {0} 习得等级高。 +System.String LMoveEvoFLower = 不共存进化招式。招式 {0} 比其他招式 {1} 习得等级低。 +System.String LMoveFDefault_0 = 在第{0}世代的默认招式。 +System.String LMoveFExpect_0 = 应该是该招式: {0} +System.String LMoveFExpectSingle_0 = Expected: {0} +System.String LMoveFLevelUp_0 = 在第{0}世代通过升级习得。 +System.String LMoveFTMHM_0 = 在第{0}世代通过TM/HM习得。 +System.String LMoveFTutor_0 = 在第{0}世代通过招式教学习得。 +System.String LMoveKeldeoMismatch = 凯路迪欧的招式与形态不匹配。 +System.String LMoveNincada = 只能拥有一个铁面忍者的招式。 +System.String LMoveNincadaEvo = 通过土居忍士进化为铁面忍者习得。 +System.String LMoveNincadaEvoF_0 = 通过土居忍士在第{0}世代进化为铁面忍者习得。 +System.String LMovePPTooHigh_0 = 技能 {0} PP高于允许值. +System.String LMovePPUpsTooHigh_0 = Move {0} PP Ups is above the amount allowed. +System.String LMoveRelearnDexNav = 非正确忍足招式。 +System.String LMoveRelearnEgg = 基本遗传招式。 +System.String LMoveRelearnEggMissing = 缺失基本遗传招式。 +System.String LMoveRelearnFExpect_0 = 应为以下可回忆招式: {0} ({1}) +System.String LMoveRelearnFMiss_0 = 缺失可回忆招式: {0} +System.String LMoveRelearnInvalid = 非正确回忆招式。 +System.String LMoveRelearnNone = 应该没有回忆招式。 +System.String LMoveRelearnUnderground = Not an expected Underground egg move. +System.String LMoveShopAlphaMoveShouldBeMastered = Alpha Move should be marked as mastered. +System.String LMoveShopAlphaMoveShouldBeOther = Alpha encounter cannot be found with this Alpha Move. +System.String LMoveShopAlphaMoveShouldBeZero = Only Alphas may have an Alpha Move set. +System.String LMoveShopMasterInvalid_0 = Cannot manually master {0}: not permitted to master. +System.String LMoveShopMasterNotLearned_0 = Cannot manually master {0}: not in possible learned level up moves. +System.String LMoveShopPurchaseInvalid_0 = Cannot purchase {0} from the move shop. +System.String LMoveSourceDefault = 默认招式。 +System.String LMoveSourceDuplicate = 重复招式。 +System.String LMoveSourceEgg = 遗传招式。 +System.String LMoveSourceEggEvent = 配信蛋招式。 +System.String LMoveSourceEmpty = 空招式。 +System.String LMoveSourceInvalid = 招式不合法。 +System.String LMoveSourceInvalidSketch = 招式不合法 (写生)。 +System.String LMoveSourceLevelUp = 通过升级习得。 +System.String LMoveSourceRelearn = 可回忆招式。 +System.String LMoveSourceShared = 共享的不可回忆招式. +System.String LMoveSourceSharedF = 共享的{0}代不可回忆招式. +System.String LMoveSourceSpecial = 特殊不可回忆招式。 +System.String LMoveSourceTMHM = 通过TM/HM习得。 +System.String LMoveSourceTR = 意外的招式学习机标志: {0} +System.String LMoveSourceTutor = 通过招式教学习得。 +System.String LNickFlagEggNo = 蛋不能被改名。 +System.String LNickFlagEggYes = 蛋必须有昵称。 +System.String LNickInvalidChar = 无法给宝可梦取中文昵称。 +System.String LNickLengthLong = 昵称太长。 +System.String LNickLengthShort = 昵称为空。 +System.String LNickMatchLanguage = 昵称与种类名一致。 +System.String LNickMatchLanguageEgg = 蛋名称与语言一致。 +System.String LNickMatchLanguageEggFail = 蛋名称与语言不一致。 +System.String LNickMatchLanguageFail = 昵称与种类名不一致。 +System.String LNickMatchLanguageFlag = 昵称被标记, 与种类名一致。 +System.String LNickMatchNoOthers = 昵称不与另一种类名一致。 +System.String LNickMatchNoOthersFail = 昵称与另一宝可梦种类名一致 (+language)。 +System.String LOT_IDEqual = 表里ID相等。 +System.String LOT_IDInvalid = TID and SID combination is not possible. +System.String LOT_IDs0 = 表ID与里ID为 0。 +System.String LOT_SID0 = 里ID为0。 +System.String LOT_SID0Invalid = 里ID应为 0。 +System.String LOT_TID0 = 表ID为0。 +System.String LOTLanguage = 语言ID应该 {0}, 而不是 {1}。 +System.String LOTLong = 初训家名称太长。 +System.String LOTShort = 初训家名太短 +System.String LOTSuspicious = 可疑的初训家信息。 +System.String LPIDEncryptWurmple = 刺尾虫进化形态与加密常数不一致。 +System.String LPIDEncryptZero = 未设置加密常数。 +System.String LPIDEqualsEC = 加密常数与PID一致。 +System.String LPIDGenderMatch = 性别与PID匹配。 +System.String LPIDGenderMismatch = 性别与PID不匹配。 +System.String LPIDNatureMatch = 性格与PID匹配。 +System.String LPIDNatureMismatch = 性格与PID不匹配。 +System.String LPIDTypeMismatch = 遇见类型与 PID 不一致。 +System.String LPIDZero = 未设置PID。 +System.String LPokerusDaysTooHigh_0 = Pokérus Days Remaining value is too high; expected <= {0}. +System.String LPokerusStrainUnobtainable_0 = Pokérus Strain {0} cannot be obtained. +System.String LRibbonAllValid = 所有奖章合法。 +System.String LRibbonEgg = 蛋不能接受奖章。 +System.String LRibbonFInvalid_0 = 不合法奖章: +System.String LRibbonFMissing_0 = 缺失奖章: +System.String LRibbonMarkingAffixedF_0 = 无效的奖章/证章: {0} +System.String LRibbonMarkingFInvalid_0 = 无效标记: {0} +System.String LStatAlphaInvalid = Alpha Flag mismatch. +System.String LStatBattleVersionInvalid = 对战版本不在期望范围内. +System.String LStatDynamaxInvalid = 极巨等级不在预期范围内. +System.String LStatGigantamaxInvalid = 超级极巨标志不匹配. +System.String LStatGigantamaxValid = 超级极巨标志已被极巨汤修改. +System.String LStatIncorrectCP = 计算的CP值与存储值不匹配. +System.String LStatIncorrectHeight = 计算的高度与存储值不匹配 +System.String LStatIncorrectHeightCopy = Copy Height does not match the original value. +System.String LStatIncorrectHeightValue = Height does not match the expected value. +System.String LStatIncorrectWeight = 计算的重量与存储值不匹配 +System.String LStatIncorrectWeightValue = Weight does not match the expected value. +System.String LStatInvalidHeightWeight = Height / Weight values are statistically improbable. +System.String LStatNatureInvalid = 性格不在期望范围内. +System.String LStatNobleInvalid = Noble Flag mismatch. +System.String LSuperComplete = 超级训练完成标记不匹配。 +System.String LSuperDistro = 配信超级训练任务未发布。 +System.String LSuperEgg = 不能对蛋进行超级训练。 +System.String LSuperNoComplete = 当前来源版本不能有超级训练完成的标记。 +System.String LSuperNoUnlocked = 当前来源版本不能有超级训练解锁的标记。 +System.String LSuperUnavailable = 所达游戏版本不能进行超级训练。 +System.String LSuperUnused = 未使用的超级训练旗标被标记。 +System.String LTeraTypeIncorrect = Tera Type does not match the expected value. +System.String LTeraTypeMismatch = Tera Type does not match either of the default types. +System.String LTradeNotAvailable = Encounter cannot be traded to the active trainer. +System.String LTransferBad = 不能在VC中获得该种宝可梦。 +System.String LTransferCurrentHandlerInvalid = Invalid Current handler value, trainer details for save file expected another value. +System.String LTransferEgg = 不能跨世代传送蛋。 +System.String LTransferEggLocationTransporter = 不合法相遇地点, 应该是虚拟传送。 +System.String LTransferEggMetLevel = 对于传送,相遇等级不合法。 +System.String LTransferFlagIllegal = Flagged as illegal by the game (glitch abuse). +System.String LTransferHTFlagRequired = 对于通过前代传送获得的宝可梦,当前持有人不能为前代初训家。 +System.String LTransferHTMismatchLanguage = Handling trainer does not match the expected trainer language. +System.String LTransferHTMismatchName = Handling trainer does not match the expected trainer name. +System.String LTransferMet = 不合法遇见地点,应该为传送或王冠。 +System.String LTransferMetLocation = 传送相遇地点不合法。 +System.String LTransferMove = 不兼容的虚拟传送招式。 +System.String LTransferMoveG4HM = 清除浓雾与潮旋。两者在传到5代以前必须被移除。 +System.String LTransferMoveHM = 第{0}世代秘传学习器(HM招式)。应在传至第{1}世代前被移除。 +System.String LTransferNature = 对于传送不合法的性格 +System.String LTransferNotPossible = Unable to transfer into current format from origin format. +System.String LTransferObedienceLevel = Invalid Obedience Level. +System.String LTransferOriginFInvalid0_1 = {0}来源的宝可梦不能存在于({1})的游戏记录。 +System.String LTransferPIDECBitFlip = PID应与加密常数相等[第一位反转]! +System.String LTransferPIDECEquals = PID应与加密常数相等! +System.String LTransferPIDECXor = 加密常数与闪光xor的PID匹配。 +System.String LTransferTrackerMissing = Pokémon HOME传输跟踪信息丢失. +System.String LTransferTrackerShouldBeZero = Pokémon HOME传输跟踪信息应为0. diff --git a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt index 5a85a8db0..59b230c83 100644 --- a/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt +++ b/PKHeX.Core/Resources/legality/checks/LegalityCheckStrings_zh2.txt @@ -202,7 +202,7 @@ LGeoHardwareValid = 地理位置: 國家/地區在3DS區域內。 LGeoMemoryMissing = 地理位置回憶: 回憶應該存在。 LGeoNoCountryHT = 地理位置回憶: 持有人名稱存在但沒有故居。 LGeoNoRegion = 地理位置回憶: 地區沒有國家。 -LHyperBelow100 = 不能對未滿100級之寶可夢極限特訓。 +LHyperTooLow_0 = 不能對未滿{0}級之寶可夢極限特訓。 LHyperPerfectAll = 不能對完美個體之寶可夢極限特訓。 LHyperPerfectOne = 不能對完美個體項極限特訓。 LHyperPerfectUnavailable = 無法對任意一項個體值進行極限特訓。 diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_de.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_de.txt new file mode 100644 index 000000000..34bc71d93 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_de.txt @@ -0,0 +1,6 @@ +Flöckchen +Marinchen +Spectra +Misha +Lotti +Polla \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_en.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_en.txt new file mode 100644 index 000000000..9b50c110e --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_en.txt @@ -0,0 +1,6 @@ +Snowsalot +Manchester +Hauntikins +Glen +Sue +Blossom \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_es.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_es.txt new file mode 100644 index 000000000..d83365fd3 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_es.txt @@ -0,0 +1,6 @@ +Nevadito +Celeste +Umbra +Fernán +Anita +Estrella \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_fr.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_fr.txt new file mode 100644 index 000000000..9ae943070 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_fr.txt @@ -0,0 +1,6 @@ +Floconou +Lazuli +Spectrounet +Flavio +Anna +Electra \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_it.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_it.txt new file mode 100644 index 000000000..f4921503e --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_it.txt @@ -0,0 +1,6 @@ +Nevolino +Celestino +Babau +Florio +Woopy +Harriet \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_ja.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_ja.txt new file mode 100644 index 000000000..81cc5a1c0 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_ja.txt @@ -0,0 +1,6 @@ +こゆきち +マサオ +ちみちゃん +ヒカタロ +チェミ +サキねえ \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_ko.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_ko.txt new file mode 100644 index 000000000..9193584a5 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_ko.txt @@ -0,0 +1,6 @@ +가루누니 +퍼랭이 +티미 +태호 +체미 +소희 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh.txt new file mode 100644 index 000000000..874e21edc --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh.txt @@ -0,0 +1,6 @@ +小由吉 +真苍 +智美 +彼加太郎 +彩美 +纱希姐 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh2.txt b/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh2.txt new file mode 100644 index 000000000..361c10bd5 --- /dev/null +++ b/PKHeX.Core/Resources/legality/gen9/text_tradesv_zh2.txt @@ -0,0 +1,6 @@ +小由吉 +真蒼 +智美 +彼加太朗 +彩美 +紗希姐 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/mgdb/wa8.pkl b/PKHeX.Core/Resources/legality/mgdb/wa8.pkl index e52c0f031..39a3c6483 100644 Binary files a/PKHeX.Core/Resources/legality/mgdb/wa8.pkl and b/PKHeX.Core/Resources/legality/mgdb/wa8.pkl differ diff --git a/PKHeX.Core/Resources/legality/mgdb/wc8.pkl b/PKHeX.Core/Resources/legality/mgdb/wc8.pkl index ea82a220a..eb77d6205 100644 Binary files a/PKHeX.Core/Resources/legality/mgdb/wc8.pkl and b/PKHeX.Core/Resources/legality/mgdb/wc8.pkl differ diff --git a/PKHeX.Core/Resources/legality/mgdb/wc9.pkl b/PKHeX.Core/Resources/legality/mgdb/wc9.pkl new file mode 100644 index 000000000..736b16df7 Binary files /dev/null and b/PKHeX.Core/Resources/legality/mgdb/wc9.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_dist.pkl b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_dist.pkl new file mode 100644 index 000000000..d3bead9dd Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_dist.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_nest.pkl b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_nest.pkl new file mode 100644 index 000000000..546452128 Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sh_nest.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_dist.pkl b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_dist.pkl new file mode 100644 index 000000000..0930b2465 Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_dist.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_nest.pkl b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_nest.pkl new file mode 100644 index 000000000..fbd5a0beb Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_sw_nest.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen8/encounter_swsh_underground.pkl b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_swsh_underground.pkl new file mode 100644 index 000000000..4026654b9 Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen8/encounter_swsh_underground.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen9/encounter_fixed_paldea.pkl b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_fixed_paldea.pkl new file mode 100644 index 000000000..08b50fcbc Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_fixed_paldea.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen9/encounter_gem_paldea.pkl b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_gem_paldea.pkl new file mode 100644 index 000000000..cef6110ec Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_gem_paldea.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/Gen9/encounter_wild_paldea.pkl b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_wild_paldea.pkl new file mode 100644 index 000000000..eb1c59691 Binary files /dev/null and b/PKHeX.Core/Resources/legality/wild/Gen9/encounter_wild_paldea.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl b/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl index b79edea6e..ed6f94a3c 100644 Binary files a/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl and b/PKHeX.Core/Resources/legality/wild/encounter_go_home.pkl differ diff --git a/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl b/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl index f49ba4895..266e3a760 100644 Binary files a/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl and b/PKHeX.Core/Resources/legality/wild/encounter_go_lgpe.pkl differ diff --git a/PKHeX.Core/Resources/text/items/text_Items_de.txt b/PKHeX.Core/Resources/text/items/text_Items_de.txt index 0a450587d..9db0c55eb 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_de.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_de.txt @@ -54,7 +54,7 @@ Zink AP-Top Spezialität Megablock -Angriffplus +X-Volltreffer X-Angriff X-Verteidigung X-Initiative @@ -213,7 +213,7 @@ Jabocabeere Roselbeere Blendpuder Schlohkraut -Machoband +Machoschiene EP-Teiler Flinkklaue Sanftglocke @@ -222,10 +222,10 @@ Wahlband King-Stein Silberstaub Münzamulett -Schutzband +Schutzsticker Seelentau Abysszahn -Abyssplatte +Abyssschuppe Rauchball Ewigstein Fokusband @@ -233,7 +233,7 @@ Glücks-Ei Scope-Linse Metallmantel Überreste -Drachenhaut +Drachenschuppe Kugelblitz Pudersand Granitstein @@ -250,7 +250,7 @@ Krummlöffel Holzkohle Drachenzahn Seidenschal -Up-Grade +Upgrade Muschelglocke Seerauch Laxrauch @@ -476,7 +476,7 @@ Klarglocke Schlüsselkarte Kelleröffner Schiggykanne -Rote Haut +Rote Schuppe Fundsache Fahrschein Spule @@ -573,7 +573,7 @@ Prachtfeder Schildfossil Federfossil Gartenpass -Transferorb +Transfer-Orb Traumball Pokéwedel Deko-Box @@ -590,7 +590,7 @@ Alter Reif Alte Statue Alte Krone Stratos-Eis -Angriffplus2 +X-Volltreffer 2 X-Initiative 2 X-Sp.-Ang. 2 X-Sp.-Vert. 2 @@ -609,11 +609,11 @@ X-Sp.-Vert. 6 X-Verteidigung 6 X-Angriff 6 X-Genauigkeit 6 -Fähigk.-Appell +Fähigkeiten-Appell Itemabwurf Itemappell Umkehrappell -Angriffplus3 +X-Volltreffer 3 Lichtstein Dunkelstein TM93 @@ -643,7 +643,7 @@ Holo-Log Brief vom Prof Rollerskates Feentafel -Fähigk.-Kapsel +Fähigkeiten-Kapsel Sahnehäubchen Duftbeutel Leuchtmoos @@ -844,7 +844,7 @@ Angel Maske des Profs Festival-Ticket Glitzerstein -Zitterorb +Zitter-Orb Zygarde-Würfel ??? Eisstein @@ -1604,7 +1604,7 @@ Polarkarotte Phantomkarotte Dyna-Erz Karottensamen -Fähigk.-Pflaster +Fähigkeiten-Pflaster Zügel des Bundes Zeitruhegabe Raumruhegabe @@ -1826,4 +1826,576 @@ DS-Player -Legendentafel \ No newline at end of file +Legendentafel +Smart-Rotom +Sandwich +Koraidons Pokéball +Miraidons Pokéball +Terakristall-Orb +Karmesinbuch +Purpurbuch +Kombus Geldbörse + + + + + +Minibambusspross +Riesenbambusspross + + + + + + + + + + + + + +Unlicht-Schriftrolle +Wasser-Schriftrolle + + +Fluchrüstung +Tera-Stück (Normal) +Tera-Stück (Feuer) +Tera-Stück (Wasser) +Tera-Stück (Elektro) +Tera-Stück (Pflanze) +Tera-Stück (Eis) +Tera-Stück (Kampf) +Tera-Stück (Gift) +Tera-Stück (Boden) +Tera-Stück (Flug) +Tera-Stück (Psycho) +Tera-Stück (Käfer) +Tera-Stück (Gestein) +Tera-Stück (Geist) +Tera-Stück (Drache) +Tera-Stück (Unlicht) +Tera-Stück (Stahl) +Tera-Stück (Fee) +Energiekapsel +Fähigkeitenschild +Neutralschmuck +Kopierkraut +Boxhandschuh +Tarnumhang +Gezinkter Würfel + +Baguette +Mayonnaise +Ketchup +Senf +Butter +Erdnussbutter +Chilisoße +Salz +Pfeffer +Joghurt +Schlagsahne +Frischkäse +Beerenkonfitüre +Marmelade +Olivenöl +Essig +Süßes Geheimgewürz +Salziges Geheimgewürz +Saures Geheimgewürz +Bitteres Geheimgewürz +Scharfes Geheimgewürz +Salat +Tomate +Mini-Tomate +Gurke +Gewürzgurke +Zwiebel +Rote Zwiebel +Grüne Paprika +Rote Paprika +Gelbe Paprika +Avocado +Gebratener Speck +Kochschinken +Roher Schinken +Chorizo +Kräuterwurst +Frikadelle +Klibbe-Stick +Räucherfilet +Frittierfilet +Ei +Tortilla +Tofu +Reis +Nudeln +Kartoffelsalat +Scheibenkäse +Banane +Erdbeere +Apfel +Kiwi +Ananas +Jalapeño +Meerrettich +Currypulver +Wasabi +Kresse +Basilikum + + + + + + + + + +Bluzuk-Zahn +Digda-Erde +Mauzi-Haar +Enton-Daune +Menki-Haar +Fukano-Haar +Flegmon-Kralle +Magnetilo-Schraube +Sleima-Toxin +Muschas-Perle +Nebulak-Gas +Traumato-Haar +Voltobal-Strom +Sichlor-Kralle +Tauros-Haar +Karpador-Schuppe +Ditto-Glibber +Evoli-Haar +Dratini-Schuppe +Pichu-Haar +Fluffeluff-Haar +Voltilamm-Wolle +Hoppspross-Blatt +Sonnkern-Blatt +Kramurx-Schatz +Traunfugil-Träne +Girafarig-Haar +Tannza-Schale +Dummisel-Schuppe +Baldorfish-Stachel +Skaraborn-Kralle +Sniebel-Kralle +Teddiursa-Kralle +Botogel-Päckchen +Hunduster-Zahn +Phanpy-Kralle +Damhirplex-Haar +Larvitar-Kralle +Wingull-Feder +Trasla-Material +Gehweiher-Nektar +Knilz-Spore +Bummelz-Haar +Makuhita-Schweiß +Azurill-Haar +Zobiris-Edelstein +Meditie-Schweiß +Schluppuck-Schleim +Camaub-Lava +Qurtel-Kohle +Spoink-Perle +Tuska-Stachel +Wablu-Feder +Sengo-Kralle +Vipitis-Zahn +Schmerbe-Schleim +Shuppet-Fetzen +Tropius-Blatt +Schneppke-Haar +Liebiskus-Schuppe +Kindwurm-Schuppe +Staralili-Feder +Zirpurze-Häutungsrest +Sheinux-Zahn +Wadribie-Honig +Pachirisu-Haar +Bamelin-Haar +Schalellos-Schleim +Driftlon-Gas +Skunkapuh-Haar +Bronzel-Splitter +Mobai-Träne +Wonneira-Material +Kryppuk-Splitter +Kaumalat-Schuppe +Riolu-Haar +Hippopotas-Sand +Glibunkel-Toxin +Finneon-Schuppe +Shnebedeck-Beere +Rotom-Strom +Lilminip-Blatt +Barschuft-Zahn +Ganovil-Kralle +Zorua-Haar +Mollimorba-Wimper +Sesokitz-Haar +Tarnpignon-Spore +Mamolida-Schleim +Zapplardin-Schleim +Milza-Schuppe +Petznief-Haar +Frigometri-Eis +Gladiantri-Klinge +Geronimatz-Feder +Kapuno-Schuppe +Ignivor-Haar +Dartiri-Feder +Purmel-Puder +Leufeo-Mähnenhaar +Flabébé-Pollen +Mähikel-Blatt +Algitt-Alge +Scampisto-Schere +Resladero-Daune +Dedenne-Haar +Viscora-Schleim +Clavion-Schlüssel +Arktip-Eis +eF-eM-Haar +Mangunior-Haar +Krabbox-Schale +Choreogel-Feder +Wuffels-Stein +Garstella-Stachel +Pampuli-Schlamm +Imantis-Blatt +Molunk-Gas +Frubberl-Schweiß +Kommandutan-Haar +Quartermak-Haar +Sankabuh-Sand +Koalelu-Kralle +Mimigma-Fetzen +Knirfish-Zahn +Kamehaps-Kralle +Raffel-Haar +Pikuda-Schuppe +Meikro-Feder +Toxel-Strom +Legios-Schweiß +Kupfanti-Patina +Klonkett-Kohle +Salanga-Sand +Servol-Haar +Britzigel-Stachel +Snomnom-Faden +Bähmon-Haar +Knapfel-Fruchtsaft +Fatalitee-Splitter +Brimova-Material +Humanolith-Stein +Kubuin-Daune +Grolldra-Puder + + + +Ferkuli-Haar +Tarundel-Faden +Micrick-Kralle +Relluk-Schlamm +Gruff-Wachs +Flattutu-Daune +Schligda-Sand +Heerashai-Bartel +Agiluza-Filet +Normifin-Schleim +Olini-Öl +Chilingel-Samen +Blipp-Schleim +Knattox-Gas +Schlurm-Patina +Zwieps-Haar +Flaniwal-Fett +Frospino-Schuppe +Nigiragi-Schuppe +Mopex-Schuppe +Pamo-Haar + + +Voltrel-Feder +Adebom-Feder +Krawalloro-Feder +Flaminkno-Daune +Klibbe-Schere +Geosali-Salz +Lumispross-Kristall +Sproxi-Tinte +Hefel-Haar +Mobtiff-Zahn +Weherba-Zweig +Gierspenst-Münze + + + + + + + + + + + + + + + + + + +Forgita-Haar +Knarbon-Ruß +Tentagra-Lamelle +Felino-Schleim +TM100 +TM101 +TM102 +TM103 +TM104 +TM105 +TM106 +TM107 +TM108 +TM109 +TM110 +TM111 +TM112 +TM113 +TM114 +TM115 +TM116 +TM117 +TM118 +TM119 +TM120 +TM121 +TM122 +TM123 +TM124 +TM125 +TM126 +TM127 +TM128 +TM129 +TM130 +TM131 +TM132 +TM133 +TM134 +TM135 +TM136 +TM137 +TM138 +TM139 +TM140 +TM141 +TM142 +TM143 +TM144 +TM145 +TM146 +TM147 +TM148 +TM149 +TM150 +TM151 +TM152 +TM153 +TM154 +TM155 +TM156 +TM157 +TM158 +TM159 +TM160 +TM161 +TM162 +TM163 +TM164 +TM165 +TM166 +TM167 +TM168 +TM169 +TM170 +TM171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Picknick-Set +Korb +Akademie-Flasche +Akademie-Flasche +Punkte-Flasche +Streifen-Flasche +Rauten-Flasche +Akademie-Tasse +Akademie-Tasse +Längsstreifen-Tasse +Punkte-Tasse +Blümchen-Tasse +Akademie-Tischtuch +Akademie-Tischtuch +Zauber-Tischtuch +Natur-Tischtuch +Groll-Tischtuch + +Akademie-Ball +Akademie-Ball +Marill-Ball +Woll-Ball +Cyber-Ball +Gold-Pikser +Silber-Pikser +Rotfahnen-Pikser +Blaufahnen-Pikser +Pikapika-Pikser +Zwinker-Pika-Pikser +Volivoli-Pikser +Kicher-Voli-Pikser +Blauball-Pikser + +Glorienrüstung +Anführersymbol + + +Pinke Flasche +Blaue Flasche +Gelbe Flasche +Edelstahlflasche (R) +Edelstahlflasche (G) +Edelstahlflasche (B) +Silber-Titanflasche +Querstreifen-Tasse +Rauten-Tasse +Flammen-Tasse +Pinke Tasse +Blaue Tasse +Gelbe Tasse +Pikachu-Tasse +Evoli-Tasse +Flegmon-Tasse +Silber-Titantasse +Gymnastik-Ball +Gelbkaro-Tischtuch +Blaukaro-Tischtuch +Rotkaro-Tischtuch +Retro-Gras-Tischtuch +Action-Tischtuch +Ungeheuer-Tischtuch +Streifen-Tischtuch +Rauten-Tischtuch +Punkte-Tischtuch +Violettes Tischtuch +Türkises Tischtuch +Beiges Tischtuch +Gelbes Tischtuch +Blaues Tischtuch +Pinkes Tischtuch +Gold-Titanflasche +Bronze-Titanflasche +Gold-Titantasse +Bronze-Titantasse +Grünball-Pikser +Rotball-Pikser +Wunderkerzen-Pikser +Heldenschwert-Pikser +Zauberstern-Pikser +Zauberherz-Pikser +Schirmchen-Pikser +Mittagsblumen-Pikser +Abendblumen-Pikser +Morgenblumen-Pikser +Blauer Teller +Grüner Teller +Oranger Teller +Roter Teller +Weißer Teller +Gelber Teller \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_en.txt b/PKHeX.Core/Resources/text/items/text_Items_en.txt index 3d4eca5fc..5154e40a2 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_en.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_en.txt @@ -431,10 +431,10 @@ Loot Sack Rule Book Poké Radar Point Card -Journal -Seal Case +Guidebook +Sticker Case Fashion Case -Seal Bag +Sticker Bag Pal Pad Works Key Old Charm @@ -480,8 +480,8 @@ Red Scale Lost Item Pass Machine Part -Silver Wing -Rainbow Wing +Silver Feather +Rainbow Feather Mystery Egg Red Apricorn Blue Apricorn @@ -945,7 +945,7 @@ N-Solarizer N-Lunarizer N-Solarizer N-Lunarizer -Ilima Normalium Z +Ilima’s Normalium Z Left Poké Ball Roto Hatch Roto Bargain @@ -1826,4 +1826,576 @@ DS Sounds -Legend Plate \ No newline at end of file +Legend Plate +Rotom Phone +Sandwich +Koraidon’s Poké Ball +Miraidon’s Poké Ball +Tera Orb +Scarlet Book +Violet Book +Kofu’s Wallet + + + + + +Tiny Bamboo Shoot +Big Bamboo Shoot + + + + + + + + + + + + + +Scroll of Darkness +Scroll of Waters + + +Malicious Armor +Normal Tera Shard +Fire Tera Shard +Water Tera Shard +Electric Tera Shard +Grass Tera Shard +Ice Tera Shard +Fighting Tera Shard +Poison Tera Shard +Ground Tera Shard +Flying Tera Shard +Psychic Tera Shard +Bug Tera Shard +Rock Tera Shard +Ghost Tera Shard +Dragon Tera Shard +Dark Tera Shard +Steel Tera Shard +Fairy Tera Shard +Booster Energy +Ability Shield +Clear Amulet +Mirror Herb +Punching Glove +Covert Cloak +Loaded Dice + +Baguette +Mayonnaise +Ketchup +Mustard +Butter +Peanut Butter +Chili Sauce +Salt +Pepper +Yogurt +Whipped Cream +Cream Cheese +Jam +Marmalade +Olive Oil +Vinegar +Sweet Herba Mystica +Salty Herba Mystica +Sour Herba Mystica +Bitter Herba Mystica +Spicy Herba Mystica +Lettuce +Tomato +Cherry Tomatoes +Cucumber +Pickle +Onion +Red Onion +Green Bell Pepper +Red Bell Pepper +Yellow Bell Pepper +Avocado +Bacon +Ham +Prosciutto +Chorizo +Herbed Sausage +Hamburger +Klawf Stick +Smoked Fillet +Fried Fillet +Egg +Potato Tortilla +Tofu +Rice +Noodles +Potato Salad +Cheese +Banana +Strawberry +Apple +Kiwi +Pineapple +Jalapeño +Horseradish +Curry Powder +Wasabi +Watercress +Basil + + + + + + + + + +Venonat Fang +Diglett Dirt +Meowth Fur +Psyduck Down +Mankey Fur +Growlithe Fur +Slowpoke Claw +Magnemite Screw +Grimer Toxin +Shellder Pearl +Gastly Gas +Drowzee Fur +Voltorb Sparks +Scyther Claw +Tauros Hair +Magikarp Scales +Ditto Goo +Eevee Fur +Dratini Scales +Pichu Fur +Igglybuff Fluff +Mareep Wool +Hoppip Leaf +Sunkern Leaf +Murkrow Bauble +Misdreavus Tears +Girafarig Fur +Pineco Husk +Dunsparce Scales +Qwilfish Spines +Heracross Claw +Sneasel Claw +Teddiursa Claw +Delibird Parcel +Houndour Fang +Phanpy Nail +Stantler Hair +Larvitar Claw +Wingull Feather +Ralts Dust +Surskit Syrup +Shroomish Spores +Slakoth Fur +Makuhita Sweat +Azurill Fur +Sableye Gem +Meditite Sweat +Gulpin Mucus +Numel Lava +Torkoal Coal +Spoink Pearl +Cacnea Needle +Swablu Fluff +Zangoose Claw +Seviper Fang +Barboach Slime +Shuppet Scrap +Tropius Leaf +Snorunt Fur +Luvdisc Scales +Bagon Scales +Starly Feather +Kricketot Shell +Shinx Fang +Combee Honey +Pachirisu Fur +Buizel Fur +Shellos Mucus +Drifloon Gas +Stunky Fur +Bronzor Fragment +Bonsly Tears +Happiny Dust +Spiritomb Fragment +Gible Scales +Riolu Fur +Hippopotas Sand +Croagunk Poison +Finneon Scales +Snover Berries +Rotom Sparks +Petilil Leaf +Basculin Fang +Sandile Claw +Zorua Fur +Gothita Eyelash +Deerling Hair +Foongus Spores +Alomomola Mucus +Tynamo Slime +Axew Scales +Cubchoo Fur +Cryogonal Ice +Pawniard Blade +Rufflet Feather +Deino Scales +Larvesta Fuzz +Fletchling Feather +Scatterbug Powder +Litleo Tuft +Flabébé Pollen +Skiddo Leaf +Skrelp Kelp +Clauncher Claw +Hawlucha Down +Dedenne Fur +Goomy Goo +Klefki Key +Bergmite Ice +Noibat Fur +Yungoos Fur +Crabrawler Shell +Oricorio Feather +Rockruff Rock +Mareanie Spike +Mudbray Mud +Fomantis Leaf +Salandit Gas +Bounsweet Sweat +Oranguru Fur +Passimian Fur +Sandygast Sand +Komala Claw +Mimikyu Scrap +Bruxish Tooth +Chewtle Claw +Skwovet Fur +Arrokuda Scales +Rookidee Feather +Toxel Sparks +Falinks Sweat +Cufant Tarnish +Rolycoly Coal +Silicobra Sand +Indeedee Fur +Pincurchin Spines +Snom Thread +Impidimp Hair +Applin Juice +Sinistea Chip +Hatenna Dust +Stonjourner Stone +Eiscue Down +Dreepy Powder + + + +Lechonk Hair +Tarountula Thread +Nymble Claw +Rellor Mud +Greavard Wax +Flittle Down +Wiglett Sand +Dondozo Whisker +Veluza Fillet +Finizen Mucus +Smoliv Oil +Capsakid Seed +Tadbulb Mucus +Varoom Fume +Orthworm Tarnish +Tandemaus Fur +Cetoddle Grease +Frigibax Scales +Tatsugiri Scales +Cyclizar Scales +Pawmi Fur + + +Wattrel Feather +Bombirdier Feather +Squawkabilly Feather +Flamigo Down +Klawf Claw +Nacli Salt +Glimmet Crystal +Shroodle Ink +Fidough Fur +Maschiff Fang +Bramblin Twig +Gimmighoul Coin + + + + + + + + + + + + + + + + + + +Tinkatink Hair +Charcadet Soot +Toedscool Flaps +Wooper Slime +TM100 +TM101 +TM102 +TM103 +TM104 +TM105 +TM106 +TM107 +TM108 +TM109 +TM110 +TM111 +TM112 +TM113 +TM114 +TM115 +TM116 +TM117 +TM118 +TM119 +TM120 +TM121 +TM122 +TM123 +TM124 +TM125 +TM126 +TM127 +TM128 +TM129 +TM130 +TM131 +TM132 +TM133 +TM134 +TM135 +TM136 +TM137 +TM138 +TM139 +TM140 +TM141 +TM142 +TM143 +TM144 +TM145 +TM146 +TM147 +TM148 +TM149 +TM150 +TM151 +TM152 +TM153 +TM154 +TM155 +TM156 +TM157 +TM158 +TM159 +TM160 +TM161 +TM162 +TM163 +TM164 +TM165 +TM166 +TM167 +TM168 +TM169 +TM170 +TM171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Picnic Set + +Academy Bottle +Academy Bottle +Polka-Dot Bottle +Striped Bottle +Diamond Bottle +Academy Cup +Academy Cup +Striped Cup +Polka-Dot Cup +Flower Pattern Cup +Academy Tablecloth +Academy Tablecloth +Whimsical Tablecloth +Leafy Tablecloth +Spooky Tablecloth + +Academy Ball +Academy Ball +Marill Ball +Yarn Ball +Cyber Ball +Gold Pick +Silver Pick +Red-Flag Pick +Blue-Flag Pick +Pika-Pika Pick +Winking Pika Pick +Vee-Vee Pick +Smiling Vee Pick +Blue Poké Ball Pick + +Auspicious Armor +Leader’s Crest + + +Pink Bottle +Blue Bottle +Yellow Bottle +Steel Bottle (R) +Steel Bottle (Y) +Steel Bottle (B) +Silver Bottle +Barred Cup +Diamond Pattern Cup +Fire Pattern Cup +Pink Cup +Blue Cup +Yellow Cup +Pikachu Cup +Eevee Cup +Slowpoke Cup +Silver Cup +Exercise Ball +Plaid Tablecloth (Y) +Plaid Tablecloth (B) +Plaid Tablecloth (R) +B&W Grass Tablecloth +Battle Tablecloth +Monstrous Tablecloth +Striped Tablecloth +Diamond Tablecloth +Polka-Dot Tablecloth +Lilac Tablecloth +Mint Tablecloth +Peach Tablecloth +Yellow Tablecloth +Blue Tablecloth +Pink Tablecloth +Gold Bottle +Bronze Bottle +Gold Cup +Bronze Cup +Green Poké Ball Pick +Red Poké Ball Pick +Party Sparkler Pick +Heroic Sword Pick +Magical Star Pick +Magical Heart Pick +Parasol Pick +Blue-Sky Flower Pick +Sunset Flower Pick +Sunrise Flower Pick +Blue Dish +Green Dish +Orange Dish +Red Dish +White Dish +Yellow Dish \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_es.txt b/PKHeX.Core/Resources/text/items/text_Items_es.txt index c735e03f3..b353e6681 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_es.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_es.txt @@ -37,9 +37,9 @@ Raíz Energía Polvo Curación Hierba Revivir Éter -Píldora Éter +Éter Máximo Elixir -Píldora Elixir +Elixir Máximo Galleta Lava Zumo de Baya Ceniza Sagrada @@ -54,14 +54,14 @@ Zinc PP Máximos Barrita Plus Protección X -Gragea Crítica +Crítico X Ataque X Defensa X Velocidad X Precisión X -At. Especial X -Def. Especial X -Poké Muñeco +Ataque Especial X +Defensa Especial X +Pokémuñeco Cola Skitty Flauta Azul Flauta Amarilla @@ -214,7 +214,7 @@ Baya Magua Polvo Brillo Hierba Blanca Brazal Firme -Repartir Exp +Repartir Experiencia Garra Rápida Cascabel Alivio Hierba Mental @@ -228,7 +228,7 @@ Diente Marino Escama Marina Bola de Humo Piedra Eterna -Cinta Focus +Cinta Aguante Huevo Suerte Periscopio Revest. Metálico @@ -273,7 +273,7 @@ Hierba Única Toxisfera Llamasfera Polvo Veloz -Banda Focus +Banda Aguante Telescopio Metrónomo Bola Férrea @@ -426,17 +426,17 @@ MO05 MO06 (?) (?) -Kit Explorador +Kit de Explorador Saca Botín Reglamento Poké Radar -Tarjeta Puntos +Tarjeta de Puntos Guía de Viaje Caja de Sellos Caja Corazón -Bolsa Sellos -Bloc amigos -Llave Central +Bolsa de Sellos +Bloc de Amigos +Llave de la Central Talismán Llave Galaxia Cadena Roja @@ -452,16 +452,16 @@ Bici Llave Suite Carta Prof. Oak Pluma Lunar -Carné Socio +Carné de Socio Flauta Azur Ticket del Barco -Pase Concurso +Pase de Concurso Piedra Magma Paquete Cupón 1 Cupón 2 Cupón 3 -Llave Almacén +Llave del Almacén Medicina Secreta Cámara Lucha Gracídea @@ -474,14 +474,14 @@ Tarjeta Azul Cola Slowpoke Cascabel Claro Llave Magnética -Llave Sótano -Regadera +Llave del Sótano +Squirgadera Escama Roja Objeto Perdido Magnetopase Maquinaria -Ala Plateada -Ala Arcoíris +Pluma Plateada +Pluma Arcoíris Huevo Misterioso Bonguri Rojo Bonguri Azul @@ -500,7 +500,7 @@ Luna Ball Competi Ball Parque Ball Álbum -Lector GB +Reproductor GB Cascabel Oleaje Caramelo Furia Tarjeta Datos 01 @@ -536,7 +536,7 @@ Prisma Rojo Prisma Azul Misticristal Escama Bella -Mineral Evol +Mineral Evolutivo Piedra Pómez Casco Dentado Globo Helio @@ -548,19 +548,19 @@ Pila Botón Escape Gema Fuego Gema Agua -Gema Eléctrica +Gema Eléctrico Gema Planta Gema Hielo Gema Lucha Gema Veneno Gema Tierra -Gema Voladora -Gema Psíquica +Gema Volador +Gema Psíquico Gema Bicho Gema Roca Gema Fantasma Gema Dragón -Gema Siniestra +Gema Siniestro Gema Acero Gema Normal Pluma Vigor @@ -580,32 +580,32 @@ Neceser Cráneo Dragón Seta Aroma Maxipepita -Sarta Perlas +Sarta de Perlas Fragmento Cometa -Real Cobre -Real Plata -Real Oro -Ánfora -Brazal +Real de Cobre +Real de Plata +Real de Oro +Ánfora Antigua +Brazal Antiguo Efigie Antigua Corona Antigua Porcehelado Crítico X 2 Velocidad X 2 -At. Esp. X 2 -Def. Esp. X 2 +Ataque Especial X 2 +Defensa Especial X 2 Defensa X 2 Ataque X 2 Precisión X 2 Velocidad X 3 -At. Esp. X 3 -Def. Esp. X 3 +Ataque Especial X 3 +Defensa Especial X 3 Defensa X 3 Ataque X 3 Precisión X 3 Velocidad X 6 -At. Esp. X 6 -Def. Esp. X 6 +Ataque Especial X 6 +Defensa Especial X 6 Defensa X 6 Ataque X 6 Precisión X 6 @@ -625,7 +625,7 @@ Envío 1 Envío 2 Envío 3 Videomisor -Caja Insignias +Caja de Insignias Punta ADN Punta ADN Pase @@ -643,13 +643,13 @@ Holomisor Carta Profesor Patines Tabla Duende -Cáps. Habilidad +Cápsula Habilidad Dulce de Nata Saquito Fragante Musgo Brillante Bola de Nieve Gafa Protectora -Poké Flauta +Pokéflauta Abono Fértil Abono Sorpresa Abono Fructífero @@ -693,14 +693,14 @@ MT97 MT98 MT99 MT100 -Pase Central +Pase de la Central Mega-Aro Piedra Insólita Piedra Común Vale Descuento -Llave Ascensor +Llave del Ascensor Abono del TMV -Emblema Kalos +Emblema de Kalos Guía de Aventura Estatuilla Rara Portalentillas @@ -732,7 +732,7 @@ Ll. Habitación 1 Ll. Habitación 2 Ll. Habitación 4 Ll. Habitación 6 -Llave Almacén +Llave del Almacén Detector Devon Ticket del Barco MO07 @@ -741,7 +741,7 @@ Traje de Gala Vestido de Gala Traje Magma Traje Aqua -Entrada para dos +Entrada para Dos Megapulsera Megacollar Megagafas @@ -772,7 +772,7 @@ Beedrillita Meteorito Meteorito Piedra Activadora -Frag. Meteorito +Fragmento Meteorito Flauta Eón Normastal Z Pirostal Z @@ -876,7 +876,7 @@ Visor Silph Paquete Llave Magnética Dentadura de Oro -Llave Ascensor +Llave del Ascensor Cubresuelos Paracontacto Semilla Electro @@ -1585,7 +1585,7 @@ Tarjeta Chic Pase Armadura Bici Rotom Bici Rotom -Amuleto Exp +Amuleto Experiencia Duralium Amuleto Emblema Riendas Unión @@ -1642,7 +1642,7 @@ Poké Ball Super Ball Ultra Ball Pluma Ball -Poké Muñeca +Pokémuñeca (?) Bola Humareda Bola Ruidosa @@ -1718,7 +1718,7 @@ Bola Ruidosa Bola Humareda (?) (?) -Poké Muñeca +Pokémuñeca Calmasfera Volcán Calmasfera Montaña Calmasfera Nieve @@ -1826,4 +1826,576 @@ Reproductor DS -Tabla Legendaria \ No newline at end of file +Tabla Legendaria +SmartRotom +Bocadillo +Poké Ball de Koraidon +Poké Ball de Miraidon +Orbe Teracristal +Libro Escarlata +Libro Púrpura +Cartera de Fuco + + + + + +Bambú Pequeño +Bambú Grande + + + + + + + + + + + + + +Manuscrito Sombras +Manuscrito Aguas + + +Armadura Maldita +Teralito Normal +Teralito Fuego +Teralito Agua +Teralito Eléctrico +Teralito Planta +Teralito Hielo +Teralito Lucha +Teralito Veneno +Teralito Tierra +Teralito Volador +Teralito Psíquico +Teralito Bicho +Teralito Roca +Teralito Fantasma +Teralito Dragón +Teralito Siniestro +Teralito Acero +Teralito Hada +Energía Potenciadora +Escudo Habilidad +Amuleto Puro +Hierba Copia +Guante de Boxeo +Capa Furtiva +Dado Trucado + +Barra de Pan +Mayonesa +Kétchup +Mostaza +Mantequilla +Crema de Cacahuete +Salsa Picante +Sal +Pimienta +Yogur +Nata Montada +Queso Crema +Confitura de Bayas +Mermelada +Aceite de Oliva +Vinagre +Especia Oculta Dulce +Especia Oculta Salada +Especia Oculta Ácida +Especia Oculta Amarga +Especia Oculta Picante +Lechuga +Tomate +Tomate Cherri +Pepino +Pepinillo +Cebolla +Cebolla Roja +Pimiento Verde +Pimiento Rojo +Pimiento Amarillo +Aguacate +Panceta +Jamón Cocido +Jamón Serrano +Chorizo +Butifarra +Hamburguesa +Surimi de Klawf +Filete Ahumado +Filete Frito +Huevo Cocido +Tortilla +Tofu +Arroz +Fideos +Ensaladilla +Queso +Plátano +Fresa +Manzana +Kiwi +Piña +Jalapeño +Rábano Picante +Curri en Polvo +Wasabi +Berros +Albahaca + + + + + + + + + +Colmillo de Venonat +Tierra de Diglett +Pelo de Meowth +Plumón de Psyduck +Pelo de Mankey +Pelo de Growlithe +Garra de Slowpoke +Tornillo de Magnemite +Toxinas de Grimer +Perla de Shellder +Gas de Gastly +Pelo de Drowzee +Electricidad de Voltorb +Garra de Scyther +Pelo de Tauros +Escama de Magikarp +Pegote de Ditto +Pelo de Eevee +Escama de Dratini +Pelo de Pichu +Pelo de Igglybuff +Lana de Mareep +Hoja de Hoppip +Hoja de Sunkern +Tesoro de Murkrow +Lágrima de Misdreavus +Pelo de Girafarig +Corteza de Pineco +Escama de Dunsparce +Púa de Qwilfish +Garra de Heracross +Garra de Sneasel +Garra de Teddiursa +Paquete de Delibird +Colmillo de Houndour +Uña de Phanpy +Pelo de Stantler +Garra de Larvitar +Pluma de Wingull +Pertenencia de Ralts +Néctar de Surskit +Esporas de Shroomish +Pelo de Slakoth +Sudor de Makuhita +Pelo de Azurill +Gema de Sableye +Sudor de Meditite +Secreción de Gulpin +Lava de Numel +Carbón de Torkoal +Perla de Spoink +Espina de Cacnea +Pluma de Swablu +Garra de Zangoose +Colmillo de Seviper +Secreción de Barboach +Retal de Shuppet +Hoja de Tropius +Pelo de Snorunt +Escama de Luvdisc +Escama de Bagon +Pluma de Starly +Muda de Kricketot +Colmillo de Shinx +Miel de Combee +Pelo de Pachirisu +Pelo de Buizel +Secreción de Shellos +Gas de Drifloon +Pelo de Stunky +Fragmento de Bronzor +Lágrima de Bonsly +Pertenencia de Happiny +Fragmento de Spiritomb +Escama de Gible +Pelo de Riolu +Arena de Hippopotas +Toxinas de Croagunk +Escama de Finneon +Baya de Snover +Electricidad de Rotom +Hoja de Petilil +Colmillo de Basculin +Garra de Sandile +Pelo de Zorua +Pestaña de Gothita +Pelo de Deerling +Esporas de Foongus +Secreción de Alomomola +Secreción de Tynamo +Escama de Axew +Pelo de Cubchoo +Hielo de Cryogonal +Cuchilla de Pawniard +Pluma de Rufflet +Escama de Deino +Pelo de Larvesta +Pluma de Fletchling +Polvo de Scatterbug +Mechón de Litleo +Polen de Flabébé +Hoja de Skiddo +Alga de Skrelp +Pinza de Clauncher +Plumón de Hawlucha +Pelo de Dedenne +Secreción de Goomy +Llave de Klefki +Hielo de Bergmite +Pelo de Noibat +Pelo de Yungoos +Cáscara de Crabrawler +Pluma de Oricorio +Roca de Rockruff +Aguijón de Mareanie +Lodo de Mudbray +Hoja de Fomantis +Gas de Salandit +Sudor de Bounsweet +Pelo de Oranguru +Pelo de Passimian +Arena de Sandygast +Garra de Komala +Retal de Mimikyu +Diente de Bruxish +Garra de Chewtle +Pelo de Skwovet +Escama de Arrokuda +Pluma de Rookidee +Electricidad de Toxel +Sudor de Falinks +Óxido de Cufant +Carbón de Rolycoly +Arena de Silicobra +Pelo de Indeedee +Púa de Pincurchin +Hilo de Snom +Pelo de Impidimp +Zumo de Applin +Fragmento de Sinistea +Pertenencia de Hatenna +Roca de Stonjourner +Plumón de Eiscue +Polvo de Dreepy + + + +Pelo de Lechonk +Hilo de Tarountula +Garra de Nymble +Barro de Rellor +Cera de Greavard +Plumón de Flittle +Arena de Wiglett +Bigote de Dondozo +Carne de Veluza +Secreción de Finizen +Aceite de Smoliv +Semilla de Capsakid +Secreción de Tadbulb +Gas de Varoom +Óxido de Orthworm +Pelo de Tandemaus +Grasa de Cetoddle +Escama de Frigibax +Escama de Tatsugiri +Escama de Cyclizar +Pelo de Pawmi + + +Pluma de Wattrel +Pluma de Bombirdier +Pluma de Squawkabilly +Plumón de Flamigo +Pinza de Klawf +Sal de Nacli +Cristal de Glimmet +Tinta de Shroodle +Pelo de Fidough +Colmillo de Maschiff +Rama de Bramblin +Moneda de Gimmighoul + + + + + + + + + + + + + + + + + + +Pelo de Tinkatink +Hollín de Charcadet +Pliegue de Toedscool +Secreción de Wooper +MT100 +MT101 +MT102 +MT103 +MT104 +MT105 +MT106 +MT107 +MT108 +MT109 +MT110 +MT111 +MT112 +MT113 +MT114 +MT115 +MT116 +MT117 +MT118 +MT119 +MT120 +MT121 +MT122 +MT123 +MT124 +MT125 +MT126 +MT127 +MT128 +MT129 +MT130 +MT131 +MT132 +MT133 +MT134 +MT135 +MT136 +MT137 +MT138 +MT139 +MT140 +MT141 +MT142 +MT143 +MT144 +MT145 +MT146 +MT147 +MT148 +MT149 +MT150 +MT151 +MT152 +MT153 +MT154 +MT155 +MT156 +MT157 +MT158 +MT159 +MT160 +MT161 +MT162 +MT163 +MT164 +MT165 +MT166 +MT167 +MT168 +MT169 +MT170 +MT171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Kit de Pícnic + +Termo Academia +Termo Academia +Termo Lunares +Termo Rayas +Termo Rombos +Taza Academia +Taza Academia +Taza Raya Vertical +Taza Lunares +Taza Flores +Mantel Academia +Mantel Academia +Mantel Cuco +Mantel Naturaleza +Mantel Espectral + +Pelota Academia +Pelota Academia +Pelota Marill +Pelota Ovillo +Pelota Cibernética +Palillo Dorado +Palillo Plateado +Palillo Bandera Roja +Palillo Bandera Azul +Palillo Pikachu +Palillo Pikaguiño +Palillo Eevee +Palillo Eevee Feliz +Palillo Ball Azul + +Armadura Auspiciosa +Distintivo de Líder + + +Termo Rosa +Termo Azul +Termo Amarillo +Termo Metal Rojo +Termo Metal Amarillo +Termo Metal Azul +Termo Plateado +Taza Raya Horizontal +Taza Rombos +Taza Llamas +Taza Rosa +Taza Azul +Taza Amarilla +Taza Pikachu +Taza Eevee +Taza Slowpoke +Taza Plateada +Pelota Pilates +Mantel Cuadros Ámbar +Mantel Cuadros Azul +Mantel Cuadros Rojo +Mantel Hierba Alta +Mantel Combate +Mantel Monstruoso +Mantel Rayas +Mantel Rombos +Mantel Lunares +Mantel Malva +Mantel Menta +Mantel Beis +Mantel Amarillo +Mantel Azul +Mantel Rosa +Termo Dorado +Termo Bronceado +Taza Dorada +Taza Bronceada +Palillo Ball Verde +Palillo Ball Roja +Palillo Bengala +Palillo Heroico +Palillo Estrella +Palillo Corazón +Palillo Sombrilla +Palillo Flor Azul +Palillo Flor Naranja +Palillo Flor Rosa +Plato Azul +Plato Verde +Plato Naranja +Plato Rojo +Plato Blanco +Plato Amarillo \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_fr.txt b/PKHeX.Core/Resources/text/items/text_Items_fr.txt index 8417960ff..a1894ba0c 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_fr.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_fr.txt @@ -1826,4 +1826,576 @@ Lecteur DS -Plaque Légende \ No newline at end of file +Plaque Légende +Motismart +Sandwich +Poké Ball de Koraidon +Poké Ball de Miraidon +Orbe Téracristal +Livre Écarlate +Livre Violet +Portefeuille de Kombu + + + + + +Petit Bambou +Gros Bambou + + + + + + + + + + + + + +Rouleau des Ténèbres +Rouleau de l’Eau + + +Armure de la Rancune +Téra-Éclat Normal +Téra-Éclat Feu +Téra-Éclat Eau +Téra-Éclat Électrik +Téra-Éclat Plante +Téra-Éclat Glace +Téra-Éclat Combat +Téra-Éclat Poison +Téra-Éclat Sol +Téra-Éclat Vol +Téra-Éclat Psy +Téra-Éclat Insecte +Téra-Éclat Roche +Téra-Éclat Spectre +Téra-Éclat Dragon +Téra-Éclat Ténèbres +Téra-Éclat Acier +Téra-Éclat Fée +Énergie Booster +Garde-Talent +Talisman Sain +Feuille Copieuse +Gant de Boxe +Cape Obscure +Dé Pipé + +Baguette +Mayonnaise +Ketchup +Moutarde +Beurre +Beurre de Cacahuètes +Sauce Piquante +Sel +Poivre +Yaourt +Crème Fouettée +Fromage Frais +Confiture de Baies +Marmelade +Huile d’Olive +Vinaigre +Épice Secrète Sucrée +Épice Secrète Salée +Épice Secrète Acide +Épice Secrète Amère +Épice Secrète Corsée +Laitue +Tomate +Tomate Cerise +Concombre +Cornichon +Oignon +Oignon Rouge +Poivron Vert +Poivron Rouge +Poivron Jaune +Avocat +Bacon +Jambon Blanc +Jambon Cru +Chorizo Grillé +Saucisse aux Herbes +Steak Haché +Bâtonnet de Craparoi +Filet Fumé +Filet Frit +Œuf +Tortilla +Tofu +Riz +Nouilles +Salade de Patates +Fromage +Banane +Fraise +Pomme +Kiwi +Ananas +Piment +Raifort +Curry en Poudre +Sauce au Wasabi +Cresson +Basilic + + + + + + + + + +Croc de Mimitoss +Terre de Taupiqueur +Poils de Miaouss +Duvet de Psykokwak +Poils de Férosinge +Poils de Caninos +Griffe de Ramoloss +Vis de Magnéti +Poison de Tadmorv +Perle de Kokiyas +Gaz de Fantominus +Poils de Soporifik +Électricité de Voltorbe +Griffe d’Insécateur +Poils de Tauros +Écaille de Magicarpe +Substance de Métamorph +Poils d’Évoli +Écaille de Minidraco +Poils de Pichu +Poils de Toudoudou +Laine de Wattouat +Feuille de Granivol +Feuille de Tournegrin +Trésor de Cornèbre +Larme de Feuforêve +Poils de Girafarig +Écorce de Pomdepik +Écaille d’Insolourdo +Épine de Qwilfish +Griffe de Scarhino +Griffe de Farfuret +Griffe de Teddiursa +Provisions de Cadoizo +Croc de Malosse +Ongle de Phanpy +Poils de Cerfrousse +Griffe d’Embrylex +Plume de Goélise +Babiole de Tarsal +Nectar d’Arakdo +Spores de Balignon +Poils de Parecool +Sueur de Makuhita +Poils d’Azurill +Joyau de Ténéfix +Sueur de Méditikka +Mucus de Gloupti +Lave de Chamallot +Charbon de Chartor +Perle de Spoink +Épine de Cacnea +Plume de Tylton +Griffe de Mangriff +Croc de Séviper +Mucus de Barloche +Tissu de Polichombr +Feuille de Tropius +Poils de Stalgamin +Écaille de Lovdisc +Écaille de Draby +Plume d’Étourmi +Mue de Crikzik +Croc de Lixy +Nectar d’Apitrini +Poils de Pachirisu +Poils de Mustébouée +Mucus de Sancoki +Gaz de Baudrive +Poils de Moufouette +Fragment d’Archéomire +Larme de Manzaï +Babiole de Ptiravi +Fragment de Spiritomb +Écaille de Griknot +Poils de Riolu +Sable d’Hippopotas +Poison de Cradopaud +Écaille d’Écayon +Baie de Blizzi +Électricité de Motisma +Feuille de Chlorobule +Croc de Bargantua +Griffe de Mascaïman +Poils de Zorua +Cils de Scrutella +Poils de Vivaldaim +Spores de Trompignon +Mucus de Mamanbo +Mucus d’Anchwatt +Écaille de Coupenotte +Poils de Polarhume +Glace d’Hexagel +Lame de Scalpion +Plume de Furaiglon +Écaille de Solochi +Poils de Pyronille +Plume de Passerouge +Poudre de Lépidonille +Crinière d’Hélionceau +Pollen de Flabébé +Feuille de Cabriolaine +Algue de Venalgue +Pince de Flingouste +Duvet de Brutalibré +Poils de Dedenne +Mucus de Mucuscule +Clé de Trousselin +Glace de Grelaçon +Poils de Sonistrelle +Poils de Manglouton +Carapace de Crabagarre +Plume de Plumeline +Roche de Rocabot +Épine de Vorastérie +Boue de Tiboudet +Feuille de Mimantis +Gaz de Tritox +Sueur de Croquine +Poils de Gouroutan +Poils de Quartermac +Sable de Bacabouh +Griffe de Dodoala +Tissu de Mimiqui +Dent de Denticrisse +Griffe de Khélocrok +Poils de Rongourmand +Écaille d’Embrochet +Plume de Minisange +Électricité de Toxizap +Sueur d’Hexadron +Rouille de Charibari +Charbon de Charbi +Sable de Dunaja +Poils de Wimessir +Épine de Wattapik +Fil de Frissonille +Poils de Grimalin +Jus de Verpom +Fragment de Théffroi +Babiole de Bibichut +Roche de Dolman +Duvet de Bekaglaçon +Poudre de Fantyrm + + + +Poils de Gourmelet +Fil de Tissenboule +Griffe de Lilliterelle +Boue de Léboulérou +Cire de Toutombe +Duvet de Flotillon +Sable de Taupikeau +Barbillon d’Oyacata +Chair de Délestin +Mucus de Dofin +Huile d’Olivini +Graine de Pimito +Mucus de Têtampoule +Gaz de Vrombi +Rouille de Ferdeter +Poils de Compagnol +Graisse de Piétacé +Écaille de Frigodo +Écaille de Nigirigon +Écaille de Motorizard +Poils de Pohm + + +Plume de Zapétrel +Plume de Lestombaile +Plume de Tapatoès +Duvet de Flamenroule +Pince de Craparoi +Sel de Selutin +Cristal de Germéclat +Encre de Gribouraigne +Poils de Pâtachiot +Croc de Grondogue +Branche de Virovent +Pièce de Mordudor + + + + + + + + + + + + + + + + + + +Poils de Forgerette +Suie de Charbambin +Membrane de Terracool +Mucus d’Axoloto +CT100 +CT101 +CT102 +CT103 +CT104 +CT105 +CT106 +CT107 +CT108 +CT109 +CT110 +CT111 +CT112 +CT113 +CT114 +CT115 +CT116 +CT117 +CT118 +CT119 +CT120 +CT121 +CT122 +CT123 +CT124 +CT125 +CT126 +CT127 +CT128 +CT129 +CT130 +CT131 +CT132 +CT133 +CT134 +CT135 +CT136 +CT137 +CT138 +CT139 +CT140 +CT141 +CT142 +CT143 +CT144 +CT145 +CT146 +CT147 +CT148 +CT149 +CT150 +CT151 +CT152 +CT153 +CT154 +CT155 +CT156 +CT157 +CT158 +CT159 +CT160 +CT161 +CT162 +CT163 +CT164 +CT165 +CT166 +CT167 +CT168 +CT169 +CT170 +CT171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Set de Pique-Nique + +Gourde de l’Académie +Gourde de l’Académie +Gourde à Pois +Gourde à Rayures +Gourde à Losanges +Tasse de l’Académie +Tasse de l’Académie +Tasse à Rayures Jaunes +Tasse à Pois +Tasse à Fleurs +Nappe de l’Académie +Nappe de l’Académie +Nappe Fantaisie +Nappe Verdoyante +Nappe Hantée + +Ballon de l’Académie +Ballon de l’Académie +Ballon Marill +Pelote de Laine +Ballon Gaming +Pique Dorée +Pique Argentée +Pique à Fanion Rouge +Pique à Fanion Bleu +Pique Pikapika +Pique à Chu Fripon +Pique Volivoli +Pique Évo Rit +Pique à Ball Bleue + +Armure de la Fortune +Emblème du Général + + +Gourde Rose +Gourde Bleue +Gourde Jaune +Gourde Inox (Rouge) +Gourde Inox (Jaune) +Gourde Inox (Bleu) +Gourde Titane (Argent) +Tasse à Rayures Bleues +Tasse à Losanges +Tasse à Flammes +Tasse Rose +Tasse Bleue +Tasse Jaune +Tasse Pikachu +Tasse Évoli +Tasse Ramoloss +Tasse Titane (Argent) +Ballon d’Exercice +Nappe Tartan Jaune +Nappe Tartan Bleue +Nappe Tartan Rouge +Nappe Hautes Herbes +Nappe Combat Pokémon +Nappe Kaiju +Nappe à Rayures +Nappe à Losanges +Nappe à Pois +Nappe Mauve +Nappe Menthe +Nappe Beige +Nappe Jaune +Nappe Bleue +Nappe Rose +Gourde Titane (Or) +Gourde Titane (Bronze) +Tasse Titane (Or) +Tasse Titane (Bronze) +Pique à Ball Verte +Pique à Ball Rouge +Pique Feu d’Artifice +Pique Épée du Héros +Pique Étoile Magique +Pique Cœur Magique +Pique Parasol +Pique Fleur d’Azur +Pique Fleur du Ponant +Pique Fleur du Levant +Assiette Bleue +Assiette Verte +Assiette Orange +Assiette Rouge +Assiette Blanche +Assiette Jaune \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_it.txt b/PKHeX.Core/Resources/text/items/text_Items_it.txt index 230b74117..ed3b53078 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_it.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_it.txt @@ -22,12 +22,12 @@ Antigelo Sveglia Antiparalisi Ricarica totale -Pozione Max +Pozione max Iperpozione Superpozione Cura totale Revitalizzante -Revitalizz. Max +Revitalizzante max Acqua fresca Gassosa Lemonsucco @@ -37,45 +37,45 @@ Radicenergia Polvocura Vitalerba Etere -Etere Max +Etere max Elisir -Elisir Max +Elisir max Lavottino -Succodibacca -Ceneremagica -PS-Su +Succo di bacca +Cenere magica +PS-su Proteina Ferro Carburante Calcio Caramella rara -PP-Su +PP-su Zinco -PP-Max -Dolce Gateau +PP-max +Dolce gateau Superguardia Supercolpo Attacco X Difesa X Velocità X Precisione X -Att. Speciale X -Dif. Speciale X -Poké Bambola +Attacco Speciale X +Difesa Speciale X +Pokébambola Coda Skitty -Flauto Blu -Flauto Giallo -Flauto Rosso -Flauto Nero -Flauto Bianco -Sale Ondoso +Flauto blu +Flauto giallo +Flauto rosso +Flauto nero +Flauto bianco +Sale ondoso Gusciondoso -Coccio Rosso -Coccio Blu -Coccio Giallo -Coccio Verde +Coccio rosso +Coccio blu +Coccio giallo +Coccio verde Superrepellente -Repellente Max +Repellente max Fune di fuga Repellente Pietrasolare @@ -85,13 +85,13 @@ Pietratuono Pietraidrica Pietrafoglia Minifungo -Grande Fungo +Grande fungo Perla -Grande Perla +Grande perla Polvostella -Pezzo Stella +Pezzo stella Pepita -Squama Cuore +Squama cuore Miele Fertilrapido Fertilidro @@ -104,7 +104,7 @@ Domofossile Ambra antica Fossilscudo Fossilcranio -Osso Raro +Osso raro Pietrabrillo Neropietra Pietralbore @@ -140,13 +140,13 @@ Messaggio TVB Messaggio Invito Messaggio Grazie Messaggio Chiedi -Mess. Sugg. -Mess. Risp. -Mess. Frec. -Mess. Libec. -Mess. Prop. -Mess. Vill. -Mess. Merav. +Messaggio Consiglio +Messaggio Risposta +Messaggio Ponte F +Messaggio Ponte L +Messaggio Ponte P +Messaggio Ponte V +Messaggio Ponte M Baccaliegia Baccastagna Baccapesca @@ -214,60 +214,60 @@ Baccaroam Luminpolvere Erbachiara Crescicappa -Condividi esp. -Rapidartigli +Condividi esperienza +Rapidartiglio Calmanella Mentalerba Bendascelta -Roccia di Re +Roccia di re Argenpolvere Monetamuleto Velopuro Cuorugiada -Dente Abissi +Dente abissi Squamabissi -Palla Fumo +Palla fumo Pietrastante Bandana Fortunuovo Mirino -Metalcoperta +Metalcopertura Avanzi -Squama Drago +Squama drago Elettropalla -Sabbia Soffice +Sabbia soffice Pietradura Miracolseme Occhialineri -Cinturanera +Cintura nera Calamita -Acqua Magica +Acqua magica Beccaffilato Velenaculeo Gelomai Spettrotarga -Cucchiaio Torto +Cucchiaio torto Carbonella -Dentedidrago -Sciarpa Seta +Dente di drago +Sciarpa seta Upgrade Conchinella Marearoma Distraroma Fortunpugno Metalpolvere -Ossospesso -Gambo -Fascia Rossa -Fascia Blu -Fascia Rosa -Fascia Verde -Fascia Gialla +Osso spesso +Porro +Fascia rossa +Fascia blu +Fascia rosa +Fascia verde +Fascia gialla Grandelente Muscolbanda Saviocchiali Abilcintura -Creta Luce +Creta luce Assorbisfera Vigorerba Tossicsfera @@ -284,7 +284,7 @@ Rocciafredda Roccialiscia Rocciacalda Rocciaumida -Presartigli +Presartiglio Stolascelta Vischiopunta Vigorcerchio @@ -324,7 +324,7 @@ Elettritore Magmatore Dubbiodisco Terrorpanno -Affilartigli +Affilartiglio Affilodente MT01 MT02 @@ -428,14 +428,14 @@ MN06 ??? Esplorokit Bottinosacca -Libro Regole +Libro regole Poké Radar Scheda punti Note di viaggio Portabolli -Scatola Chic +Scatola chic Bollosacca -Blocco Amici +Blocco amici Chiave impianto Amuleto antico Chiave Galassia @@ -443,17 +443,17 @@ Catena rossa Mappa città Cercasfide Salvadanaio -Amo Vecchio -Amo Buono -Super Amo +Canna da pesca usata +Canna da pesca buona +Canna da pesca super Sprayduck Portapoffin Bicicletta Chiave suite Lettera Oak Piumalunare -Scheda Soci -Flauto Cielo +Scheda soci +Flauto cielo Biglietto nave Tessera Gare Magmapietra @@ -467,29 +467,29 @@ Registradati Gracidea Chiave segreta Ghicobox -UnownBloc +Registro Unown Piantabacche -Ricerca strum. -Carta Blu +Ricerca strumenti +Carta blu Coda Slowpoke -Campana Chiara +Campana chiara Apriporta Chiave sotterr. Annaffiatoio -Squama Rossa +Squama rossa Strumento perso Superpass -Pezzo macch. -Aladargento -Ala d’Iride -Uovo Mistero -Ghicocca Rossa -Ghicocca Blu -Ghicocca Gialla -Ghicocca Verde -Ghicocca Rosa -Ghicocca Bianca -Ghicocca Nera +Pezzo di macchinario +Ala d’argento +Ala d’iride +Uovo mistero +Ghicocca rossa +Ghicocca blu +Ghicocca gialla +Ghicocca verde +Ghicocca rosa +Ghicocca bianca +Ghicocca nera Rapid Ball Level Ball Esca Ball @@ -501,41 +501,41 @@ Gara Ball Parco Ball Album Lettore GB -Campana Onda +Campana onda Iramella -Scheda Dati 01 -Scheda Dati 02 -Scheda Dati 03 -Scheda Dati 04 -Scheda Dati 05 -Scheda Dati 06 -Scheda Dati 07 -Scheda Dati 08 -Scheda Dati 09 -Scheda Dati 10 -Scheda Dati 11 -Scheda Dati 12 -Scheda Dati 13 -Scheda Dati 14 -Scheda Dati 15 -Scheda Dati 16 -Scheda Dati 17 -Scheda Dati 18 -Scheda Dati 19 -Scheda Dati 20 -Scheda Dati 21 -Scheda Dati 22 -Scheda Dati 23 -Scheda Dati 24 -Scheda Dati 25 -Scheda Dati 26 -Scheda Dati 27 -Sfera Verde -Capsula Scrigno +Scheda dati 01 +Scheda dati 02 +Scheda dati 03 +Scheda dati 04 +Scheda dati 05 +Scheda dati 06 +Scheda dati 07 +Scheda dati 08 +Scheda dati 09 +Scheda dati 10 +Scheda dati 11 +Scheda dati 12 +Scheda dati 13 +Scheda dati 14 +Scheda dati 15 +Scheda dati 16 +Scheda dati 17 +Scheda dati 18 +Scheda dati 19 +Scheda dati 20 +Scheda dati 21 +Scheda dati 22 +Scheda dati 23 +Scheda dati 24 +Scheda dati 25 +Scheda dati 26 +Scheda dati 27 +Sfera verde +Capsula scrigno Gemma rossa Gemma blu Misticristal -Squama Bella +Squama bella Evolcondensa Pietralieve Bitorzolelmo @@ -581,7 +581,7 @@ Teschio Profumfungo Granpepita Trittiperla -Pezzo Cometa +Pezzo cometa Soldantico Ducatantico Doblonantico @@ -592,20 +592,20 @@ Coronantica Conostropoli Supercolpo 2 Velocità X-2 -Att. Sp. X-2 -Dif. Spec. X-2 +Attacco Speciale X-2 +Difesa Speciale X-2 Difesa X-2 Attacco X-2 Precisione X-2 Velocità X-3 -Att. Sp. X-3 -Dif. Spec. X-3 +Attacco Speciale X-3 +Difesa Speciale X-3 Difesa X-3 Attacco X-3 Precisione X-3 Velocità X-6 -Att. Sp. X-6 -Dif. Spec. X-6 +Attacco Speciale X-6 +Difesa Speciale X-6 Difesa X-6 Attacco X-6 Precisione X-6 @@ -625,14 +625,14 @@ Missiva 1 Missiva 2 Missiva 3 Interpoké -Box Premi +Box premi Cuneo DNA Cuneo DNA Permesso Ovamuleto Cromamuleto Carta Plasma -Pezza Sporca +Pezza sporca Acrocongegno Oggetto perso Oggetto perso @@ -649,7 +649,7 @@ Bustina aromi Muschioluce Palla di neve Visierantisabbia -Poké Flauto +Pokéflauto Fertilflorido Fertilsorpresa Fertilcopioso @@ -693,7 +693,7 @@ MT97 MT98 MT99 MT100 -Pass Centrale +Pass centrale Megacerchio Sasso suggestivo Sasso qualsiasi @@ -701,7 +701,7 @@ Buono sconto Chiave ascensore Pass TMV Emblema di Kalos -Guida Avventura +Guida avventura Strano ninnolo Portalenti Trousse @@ -840,8 +840,8 @@ Ashpikacium Z ??? ??? Portaingredienti -Amo -Maschera Prof. +Canna da pesca +Maschera del Prof Festicket Pietra lucente Fifasfera @@ -900,7 +900,7 @@ Bouquet ??? Profumo invito Superprofumo -Profumo Max +Profumo max Plumbeosalatini ROM Lotta ROM Volante @@ -1078,7 +1078,7 @@ Desiostella Polsino Dynamax ??? ??? -Amo +Canna da pesca Bici Rotom ??? ??? @@ -1122,12 +1122,12 @@ Scarponi robusti Fiascopolizza Distorservizio Superombrello -Caram. Esp. XS -Caram. Esp. S -Caram. Esp. M -Caram. Esp. L -Caram. Esp. XL -Caram. Dynamax +Caram. esp. XS +Caram. esp. S +Caram. esp. M +Caram. esp. L +Caram. esp. XL +Caramella Dynamax DT00 DT01 DT02 @@ -1647,7 +1647,7 @@ Pokékokeshi Palla orba Scoppiosfera Sfera viscosa -Pezzo Stella +Pezzo stella Polpetta funghi Erba repellente Polpetta miele @@ -1657,16 +1657,16 @@ Polpetta minerale Pozione Superpozione Iperpozione -Pozione Max +Pozione max Ricarica totale Preparato Preparato buono Preparato ottimo -Dolce Gateau +Dolce gateau Muffin Giubilo Cura totale Revitalizzante -Revitalizz. Max +Revitalizzante max Tonico PP Tonico PP Max Furtivizzante @@ -1826,4 +1826,576 @@ Lettore DS -Lastraleggenda \ No newline at end of file +Lastraleggenda +Smart Rotom +Panino +Poké Ball Koraidon +Poké Ball Miraidon +Terasfera +Libro scarlatto +Libro violetto +Portafogli di Algaro + + + + + +Minibambù +Grande bambù + + + + + + + + + + + + + +Rotolo del Buio +Rotolo dell’Acqua + + +Armatura infausta +Teralite Normale +Teralite Fuoco +Teralite Acqua +Teralite Elettro +Teralite Erba +Teralite Ghiaccio +Teralite Lotta +Teralite Veleno +Teralite Terra +Teralite Volante +Teralite Psico +Teralite Coleottero +Teralite Roccia +Teralite Spettro +Teralite Drago +Teralite Buio +Teralite Acciaio +Teralite Folletto +Capsula energetica +Scudo abilità +Ciondolochiaro +Foglia carbone +Guantone +Anonimanto +Dado truccato + +Filoncino +Maionese +Ketchup +Senape +Burro +Burro di arachidi +Salsa piccante +Sale +Pepe +Yogurt +Panna montata +Formaggio cremoso +Confettura di bosco +Marmellata +Olio d’oliva +Aceto +Spezia nascosta dolce +Spezia nascosta salata +Spezia nascosta aspra +Spezia nascosta amara +Spezia nascosta pepata +Lattuga +Pomodoro +Pomodorino +Cetriolo +Sottaceto +Cipolla +Cipolla rossa +Peperone verde +Peperone rosso +Peperone giallo +Avocado +Pancetta rosolata +Prosciutto cotto +Prosciutto crudo +Chorizo rosolato +Salsiccia alle erbe +Hamburger grigliato +Surimi di Klawf +Filetto affumicato +Filetto impanato +Uovo bollito +Tortilla +Tofu +Riso +Noodle +Insalata di patate +Formaggio +Banana +Fragola +Mela +Kiwi +Ananas +Jalapeño +Rafano +Curry in polvere +Wasabi +Crescione +Basilico + + + + + + + + + +Zanna di Venonat +Terra di Diglett +Pelo di Meowth +Piuma di Psyduck +Pelo di Mankey +Pelo di Growlithe +Artiglio di Slowpoke +Vite di Magnemite +Tossine di Grimer +Perla di Shellder +Gas di Gastly +Pelo di Drowzee +Elettricità di Voltorb +Artiglio di Scyther +Pelo di Tauros +Squama di Magikarp +Appiccicume di Ditto +Pelo di Eevee +Squama di Dratini +Pelo di Pichu +Pelo di Igglybuff +Lana di Mareep +Foglia di Hoppip +Foglia di Sunkern +Tesoro di Murkrow +Lacrime di Misdreavus +Pelo di Girafarig +Guscio di Pineco +Squama di Dunsparce +Aculeo di Qwilfish +Artiglio di Heracross +Artiglio di Sneasel +Artiglio di Teddiursa +Scorte di Delibird +Zanna di Houndour +Unghia di Phanpy +Pelo di Stantler +Artiglio di Larvitar +Penna di Wingull +Oggetto di Ralts +Sciroppo di Surskit +Spore di Shroomish +Pelo di Slakoth +Sudore di Makuhita +Pelo di Azurill +Gemma di Sableye +Sudore di Meditite +Muco di Gulpin +Lava di Numel +Carbone di Torkoal +Perla di Spoink +Spina di Cacnea +Piuma di Swablu +Artiglio di Zangoose +Zanna di Seviper +Muco di Barboach +Brandello di Shuppet +Foglia di Tropius +Pelo di Snorunt +Squama di Luvdisc +Squama di Bagon +Penna di Starly +Esuvia di Kricketot +Zanna di Shinx +Nettare di Combee +Pelo di Pachirisu +Pelo di Buizel +Bava di Shellos +Gas di Drifloon +Pelo di Stunky +Frammento di Bronzor +Lacrime di Bonsly +Oggetto di Happiny +Frammento di Spiritomb +Squama di Gible +Pelo di Riolu +Sabbia di Hippopotas +Tossine di Croagunk +Squama di Finneon +Bacca di Snover +Elettricità di Rotom +Foglia di Petilil +Dente di Basculin +Artiglio di Sandile +Pelo di Zorua +Ciglia di Gothita +Pelo di Deerling +Spore di Foongus +Muco di Alomomola +Muco di Tynamo +Squama di Axew +Pelo di Cubchoo +Ghiaccio di Cryogonal +Lama di Pawniard +Penna di Rufflet +Squama di Deino +Pelo di Larvesta +Penna di Fletchling +Polvere di Scatterbug +Crine di Litleo +Polline di Flabébé +Foglia di Skiddo +Alga di Skrelp +Chela di Clauncher +Piuma di Hawlucha +Pelo di Dedenne +Bava di Goomy +Chiave di Klefki +Ghiaccio di Bergmite +Pelo di Noibat +Pelo di Yungoos +Carapace di Crabrawler +Penna di Oricorio +Roccia di Rockruff +Aculeo di Mareanie +Fango di Mudbray +Foglia di Fomantis +Gas di Salandit +Sudore di Bounsweet +Pelo di Oranguru +Pelo di Passimian +Sabbia di Sandygast +Artiglio di Komala +Brandello di Mimikyu +Dente di Bruxish +Unghia di Chewtle +Pelo di Skwovet +Squama di Arrokuda +Penna di Rookidee +Elettricità di Toxel +Sudore di Falinks +Ruggine di Cufant +Carbone di Rolycoly +Sabbia di Silicobra +Pelo di Indeedee +Aculeo di Pincurchin +Filo di Snom +Pelo di Impidimp +Succo di Applin +Coccio di Sinistea +Oggetto di Hatenna +Roccia di Stonjourner +Piuma di Eiscue +Polvere di Dreepy + + + +Pelo di Lechonk +Filo di Tarountula +Artiglio di Nymble +Fango di Rellor +Cera di Greavard +Piuma di Flittle +Sabbia di Wiglett +Barbiglio di Dondozo +Filetto di Veluza +Muco di Finizen +Olio di Smoliv +Seme di Capsakid +Muco di Tadbulb +Gas di Varoom +Ruggine di Orthworm +Pelo di Tandemaus +Grasso di Cetoddle +Squama di Frigibax +Squama di Tatsugiri +Squama di Cyclizar +Pelo di Pawmi + + +Penna di Wattrel +Penna di Bombirdier +Penna di Squawkabilly +Piuma di Flamigo +Chela di Klawf +Sale di Nacli +Cristallo di Glimmet +Inchiostro di Shroodle +Pelo di Fidough +Zanna di Maschiff +Ramoscello di Bramblin +Moneta di Gimmighoul + + + + + + + + + + + + + + + + + + +Pelo di Tinkatink +Fuliggine di Charcadet +Pieghe di Toedscool +Muco di Wooper +MT100 +MT101 +MT102 +MT103 +MT104 +MT105 +MT106 +MT107 +MT108 +MT109 +MT110 +MT111 +MT112 +MT113 +MT114 +MT115 +MT116 +MT117 +MT118 +MT119 +MT120 +MT121 +MT122 +MT123 +MT124 +MT125 +MT126 +MT127 +MT128 +MT129 +MT130 +MT131 +MT132 +MT133 +MT134 +MT135 +MT136 +MT137 +MT138 +MT139 +MT140 +MT141 +MT142 +MT143 +MT144 +MT145 +MT146 +MT147 +MT148 +MT149 +MT150 +MT151 +MT152 +MT153 +MT154 +MT155 +MT156 +MT157 +MT158 +MT159 +MT160 +MT161 +MT162 +MT163 +MT164 +MT165 +MT166 +MT167 +MT168 +MT169 +MT170 +MT171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Set da picnic + +Borraccia accademia +Borraccia accademia +Borraccia a pois +Borraccia a righe +Borraccia a rombi +Tazza accademia +Tazza accademia +Tazza a righe verticali +Tazza a pois +Tazza a fiori +Tovaglia accademia +Tovaglia accademia +Tovaglia carina +Tovaglia natura +Tovaglia dispetto + +Palla accademia +Palla accademia +Palla Marill +Palla gomitolo +Palla gaming +Stecchino oro +Stecchino argento +Bandierina rossa +Bandierina blu +Stecchino Pikachu +Stecchino pikapika +Stecchino Eevee +Stecchino veevee +Stecchino Ball blu + +Armatura fausta +Simbolo del capo + + +Borraccia rosa +Borraccia celeste +Borraccia gialla +Borraccia inox R +Borraccia inox G +Borraccia inox B +Borraccia argento +Tazza a righe orizzontali +Tazza a rombi +Tazza con fiamme +Tazza rosa +Tazza celeste +Tazza gialla +Tazza Pikachu +Tazza Eevee +Tazza Slowpoke +Tazza argento +Palla fitness +Tovaglia a quadri gialla +Tovaglia a quadri viola +Tovaglia a quadri rossa +Tovaglia erba alta +Tovaglia sfida +Tovaglia mostruosa +Tovaglia a righe +Tovaglia a rombi +Tovaglia a pois +Tovaglia lilla +Tovaglia menta +Tovaglia pesca +Tovaglia gialla +Tovaglia blu +Tovaglia rosa +Borraccia oro +Borraccia bronzo +Tazza oro +Tazza bronzo +Stecchino Ball verde +Stecchino Ball rosso +Stecchino scintille +Stecchino spadone +Stecchino magistella +Stecchino magicuore +Ombrellino +Stecchino fiore blu +Stecchino fiore arancio +Stecchino fiore rosso +Piatto celeste +Piatto verde +Piatto arancione +Piatto rosso +Piatto bianco +Piatto giallo \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_ja.txt b/PKHeX.Core/Resources/text/items/text_Items_ja.txt index 516037877..10890c06e 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_ja.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_ja.txt @@ -1826,4 +1826,576 @@ -レジェンドプレート \ No newline at end of file +レジェンドプレート +スマホロトム +サンドウィッチ +コライドンのボール +ミライドンのボール +テラスタルオーブ +スカーレットブック +バイオレットブック +ハイダイのサイフ + + + + + +ちいさなタケノコ +おおきなタケノコ + + + + + + + + + + + + + +あくのかけじく +みずのかけじく + + +ノロイノヨロイ +テラピースノーマル +テラピースほのお +テラピースみず +テラピースでんき +テラピースくさ +テラピースこおり +テラピースかくとう +テラピースどく +テラピースじめん +テラピースひこう +テラピースエスパー +テラピースむし +テラピースいわ +テラピースゴースト +テラピースドラゴン +テラピースあく +テラピースはがね +テラピースフェアリー +ブーストエナジー +とくせいガード +クリアチャーム +ものまねハーブ +パンチグローブ +おんみつマント +いかさまダイス + +バゲット +マヨネーズ +ケチャップ +マスタード +バター +ピーナッツバター +チリソース +ソルト +ペッパー +ヨーグルト +ホイップクリーム +クリームチーズ +ベリージャム +マーマレード +オリーブオイル +ビネガー +ひでん:あまスパイス +ひでん:しおスパイス +ひでん:すぱスパイス +ひでん:にがスパイス +ひでん:からスパイス +レタス +トマトスライス +カットミニトマト +キュウリスライス +ピクルススライス +たまねぎスライス +アーリーレッド +ピーマンスライス +あかパプリカスライス +きパプリカスライス +アボカド +やきベーコン +ハムスライス +なまハム +やきチョリソー +ハーブソーセージ +ハンバーグ +ガケガニスティック +スモークきりみ +きりみフライ +スライスエッグ +トルティージャ +トーフ +ライス +ヌードル +ポテトサラダ +スライスチーズ +バナナスライス +いちごスライス +わぎりリンゴ +わぎりキウイ +カットパイン +ハラペーニョ +ホースラディッシュ +カレーパウダー +ワサビソース +クレソン +バジル + + + + + + + + + +コンパンのキバ +ディグダのつち +ニャースのけ +コダックのうもう +マンキーのけ +ガーディのけ +ヤドンのツメ +コイルのねじ +ベトベターのどくそ +シェルダーのしんじゅ +ゴースのガス +スリープのけ +ビリリダマのでんき +ストライクのツメ +ケンタロスのけ +コイキングのウロコ +メタモンのべたべた +イーブイのけ +ミニリュウのウロコ +ピチューのけ +ププリンのけ +メリープのけだま +ハネッコのはっぱ +ヒマナッツのはっぱ +ヤミカラスのおたから +ムウマのなみだ +キリンリキのけ +クヌギダマのから +ノコッチのウロコ +ハリーセンのトゲ +ヘラクロスのツメ +ニューラのツメ +ヒメグマのツメ +デリバードのにもつ +デルビルのキバ +ゴマゾウのツメ +オドシシのけ +ヨーギラスのツメ +キャモメのはね +ラルトスのおとしもの +アメタマのミツ +キノココのほうし +ナマケロのけ +マクノシタのあせ +ルリリのけ +ヤミラミのほうせき +アサナンのあせ +ゴクリンのねんえき +ドンメルのようがん +コータスのせきたん +バネブーのしんじゅ +サボネアのトゲ +チルットのはね +ザングースのツメ +ハブネークのキバ +ドジョッチのねんえき +カゲボウズのきれはし +トロピウスのはっぱ +ユキワラシのけ +ラブカスのウロコ +タツベイのウロコ +ムックルのはね +コロボーシのぬけがら +コリンクのキバ +ミツハニーのミツ +パチリスのけ +ブイゼルのけ +カラナクシのねんえき +フワンテのガス +スカンプーのけ +ドーミラーのかけら +ウソハチのなみだ +ピンプクのおとしもの +ミカルゲのかけら +フカマルのウロコ +リオルのけ +ヒポポタスのすな +グレッグルのどくそ +ケイコウオのウロコ +ユキカブリのみ +ロトムのでんき +チュリネのはっぱ +バスラオのキバ +メグロコのツメ +ゾロアのけ +ゴチムのまつげ +シキジカのけ +タマゲタケのほうし +ママンボウのねんえき +シビシラスのねんえき +キバゴのウロコ +クマシュンのけ +フリージオのこおり +コマタナのやいば +ワシボンのはね +モノズのウロコ +メラルバのけ +ヤヤコマのはね +コフキムシのこな +シシコのたてがみ +フラベベのかふん +メェークルのはっぱ +クズモーのもくず +ウデッポウのハサミ +ルチャブルのうもう +デデンネのけ +ヌメラのねんえき +クレッフィのかぎ +カチコールのこおり +オンバットのけ +ヤングースのけ +マケンカニのから +オドリドリのはね +イワンコのいわ +ヒドイデのトゲ +ドロバンコのどろ +カリキリのはっぱ +ヤトウモリのガス +アマカジのあせ +ヤレユータンのけ +ナゲツケサルのけ +スナバァのすな +ネッコアラのツメ +ミミッキュのきれはし +ハギギシリのは +カムカメのツメ +ホシガリスのけ +サシカマスのウロコ +ココガラのはね +エレズンのでんき +タイレーツのあせ +ゾウドウのさび +タンドンのせきたん +スナヘビのすな +イエッサンのけ +バチンウニのはり +ユキハミのいと +ベロバーのけ +カジッチュのかじゅう +ヤバチャのかけら +ミブリムのおとしもの +イシヘンジンのいわ +コオリッポのうもう +ドラメシヤのこな + + + +グルトンのけ +タマンチュラのいと +マメバッタのツメ +シガロコのどろ +ボチのろう +ヒラヒナのうもう +ウミディグダのすな +ヘイラッシャのヒゲ +ミガルーサのきりみ +ナミイルカのねんえき +ミニーブのオイル +カプサイジのたね +ズピカのねんえき +ブロロンのガス +ミミズズのさび +ワッカネズミのけ +アルクジラのあぶら +セビエのウロコ +シャリタツのウロコ +モトトカゲのウロコ +パモのけ + + +カイデンのはね +オトシドリのはね +イキリンコのはね +カラミンゴのうもう +ガケガニのハサミ +コジオのしお +キラーメのけっしょう +シルシュルーのインク +パピモッチのけ +オラチフのキバ +アノクサのえだ +コレクレーのコイン + + + + + + + + + + + + + + + + + + +カヌチャンのけ +カルボウのすす +ノノクラゲのヒラヒラ +ウパーのねんえき +わざマシン100 +わざマシン101 +わざマシン102 +わざマシン103 +わざマシン104 +わざマシン105 +わざマシン106 +わざマシン107 +わざマシン108 +わざマシン109 +わざマシン110 +わざマシン111 +わざマシン112 +わざマシン113 +わざマシン114 +わざマシン115 +わざマシン116 +わざマシン117 +わざマシン118 +わざマシン119 +わざマシン120 +わざマシン121 +わざマシン122 +わざマシン123 +わざマシン124 +わざマシン125 +わざマシン126 +わざマシン127 +わざマシン128 +わざマシン129 +わざマシン130 +わざマシン131 +わざマシン132 +わざマシン133 +わざマシン134 +わざマシン135 +わざマシン136 +わざマシン137 +わざマシン138 +わざマシン139 +わざマシン140 +わざマシン141 +わざマシン142 +わざマシン143 +わざマシン144 +わざマシン145 +わざマシン146 +わざマシン147 +わざマシン148 +わざマシン149 +わざマシン150 +わざマシン151 +わざマシン152 +わざマシン153 +わざマシン154 +わざマシン155 +わざマシン156 +わざマシン157 +わざマシン158 +わざマシン159 +わざマシン160 +わざマシン161 +わざマシン162 +わざマシン163 +わざマシン164 +わざマシン165 +わざマシン166 +わざマシン167 +わざマシン168 +わざマシン169 +わざマシン170 +わざマシン171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ピクニックセット + +スクールボトル +スクールボトル +みずたまボトル +ストライプボトル +ダイヤボトル +スクールカップ +スクールカップ +たてストライプカップ +みずたまカップ +フラワーカップ +スクールクロス +スクールクロス +ファンシークロス +ネイチャークロス +うらめしクロス + +スクールボール +スクールボール +マリルボール +けいとボール +ゲーミングボール +ゴールドピック +シルバーピック +あかいはたピック +あおいはたピック +ピカピカピック +パチピカピック +ブイブイピック +ニコブイピック +あおボールピック + +イワイノヨロイ +かしらのしるし + + +ピンクボトル +ブルーボトル +イエローボトル +Rステンレスボトル +Yステンレスボトル +Bステンレスボトル +シルバーチタンボトル +よこストライプカップ +ダイヤカップ +ファイヤーカップ +ピンクカップ +ブルーカップ +イエローカップ +ピカチュウカップ +イーブイカップ +ヤドンカップ +シルバーチタンカップ +バランスボール +きいろチェッククロス +あおチェッククロス +あかチェッククロス +くさむらモノクロス +しょうぶクロス +かいじゅうクロス +ストライプクロス +ダイヤクロス +みずたまクロス +パープルクロス +ミントクロス +ベージュクロス +イエロークロス +ブルークロス +ピンククロス +ゴールドチタンボトル +ブロンズチタンボトル +ゴールドチタンカップ +ブロンズチタンカップ +みどりボールピック +あかボールピック +おいわいはなびピック +ゆうしゃのけんピック +マジカルスターピック +マジカルハートピック +パラソルピック +あおぞらおはなピック +ゆうやけおはなピック +あさやけおはなピック +ブループレート +グリーンプレート +オレンジプレート +レッドプレート +ホワイトプレート +イエロープレート \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_ko.txt b/PKHeX.Core/Resources/text/items/text_Items_ko.txt index 0ea76ec73..13b936fba 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_ko.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_ko.txt @@ -1,16 +1,16 @@ 없음 마스터볼 하이퍼볼 -수퍼볼 +슈퍼볼 몬스터볼 사파리볼 -넷트볼 +네트볼 다이브볼 네스트볼 -리피드볼 -타이마볼 +리피트볼 +타이머볼 럭셔리볼 -프레미어볼 +프리미어볼 다크볼 힐볼 퀵볼 @@ -279,7 +279,7 @@ PP맥스 검은철구 느림보꼬리 빨간실 -검은진흙 +검은오물 차가운바위 보송보송바위 뜨거운바위 @@ -298,7 +298,7 @@ PP맥스 구애안경 불구슬플레이트 물방울플레이트 -우뢰플레이트 +우레플레이트 초록플레이트 고드름플레이트 주먹플레이트 @@ -451,7 +451,7 @@ PP맥스 자전거 룸키 오박사의편지 -초승달날개 +초승달깃털 멤버스카드 천계의피리 승선티켓 @@ -480,8 +480,8 @@ PP맥스 분실물 리니어패스 기계부품 -은빛날개 -무지갯빛날개 +은빛깃털 +무지갯빛깃털 이상한알 빨간규토리 파란규토리 @@ -497,7 +497,7 @@ PP맥스 러브러브볼 프렌드볼 문볼 -콤페볼 +컴퍼티션볼 파크볼 포토앨범 GB플레이어 @@ -563,15 +563,15 @@ GB플레이어 악주얼 강철주얼 노말주얼 -체력날개 -근력날개 -저항력날개 -지력날개 -정신력날개 -순발력날개 -고운날개 +체력깃털 +근력깃털 +저항력깃털 +지력깃털 +정신력깃털 +순발력깃털 +고운깃털 덮개화석 -날개화석 +깃털화석 리버티티켓 딜구슬 드림볼 @@ -722,7 +722,7 @@ TMV패스 데봉화물 재주머니 지하열쇠 -포켓몬스넥키트 +포켓몬스낵키트 성호에게줄편지 무한티켓 탐지기 @@ -747,7 +747,7 @@ TMV패스 메가글라스 메가앵커 메가라펠핀 -메가티아러 +메가티아라 메가앵클릿 운석 대짱이나이트 @@ -764,7 +764,7 @@ TMV패스 얼음귀신나이트 디안시나이트 굴레의항아리 -메가블레스 +메가브레스 폭타나이트 이어롭나이트 보만다나이트 @@ -793,8 +793,8 @@ TMV패스 강철Z 페어리Z 피카츄Z -은왕관 -금왕관 +은색병뚜껑 +금색병뚜껑 Z링 모크나이퍼Z 어흥염Z @@ -906,7 +906,7 @@ Z링 플라잉메모리 포이즌메모리 그라운드메모리 -락메모리 +록메모리 버그메모리 고스트메모리 스틸메모리 @@ -1639,7 +1639,7 @@ PP회복캡슐토이 킹리프 늪의진정환 몬스터볼 -수퍼볼 +슈퍼볼 하이퍼볼 페더볼 포켓몬목각인형 @@ -1709,7 +1709,7 @@ PP풀 스위트러플 유인환반죽 몬스터볼 -수퍼볼 +슈퍼볼 하이퍼볼 페더볼 ??? @@ -1826,4 +1826,576 @@ DS플레이어 -레전드플레이트 \ No newline at end of file +레전드플레이트 +스마트로토무 +샌드위치 +코라이돈의 볼 +미라이돈의 볼 +테라스탈오브 +스칼렛북 +바이올렛북 +곤포의 지갑 + + + + + +작은죽순 +큰죽순 + + + + + + + + + + + + + +악의 족자 +물의 족자 + + +저주받은갑옷 +테라피스 노말 +테라피스 불꽃 +테라피스 물 +테라피스 전기 +테라피스 풀 +테라피스 얼음 +테라피스 격투 +테라피스 독 +테라피스 땅 +테라피스 비행 +테라피스 에스퍼 +테라피스 벌레 +테라피스 바위 +테라피스 고스트 +테라피스 드래곤 +테라피스 악 +테라피스 강철 +테라피스 페어리 +부스트에너지 +특성가드 +클리어참 +흉내허브 +펀치글러브 +은밀망토 +속임수주사위 + +바게트 +마요네즈 +케첩 +머스터드 +버터 +땅콩버터 +칠리소스 +소금 +후추 +요구르트 +휘핑크림 +크림치즈 +베리잼 +마멀레이드 +올리브오일 +비니거 +비전 달콤스파이스 +비전 짭짤스파이스 +비전 새콤스파이스 +비전 쌉쌀스파이스 +비전 매콤스파이스 +양상추 +토마토슬라이스 +방울토마토슬라이스 +오이슬라이스 +피클슬라이스 +양파슬라이스 +적양파 +피망슬라이스 +빨간파프리카슬라이스 +노란파프리카슬라이스 +아보카도 +구운베이컨 +슬라이스햄 +생햄 +구운초리조 +허브소시지 +햄버그 +절벼게맛살 +훈제토막 +튀긴토막 +에그슬라이스 +토르티야 +두부 +라이스 +누들 +감자샐러드 +슬라이스치즈 +바나나슬라이스 +딸기슬라이스 +사과슬라이스 +키위슬라이스 +파인애플슬라이스 +할라페뇨 +호스래디시 +카레파우더 +와사비소스 +물냉이 +바질 + + + + + + + + + +콘팡의이빨 +디그다의흙 +나옹의털 +고라파덕의솜털 +망키의털 +가디의털 +야돈의발톱 +코일의나사 +질퍽이의독소 +셀러의진주 +고오스의가스 +슬리프의털 +찌리리공의전기 +스라크의발톱 +켄타로스의털 +잉어킹의비늘 +메타몽의끈끈이 +이브이의털 +미뇽의비늘 +피츄의털 +푸푸린의털 +메리프의털뭉치 +통통코의잎 +해너츠의잎 +니로우의보물 +무우마의눈물 +키링키의털 +피콘의껍데기 +노고치의비늘 +침바루의가시 +헤라크로스의발톱 +포푸니의손톱 +깜지곰의손톱 +딜리버드의짐 +델빌의이빨 +코코리의발톱 +노라키의털 +애버라스의발톱 +갈모매의깃털 +랄토스의유실물 +비구술의꿀 +버섯꼬의포자 +게을로의털 +마크탕의땀 +루리리의털 +깜까미의보석 +요가랑의땀 +꼴깍몬의점액 +둔타의용암 +코터스의석탄 +피그점프의진주 +선인왕의가시 +파비코의깃털 +쟝고의발톱 +세비퍼의이빨 +미꾸리의점액 +어둠대신의천조각 +트로피우스의잎 +눈꼬마의털 +사랑동이의비늘 +아공이의비늘 +찌르꼬의깃털 +귀뚤뚜기의허물 +꼬링크의이빨 +세꿀버리의꿀 +파치리스의털 +브이젤의털 +깝질무의점액 +흔들풍손의가스 +스컹뿡의털 +동미러의조각 +꼬지지의눈물 +핑복의유실물 +화강돌의조각 +딥상어동의비늘 +리오르의털 +히포포타스의모래 +삐딱구리의독소 +형광어의비늘 +눈쓰개의열매 +로토무의전기 +치릴리의잎 +배쓰나이의이빨 +깜눈크의발톱 +조로아의털 +고디탱의속눈썹 +사철록의털 +깜놀버슬의포자 +맘복치의점액 +저리어의점액 +터검니의비늘 +코고미의털 +프리지오의얼음 +자망칼의칼날 +수리둥보의깃털 +모노두의비늘 +활화르바의털 +화살꼬빈의깃털 +분이벌레의가루 +레오꼬의갈기 +플라베베의꽃가루 +메이클의잎 +수레기의해초 +완철포의집게 +루차불의솜털 +데덴네의털 +미끄메라의점액 +클레피의열쇠 +꽁어름의얼음 +음뱃의털 +영구스의털 +오기지게의껍데기 +춤추새의깃털 +암멍이의바위 +시마사리의가시 +머드나기의진흙 +짜랑랑의잎 +야도뇽의가스 +달콤아의땀 +하랑우탄의털 +내던숭이의털 +모래꿍의모래 +자말라의발톱 +따라큐의천조각 +치갈기의이빨 +깨물부기의발톱 +탐리스의털 +찌로꼬치의비늘 +파라꼬의깃털 +일레즌의전기 +대여르의땀 +끼리동의녹 +탄동의석탄 +모래뱀의모래 +에써르의털 +찌르성게의가시 +누니머기의실 +메롱꿍의털 +과사삭벌레의과즙 +데인차의조각 +몸지브림의유실물 +돌헨진의바위 +빙큐보의솜털 +드라꼰의가루 + + + +맛보돈의털 +타랜툴라의실 +콩알뚜기의발톱 +구르데의진흙 +망망이의촛농 +하느라기의솜털 +바다그다의모래 +어써러셔의수염 +가비루사의토막 +맨돌핀의점액 +미니브의오일 +캡싸이의씨앗 +빈나두의점액 +부르롱의가스 +꿈트렁의녹 +두리쥐의털 +터벅고래의기름 +드니차의비늘 +싸리용의비늘 +모토마의비늘 +빠모의털 + + +찌리비의깃털 +떨구새의깃털 +시비꼬의깃털 +꼬이밍고의솜털 +절벼게의집게 +베베솔트의소금 +초롱순의결정 +땃쭈르의잉크 +쫀도기의털 +오라티프의이빨 +그푸리의가지 +모으령의코인 + + + + + + + + + + + + + + + + + + +어리짱의털 +카르본의검댕 +들눈해의갓 +우파의점액 +기술머신100 +기술머신101 +기술머신102 +기술머신103 +기술머신104 +기술머신105 +기술머신106 +기술머신107 +기술머신108 +기술머신109 +기술머신110 +기술머신111 +기술머신112 +기술머신113 +기술머신114 +기술머신115 +기술머신116 +기술머신117 +기술머신118 +기술머신119 +기술머신120 +기술머신121 +기술머신122 +기술머신123 +기술머신124 +기술머신125 +기술머신126 +기술머신127 +기술머신128 +기술머신129 +기술머신130 +기술머신131 +기술머신132 +기술머신133 +기술머신134 +기술머신135 +기술머신136 +기술머신137 +기술머신138 +기술머신139 +기술머신140 +기술머신141 +기술머신142 +기술머신143 +기술머신144 +기술머신145 +기술머신146 +기술머신147 +기술머신148 +기술머신149 +기술머신150 +기술머신151 +기술머신152 +기술머신153 +기술머신154 +기술머신155 +기술머신156 +기술머신157 +기술머신158 +기술머신159 +기술머신160 +기술머신161 +기술머신162 +기술머신163 +기술머신164 +기술머신165 +기술머신166 +기술머신167 +기술머신168 +기술머신169 +기술머신170 +기술머신171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +피크닉세트 + +스쿨 보틀 +스쿨 보틀 +물방울 보틀 +줄무늬 보틀 +다이아 보틀 +스쿨 컵 +스쿨 컵 +세로 줄무늬 컵 +물방울 컵 +플라워 컵 +스쿨 테이블보 +스쿨 테이블보 +팬시 테이블보 +네이처 테이블보 +원망 테이블보 + +스쿨볼 +스쿨볼 +마릴볼 +털실볼 +게이밍볼 +골드 픽 +실버 픽 +빨강 깃발 픽 +파랑 깃발 픽 +피카피카 픽 +윙크피카 픽 +브이브이 픽 +방긋브이 픽 +파랑 볼 픽 + +축복받은갑옷 +대장의징표 + + +핑크 보틀 +블루 보틀 +옐로 보틀 +R 스테인리스 보틀 +Y 스테인리스 보틀 +B 스테인리스 보틀 +실버 티탄 보틀 +가로 줄무늬 컵 +다이아 컵 +파이어 컵 +핑크 컵 +블루 컵 +옐로 컵 +피카츄 컵 +이브이 컵 +야돈 컵 +실버 티탄 컵 +밸런스볼 +옐로 체크 테이블보 +블루 체크 테이블보 +레드 체크 테이블보 +풀숲 흑백 테이블보 +배틀 테이블보 +괴수 테이블보 +줄무늬 테이블보 +다이아 테이블보 +물방울 테이블보 +퍼플 테이블보 +민트 테이블보 +베이지 테이블보 +옐로 테이블보 +블루 테이블보 +핑크 테이블보 +골드 티탄 보틀 +브론즈 티탄 보틀 +골드 티탄 컵 +브론즈 티탄 컵 +초록 볼 픽 +빨강 볼 픽 +축하 폭죽 픽 +용사의 검 픽 +매지컬 스타 픽 +매지컬 하트 픽 +파라솔 픽 +푸른하늘 꽃 픽 +저녁노을 꽃 픽 +아침노을 꽃 픽 +블루 플레이트 +그린 플레이트 +오렌지 플레이트 +레드 플레이트 +화이트 플레이트 +옐로 플레이트 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_zh.txt b/PKHeX.Core/Resources/text/items/text_Items_zh.txt index 6860920b7..9d1d393e4 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_zh.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_zh.txt @@ -922,13 +922,13 @@ 索尔迦雷欧Z 露奈雅拉Z 究极奈克洛Z -谜拟丘Z +谜拟QZ 鬃岩狼人Z 杖尾鳞甲龙Z 索尔迦雷欧Z 露奈雅拉Z 究极奈克洛Z -谜拟丘Z +谜拟QZ 鬃岩狼人Z 杖尾鳞甲龙Z Z强力手环 @@ -1826,4 +1826,576 @@ -传说石板 \ No newline at end of file +传说石板 +手机洛托姆 +三明治 +故勒顿的球 +密勒顿的球 +太晶珠 +朱之书 +紫之书 +海岱的钱包 + + + + + +小竹笋 +大竹笋 + + + + + + + + + + + + + +恶之挂轴 +水之挂轴 + + +咒术之铠 +一般太晶碎块 +火太晶碎块 +水太晶碎块 +电太晶碎块 +草太晶碎块 +冰太晶碎块 +格斗太晶碎块 +毒太晶碎块 +地面太晶碎块 +飞行太晶碎块 +超能力太晶碎块 +虫太晶碎块 +岩石太晶碎块 +幽灵太晶碎块 +龙太晶碎块 +恶太晶碎块 +钢太晶碎块 +妖精太晶碎块 +驱劲能量 +特性护具 +清净坠饰 +模仿香草 +拳击手套 +密探斗篷 +机变骰子 + +长棍面包 +蛋黄酱 +番茄酱 +黄芥末酱 +黄油 +花生酱 +辣酱 +盐 +胡椒 +酸奶 +鲜奶油 +奶油芝士 +莓果酱 +橘子酱 +橄榄油 +醋 +秘传:甜味料 +秘传:咸味料 +秘传:酸味料 +秘传:苦味料 +秘传:辣味料 +生菜 +番茄片 +小番茄块 +小黄瓜片 +酸黄瓜片 +洋葱片 +红洋葱 +青椒片 +红椒片 +黄椒片 +牛油果 +煎培根 +火腿片 +生火腿 +煎辣香肠 +香草香肠 +汉堡排 +毛崖蟹棒 +烟熏鱼片 +炸鱼片 +水煮蛋片 +烘蛋 +豆腐 +米饭 +面条 +土豆沙拉 +芝士片 +香蕉片 +草莓片 +苹果片 +奇异果片 +凤梨片 +小辣椒 +辣根 +咖喱粉 +芥末酱 +豆瓣菜 +罗勒 + + + + + + + + + +毛球的牙 +地鼠的土 +喵喵的毛 +可达鸭的羽绒 +猴怪的毛 +卡蒂狗的毛 +呆呆兽的爪子 +小磁怪的螺丝 +臭泥的毒素 +大舌贝的珍珠 +鬼斯的气体 +催眠貘的毛 +霹雳电球的电力 +飞天螳螂的爪子 +肯泰罗的毛 +鲤鱼王的鳞片 +百变怪的黏糊 +伊布的毛 +迷你龙的鳞片 +皮丘的毛 +宝宝丁的毛 +咩利羊的毛球 +毽子草的叶片 +向日种子的叶片 +黑暗鸦的宝物 +梦妖的眼泪 +麒麟奇的毛 +榛果球的壳 +土龙弟弟的鳞片 +千针鱼的刺 +赫拉克罗斯的爪子 +狃拉的爪子 +熊宝宝的爪子 +信使鸟的行李 +戴鲁比的牙 +小小象的爪子 +惊角鹿的毛 +幼基拉斯的爪子 +长翅鸥的羽毛 +拉鲁拉丝的掉落物 +溜溜糖球的蜜 +蘑蘑菇的孢子 +懒人獭的毛 +幕下力士的汗 +露力丽的毛 +勾魂眼的宝石 +玛沙那的汗 +溶食兽的黏液 +呆火驼的熔岩 +煤炭龟的煤炭 +跳跳猪的珍珠 +刺球仙人掌的刺 +青绵鸟的羽毛 +猫鼬斩的爪子 +饭匙蛇的牙 +泥泥鳅的黏液 +怨影娃娃的残片 +热带龙的叶片 +雪童子的毛 +爱心鱼的鳞片 +宝贝龙的鳞片 +姆克儿的羽毛 +圆法师的蜕壳 +小猫怪的牙 +三蜜蜂的蜜 +帕奇利兹的毛 +泳圈鼬的毛 +无壳海兔的黏液 +飘飘球的气体 +臭鼬噗的毛 +铜镜怪的碎片 +盆才怪的眼泪 +小福蛋的掉落物 +花岩怪的碎片 +圆陆鲨的鳞片 +利欧路的毛 +沙河马的沙 +不良蛙的毒素 +荧光鱼的鳞片 +雪笠怪的果实 +洛托姆的电力 +百合根娃娃的叶片 +野蛮鲈鱼的牙 +黑眼鳄的爪子 +索罗亚的毛 +哥德宝宝的睫毛 +四季鹿的毛 +哎呀球菇的孢子 +保姆曼波的黏液 +麻麻小鱼的黏液 +牙牙的鳞片 +喷嚏熊的毛 +几何雪花的冰 +驹刀小兵的刀 +毛头小鹰的羽毛 +单首龙的鳞片 +燃烧虫的毛 +小箭雀的羽毛 +粉蝶虫的粉 +小狮狮的鬃毛 +花蓓蓓的花粉 +坐骑小羊的叶片 +垃垃藻的碎藻 +铁臂枪虾的钳子 +摔角鹰人的羽绒 +咚咚鼠的毛 +黏黏宝的黏液 +钥圈儿的钥匙 +冰宝的冰 +嗡蝠的毛 +猫鼬少的毛 +好胜蟹的壳 +花舞鸟的羽毛 +岩狗狗的岩石 +好坏星的刺 +泥驴仔的泥巴 +伪螳草的叶片 +夜盗火蜥的气体 +甜竹竹的汗 +智挥猩的毛 +投掷猴的毛 +沙丘娃的沙 +树枕尾熊的爪子 +谜拟丘的残片 +磨牙彩皮鱼的牙齿 +咬咬龟的爪子 +贪心栗鼠的毛 +刺梭鱼的鳞片 +稚山雀的羽毛 +电音婴的电力 +列阵兵的汗 +铜象的锈 +小炭仔的煤炭 +沙包蛇的沙 +爱管侍的毛 +啪嚓海胆的针 +雪吞虫的丝 +捣蛋小妖的毛 +啃果虫的果汁 +来悲茶的碎片 +迷布莉姆的掉落物 +巨石丁的岩石 +冰砌鹅的羽绒 +多龙梅西亚的粉 + + + +爱吃豚的毛 +团珠蛛的丝 +豆蟋蟀的爪子 +虫滚泥的泥巴 +墓仔狗的蜡 +飘飘雏的羽绒 +海地鼠的沙 +吃吼霸的胡须 +轻身鳕的鱼片 +波普海豚的黏液 +迷你芙的油 +热辣娃的种子 +光蚪仔的黏液 +噗隆隆的气体 +拖拖蚓的锈 +一对鼠的毛 +走鲸的油脂 +凉脊龙的鳞片 +米立龙的鳞片 +摩托蜥的鳞片 +布拨的毛 + + +电海燕的羽毛 +下石鸟的羽毛 +怒鹦哥的羽毛 +缠红鹤的羽绒 +毛崖蟹的钳子 +盐石宝的盐 +晶光芽的结晶 +滋汁鼹的墨汁 +狗仔包的毛 +偶叫獒的牙 +纳噬草的枝条 +索财灵的硬币 + + + + + + + + + + + + + + + + + + +小锻匠的毛 +炭小侍的煤灰 +原野水母的薄片 +乌波的黏液 +招式学习器100 +招式学习器101 +招式学习器102 +招式学习器103 +招式学习器104 +招式学习器105 +招式学习器106 +招式学习器107 +招式学习器108 +招式学习器109 +招式学习器110 +招式学习器111 +招式学习器112 +招式学习器113 +招式学习器114 +招式学习器115 +招式学习器116 +招式学习器117 +招式学习器118 +招式学习器119 +招式学习器120 +招式学习器121 +招式学习器122 +招式学习器123 +招式学习器124 +招式学习器125 +招式学习器126 +招式学习器127 +招式学习器128 +招式学习器129 +招式学习器130 +招式学习器131 +招式学习器132 +招式学习器133 +招式学习器134 +招式学习器135 +招式学习器136 +招式学习器137 +招式学习器138 +招式学习器139 +招式学习器140 +招式学习器141 +招式学习器142 +招式学习器143 +招式学习器144 +招式学习器145 +招式学习器146 +招式学习器147 +招式学习器148 +招式学习器149 +招式学习器150 +招式学习器151 +招式学习器152 +招式学习器153 +招式学习器154 +招式学习器155 +招式学习器156 +招式学习器157 +招式学习器158 +招式学习器159 +招式学习器160 +招式学习器161 +招式学习器162 +招式学习器163 +招式学习器164 +招式学习器165 +招式学习器166 +招式学习器167 +招式学习器168 +招式学习器169 +招式学习器170 +招式学习器171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +野餐组合 + +校园水壶 +校园水壶 +圆点水壶 +条纹水壶 +菱纹水壶 +校园水杯 +校园水杯 +直条纹水杯 +圆点水杯 +花朵水杯 +校园桌巾 +校园桌巾 +幻彩桌巾 +大自然桌巾 +鬼祟桌巾 + +校园球 +校园球 +玛力露球 +毛线球 +电竞球 +金色三明治签 +银色三明治签 +红旗子三明治签 +蓝旗子三明治签 +皮卡丘三明治签 +眨眼皮卡丘三明治签 +伊布三明治签 +笑脸伊布三明治签 +蓝珠珠三明治签 + +庆祝之铠 +头领凭证 + + +粉红水壶 +蓝色水壶 +黄色水壶 +红纹不锈钢水壶 +黄纹不锈钢水壶 +蓝纹不锈钢水壶 +银钛水壶 +横条纹水杯 +菱纹水杯 +火焰水杯 +粉红水杯 +蓝色水杯 +黄色水杯 +皮卡丘水杯 +伊布水杯 +呆呆兽水杯 +银钛水杯 +瑜珈球 +黄色格子桌巾 +蓝色格子桌巾 +红色格子桌巾 +黑白草丛桌巾 +对决桌巾 +怪兽桌巾 +条纹桌巾 +菱纹桌巾 +圆点桌巾 +紫色桌巾 +浅绿桌巾 +米色桌巾 +黄色桌巾 +蓝色桌巾 +粉红桌巾 +金钛水壶 +铜钛水壶 +金钛水杯 +铜钛水杯 +绿珠珠三明治签 +红珠珠三明治签 +烟花祝庆三明治签 +勇者之剑三明治签 +魔法星星三明治签 +魔法甜心三明治签 +阳伞三明治签 +晴空花三明治签 +夕阳花三明治签 +朝霞花三明治签 +蓝色盘子 +绿色盘子 +橘色盘子 +红色盘子 +白色盘子 +黄色盘子 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_zh2.txt b/PKHeX.Core/Resources/text/items/text_Items_zh2.txt index fbeb24e18..87e3e2d58 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_zh2.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_zh2.txt @@ -21,7 +21,7 @@ 解凍藥 解眠藥 解麻藥 -全複藥 +全復藥 全滿藥 厲害傷藥 好傷藥 @@ -96,7 +96,7 @@ 速速肥 濕濕肥 久久肥 -粘粘肥 +黏黏肥 根狀化石 爪子化石 貝殼化石 @@ -141,12 +141,12 @@ 感謝郵件 詢問郵件 推薦郵件 -回復郵件 -橋樑郵件S -橋樑郵件H -橋樑郵件C -橋樑郵件V -橋樑郵件W +回覆郵件 +橋梁郵件S +橋梁郵件H +橋梁郵件C +橋梁郵件V +橋梁郵件W 櫻子果 零餘果 桃桃果 @@ -174,7 +174,7 @@ 萄葡果 茄番果 玉黍果 -嶽竹果 +岳竹果 茸丹果 檬檸果 刺角果 @@ -190,7 +190,7 @@ 蓮蒲果 通通果 腰木果 -棱瓜果 +稜瓜果 福祿果 扁櫻果 草蠶果 @@ -213,7 +213,7 @@ 霧蓮果 光粉 白色香草 -強制鍛煉器 +強制鍛鍊器 學習裝置 先制之爪 安撫之鈴 @@ -245,12 +245,12 @@ 銳利鳥嘴 毒針 不融冰 -咒術之符 +詛咒之符 彎曲的湯匙 木炭 龍之牙 絲綢圍巾 -升級數據 +升級資料 貝殼之鈴 海潮薰香 悠閒薰香 @@ -322,7 +322,7 @@ 護具 電力增幅器 熔岩增幅器 -可疑補丁 +可疑修正檔 靈界之布 銳利之爪 銳利之牙 @@ -426,7 +426,7 @@ 秘傳學習器06 ??? ??? -探險套裝 +探險組合 寶物袋 規則書 寶可追蹤 @@ -466,7 +466,7 @@ 對戰記錄器 葛拉西蒂亞花 秘密鑰匙 -毬果盒 +球果盒 未知圖騰筆記 樹果種植盆 探寶器 @@ -483,13 +483,13 @@ 銀色之羽 虹色之羽 神奇蛋 -紅毬果 -藍毬果 -黃毬果 -綠毬果 -粉毬果 -白毬果 -黑毬果 +紅球果 +藍球果 +黃球果 +綠球果 +粉球果 +白球果 +黑球果 速度球 等級球 誘餌球 @@ -499,37 +499,37 @@ 月亮球 競賽球 公園球 -相冊 +相簿 GB播放器 海聲鈴鐺 憤怒饅頭 -數據卡01 -數據卡02 -數據卡03 -數據卡04 -數據卡05 -數據卡06 -數據卡07 -數據卡08 -數據卡09 -數據卡10 -數據卡11 -數據卡12 -數據卡13 -數據卡14 -數據卡15 -數據卡16 -數據卡17 -數據卡18 -數據卡19 -數據卡20 -數據卡21 -數據卡22 -數據卡23 -數據卡24 -數據卡25 -數據卡26 -數據卡27 +資料卡01 +資料卡02 +資料卡03 +資料卡04 +資料卡05 +資料卡06 +資料卡07 +資料卡08 +資料卡09 +資料卡10 +資料卡11 +資料卡12 +資料卡13 +資料卡14 +資料卡15 +資料卡16 +資料卡17 +資料卡18 +資料卡19 +資料卡20 +資料卡21 +資料卡22 +資料卡23 +資料卡24 +資料卡25 +資料卡26 +資料卡27 草綠色寶珠 上鎖的容器 朱紅色寶珠 @@ -615,7 +615,7 @@ ??? 要害攻擊3 光明石 -黑暗石 +黑闇石 招式學習器93 招式學習器94 招式學習器95 @@ -639,9 +639,9 @@ 現形鏡 弱點保險 突擊背心 -全息影像通訊器 +全像投影通訊器 博士的信 -輪滑鞋 +溜冰鞋 妖精石板 特性膠囊 泡沫奶油 @@ -712,7 +712,7 @@ 鰭之化石 帥哥券 自行車 -全息影像通訊器 +全像投影通訊器 妖精寶石 超級墜飾 超級手套 @@ -722,7 +722,7 @@ 得文的物品 集灰袋 地下鑰匙 -寶可方塊套裝 +寶可方塊組合 給大吾的信 無限船票 探測器 @@ -883,7 +883,7 @@ 精神種子 薄霧種子 青草種子 -松掉的彈簧 +鬆掉的彈簧 粉筆石 彈珠 一邊的耳環 @@ -902,33 +902,33 @@ 白銀香水 黃金香水 深灰米果 -戰鬥存儲碟 -飛翔存儲碟 -毒存儲碟 -大地存儲碟 -岩石存儲碟 -蟲子存儲碟 -幽靈存儲碟 -鋼鐵存儲碟 -火焰存儲碟 -清水存儲碟 -青草存儲碟 -電子存儲碟 -精神存儲碟 -冰雪存儲碟 -龍存儲碟 -黑暗存儲碟 -妖精存儲碟 +戰鬥記憶碟 +飛翔記憶碟 +毒記憶碟 +大地記憶碟 +岩石記憶碟 +蟲子記憶碟 +幽靈記憶碟 +鋼鐵記憶碟 +火焰記憶碟 +清水記憶碟 +青草記憶碟 +電子記憶碟 +精神記憶碟 +冰雪記憶碟 +龍記憶碟 +黑暗記憶碟 +妖精記憶碟 索爾迦雷歐Z 露奈雅拉Z 究極奈克洛Z -謎擬丘Z +謎擬QZ 鬃岩狼人Z 杖尾鱗甲龍Z 索爾迦雷歐Z 露奈雅拉Z 究極奈克洛Z -謎擬丘Z +謎擬QZ 鬃岩狼人Z 杖尾鱗甲龍Z Z強力手環 @@ -940,7 +940,7 @@ 黃色花瓣 紫色花瓣 虹色之花 -桔色徽章 +橘色徽章 奈克洛索爾合體器 奈克洛露奈合體器 奈克洛索爾合體器 @@ -949,7 +949,7 @@ 留下的精靈球 孵蛋碰碰 優惠碰碰 -零花錢碰碰 +零用錢碰碰 經驗碰碰 親密碰碰 相遇碰碰 @@ -1087,13 +1087,13 @@ 巴哈罐頭 豆子罐頭 吐司麵包 -通心粉 +通心麵 袋裝蕈菇 -煙熏尾巴 +煙燻尾巴 粗枝大蔥 特選蘋果 細骨 -袋裝土豆 +袋裝洋芋 水邊香草 袋裝蔬菜 炸物拼盤 @@ -1128,106 +1128,106 @@ 經驗糖果L 經驗糖果XL 極巨糖果 -招式記錄00 -招式記錄01 -招式記錄02 -招式記錄03 -招式記錄04 -招式記錄05 -招式記錄06 -招式記錄07 -招式記錄08 -招式記錄09 -招式記錄10 -招式記錄11 -招式記錄12 -招式記錄13 -招式記錄14 -招式記錄15 -招式記錄16 -招式記錄17 -招式記錄18 -招式記錄19 -招式記錄20 -招式記錄21 -招式記錄22 -招式記錄23 -招式記錄24 -招式記錄25 -招式記錄26 -招式記錄27 -招式記錄28 -招式記錄29 -招式記錄30 -招式記錄31 -招式記錄32 -招式記錄33 -招式記錄34 -招式記錄35 -招式記錄36 -招式記錄37 -招式記錄38 -招式記錄39 -招式記錄40 -招式記錄41 -招式記錄42 -招式記錄43 -招式記錄44 -招式記錄45 -招式記錄46 -招式記錄47 -招式記錄48 -招式記錄49 -招式記錄50 -招式記錄51 -招式記錄52 -招式記錄53 -招式記錄54 -招式記錄55 -招式記錄56 -招式記錄57 -招式記錄58 -招式記錄59 -招式記錄60 -招式記錄61 -招式記錄62 -招式記錄63 -招式記錄64 -招式記錄65 -招式記錄66 -招式記錄67 -招式記錄68 -招式記錄69 -招式記錄70 -招式記錄71 -招式記錄72 -招式記錄73 -招式記錄74 -招式記錄75 -招式記錄76 -招式記錄77 -招式記錄78 -招式記錄79 -招式記錄80 -招式記錄81 -招式記錄82 -招式記錄83 -招式記錄84 -招式記錄85 -招式記錄86 -招式記錄87 -招式記錄88 -招式記錄89 -招式記錄90 -招式記錄91 -招式記錄92 -招式記錄93 -招式記錄94 -招式記錄95 -招式記錄96 -招式記錄97 -招式記錄98 -招式記錄99 +招式紀錄00 +招式紀錄01 +招式紀錄02 +招式紀錄03 +招式紀錄04 +招式紀錄05 +招式紀錄06 +招式紀錄07 +招式紀錄08 +招式紀錄09 +招式紀錄10 +招式紀錄11 +招式紀錄12 +招式紀錄13 +招式紀錄14 +招式紀錄15 +招式紀錄16 +招式紀錄17 +招式紀錄18 +招式紀錄19 +招式紀錄20 +招式紀錄21 +招式紀錄22 +招式紀錄23 +招式紀錄24 +招式紀錄25 +招式紀錄26 +招式紀錄27 +招式紀錄28 +招式紀錄29 +招式紀錄30 +招式紀錄31 +招式紀錄32 +招式紀錄33 +招式紀錄34 +招式紀錄35 +招式紀錄36 +招式紀錄37 +招式紀錄38 +招式紀錄39 +招式紀錄40 +招式紀錄41 +招式紀錄42 +招式紀錄43 +招式紀錄44 +招式紀錄45 +招式紀錄46 +招式紀錄47 +招式紀錄48 +招式紀錄49 +招式紀錄50 +招式紀錄51 +招式紀錄52 +招式紀錄53 +招式紀錄54 +招式紀錄55 +招式紀錄56 +招式紀錄57 +招式紀錄58 +招式紀錄59 +招式紀錄60 +招式紀錄61 +招式紀錄62 +招式紀錄63 +招式紀錄64 +招式紀錄65 +招式紀錄66 +招式紀錄67 +招式紀錄68 +招式紀錄69 +招式紀錄70 +招式紀錄71 +招式紀錄72 +招式紀錄73 +招式紀錄74 +招式紀錄75 +招式紀錄76 +招式紀錄77 +招式紀錄78 +招式紀錄79 +招式紀錄80 +招式紀錄81 +招式紀錄82 +招式紀錄83 +招式紀錄84 +招式紀錄85 +招式紀錄86 +招式紀錄87 +招式紀錄88 +招式紀錄89 +招式紀錄90 +招式紀錄91 +招式紀錄92 +招式紀錄93 +招式紀錄94 +招式紀錄95 +招式紀錄96 +招式紀錄97 +招式紀錄98 +招式紀錄99 招式學習器00 怕寂寞薄荷 固執薄荷 @@ -1258,9 +1258,9 @@ 哞哞乳酪 香料組合 鮮鮮奶油 -即食咖喱 +即食咖哩 椰奶 -即食面 +即食麵 即食肉排 超極粉 許願星碎片 @@ -1268,7 +1268,7 @@ 防晃護符 ??? 陳舊的信 -樂隊的簽名 +樂團的簽名 索妮亞的書 ??? ??? @@ -1579,8 +1579,8 @@ ★Aql7235 極巨甜蜜 極巨菇菇 -伽勒豆蔻枝 -伽勒豆蔻手環 +伽勒荳蔻枝 +伽勒荳蔻手環 時尚名人卡 鎧甲車票 洛托姆自行車 @@ -1590,7 +1590,7 @@ 證章護符 牽絆韁繩 牽絆韁繩 -伽勒豆蔻花圈 +伽勒荳蔻花圈 傳說筆記1 傳說筆記2 傳說筆記3 @@ -1611,7 +1611,7 @@ 鎮寶 聯繫繩 家鄉瑪芬 -毬果果 +球果果 祝慶瑪芬 多重強化 要害攻擊 @@ -1648,17 +1648,17 @@ 聲彈 黏丸 星星碎片 -菇誘團 +菇誘糰 除蟲草 -蜜誘團 -穀誘團 -豆誘團 -礦誘團 +蜜誘糰 +穀誘糰 +豆誘糰 +礦誘糰 傷藥 好傷藥 厲害傷藥 全滿藥 -全複藥 +全復藥 中藥 好中藥 厲害中藥 @@ -1686,7 +1686,7 @@ ??? 驚聲藻 煙芋 -蛀毬果 +蛀球果 雪丸 黏丸 黑奇石 @@ -1707,7 +1707,7 @@ 替身護符4 替身護符5 甜松露 -誘團原料 +誘糰原料 精靈球 超級球 高級球 @@ -1722,11 +1722,11 @@ 火山鎮寶 山之鎮寶 雪之鎮寶 -蜜誘團 -穀誘團 -豆誘團 -菇誘團 -礦誘團 +蜜誘糰 +穀誘糰 +豆誘糰 +菇誘糰 +礦誘糰 顛倒燒 講究粽 雙倍醃菜 @@ -1763,11 +1763,11 @@ 奮鬥岩 秘傳之藥 替身護符1 -他人的遺失物 -他人的遺失物 -他人的遺失物 -他人的遺失物 -他人的遺失物 +某人的遺失物 +某人的遺失物 +某人的遺失物 +某人的遺失物 +某人的遺失物 ??? 起源球 ??? @@ -1784,7 +1784,7 @@ 超重球 巨重球 奇異球 -寶可夢圖鑒 +寶可夢圖鑑 古老詩文1 古老詩文2 古老詩文3 @@ -1826,4 +1826,576 @@ -傳說石板 \ No newline at end of file +傳說石板 +手機洛托姆 +三明治 +故勒頓的球 +密勒頓的球 +太晶珠 +朱之書 +紫之書 +海岱的錢包 + + + + + +小竹筍 +大竹筍 + + + + + + + + + + + + + +惡之掛軸 +水之掛軸 + + +詛咒之鎧 +一般太晶碎塊 +火太晶碎塊 +水太晶碎塊 +電太晶碎塊 +草太晶碎塊 +冰太晶碎塊 +格鬥太晶碎塊 +毒太晶碎塊 +地面太晶碎塊 +飛行太晶碎塊 +超能力太晶碎塊 +蟲太晶碎塊 +岩石太晶碎塊 +幽靈太晶碎塊 +龍太晶碎塊 +惡太晶碎塊 +鋼太晶碎塊 +妖精太晶碎塊 +驅勁能量 +特性護具 +清淨墜飾 +模仿香草 +拳擊手套 +密探斗篷 +老千骰子 + +長棍麵包 +美乃滋 +番茄醬 +黃芥末醬 +奶油 +花生醬 +辣醬 +鹽 +胡椒 +優格 +鮮奶油 +奶油起司 +莓果醬 +橘子醬 +橄欖油 +醋 +秘傳:甜味料 +秘傳:鹹味料 +秘傳:酸味料 +秘傳:苦味料 +秘傳:辣味料 +生菜 +番茄片 +小番茄塊 +小黃瓜片 +酸黃瓜片 +洋蔥片 +紅洋蔥 +青椒片 +紅椒片 +黃椒片 +酪梨 +煎培根 +火腿片 +生火腿 +煎辣香腸 +香草香腸 +漢堡排 +毛崖蟹棒 +煙燻魚片 +炸魚片 +水煮蛋片 +烘蛋 +豆腐 +米飯 +麵條 +馬鈴薯沙拉 +起司片 +香蕉片 +草莓片 +蘋果片 +奇異果片 +鳳梨片 +小辣椒 +辣根 +咖哩粉 +芥末醬 +豆瓣菜 +羅勒 + + + + + + + + + +毛球的牙 +地鼠的土 +喵喵的毛 +可達鴨的羽絨 +猴怪的毛 +卡蒂狗的毛 +呆呆獸的爪子 +小磁怪的螺絲 +臭泥的毒素 +大舌貝的珍珠 +鬼斯的氣體 +催眠貘的毛 +霹靂電球的電力 +飛天螳螂的爪子 +肯泰羅的毛 +鯉魚王的鱗片 +百變怪的黏糊 +伊布的毛 +迷你龍的鱗片 +皮丘的毛 +寶寶丁的毛 +咩利羊的毛球 +毽子草的葉片 +向日種子的葉片 +黑暗鴉的寶物 +夢妖的眼淚 +麒麟奇的毛 +榛果球的殼 +土龍弟弟的鱗片 +千針魚的刺 +赫拉克羅斯的爪子 +狃拉的爪子 +熊寶寶的爪子 +信使鳥的行李 +戴魯比的牙 +小小象的爪子 +驚角鹿的毛 +幼基拉斯的爪子 +長翅鷗的羽毛 +拉魯拉絲的掉落物 +溜溜糖球的蜜 +蘑蘑菇的孢子 +懶人獺的毛 +幕下力士的汗 +露力麗的毛 +勾魂眼的寶石 +瑪沙那的汗 +溶食獸的黏液 +呆火駝的熔岩 +煤炭龜的煤炭 +跳跳豬的珍珠 +刺球仙人掌的刺 +青綿鳥的羽毛 +貓鼬斬的爪子 +飯匙蛇的牙 +泥泥鰍的黏液 +怨影娃娃的殘片 +熱帶龍的葉片 +雪童子的毛 +愛心魚的鱗片 +寶貝龍的鱗片 +姆克兒的羽毛 +圓法師的蛻殼 +小貓怪的牙 +三蜜蜂的蜜 +帕奇利茲的毛 +泳圈鼬的毛 +無殼海兔的黏液 +飄飄球的氣體 +臭鼬噗的毛 +銅鏡怪的碎片 +盆才怪的眼淚 +小福蛋的掉落物 +花岩怪的碎片 +圓陸鯊的鱗片 +利歐路的毛 +沙河馬的沙 +不良蛙的毒素 +螢光魚的鱗片 +雪笠怪的果實 +洛托姆的電力 +百合根娃娃的葉片 +野蠻鱸魚的牙 +黑眼鱷的爪子 +索羅亞的毛 +哥德寶寶的睫毛 +四季鹿的毛 +哎呀球菇的孢子 +保母曼波的黏液 +麻麻小魚的黏液 +牙牙的鱗片 +噴嚏熊的毛 +幾何雪花的冰 +駒刀小兵的刀 +毛頭小鷹的羽毛 +單首龍的鱗片 +燃燒蟲的毛 +小箭雀的羽毛 +粉蝶蟲的粉 +小獅獅的鬃毛 +花蓓蓓的花粉 +坐騎小羊的葉片 +垃垃藻的碎藻 +鐵臂槍蝦的鉗子 +摔角鷹人的羽絨 +咚咚鼠的毛 +黏黏寶的黏液 +鑰圈兒的鑰匙 +冰寶的冰 +嗡蝠的毛 +貓鼬少的毛 +好勝蟹的殼 +花舞鳥的羽毛 +岩狗狗的岩石 +好壞星的刺 +泥驢仔的泥巴 +偽螳草的葉片 +夜盜火蜥的氣體 +甜竹竹的汗 +智揮猩的毛 +投擲猴的毛 +沙丘娃的沙 +樹枕尾熊的爪子 +謎擬Q的殘片 +磨牙彩皮魚的牙齒 +咬咬龜的爪子 +貪心栗鼠的毛 +刺梭魚的鱗片 +稚山雀的羽毛 +毒電嬰的電力 +列陣兵的汗 +銅象的鏽 +小炭仔的煤炭 +沙包蛇的沙 +愛管侍的毛 +啪嚓海膽的針 +雪吞蟲的絲 +搗蛋小妖的毛 +啃果蟲的果汁 +來悲茶的碎片 +迷布莉姆的掉落物 +巨石丁的岩石 +冰砌鵝的羽絨 +多龍梅西亞的粉 + + + +愛吃豚的毛 +團珠蛛的絲 +豆蟋蟀的爪子 +蟲滾泥的泥巴 +墓仔狗的蠟 +飄飄雛的羽絨 +海地鼠的沙 +吃吼霸的鬍鬚 +輕身鱈的魚片 +波普海豚的黏液 +迷你芙的油 +熱辣娃的種子 +光蚪仔的黏液 +噗隆隆的氣體 +拖拖蚓的鏽 +一對鼠的毛 +走鯨的油脂 +涼脊龍的鱗片 +米立龍的鱗片 +摩托蜥的鱗片 +布撥的毛 + + +電海燕的羽毛 +下石鳥的羽毛 +怒鸚哥的羽毛 +纏紅鶴的羽絨 +毛崖蟹的鉗子 +鹽石寶的鹽 +晶光芽的結晶 +滋汁鼴的墨汁 +狗仔包的毛 +偶叫獒的牙 +納噬草的枝條 +索財靈的硬幣 + + + + + + + + + + + + + + + + + + +小鍛匠的毛 +炭小侍的煤灰 +原野水母的薄片 +烏波的黏液 +招式學習器100 +招式學習器101 +招式學習器102 +招式學習器103 +招式學習器104 +招式學習器105 +招式學習器106 +招式學習器107 +招式學習器108 +招式學習器109 +招式學習器110 +招式學習器111 +招式學習器112 +招式學習器113 +招式學習器114 +招式學習器115 +招式學習器116 +招式學習器117 +招式學習器118 +招式學習器119 +招式學習器120 +招式學習器121 +招式學習器122 +招式學習器123 +招式學習器124 +招式學習器125 +招式學習器126 +招式學習器127 +招式學習器128 +招式學習器129 +招式學習器130 +招式學習器131 +招式學習器132 +招式學習器133 +招式學習器134 +招式學習器135 +招式學習器136 +招式學習器137 +招式學習器138 +招式學習器139 +招式學習器140 +招式學習器141 +招式學習器142 +招式學習器143 +招式學習器144 +招式學習器145 +招式學習器146 +招式學習器147 +招式學習器148 +招式學習器149 +招式學習器150 +招式學習器151 +招式學習器152 +招式學習器153 +招式學習器154 +招式學習器155 +招式學習器156 +招式學習器157 +招式學習器158 +招式學習器159 +招式學習器160 +招式學習器161 +招式學習器162 +招式學習器163 +招式學習器164 +招式學習器165 +招式學習器166 +招式學習器167 +招式學習器168 +招式學習器169 +招式學習器170 +招式學習器171 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +野餐組合 + +校園水壺 +校園水壺 +圓點水壺 +條紋水壺 +菱紋水壺 +校園水杯 +校園水杯 +直條紋水杯 +圓點水杯 +花朵水杯 +校園桌巾 +校園桌巾 +幻彩桌巾 +大自然桌巾 +鬼祟桌巾 + +校園球 +校園球 +瑪力露球 +毛線球 +電競球 +金色三明治籤 +銀色三明治籤 +紅旗子三明治籤 +藍旗子三明治籤 +皮卡丘三明治籤 +眨眼皮卡丘三明治籤 +伊布三明治籤 +笑臉伊布三明治籤 +藍珠珠三明治籤 + +慶祝之鎧 +頭領憑證 + + +粉紅水壺 +藍色水壺 +黃色水壺 +紅紋不鏽鋼水壺 +黃紋不鏽鋼水壺 +藍紋不鏽鋼水壺 +銀鈦水壺 +橫條紋水杯 +菱紋水杯 +火焰水杯 +粉紅水杯 +藍色水杯 +黃色水杯 +皮卡丘水杯 +伊布水杯 +呆呆獸水杯 +銀鈦水杯 +瑜珈球 +黃色格子桌巾 +藍色格子桌巾 +紅色格子桌巾 +黑白草叢桌巾 +對決桌巾 +怪獸桌巾 +條紋桌巾 +菱紋桌巾 +圓點桌巾 +紫色桌巾 +淺綠桌巾 +米色桌巾 +黃色桌巾 +藍色桌巾 +粉紅桌巾 +金鈦水壺 +銅鈦水壺 +金鈦水杯 +銅鈦水杯 +綠珠珠三明治籤 +紅珠珠三明治籤 +煙火祝慶三明治籤 +勇者之劍三明治籤 +魔法星星三明治籤 +魔法甜心三明治籤 +陽傘三明治籤 +晴空花三明治籤 +夕陽花三明治籤 +朝霞花三明治籤 +藍色盤子 +綠色盤子 +橘色盤子 +紅色盤子 +白色盤子 +黃色盤子 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_de.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_de.txt index 6a03e5b6a..b06b46bb7 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_de.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_de.txt @@ -1,247 +1,247 @@ ---------- -an einem mysteriösen Ort +Mysteriöser Ort -an einem fernen Ort +Ferner Ort -in Furlongham +Furlongham -im Schlummerwald +Schlummerwald -auf Route 1 +Route 1 -in Brassbury +Brassbury -am Brassbury-Bahnhof +Brassbury-Bahnhof -auf Route 2 +Route 2 -in Engine City +Engine City -am Engine-City-Bahnhof +Engine-City-Bahnhof -im Engine-Stadion +Engine-Stadion -auf Route 3 +Route 3 -in der Galar-Mine 1 +Galar-Mine 1 -auf Route 4 +Route 4 -in Turffield +Turffield -im Turffield-Stadion +Turffield-Stadion -auf Route 5 +Route 5 -in Keelton +Keelton -am Keelton-Bahnhof +Keelton-Bahnhof -im Keelton-Stadion +Keelton-Stadion -am Engine-Ortsrand +Engine-Ortsrand -in der Galar-Mine 2 +Galar-Mine 2 -in Claw City +Claw City -am Claw-City-Bahnhof +Claw-City-Bahnhof -im Claw-Stadion +Claw-Stadion -im Energiewerk +Energiewerk -auf der Turmspitze +Turmspitze -auf Route 6 +Route 6 -in Passbeck +Passbeck -im Passbeck-Stadion +Passbeck-Stadion -im Wirrschein-Wald +Wirrschein-Wald -in Fairballey +Fairballey -im Fairballey-Stadion +Fairballey-Stadion -auf Route 7 +Route 7 -auf Route 8 +Route 8 -auf Route 8 -auf dem Dampfschwaden-Pfad -auf Route 9 +Route 8 +Dampfschwaden-Pfad +Route 9 -auf Route 9 -in der Circhester-Bucht -auf Route 9 -am Spikeford-Ortsrand -in Circhester +Route 9 +Circhester-Bucht +Route 9 +Spikeford-Ortsrand +Circhester -im Circhester-Stadion +Circhester-Stadion -in Spikeford +Spikeford -im Route-9-Tunnel +Route-9-Tunnel -auf Route 10 +Route 10 -am White-Hill-Bahnhof +White-Hill-Bahnhof -in Score City +Score City -am Score-City-Bahnhof +Score-City-Bahnhof -im Score-Stadion -im Liga-Hauptquartier -im Score-Stadion -im Wartebereich -im Score-Stadion +Score-Stadion +Liga-Hauptquartier +Score-Stadion +Wartebereich +Score-Stadion -am Treffpunkt -in der Naturzone -auf den Wonnewiesen -in der Naturzone -im Wipfelscheinwald -in der Naturzone -bei der Wachturmruine -in der Naturzone -am Milza-See (Osten) -in der Naturzone -am Milza-See (Westen) -in der Naturzone -am Milza-See (Auge) -in der Naturzone -am Milotic-See (Süden) -in der Naturzone -beim Sitz des Giganten -in der Naturzone -am Milotic-See (Norden) -in der Naturzone -am Engine-Flussufer -in der Naturzone -im Brückental -in der Naturzone -auf der Megalithen-Ebene -in der Naturzone -im Sandsturmkessel -in der Naturzone -beim Spiegel des Giganten -in der Naturzone -auf dem Claw-Plateau -in der Naturzone -beim Hut des Giganten -in der Naturzone -am Wutanfall-See -in der Naturzone -am Naturzonen-Bahnhof +Treffpunkt +Naturzone +Wonnewiesen +Naturzone +Wipfelscheinwald +Naturzone +Wachturmruine +Naturzone +Milza-See (Osten) +Naturzone +Milza-See (Westen) +Naturzone +Milza-See (Auge) +Naturzone +Milotic-See (Süden) +Naturzone +Sitz des Giganten +Naturzone +Milotic-See (Norden) +Naturzone +Engine-Flussufer +Naturzone +Brückental +Naturzone +Megalithen-Ebene +Naturzone +Sandsturmkessel +Naturzone +Spiegel des Giganten +Naturzone +Claw-Plateau +Naturzone +Hut des Giganten +Naturzone +Wutanfall-See +Naturzone +Naturzonen-Bahnhof -im Kampfturm +Kampfturm -am Rose Tower +Rose Tower Ein Pokémon-Nest -im Grußgefilde -auf der Rüstungsinsel -im Balsamsumpf -auf der Rüstungsinsel -im Fokusforst -auf der Rüstungsinsel -am Strand der Prüfung -auf der Rüstungsinsel -in der Kämpfergrotte -auf der Rüstungsinsel -auf dem Pfad der Prüfung -auf der Rüstungsinsel -in der Tapferkeitshöhle -auf der Rüstungsinsel -bei der Ringbucht -auf der Rüstungsinsel -auf der Fleißebene -auf der Rüstungsinsel -im Aufwärmtunnel -auf der Rüstungsinsel -in der Wüstensenke -auf der Rüstungsinsel -am Fitnessmeer -bei der Rüstungsinsel -am Inselkettenmeer -bei der Rüstungsinsel -beim Fernarchipel -bei der Rüstungsinsel -am Wabenmeer -bei der Rüstungsinsel -auf der Wabeninsel -bei der Rüstungsinsel -im Master-Dojo +Grußgefilde +Rüstungsinsel +Balsamsumpf +Rüstungsinsel +Fokusforst +Rüstungsinsel +Strand der Prüfung +Rüstungsinsel +Kämpfergrotte +Rüstungsinsel +Pfad der Prüfung +Rüstungsinsel +Tapferkeitshöhle +Rüstungsinsel +Ringbucht +Rüstungsinsel +Fleißebene +Rüstungsinsel +Aufwärmtunnel +Rüstungsinsel +Wüstensenke +Rüstungsinsel +Fitnessmeer +Rüstungsinsel +Inselkettenmeer +Rüstungsinsel +Fernarchipel +Rüstungsinsel +Wabenmeer +Rüstungsinsel +Wabeninsel +Rüstungsinsel +Master-Dojo -am Turm des Unlichts +Turm des Unlichts -am Turm des Wassers +Turm des Wassers -in der Rüstungs-Station +Rüstungs-Station -auf dem Schlitterfeld -in den Kronen-Schneelanden -in Freezedale -in den Kronen-Schneelanden -auf dem Frostfeld -in den Kronen-Schneelanden -am Bett des Giganten -in den Kronen-Schneelanden -auf dem Uralten Friedhof -in den Kronen-Schneelanden -in der Schneeschlucht -in den Kronen-Schneelanden -im Aufstiegstunnel -in den Kronen-Schneelanden -auf dem Schneegipfelpfad -in den Kronen-Schneelanden -am Kronentempel -in den Kronen-Schneelanden -an der Sohle des Giganten -in den Kronen-Schneelanden -in den Rauschenden Höhlen -in den Kronen-Schneelanden -am Schollenmeer -in den Kronen-Schneelanden -auf dem Dreiwegpass -in den Kronen-Schneelanden -am Ballsee-Ufer -in den Kronen-Schneelanden -in der Ballsee-Höhle -in den Kronen-Schneelanden -auf dem Hügel des Dyna-Baums -in den Kronen-Schneelanden -in den Gipfelruinen +Schlitterfeld +Kronen-Schneelande +Freezedale +Kronen-Schneelande +Frostfeld +Kronen-Schneelande +Bett des Giganten +Kronen-Schneelande +Uralter Friedhof +Kronen-Schneelande +Schneeschlucht +Kronen-Schneelande +Aufstiegstunnel +Kronen-Schneelande +Schneegipfelpfad +Kronen-Schneelande +Kronentempel +Kronen-Schneelande +Sohle des Giganten +Kronen-Schneelande +Rauschende Höhlen +Kronen-Schneelande +Schollenmeer +Kronen-Schneelande +Dreiwegpass +Kronen-Schneelande +Ballsee-Ufer +Kronen-Schneelande +Ballsee-Höhle +Kronen-Schneelande +Hügel des Dyna-Baums +Kronen-Schneelande +Gipfelruinen -in den Eisberg-Ruinen +Eisberg-Ruinen -in den Eisen-Ruinen +Eisen-Ruinen -in den Zwiespaltruinen +Zwiespaltruinen -im Dyna-Riesennest +Dyna-Riesennest -im Kronen-Bahnhof +Kronen-Bahnhof diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_en.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_en.txt index 07b64bf18..439d75d7b 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_en.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_en.txt @@ -1,247 +1,247 @@ —————— -in a mystery zone +Mystery Zone -in a faraway place +Faraway place -in the town of Postwick +Postwick -in the Slumbering Weald +Slumbering Weald -on Route 1 +Route 1 -in the town of Wedgehurst +Wedgehurst -at Wedgehurst Station +Wedgehurst Station -on Route 2 +Route 2 -in the city of Motostoke +Motostoke -at Motostoke Station +Motostoke Station -at Motostoke Stadium +Motostoke Stadium -on Route 3 +Route 3 -in Galar Mine +Galar Mine -on Route 4 +Route 4 -in the town of Turffield +Turffield -at Turffield Stadium +Turffield Stadium -on Route 5 +Route 5 -in the town of Hulbury +Hulbury -at Hulbury Station +Hulbury Station -at Hulbury Stadium +Hulbury Stadium -in the Motostoke Outskirts +Motostoke Outskirts -in Galar Mine No. 2 +Galar Mine No. 2 -in the city of Hammerlocke +Hammerlocke -at Hammerlocke Station +Hammerlocke Station -at Hammerlocke Stadium +Hammerlocke Stadium -at the Energy Plant +Energy Plant -on the tower summit +Tower Summit -on Route 6 +Route 6 -in the town of Stow-on-Side +Stow-on-Side -at Stow-on-Side Stadium +Stow-on-Side Stadium -in Glimwood Tangle +Glimwood Tangle -in the town of Ballonlea +Ballonlea -at Ballonlea Stadium +Ballonlea Stadium -on Route 7 +Route 7 -on Route 8 +Route 8 -on Route 8 -on Steamdrift Way -on Route 9 +Route 8 +Steamdrift Way +Route 9 -on Route 9 -in Circhester Bay -on Route 9 -in Outer Spikemuth -in the town of Circhester +Route 9 +Circhester Bay +Route 9 +Outer Spikemuth +Circhester -at Circhester Stadium +Circhester Stadium -in the town of Spikemuth +Spikemuth -in the Route 9 Tunnel +Route 9 Tunnel -on Route 10 +Route 10 -at White Hill Station +White Hill Station -in the city of Wyndon +Wyndon -at Wyndon Station +Wyndon Station -at Wyndon Stadium -at the Pokémon League HQ -at Wyndon Stadium -in a locker room -at Wyndon Stadium +Wyndon Stadium +Pokémon League HQ +Wyndon Stadium +Locker Room +Wyndon Stadium -at the Meetup Spot -in a Wild Area -in the Rolling Fields -in a Wild Area -in the Dappled Grove -in a Wild Area -at Watchtower Ruins -in a Wild Area -at East Lake Axewell -in a Wild Area -at West Lake Axewell -in a Wild Area -on Axew’s Eye -in a Wild Area -at South Lake Miloch -in a Wild Area -near the Giant’s Seat -in a Wild Area -at North Lake Miloch -in a Wild Area -at the Motostoke Riverbank -in a Wild Area -in Bridge Field -in a Wild Area -in the Stony Wilderness -in a Wild Area -in Dusty Bowl -in a Wild Area -around the Giant’s Mirror -in a Wild Area -on the Hammerlocke Hills -in a Wild Area -near the Giant’s Cap -in a Wild Area -at the Lake of Outrage -in a Wild Area -at a Wild Area Station - -at the Battle Tower - -at Rose Tower - -in a Pokémon Den - -in the Fields of Honor -on the Isle of Armor -in the Soothing Wetlands -on the Isle of Armor -in the Forest of Focus -on the Isle of Armor -on Challenge Beach -on the Isle of Armor -in Brawlers’ Cave -on the Isle of Armor -on Challenge Road -on the Isle of Armor -in Courageous Cavern -on the Isle of Armor -in Loop Lagoon -on the Isle of Armor -in the Training Lowlands -on the Isle of Armor -in Warm-Up Tunnel -on the Isle of Armor -in the Potbottom Desert -on the Isle of Armor -in the Workout Sea -on the Isle of Armor -in the Stepping-Stone Sea -on the Isle of Armor -in the Insular Sea -on the Isle of Armor -in the Honeycalm Sea -on the Isle of Armor -on Honeycalm Island -on the Isle of Armor -at the Master Dojo - -at the Tower of Darkness - -at the Tower of Waters - -at the Armor Station - -on Slippery Slope -in the Crown Tundra -in Freezington -in the Crown Tundra -in Frostpoint Field -in the Crown Tundra -in the Giant’s Bed -in the Crown Tundra -in the Old Cemetery -in the Crown Tundra -on Snowslide Slope -in the Crown Tundra -in the Tunnel to the Top -in the Crown Tundra -on the Path to the Peak -in the Crown Tundra -at the Crown Shrine -in the Crown Tundra -at the Giant’s Foot -in the Crown Tundra -in Roaring-Sea Caves -in the Crown Tundra -at the Frigid Sea -in the Crown Tundra -in Three-Point Pass -in the Crown Tundra -at Ballimere Lake -in the Crown Tundra -in Lakeside Cave -in the Crown Tundra -at Dyna Tree Hill -in the Crown Tundra -in the Rock Peak Ruins - -in the Iceberg Ruins - -in the Iron Ruins - -in the Split-Decision Ruins - -in the Max Lair - -at the Crown Tundra Station +Meetup Spot +Wild Area +Rolling Fields +Wild Area +Dappled Grove +Wild Area +Watchtower Ruins +Wild Area +East Lake Axewell +Wild Area +West Lake Axewell +Wild Area +Axew’s Eye +Wild Area +South Lake Miloch +Wild Area +Giant’s Seat +Wild Area +North Lake Miloch +Wild Area +Motostoke Riverbank +Wild Area +Bridge Field +Wild Area +Stony Wilderness +Wild Area +Dusty Bowl +Wild Area +Giant’s Mirror +Wild Area +Hammerlocke Hills +Wild Area +Giant’s Cap +Wild Area +Lake of Outrage +Wild Area +Wild Area Station + +Battle Tower + +Rose Tower + +Pokémon Den + +Fields of Honor +Isle of Armor +Soothing Wetlands +Isle of Armor +Forest of Focus +Isle of Armor +Challenge Beach +Isle of Armor +Brawlers’ Cave +Isle of Armor +Challenge Road +Isle of Armor +Courageous Cavern +Isle of Armor +Loop Lagoon +Isle of Armor +Training Lowlands +Isle of Armor +Warm-Up Tunnel +Isle of Armor +Potbottom Desert +Isle of Armor +Workout Sea +Isle of Armor +Stepping-Stone Sea +Isle of Armor +Insular Sea +Isle of Armor +Honeycalm Sea +Isle of Armor +Honeycalm Island +Isle of Armor +Master Dojo + +Tower of Darkness + +Tower of Waters + +Armor Station + +Slippery Slope +Crown Tundra +Freezington +Crown Tundra +Frostpoint Field +Crown Tundra +Giant’s Bed +Crown Tundra +Old Cemetery +Crown Tundra +Snowslide Slope +Crown Tundra +Tunnel to the Top +Crown Tundra +Path to the Peak +Crown Tundra +Crown Shrine +Crown Tundra +Giant’s Foot +Crown Tundra +Roaring-Sea Caves +Crown Tundra +Frigid Sea +Crown Tundra +Three-Point Pass +Crown Tundra +Ballimere Lake +Crown Tundra +Lakeside Cave +Crown Tundra +Dyna Tree Hill +Crown Tundra +Rock Peak Ruins + +Iceberg Ruins + +Iron Ruins + +Split-Decision Ruins + +Max Lair + +Crown Tundra Station diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_es.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_es.txt index 8829c703c..d21409452 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_es.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_es.txt @@ -1,8 +1,8 @@ - -un lugar misterioso +Lugar misterioso -un lugar lejano +Lugar lejano Pueblo Yarda diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_fr.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_fr.txt index c3f07f66d..37bb219f8 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_fr.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_fr.txt @@ -1,247 +1,247 @@ ---------- -dans un endroit mystérieux +Endroit mystérieux -dans un endroit lointain +Endroit lointain -à Paddoxton +Paddoxton -dans la Forêt de Sleepwood +Forêt de Sleepwood -sur la Route 1 +Route 1 -à Brasswick +Brasswick -à la Gare de Brasswick +Gare de Brasswick -sur la Route 2 +Route 2 -à Motorby +Motorby -à la Gare de Motorby +Gare de Motorby -au Stade de Motorby +Stade de Motorby -sur la Route 3 +Route 3 -dans la Mine de Galar +Mine de Galar -sur la Route 4 +Route 4 -à Greenbury +Greenbury -au Stade de Greenbury +Stade de Greenbury -sur la Route 5 +Route 5 -à Skifford +Skifford -à la Gare de Skifford +Gare de Skifford -au Stade de Skifford +Stade de Skifford -aux Abords de Motorby +Abords de Motorby -dans la Mine de Galar nº 2 +Mine de Galar nº 2 -à Kickenham +Kickenham -à la Gare de Kickenham +Gare de Kickenham -au Stade de Kickenham +Stade de Kickenham -dans la salle du réacteur +Salle du réacteur -au sommet de la tour +Sommet de la tour -sur la Route 6 +Route 6 -à Old Chister +Old Chister -au Stade d’Old Chister +Stade d’Old Chister -dans la Forêt de Lumirinth +Forêt de Lumirinth -à Corrifey +Corrifey -au Stade de Corrifey +Stade de Corrifey -sur la Route 7 +Route 7 -sur la Route 8 +Route 8 -sur la Route 8 -sur le Sentier des Sources -sur la Route 9 +Route 8 +Sentier des Sources +Route 9 -sur la Route 9 -dans la Baie de Ludester -sur la Route 9 -aux Abords de Smashings -à Ludester +Route 9 +Baie de Ludester +Route 9 +Abords de Smashings +Ludester -au Stade de Ludester +Stade de Ludester -à Smashings +Smashings -dans le Tunnel de la Route 9 +Tunnel de la Route 9 -sur la Route 10 +Route 10 -à la Gare de White Hill +Gare de White Hill -à Winscor +Winscor -à la Gare de Winscor +Gare de Winscor -au Stade de Winscor -au Siège de la Ligue -au Stade de Winscor -dans les vestiaires -au Stade de Winscor +Stade de Winscor +Siège de la Ligue +Stade de Winscor +Vestiaires +Stade de Winscor -sur le Sentier de la Gare -dans les Terres Sauvages -dans la Plaine Verdoyante -dans les Terres Sauvages -dans le Bois de Clairjour -dans les Terres Sauvages -à la Tour en ruines -dans les Terres Sauvages -au Lac Coupenotte Est -dans les Terres Sauvages -au Lac Coupenotte Ouest -dans les Terres Sauvages -à l’Œil du Lac -dans les Terres Sauvages -au Lac Milobellus Sud -dans les Terres Sauvages -au Siège du Géant -dans les Terres Sauvages -au Lac Milobellus Nord -dans les Terres Sauvages -sur les Berges de Motorby -dans les Terres Sauvages -dans la Prairie Entre-Ponts -dans les Terres Sauvages -dans la Plaine Rocheuse -dans les Terres Sauvages -dans la Fosse des Sables -dans les Terres Sauvages -au Miroir du Géant -dans les Terres Sauvages -sur le Plateau de Kickenham -dans les Terres Sauvages -à la Coiffe du Géant -dans les Terres Sauvages -au Lac Ouragan -dans les Terres Sauvages -à la Gare des Terres Sauvages - -à la Tour de Combat - -dans la Shehroz Tower - -dans un antre - -dans la Plaine Salutation -à Isolarmure -dans la Lande Boldair -à Isolarmure -dans la Forêt Flexion -à Isolarmure -sur la Plage de l’Épreuve -à Isolarmure -dans la Grotte du Pugilat -à Isolarmure -sur la Route de l’Épreuve -à Isolarmure -dans la Caverne Pugnacité -à Isolarmure -dans la Lagune Circulaire -à Isolarmure -dans la Plaine des Efforts -à Isolarmure -sur la Voie des Étirements -à Isolarmure -aux Sables de Kudsac -à Isolarmure -sur la Mer Eau-Hisse -à Isolarmure -dans la Mer Align’Îlots -à Isolarmure -dans la Mer Isol’Îlots -à Isolarmure -dans la Mer Calméole -à Isolarmure -sur l’Îlot Calméole -à Isolarmure -au Dojo de la Maîtrise - -à la Tour des Ténèbres - -à la Tour de l’Eau - -à la Gare d’Isolarmure - -au Plateau Beau-Gant -à Couronneige -au Hameau Gelé -à Couronneige -dans la Plaine Granfroy -à Couronneige -au Repos du Géant -à Couronneige -au Cimetière Ancien -à Couronneige -sur la Pente Enneigée -à Couronneige -dans les Galeries Monte-Pic -à Couronneige -sur le Sentier Blanche-Cime -à Couronneige -au Temple Couronne -à Couronneige -à l’Empreinte du Géant -à Couronneige -dans les Cavernes Gronde-Mer -à Couronneige -sur la Mer Banquise -à Couronneige -à la Croisée Trois-Voies -à Couronneige -au Lac Poké Ball -à Couronneige -dans la Grotte du Lac -à Couronneige -sur la Butte du Dynarbre -à Couronneige -dans les Ruines Pic Roche - -dans les Ruines Iceberg - -dans les Ruines de Fer - -dans les Ruines du Choix - -dans le Grand Antre Dynamax - -à la Gare de Couronneige +Sentier de la Gare +Terres Sauvages +Plaine Verdoyante +Terres Sauvages +Bois de Clairjour +Terres Sauvages +Tour en ruines +Terres Sauvages +Lac Coupenotte Est +Terres Sauvages +Lac Coupenotte Ouest +Terres Sauvages +Œil du Lac +Terres Sauvages +Lac Milobellus Sud +Terres Sauvages +Siège du Géant +Terres Sauvages +Lac Milobellus Nord +Terres Sauvages +Berges de Motorby +Terres Sauvages +Prairie Entre-Ponts +Terres Sauvages +Plaine Rocheuse +Terres Sauvages +Fosse des Sables +Terres Sauvages +Miroir du Géant +Terres Sauvages +Plateau de Kickenham +Terres Sauvages +Coiffe du Géant +Terres Sauvages +Lac Ouragan +Terres Sauvages +Gare Terres Sauvages + +Tour de Combat + +Shehroz Tower + +Antre + +Plaine Salutation +Isolarmure +Lande Boldair +Isolarmure +Forêt Flexion +Isolarmure +Plage de l’Épreuve +Isolarmure +Grotte du Pugilat +Isolarmure +Route de l’Épreuve +Isolarmure +Caverne Pugnacité +Isolarmure +Lagune Circulaire +Isolarmure +Plaine des Efforts +Isolarmure +Voie des Étirements +Isolarmure +Sables de Kudsac +Isolarmure +Mer Eau-Hisse +Isolarmure +Mer Align’Îlots +Isolarmure +Mer Isol’Îlots +Isolarmure +Mer Calméole +Isolarmure +Îlot Calméole +Isolarmure +Dojo de la Maîtrise + +Tour des Ténèbres + +Tour de l’Eau + +Gare d’Isolarmure + +Plateau Beau-Gant +Couronneige +Hameau Gelé +Couronneige +Plaine Granfroy +Couronneige +Repos du Géant +Couronneige +Cimetière Ancien +Couronneige +Pente Enneigée +Couronneige +Galeries Monte-Pic +Couronneige +Sentier Blanche-Cime +Couronneige +Temple Couronne +Couronneige +Empreinte du Géant +Couronneige +Cavernes Gronde-Mer +Couronneige +Mer Banquise +Couronneige +Croisée Trois-Voies +Couronneige +Lac Poké Ball +Couronneige +Grotte du Lac +Couronneige +Butte du Dynarbre +Couronneige +Ruines Pic Roche + +Ruines Iceberg + +Ruines de Fer + +Ruines du Choix + +Grand Antre Dynamax + +Gare de Couronneige diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_it.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_it.txt index de076022c..29c7dd1f8 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_it.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_it.txt @@ -1,247 +1,247 @@ ---------- -in una zona misteriosa +Zona misteriosa -in un luogo remoto +Luogo remoto -a Furlongham +Furlongham -nel Bosco Assopito +Bosco Assopito -sul Percorso 1 +Percorso 1 -a Brassbury +Brassbury -alla Stazione di Brassbury +Staz. di Brassbury -sul Percorso 2 +Percorso 2 -a Steamington +Steamington -alla Stazione di Steamington +Staz. di Steamington -allo Stadio di Steamington +Stadio Steamington -sul Percorso 3 +Percorso 3 -nella Miniera di Galar +Miniera di Galar -sul Percorso 4 +Percorso 4 -a Turffield +Turffield -allo Stadio di Turffield +Stadio Turffield -sul Percorso 5 +Percorso 5 -a Keelford +Keelford -alla Stazione di Keelford +Stazione di Keelford -allo Stadio di Keelford +Stadio Keelford -nella periferia di Steamington +Perif. Steamington -nella Miniera 2 +Miniera 2 -a Knuckleburgh +Knuckleburgh -alla Stazione di Knuckleburgh +St. di Knuckleburgh -allo Stadio di Knuckleburgh +Stadio Knuckleburgh -nella Centrale Energetica +Centrale Energetica -sulla Cima della Torre +Cima della Torre -sul Percorso 6 +Percorso 6 -a Latermore +Latermore -allo Stadio di Latermore +Stadio Latermore -nel Bosco Brillabirinto +Bosco Brillabirinto -a Piquedilly +Piquedilly -allo Stadio di Piquedilly +Stadio Piquedilly -sul Percorso 7 +Percorso 7 -sul Percorso 8 +Percorso 8 -sul Percorso 8 -sul Sentiero del Vapore -sul Percorso 9 +Percorso 8 +Sentiero del Vapore +Percorso 9 -sul Percorso 9 -nella Baia di Circhester -sul Percorso 9 -nella Periferia di Spikeville -a Circhester +Percorso 9 +Baia di Circhester +Percorso 9 +Perif. di Spikeville +Circhester -allo Stadio di Circhester +Stadio Circhester -a Spikeville +Spikeville -nel Tunnel del Percorso 9 +Tunnel Percorso 9 -sul Percorso 10 +Percorso 10 -alla Stazione di Collebianco +Staz. di Collebianco -a Goalwick +Goalwick -alla Stazione di Goalwick +Stazione di Goalwick -allo Stadio di Goalwick -alla Sede della Lega Pokémon -allo Stadio di Goalwick -nello Spogliatoio -allo Stadio di Goalwick +Stadio Goalwick +Sede Lega Pokémon +Stadio Goalwick +Spogliatoio +Stadio Goalwick -nel Piazzale Adunanza -nelle Terre Selvagge -nella Pianura Serena -nelle Terre Selvagge -nel Boschetto Ombraluce -nelle Terre Selvagge -alla Torre Diroccata -nelle Terre Selvagge -al Lago Axew (est) -nelle Terre Selvagge -al Lago Axew (ovest) -nelle Terre Selvagge -all’Occhio del Lago Axew -nelle Terre Selvagge -al Lago Milotic (sud) -nelle Terre Selvagge -alla Sedia del Gigante -nelle Terre Selvagge -al Lago Milotic (nord) -nelle Terre Selvagge -al Fiume di Steamington -nelle Terre Selvagge -nella Piana dei Ponti -nelle Terre Selvagge -nella Landa delle Pietre -nelle Terre Selvagge -nella Conca delle Sabbie -nelle Terre Selvagge -allo Specchio del Gigante -nelle Terre Selvagge -sul Colle Knuckleburgh -nelle Terre Selvagge -al Berretto del Gigante -nelle Terre Selvagge -al Lago Dragofuria -nelle Terre Selvagge -alla Stazione delle Terre Selvagge - -alla Torre Lotta - -alla Rose Tower - -in una tana di Pokémon - -nella Pianura Inchino -sull’Isola dell’Armatura -nell’Acquitrino Fresco -sull’Isola dell’Armatura -nel Bosco Concentrazione -sull’Isola dell’Armatura -sulla Spiaggia Sfida -sull’Isola dell’Armatura -nell’Antro Scontro -sull’Isola dell’Armatura -nel Cammino Sfida -sull’Isola dell’Armatura -nella Grotta Grinta -sull’Isola dell’Armatura -nella Baia Circolare -sull’Isola dell’Armatura -nella Piana Addestramento -sull’Isola dell’Armatura -nel Tunnel Riscaldamento -sull’Isola dell’Armatura -nel Deserto Paiolo -sull’Isola dell’Armatura -nel Mar Ginnico -sull’Isola dell’Armatura -nel Mar Lineapelago -sull’Isola dell’Armatura -nel Mar Sperdipelago -sull’Isola dell’Armatura -nel Mar Quietarnia -sull’Isola dell’Armatura -sull’Isola Quietarnia -sull’Isola dell’Armatura -nel Dojo Master - -nella Torre Buio - -nella Torre Acqua - -nella Stazione dell’Isola dell’Armatura - -alle Nevi Primoscivolo -nella Landa Corona -a Freezedale -nella Landa Corona -nella Piana Sottozero -nella Landa Corona -al Letto del Gigante -nella Landa Corona -nel Cimitero Antico -nella Landa Corona -nella Valle Innevata -nella Landa Corona -nel Tunnel Scalata -nella Landa Corona -sul Sentiero Biancacima -nella Landa Corona -al Tempio Corona -nella Landa Corona -alla Suola del Gigante -nella Landa Corona -alle Grotte Fragormare -nella Landa Corona -al Mar Gelido -nella Landa Corona -al Campo Trivio -nella Landa Corona -sulla Riva del Lago Ball -nella Landa Corona -nella Grotta Rivalago -nella Landa Corona -sulla Collina Dynalbero -nella Landa Corona -nelle Rovine Picco - -nelle Rovine Iceberg - -nelle Rovine Ferro - -nelle Rovine della Scelta - -nella dynatana max - -alla Stazione della Landa Corona +Piazzale Adunanza +Terre Selvagge +Pianura Serena +Terre Selvagge +Boschetto Ombraluce +Terre Selvagge +Torre Diroccata +Terre Selvagge +Lago Axew (est) +Terre Selvagge +Lago Axew (ovest) +Terre Selvagge +Occhio del Lago Axew +Terre Selvagge +Lago Milotic (sud) +Terre Selvagge +Sedia del Gigante +Terre Selvagge +Lago Milotic (nord) +Terre Selvagge +Fiume di Steamington +Terre Selvagge +Piana dei Ponti +Terre Selvagge +Landa delle Pietre +Terre Selvagge +Conca delle Sabbie +Terre Selvagge +Specchio del Gigante +Terre Selvagge +Colle Knuckleburgh +Terre Selvagge +Berretto del Gigante +Terre Selvagge +Lago Dragofuria +Terre Selvagge +Staz. Terre Selvagge + +Torre Lotta + +Rose Tower + +Tana di Pokémon + +Pianura Inchino +Isola dell’Armatura +Acquitrino Fresco +Isola dell’Armatura +Bosco Concentrazione +Isola dell’Armatura +Spiaggia Sfida +Isola dell’Armatura +Antro Scontro +Isola dell’Armatura +Cammino Sfida +Isola dell’Armatura +Grotta Grinta +Isola dell’Armatura +Baia Circolare +Isola dell’Armatura +Piana Addestramento +Isola dell’Armatura +Tunnel Riscaldamento +Isola dell’Armatura +Deserto Paiolo +Isola dell’Armatura +Mar Ginnico +Isola dell’Armatura +Mar Lineapelago +Isola dell’Armatura +Mar Sperdipelago +Isola dell’Armatura +Mar Quietarnia +Isola dell’Armatura +Isola Quietarnia +Isola dell’Armatura +Dojo Master + +Torre Buio + +Torre Acqua + +Staz. Isola Armatura + +Nevi Primoscivolo +Landa Corona +Freezedale +Landa Corona +Piana Sottozero +Landa Corona +Letto del Gigante +Landa Corona +Cimitero Antico +Landa Corona +Valle Innevata +Landa Corona +Tunnel Scalata +Landa Corona +Sentiero Biancacima +Landa Corona +Tempio Corona +Landa Corona +Suola del Gigante +Landa Corona +Grotte Fragormare +Landa Corona +Mar Gelido +Landa Corona +Campo Trivio +Landa Corona +Riva del Lago Ball +Landa Corona +Grotta Rivalago +Landa Corona +Collina Dynalbero +Landa Corona +Rovine Picco + +Rovine Iceberg + +Rovine Ferro + +Rovine della Scelta + +Dynatana max + +Staz. Landa Corona diff --git a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_zh2.txt index 564c8f41b..8bdd8071b 100644 --- a/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_zh2.txt +++ b/PKHeX.Core/Resources/text/locations/gen8/text_swsh_00000_zh2.txt @@ -12,9 +12,9 @@ 1號道路 -木杆鎮 +木桿鎮 -木杆鎮車站 +木桿鎮車站 2號道路 @@ -178,7 +178,7 @@ 鎧島 圓環海灣 鎧島 -鍛煉平原 +鍛鍊平原 鎧島 熱身洞穴 鎧島 @@ -212,7 +212,7 @@ 王冠雪原 遠古墓地 王冠雪原 -雪中溪穀 +雪中溪谷 王冠雪原 登頂隧道 王冠雪原 diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_de.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_de.txt index a51bf1e96..0874353a9 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_de.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_de.txt @@ -1,156 +1,156 @@ ---------- -an einem mysteriösen Ort +Mysteriöser Ort -an einem fernen Ort +Ferner Ort -in Jubeldorf -im Obsidian-Grasland -im Roten Sumpfland -im Kobalt-Küstenland -im Kraterberg-Hochland -im Weißen Frostland -in der Uralten Siedlung -auf dem Ambitionshügel -auf den Hufeisenwiesen -auf dem Geweihbergweg -auf der Geweihanhöhe -am Obsidian-Wasserfall -im Erztunnel -in der Waldesküche -im Innerwald -auf dem Baumriesenkampffeld -im Strapazenhain -am See der Wahrheit -in der Sandgemmenheide -am Mündungsdamm -auf der Flora-Rodefläche -auf der Hamanasu-Insel -in der Graslandbasis -in der Anhöhenbasis -in der Windpassage -auf der Flora-Rodefläche -bei der Felsenbrücke -beim Moosfelsen -auf den Güldenen Feldern -in den Ruinen des Trostes -im Großmaulmoor -auf dem Schlammplateau -im Purpurroten Moor -auf dem Geröllhügel -in der Diamant-Siedlung -am See der Kühnheit -auf dem Wolkenmeerkamm -in den Nebelruinen -[~ 44] -auf der Prüfungsbarre -auf den Surrenden Feldern -in der Sumpflandbasis -in der Ödnisbasis -am Übergangshang -am Ginkgo-Strand -im Schaurigen Welkwald -in der Versteckten Bucht -auf dem Tombolo-Weg -am Schleierkap -beim Seegrasidyll -auf der Feuerspei-Insel -im Haus von Susuki -auf dem Quellenpfad -am Großfischfelsen -am Inselblickufer -im Windbruchwald -[~ 62] -im Gezeitentunnel -in der Kleinen Meeresgrotte -in der Strandbasis -in der Küstenlandbasis -in der Höhle der Umkehr -am Lavadom-Schrein -in der Hochlandbasis -auf dem Sakralplateau -im Wirrwald -im Uralten Steinbruch -auf dem Elysien-Bergpfad -an der Einsamen Quelle -am Feenweiher -in den Geröllbergen -auf dem Steinplattenpass -[~ 78] -in der Urzeitlichen Höhle -bei der Kletterklippe -bei den Elysien-Tempelruinen -auf dem Mondgrußkampffeld -in der Gipfelbasis -im Gipfelschwadentunnel -auf der Speersäule -in der Bizarren Höhle -in der Schneefeldbasis -im Blizzardtal -in der Gletscherpassage -in der Eisigen Ödnis -[~ 91] -am Arktilas-Eisblock -auf den Gletscherstufen -am See der Stärke -im Blizzard-Tempel -in der Winterschlafhöhle -bei den Firnfällen -auf dem Lawinenhügel -auf dem Pfad zum Kampffeld -in der Perl-Siedlung -am Geistesfelsen -in der Eissäulenkammer -in der Eisgipfelbasis -in der Wahrheitsgrotte -in der Kühnheitsgrotte -auf der Wollgraswiese -in der Bergbasis -an der Steinpforte -im Sinnoh-Tempel -beim Eisfelsen -in der Stärkegrotte -in der Eisgipfelhöhle -in der Geheimen Höhle -im Galaktik-Hauptsitz -im Gemischtwarenladen -am Bonbonstand -im Handwerksladen -bei der Ginkgo-Gilde -bei der Tauschbörse -auf der Weide -in der Schneiderei -im Friseursalon -im Fotoatelier -auf dem Acker -auf dem Übungsplatz -am Glücksschrein -im Quartier -an der Küste der Verirrten -bei den Sandfingern -auf dem Pilgerpfad -auf dem Platz der Huldigung -am Haupttor -am Strandtor -auf der Fleetstraße -auf der Floristraße -am Strand des Aufbruchs -auf dem Übungsgelände -an einem Unbekannten Ort -auf dem Bühnenkampffeld -auf dem Lavakampffeld -auf dem Eisgipfelkampffeld -bei der Schneeblicktherme -im Erdgeschoss -in der ersten Etage -in der zweiten Etage -im Untergeschoss -auf dem Prankenplatz -auf der Diamant-Ebene -auf den Griffel-Hügeln -bei der Badelagune -im Stillen Binnenmeer +Jubeldorf +Obsidian-Grasland +Rotes Sumpfland +Kobalt-Küstenland +Kraterberg-Hochland +Weißes Frostland +Uralte Siedlung +Ambitionshügel +Hufeisenwiesen +Geweihbergweg +Geweihanhöhe +Obsidian-Wasserfall +Erztunnel +Waldesküche +Innerwald +Baumriesenkampffeld +Strapazenhain +See der Wahrheit +Sandgemmenheide +Mündungsdamm +Flora-Rodefläche +Hamanasu-Insel +Graslandbasis +Anhöhenbasis +Windpassage +Flora-Rodefläche +Felsenbrücke +Moosfelsen +Güldene Felder +Ruinen des Trostes +Großmaulmoor +Schlammplateau +Purpurrotes Moor +Geröllhügel +Diamant-Siedlung +See der Kühnheit +Wolkenmeerkamm +Nebelruinen + +Prüfungsbarre +Surrende Felder +Sumpflandbasis +Ödnisbasis +Übergangshang +Ginkgo-Strand +Schauriger Welkwald +Versteckte Bucht +Tombolo-Weg +Schleierkap +Seegrasidyll +Feuerspei-Insel +Haus von Susuki +Quellenpfad +Großfischfelsen +Inselblickufer +Windbruchwald + +Gezeitentunnel +Kleine Meeresgrotte +Strandbasis +Küstenlandbasis +Höhle der Umkehr +Lavadom-Schrein +Hochlandbasis +Sakralplateau +Wirrwald +Uralter Steinbruch +Elysien-Bergpfad +Einsame Quelle +Feenweiher +Geröllberge +Steinplattenpass + +Urzeitliche Höhle +Kletterklippe +Elysien-Tempelruinen +Mondgrußkampffeld +Gipfelbasis +Gipfelschwadentunnel +Speersäule +Bizarre Höhle +Schneefeldbasis +Blizzardtal +Gletscherpassage +Eisige Ödnis + +Arktilas-Eisblock +Gletscherstufen +See der Stärke +Blizzard-Tempel +Winterschlafhöhle +Firnfälle +Lawinenhügel +Pfad zum Kampffeld +Perl-Siedlung +Geistesfelsen +Eissäulenkammer +Eisgipfelbasis +Wahrheitsgrotte +Kühnheitsgrotte +Wollgraswiese +Bergbasis +Steinpforte +Sinnoh-Tempel +Eisfelsen +Stärkegrotte +Eisgipfelhöhle +Geheime Höhle +Galaktik-Hauptsitz +Gemischtwarenladen +Bonbonstand +Handwerksladen +Ginkgo-Gilde +Tauschbörse +Weide +Schneiderei +Friseursalon +Fotoatelier +Acker +Übungsplatz +Glücksschrein +Quartier +Küste der Verirrten +Sandfinger +Pilgerpfad +Platz der Huldigung +Haupttor +Strandtor +Fleetstraße +Floristraße +Strand des Aufbruchs +Übungsgelände +Unbekannter Ort +Bühnenkampffeld +Lavakampffeld +Eisgipfelkampffeld +Schneeblicktherme +Erdgeschoss +Erste Etage +Zweite Etage +Untergeschoss +Prankenplatz +Diamant-Ebene +Griffel-Hügel +Badelagune +Stilles Binnenmeer Galaktik-Hauptsitz Haupttor Acker -Übungsplatz +Übungsplatz \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_en.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_en.txt index 546af32f3..79c3b52ea 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_en.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_en.txt @@ -1,156 +1,156 @@ —————— -in a mystery zone +Mystery Zone -in a faraway place +Faraway place -in Jubilife Village -in the Obsidian Fieldlands -in the Crimson Mirelands -in the Cobalt Coastlands -in the Coronet Highlands -in the Alabaster Icelands -at the Ancient Retreat -on Aspiration Hill -in the Horseshoe Plains -on Deertrack Path -upon Deertrack Heights -at the Obsidian Falls -in Oreburrow Tunnel -in Nature’s Pantry -in the Heartwood -at Grandtree Arena -in Grueling Grove -at Lake Verity -in Sandgem Flats -at Tidewater Dam -in Floaro Gardens -on Ramanas Island -at the Fieldlands Camp -at the Heights Camp -on Windswept Run -in Floaro Gardens -at the Worn Bridge -at the Moss Rock -in the Golden Lowlands -at the Solaceon Ruins -at Gapejaw Bog -on Sludge Mound -at the Scarlet Bog -on Bolderoll Slope -at the Diamond Settlement -at Lake Valor -on Cloudpool Ridge -at the Shrouded Ruins -[~ 44] -at the Holm of Trials -in the Droning Meadow -at the Mirelands Camp -at the Bogbound Camp -on Crossing Slope -at Ginkgo Landing -at Deadwood Haunt -at Hideaway Bay -along Tombolo Walk -at Veilstone Cape -at Seagrass Haven -on Firespit Island -at Iscan’s home -on Spring Path -at Lunker’s Lair -on Islespy Shore -in Windbreak Stand -[~ 62] -in the Tidal Passage -in the Seaside Hollow -at the Beachside Camp -at the Coastlands Camp -in Turnback Cave -in the Lava Dome Sanctum -at the Highlands Camp -at the Heavenward Lookout -in the Wayward Wood -in the Ancient Quarry -on Celestica Trail -at the Lonely Spring -at the Fabled Spring -in Bolderoll Ravine -at Stonetooth Rows -[~ 78] -in the Primeval Grotto -at the Clamberclaw Cliffs -at the Celestica Ruins -at Moonview Arena -at the Summit Camp -along Cloudcap Pass -at the Spear Pillar -in Wayward Cave -at the Snowfields Camp -in Whiteout Valley -in the Crevasse Passage -in the Bonechill Wastes -[~ 91] -at Avalugg’s Legacy -on Glacier Terrace -at Lake Acuity -at Snowpoint Temple -in Hibernal Cave -at the Icebound Falls -at the Avalanche Slopes -along the Arena’s Approach -at the Pearl Settlement -at Heart’s Crag -in the Ice Column Chamber -at the Icepeak Camp -in Verity Cavern -in Valor Cavern -in Cottonsedge Prairie -at the Mountain Camp -at the Stone Portal -at the Temple of Sinnoh -at the Ice Rock -in Acuity Cavern -in Icepeak Cavern -in the Secret Hollow -at Galaxy Hall -at the general store -at the candy stand -at the craftworks -at the Ginkgo Guild cart -at the trading post -at the pastures -at the clothier -at the hairdresser -at the photography studio -at the farm -at the training grounds -at the folk shrine -in your quarters -on Castaway Shore -at Sand’s Reach -on Sonorous Path -at the Sacred Plaza -at the front gate -at the seaside gate -on Canala Avenue -on Floaro Main Street -on Prelude Beach -at the practice field -at an unknown location -at Brava Arena -at Molten Arena -at Icepeak Arena -at Snowfall Hot Spring -on the first floor -on the second floor -on the third floor -in the basement -at Ursa’s Ring -on the Diamond Heath -on Aipom Hill -at Bathers’ Lagoon -in Tranquility Cove +Jubilife Village +Obsidian Fieldlands +Crimson Mirelands +Cobalt Coastlands +Coronet Highlands +Alabaster Icelands +Ancient Retreat +Aspiration Hill +Horseshoe Plains +Deertrack Path +Deertrack Heights +Obsidian Falls +Oreburrow Tunnel +Nature’s Pantry +The Heartwood +Grandtree Arena +Grueling Grove +Lake Verity +Sandgem Flats +Tidewater Dam +Floaro Gardens +Ramanas Island +Fieldlands Camp +Heights Camp +Windswept Run +Floaro Gardens +Worn Bridge +Moss Rock +Golden Lowlands +Solaceon Ruins +Gapejaw Bog +Sludge Mound +Scarlet Bog +Bolderoll Slope +Diamond Settlement +Lake Valor +Cloudpool Ridge +Shrouded Ruins + +Holm of Trials +Droning Meadow +Mirelands Camp +Bogbound Camp +Crossing Slope +Ginkgo Landing +Deadwood Haunt +Hideaway Bay +Tombolo Walk +Veilstone Cape +Seagrass Haven +Firespit Island +Iscan’s Home +Spring Path +Lunker’s Lair +Islespy Shore +Windbreak Stand + +Tidal Passage +Seaside Hollow +Beachside Camp +Coastlands Camp +Turnback Cave +Lava Dome Sanctum +Highlands Camp +Heavenward Lookout +Wayward Wood +Ancient Quarry +Celestica Trail +Lonely Spring +Fabled Spring +Bolderoll Ravine +Stonetooth Rows + +Primeval Grotto +Clamberclaw Cliffs +Celestica Ruins +Moonview Arena +Summit Camp +Cloudcap Pass +Spear Pillar +Wayward Cave +Snowfields Camp +Whiteout Valley +Crevasse Passage +Bonechill Wastes + +Avalugg’s Legacy +Glacier Terrace +Lake Acuity +Snowpoint Temple +Hibernal Cave +Icebound Falls +Avalanche Slopes +Arena’s Approach +Pearl Settlement +Heart’s Crag +Ice Column Chamber +Icepeak Camp +Verity Cavern +Valor Cavern +Cottonsedge Prairie +Mountain Camp +Stone Portal +Temple of Sinnoh +Ice Rock +Acuity Cavern +Icepeak Cavern +Secret Hollow +Galaxy Hall +General Store +Candy Stand +Craftworks +Ginkgo Guild Cart +Trading Post +Pastures +Clothier +Hairdresser +Photography Studio +Farm +Training Grounds +Folk Shrine +Your Quarters +Castaway Shore +Sand’s Reach +Sonorous Path +Sacred Plaza +Front Gate +Seaside Gate +Canala Avenue +Floaro Main Street +Prelude Beach +Practice Field +??? +Brava Arena +Molten Arena +Icepeak Arena +Snowfall Hot Spring +First Floor +Second Floor +Third Floor +Basement +Ursa’s Ring +Diamond Heath +Aipom Hill +Bathers’ Lagoon +Tranquility Cove Galaxy Hall Front Gate Farm -Training Grounds +Training Grounds \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_es.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_es.txt index 2c07afab7..4d6fc9e10 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_es.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_es.txt @@ -1,156 +1,156 @@ - -en un lugar misterioso +Lugar misterioso -en un lugar misterioso +Lugar lejano -en Villa Jubileo -en la Pradera Obsidiana -en el Pantanal Carmesí -en la Costa Cobalto -en la Ladera Corona -en la Tundra Alba -en la Antigua Aldea Oculta -en la Colina del Anhelo -en el Prado Herradura -en la Senda del Venado -en la Loma del Venado -en la Cascada Obsidiana -en la Gruta Pirita -en la Alacena del Bosque -en el Bosque Recóndito -en la Arena del Gran Árbol -en la Foresta Funesta -en el Lago Veraz -en la Planicie Arena -en la Presa del Estuario -en el Campo Aromaflor -en la Isla Hansa -en la base de la pradera -en la base de la loma -en la Vereda del Viento -en el Campo Aromaflor -en el Puente Erosionado -en la roca musgo -en la Pradera Áurea -en las Ruinas Sosiego -en la Ciénaga Bocazas -en la Loma Lodosa -en la Ciénaga Bermeja -en la Ladera Derrumbe -en el Poblado Diamante -en el Lago Valor -en el Rellano Nebuloso -en las Ruinas de la Niebla -[~ 44] -en el Banco del Juicio -en la Pradera Aleteo -en la base del pantanal -en la base del páramo -en el Paso Costanero -en la Playa Ginkgo -en la Arboleda Tétrica -en la Cala Oculta -en el Camino del Tómbolo -en el Cabo Rocavelo -en el Vergel Marino -en la Isla Escupefuego -en la casa de Erio -en la Vía Manantial -en la Guarida del Gran Pez -en la Costa Ínsola -en el Bosque Rompeviento -[~ 62] -en la Gruta Pasamar -en la Cueva Costera -en la base de la playa -en la base de la costa -en la Cueva Retorno -en el Altar Domo Lava -en la base de la ladera -en la Loma Sagrada -en el Bosque Extravío -en la Cantera Ancestral -en la Senda Celestial -en el Manantial Solitario -en la Fuente de las Hadas -en la Cordillera Derrumbe -en el Cañón Lítico -[~ 78] -en la Caverna Inmemorial -en el Risco Riscoso -en las Ruinas Celestiales -en la Arena de la Luna -en la base de la cima -en el Paso Píleo -en las Columnas Lanza -en la Cueva Extravío -en la base de las nieves -en el Valle Nevasca -en el Pasaje de la Grieta -en el Páramo Algente -[~ 91] -en el Témpano Avalugg -en la Terraza Glaciar -en el Lago Agudeza -en el Templo Puntaneva -en la Caverna Hiberna -en la Cascada Glaliar -en el Desfiladero Alud -en la Senda de la Arena -en el Poblado Perla -en el Peñasco Espíritu -en la Cámara Carámbano -en la base del glaciar -en la Caverna Veraz -en la Caverna Valor -en el Prado Erióforo -en la base de la montaña -en el Umbral Pétreo -en el Templo de Sinnoh -en la roca helada -en la Caverna Agudeza -en la Gruta Glacial -en el Pasaje Oculto -en la Sede Galaxia -en el bazar -en el puesto de caramelos -en el taller -en la Compañía Ginkgo -en el puesto de trueque -en el redil -en la sastrería -en el salón de peluquería -en el estudio fotográfico -en la huerta -en el dojo -junto a la estatuilla sagrada -en la residencia -en la Playa del Errante -en la Mano de Arena -en la Senda del Peregrino -en el Ágora de la Plegaria -en la puerta principal -en la puerta costera -en la Vía Canal -en la Vía Aromaflor -en la Playa del Albor -en el Campo de Práctica -en un lugar desconocido -en la Arena del Escenario -en la Arena del Magma -en la Arena del Glaciar -en las Termas Nevavista -en la planta baja -en la primera planta -en la segunda planta -en el sótano -en la Palestra Ursa -en la Llanura Diamante -en el Cerro Aipom -en las Albuferas Chapuzón -en la Bahía Silente +Villa Jubileo +Pradera Obsidiana +Pantanal Carmesí +Costa Cobalto +Ladera Corona +Tundra Alba +Antigua Aldea Oculta +Colina del Anhelo +Prado Herradura +Senda del Venado +Loma del Venado +Cascada Obsidiana +Gruta Pirita +Alacena del Bosque +Bosque Recóndito +Arena del Gran Árbol +Foresta Funesta +Lago Veraz +Planicie Arena +Presa del Estuario +Campo Aromaflor +Isla Hansa +base de la pradera +base de la loma +Vereda del Viento +Campo Aromaflor +Puente Erosionado +Roca musgo +Pradera Áurea +Ruinas Sosiego +Ciénaga Bocazas +Loma Lodosa +Ciénaga Bermeja +Ladera Derrumbe +Poblado Diamante +Lago Valor +Rellano Nebuloso +Ruinas de la Niebla + +Banco del Juicio +Pradera Aleteo +base del pantanal +base del páramo +Paso Costanero +Playa Ginkgo +Arboleda Tétrica +Cala Oculta +Camino del Tómbolo +Cabo Rocavelo +Vergel Marino +Isla Escupefuego +Casa de Erio +Vía Manantial +Guarida del Gran Pez +Costa Ínsola +Bosque Rompeviento + +Gruta Pasamar +Cueva Costera +base de la playa +base de la costa +Cueva Retorno +Altar Domo Lava +base de la ladera +Loma Sagrada +Bosque Extravío +Cantera Ancestral +Senda Celestial +Manantial Solitario +Fuente de las Hadas +Cordillera Derrumbe +Cañón Lítico + +Caverna Inmemorial +Risco Riscoso +Ruinas Celestiales +Arena de la Luna +base de la cima +Paso Píleo +Columnas Lanza +Cueva Extravío +base de las nieves +Valle Nevasca +Pasaje de la Grieta +Páramo Algente + +Témpano Avalugg +Terraza Glaciar +Lago Agudeza +Templo Puntaneva +Caverna Hiberna +Cascada Glaliar +Desfiladero Alud +Senda de la Arena +Poblado Perla +Peñasco Espíritu +Cámara Carámbano +base del glaciar +Caverna Veraz +Caverna Valor +Prado Erióforo +base de la montaña +Umbral Pétreo +Templo de Sinnoh +Roca helada +Caverna Agudeza +Gruta Glacial +Pasaje Oculto +Sede Galaxia +Bazar +Puesto de caramelos +Taller +Compañía Ginkgo +Puesto de trueque +Redil +Sastrería +Salón de peluquería +Estudio fotográfico +Huerta +Dojo +Estatuilla sagrada +Residencia +Playa del Errante +Mano de Arena +Senda del Peregrino +Ágora de la Plegaria +Puerta principal +Puerta costera +Vía Canal +Vía Aromaflor +Playa del Albor +Campo de Práctica +Lugar desconocido +Arena del Escenario +Arena del Magma +Arena del Glaciar +Termas Nevavista +Planta baja +Primera planta +Segunda planta +Sótano +Palestra Ursa +Llanura Diamante +Cerro Aipom +Albuferas Chapuzón +Bahía Silente Sede Galaxia Puerta principal Huerta -Dojo +Dojo \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_fr.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_fr.txt index 5202d081f..7e9a0ab64 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_fr.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_fr.txt @@ -1,156 +1,156 @@ ---------- -dans un endroit mystérieux +Endroit mystérieux -dans un endroit lointain +Endroit lointain -à Rusti-Cité -dans les Plaines Obsidiennes -au Marais Carmin -sur la Côte Lazuli -au Contrefort Couronné -sur les Terres Immaculées -au Hameau Oublié -sur la Colline Ambition -dans le Val Ferrache -sur le Sentier Cer-Mont -sur le Plateau Cer-Mont -à la Chute d’Obsidienne -dans le Tunnel de Fer -au Cellier Champêtre -dans la Forêt Lointaine -à l’Arène du Grand Arbre -dans le Bocage Agité -au Lac Vérité -dans la Plaine Littorella -sur la Digue de l’Estuaire -dans le Champ Flora -sur l’Île Rosa Rugosa -au Bivouac des Plaines -au Bivouac du Plateau -sur la Rive Filevent -dans le Champ Flora -sur le Pont Rocheux -au Rocher Moussu -dans la Plaine d’Or -aux Ruines Bonvivre -au Marais Bouchebée -sur le Plateau Tourbeux -au Marais Carlate -sur la Pente des Gringoles -au Hameau Diamant -au Lac Courage -au Col Mer-de-Nuages -aux Ruines Brumeuses -[~ 44] -sur l’Île de l’Épreuve -dans le Champ Bourdonne -au Bivouac du Marais -au Bivouac de la Friche -sur le Coteau du Passage -sur la Plage Ginkgo -sur la Rive des Revenants -dans la Crique Paisible -sur la Presqu’île Tombolo -au Cap du Voile -dans le Havre des Algues -sur l’Île Crache-Feu -chez Graham -sur le Chemin de la Source -à l’Arche Poissigrand -sur la Plage Long-des-Îles -au Bois Brise-Vent -[~ 62] -au Passage des Marées -au Creux du Cap -au Bivouac des Plages -au Bivouac Côtier -dans la Grotte du Retour -à l’Autel de la Caldeira -au Bivouac Contrefort -dans les Hauts de l’Humilité -dans la Forêt des Égarés -dans l’Ancienne Carrière -sur le Sentier Céleste -à la Source Reculée -à la Source Féérique -au Mont des Gringoles -au Col Pierlevé -[~ 78] -dans la Grotte Préhistorique -sur la Falaise Calade -au Temple Céleste -à l’Arène de la Lune -au Bivouac des Cimes -au Passage des Nuages -aux Colonnes Lances -dans la Grotte des Égarés -au Bivouac des Neiges -dans la Vallée Enneigée -sur la Voie de Glace -sur l’Étendue Polaire -[~ 91] -au Glacier Séracrawl -sur la Terrasse du Glacier -au Lac Savoir -au Temple de Frimapic -dans la Grotte Hibernale -à la Chute d’Oglacé -sur la Pente de l’Avalanche -sur le Sentier de l’Arène -au Hameau Perle -au Rocher Esprit -dans la Chambre des Piliers -au Bivouac du Glacier -dans la Caverne Vérité -dans la Caverne Courage -dans la Lande Herbacoton -au Bivouac de Montagne -à la Porte de Pierre -au Temple de Sinnoh -à la Pierre Gelée -dans la Caverne Savoir -dans le Souterrain de Givre -dans la Grotte Secrète -au Siège du Groupe Galaxie -dans la Boutique -au Stand de Bonbons -dans l’Atelier -à la Compagnie Ginkgo -à l’Étal d’Échanges -sur l’Aire de Pâturage -à la Maison du Textile -chez Art Capillaire -chez le Photographe -au Verger -au Dojo -à la Statuette Gardienne -au Logis -sur la Plage de l’Errance -à la Main de Sable -sur le Sentier des Pèlerins -sur le Parvis des Prières -à la Porte Principale -à la Porte Maritime -sur Joliallée -sur Florallée -sur la Plage Premiépas -sur l’Aire d’Initiation -dans un endroit inconnu -à l’Arène du Théâtre -à l’Arène de la Lave -à l’Arène de l’Iceberg -à la Source Panora-Neige -au rez-de-chaussée -au 1ᵉʳ étage -au 2ᵉ étage -au sous-sol -à l’Arène Ursa -à la Lisière du Hameau -au Mont des Capumain -à la Lagune des Bains -dans la Baie Sérénité -au Siège du Groupe Galaxie -à la Porte Principale -au Verger -au Dojo +Rusti-Cité +Plaines Obsidiennes +Marais Carmin +Côte Lazuli +Contrefort Couronné +Terres Immaculées +Hameau Oublié +Colline Ambition +Val Ferrache +Sentier Cer-Mont +Plateau Cer-Mont +Chute d’Obsidienne +Tunnel de Fer +Cellier Champêtre +Forêt Lointaine +Arène du Grand Arbre +Bocage Agité +Lac Vérité +Plaine Littorella +Digue de l’Estuaire +Champ Flora +Île Rosa Rugosa +Bivouac des Plaines +Bivouac du Plateau +Rive Filevent +Champ Flora +Pont Rocheux +Rocher Moussu +Plaine d’Or +Ruines Bonvivre +Marais Bouchebée +Plateau Tourbeux +Marais Carlate +Pente des Gringoles +Hameau Diamant +Lac Courage +Col Mer-de-Nuages +Ruines Brumeuses + +Île de l’Épreuve +Champ Bourdonne +Bivouac du Marais +Bivouac de la Friche +Coteau du Passage +Plage Ginkgo +Rive des Revenants +Crique Paisible +Presqu’île Tombolo +Cap du Voile +Havre des Algues +Île Crache-Feu +Maison de Graham +Chemin de la Source +Arche Poissigrand +Plage Long-des-Îles +Bois Brise-Vent + +Passage des Marées +Creux du Cap +Bivouac des Plages +Bivouac Côtier +Grotte du Retour +Autel de la Caldeira +Bivouac Contrefort +Hauts de l’Humilité +Forêt des Égarés +Ancienne Carrière +Sentier Céleste +Source Reculée +Source Féérique +Mont des Gringoles +Col Pierlevé + +Grotte Préhistorique +Falaise Calade +Temple Céleste +Arène de la Lune +Bivouac des Cimes +Passage des Nuages +Colonnes Lances +Grotte des Égarés +Bivouac des Neiges +Vallée Enneigée +Voie de Glace +Étendue Polaire + +Glacier Séracrawl +Terrasse du Glacier +Lac Savoir +Temple de Frimapic +Grotte Hibernale +Chute d’Oglacé +Pente de l’Avalanche +Sentier de l’Arène +Hameau Perle +Rocher Esprit +Chambre des Piliers +Bivouac du Glacier +Caverne Vérité +Caverne Courage +Lande Herbacoton +Bivouac de Montagne +Porte de Pierre +Temple de Sinnoh +Pierre Gelée +Caverne Savoir +Souterrain de Givre +Grotte Secrète +Siège Groupe Galaxie +Boutique +Stand de Bonbons +Atelier +Compagnie Ginkgo +Étal d’Échanges +Aire de Pâturage +Maison du Textile +Art Capillaire +Photographe +Verger +Dojo +Statuette Gardienne +Logis +Plage de l’Errance +Main de Sable +Sentier des Pèlerins +Parvis des Prières +Porte Principale +Porte Maritime +Joliallée +Florallée +Plage Premiépas +Aire d’Initiation +Endroit inconnu +Arène du Théâtre +Arène de la Lave +Arène de l’Iceberg +Source Panora-Neige +Rez-de-chaussée +1ᵉʳ étage +2ᵉ étage +Sous-sol +Arène Ursa +Lisière du Hameau +Mont des Capumain +Lagune des Bains +Baie Sérénité +Siège Groupe Galaxie +Porte Principale +Verger +Dojo \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_it.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_it.txt index 25de52808..70092ffc4 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_it.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_it.txt @@ -1,156 +1,156 @@ ---------- -in una zona misteriosa +Zona misteriosa -in un luogo remoto +Luogo remoto -al Villaggio Giubilo -nella Landa Ossidiana -all’Acquitrino Vermiglio -sulla Costa Oltremare -alle Pendici Corona -ai Ghiacci Candidi -alla Dimora Remota -sul Colle Ambizione -alla Piana Ferdicavallo -sul Sentiero Grancorno -sull’Altura Grancorno -alla Cascata Ossidiana -nel Tunnel Minerario -alla Cucina della Foresta -nella Foresta Lontana -all’Arena del Colosso -nel Bosco Ostico -al Lago Verità -alla Pianura Sabbiafine -alla Diga della Foce -nel Giardino Bonificato -sull’Isola Rosa Rugosa -alla Base della Landa -alla Base sull’Altura -alla Spianata Filavento -nel Giardino Bonificato -sul Ponte Eroso -al Masso Muschioso -nel Bassopiano Dorato -alle Rovine Flemma -alla Palude Boccalarga -sull’Altopiano Melmoso -alla Palude Purpurea -sul Pendio Rotolio -al Campo Diamante -al Lago Valore -sulla Cresta Mardinubi -alle Rovine Brumose -[~ 44] -sull’Isolotto della Prova -alla Piana del Frullo -alla Base dell’Acquitrino -alla Base Brulla -sul Clivo del Passaggio -alla Spiaggia Ginkgo -nel Fantasmeto -alla Cala Celata -sulla Via del Tombolo -sul Capo Rupevelo -nel Paradiso Erbamarina -sull’Isola Mangiafuoco -a Casa di Sinen -sul Sentiero Fonte -al Rifugio Pescegrosso -alla Spiaggia Ondisola -nella Foresta Controvento -[~ 62] -al Varco della Marea -nella Cavità Marina -alla Base sulla Spiaggia -alla Base della Costa -nella Grotta Ritorno -al Tempietto Cratere -alla Base sulle Pendici -sull’Altura del Divino -nel Bosco Labirinto -nella Cava degli Antichi -sul Sentiero dei Memordei -alla Sorgente Recondita -alla Fonte Folletto -sul Massiccio Rotolio -sulla Cresta Pietrinfila -[~ 78] -nella Caverna Primitiva -alle Scarpate Scalande -al Tempio dei Memordei -all’Arena Accogliluna -alla Base della Vetta -sul Passo Nubiloso -sulla Vetta Lancia -nella Grotta Labirinto -alla Base delle Nevi -alla Valle Nevefitta -sulla Via del Crepaccio -alla Distesa Polare -[~ 91] -ai Blocchi d’Avalugg -alla Scala del Ghiacciaio -al Lago Arguzia -al Tempio di Punta Neve -nella Caverna del Letargo -alla Cascata Tuttogelo -sul Pendio Valanga -sulla Via dell’Arena -al Campo Perla -alla Roccia dello Spirito -al Colonnato Glaciale -alla Base dei Ghiacci -nella Grotta Verità -nella Grotta Valore -al Prato dei Pennacchi -alla Base di Montagna -alla Porta di Roccia -al Tempio di Sinnoh -al Masso Ghiacciato -nella Grotta Arguzia -nel Cunicolo dei Ghiacci -nella Grotta Segreta -alla Sede del Team Galassia -all’Emporio -al Chiosco di Caramelle -alla Bottega -alla Ditta Ginkgo -al Banco degli Scambi -al Pascolo -alla Sartoria -al Salone Acconciature -allo Studio Fotografico -al Podere -all’Area Allenamento -alla Pietra degli Amuleti -all’Alloggio -al Lido degli Sperduti -alla Mano di Sabbia -sulla Via dei Pellegrini -alla Piazza della Preghiera -alla Porta Principale -alla Porta della Spiaggia -in Via Canale -in Corso Fiorito -alla Spiaggia Origine -allo Spiazzo Allenamento -in un luogo sconosciuto -all’Arena della Ribalta -all’Arena della Lava -all’Arena dell’Iceberg -alle Terme Miraneve -al piano terra -al primo piano -al secondo piano -nel piano interrato -al Ring Ursino -alla Radura Diamante -sul Monte degli Aipom -nella Laguna Bagnetto -nel Mar Silente -alla Sede del Team Galassia -alla Porta Principale -al Podere -all’Area Allenamento +Villaggio Giubilo +Landa Ossidiana +Acquitrino Vermiglio +Costa Oltremare +Pendici Corona +Ghiacci Candidi +Dimora Remota +Colle Ambizione +Piana Ferdicavallo +Sentiero Grancorno +Altura Grancorno +Cascata Ossidiana +Tunnel Minerario +Cucina della Foresta +Foresta Lontana +Arena del Colosso +Bosco Ostico +Lago Verità +Pianura Sabbiafine +Diga della Foce +Giardino Bonificato +Isola Rosa Rugosa +Base della Landa +Base sull’Altura +Spianata Filavento +Giardino Bonificato +Ponte Eroso +Masso Muschioso +Bassopiano Dorato +Rovine Flemma +Palude Boccalarga +Altopiano Melmoso +Palude Purpurea +Pendio Rotolio +Campo Diamante +Lago Valore +Cresta Mardinubi +Rovine Brumose + +Isolotto della Prova +Piana del Frullo +Base dell’Acquitrino +Base Brulla +Clivo del Passaggio +Spiaggia Ginkgo +Fantasmeto +Cala Celata +Via del Tombolo +Capo Rupevelo +Paradiso Erbamarina +Isola Mangiafuoco +Casa di Sinen +Sentiero Fonte +Rifugio Pescegrosso +Spiaggia Ondisola +Foresta Controvento + +Varco della Marea +Cavità Marina +Base sulla Spiaggia +Base della Costa +Grotta Ritorno +Tempietto Cratere +Base sulle Pendici +Altura del Divino +Bosco Labirinto +Cava degli Antichi +Sentiero Memordei +Sorgente Recondita +Fonte Folletto +Massiccio Rotolio +Cresta Pietrinfila + +Caverna Primitiva +Scarpate Scalande +Tempio dei Memordei +Arena Accogliluna +Base della Vetta +Passo Nubiloso +Vetta Lancia +Grotta Labirinto +Base delle Nevi +Valle Nevefitta +Via del Crepaccio +Distesa Polare + +Blocchi d’Avalugg +Scala del Ghiacciaio +Lago Arguzia +Tempio di Punta Neve +Caverna del Letargo +Cascata Tuttogelo +Pendio Valanga +Via dell’Arena +Campo Perla +Roccia dello Spirito +Colonnato Glaciale +Base dei Ghiacci +Grotta Verità +Grotta Valore +Prato dei Pennacchi +Base di Montagna +Porta di Roccia +Tempio di Sinnoh +Masso Ghiacciato +Grotta Arguzia +Cunicolo dei Ghiacci +Grotta Segreta +Sede Team Galassia +Emporio +Chiosco di Caramelle +Bottega +Ditta Ginkgo +Banco degli Scambi +Pascolo +Sartoria +Salone Acconciature +Studio Fotografico +Podere +Area Allenamento +Pietra degli Amuleti +Alloggio +Lido degli Sperduti +Mano di Sabbia +Via dei Pellegrini +Piazza Preghiera +Porta Principale +Porta della Spiaggia +Via Canale +Corso Fiorito +Spiaggia Origine +Spiazzo Allenamento +Luogo sconosciuto +Arena della Ribalta +Arena della Lava +Arena dell’Iceberg +Terme Miraneve +Piano terra +Primo piano +Secondo piano +Piano interrato +Ring Ursino +Radura Diamante +Monte degli Aipom +Laguna Bagnetto +Mar Silente +Sede del Team Galassia +Porta Principale +Podere +Area Allenamento \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ja.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ja.txt index a5f8f7729..fa10ac9b1 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ja.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ja.txt @@ -19,7 +19,7 @@ くろがねトンネル もりのだいどころ おくのもり -きょぼくのせんじょう +きょぼくのいくさば けわしばやし シンジこ マサゴへいげん @@ -31,19 +31,19 @@ かぜぬけみち そのおのかいこんち けずらればし -苔むした岩 +こけむしたいわ こんじきのへいや ズイのいせき おおぐちのぬま ヘドロだいち -こうけつぬま +しんくぬま ゴロゴロざか コンゴウしゅうらく リッシこ うんかいとうげ きりのいせき -[~ 44] -クマのけいこば + +しれんのなかす はおとのはら しっちベース あれちベース @@ -60,7 +60,7 @@ おおうおのかくれいわ しまなみはま かぜさらしのもり -[~ 62] + しおのぬけみち うみべのこあな すなはまベース @@ -76,31 +76,31 @@ フェアリーのいずみ ゴロゴロさんち れっせきとうげ -[~ 78] + たいこのほらあな がけのぼりがけ カミナギじいんあと -げいげつのせんじょう +げいげつのいくさば さんちょうベース かさぐものきりとおし やりのはしら -まよいのすいろ +まよいのどうくつ せつげんベース ごうせつだに クレバスのぬけみち ごっかんのあれち -[~ 91] + クレベースひょうかい ひょうがのだんきゅう エイチこ キッサキしんでん ふゆごもりのほらあな -おにごおりだき +おにごおりたき なだれざか -ひょうざんのいくさば +いくさばへのみち シンジュしゅうらく しんぎょういわやま -ふとうのいずみ +ひょうちゅうのま ひょうざんベース シンジこのくうどう リッシこのくうどう @@ -112,22 +112,22 @@ エイチこのくうどう ひょうざんのちかどう ひみつのよこあな -ギンガ団本部 -雑貨屋 -アメ屋 -クラフト屋 -イチョウ商会 -交換屋 -放牧場 -呉服屋 -散髪屋 -写真屋 -農場 -訓練場 -おまもり石 -[VAR 0100(0000)]の部屋 -迷子の磯辺 -砂の手 +ギンガだんほんぶ +ざっかや +アメや +クラフトや +イチョウしょうかい +こうかんや +ほうぼくじょう +ごふくや +さんぱつや +しゃしんや +のうじょう +くんれんじょう +おまもりいし +しゅくしゃ +まいごのいそべ +すなのて じゅんれいしゃのみち いのりのひろば おもてもん @@ -140,17 +140,17 @@ ぶたいのいくさば ようがんのいくさば ひょうざんのいくさば -雪見の出で湯 -1階 -2階 -3階 -地下1階 -クマの稽古場 -コンゴウの里山 -エイパム山 -水浴び潟 -静かな内海 +ゆきみのいでゆ +1かい +2かい +3かい +ちか1かい +クマのけいこば +コンゴウのさとやま +エイパムやま +みずあびがた +しずかなうちうみ ほんぶまえ おもてもんまえ -はたけまえ -くんれんじょうまえ +のうじょうまえ +くんれんじょうまえ \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ko.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ko.txt index 3e5841d6c..8163ac3b5 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ko.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_ko.txt @@ -42,7 +42,7 @@ 입지호수 구름바다 고개 안개의 유적 -[~ 44] + 시련의 모래톱 날갯소리 들판 습지 기지 @@ -60,7 +60,7 @@ 큰물고기의 암초 섬줄기 해변 바람막이 숲 -[~ 62] + 바닷물 샛길 바닷가 작은 굴 모래해변 기지 @@ -76,7 +76,7 @@ 페어리의 샘 데굴데굴 산지 열석 고개 -[~ 78] + 태고의 동굴 등반 절벽 공신 사원터 @@ -89,7 +89,7 @@ 폭설 골짜기 크레바스 샛길 극한의 황무지 -[~ 91] + 크레베이스 빙괴 빙하 단구 예지호수 @@ -153,4 +153,4 @@ 본부 앞 정문 앞 농장 앞 -훈련장 앞 +훈련장 앞 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh.txt index 63b14d158..0d7307a40 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh.txt @@ -42,7 +42,7 @@ 立志湖 云海山道 云雾遗迹 -[~ 44] + 试炼沙洲 羽音原野 湿地基地 @@ -60,7 +60,7 @@ 大鱼隐岩 望岛滩 迎风林 -[~ 62] + 潮路 海边小洞 沙滩基地 @@ -76,7 +76,7 @@ 妖精之泉 隆隆山地 列石山道 -[~ 78] + 太古洞穴 攀崖崖 神阖寺院遗址 @@ -89,7 +89,7 @@ 雪涛谷 冰隙小径 酷寒荒地 -[~ 91] + 冰岩块 冰河阶坡 睿智湖 @@ -153,4 +153,4 @@ 总部前 正门前 农场前 -训练场前 +训练场前 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh2.txt index 1153b8eab..c352a3142 100644 --- a/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh2.txt +++ b/PKHeX.Core/Resources/text/locations/gen8a/text_la_00000_zh2.txt @@ -35,14 +35,14 @@ 金色平野 隨意遺跡 大嘴沼澤 -泥炭臺地 +泥炭台地 緋紅沼 隆隆坡 金剛聚落 立志湖 雲海山道 雲霧遺跡 -[~ 44] + 試煉沙洲 羽音原野 濕地基地 @@ -60,7 +60,7 @@ 大魚隱岩 望島灘 迎風林 -[~ 62] + 潮路 海邊小洞 沙灘基地 @@ -76,7 +76,7 @@ 妖精之泉 隆隆山地 列石山道 -[~ 78] + 太古洞穴 攀崖崖 神闔寺院遺址 @@ -86,10 +86,10 @@ 槍之柱 迷幻洞窟 雪原基地 -雪濤穀 +雪濤谷 冰隙小徑 酷寒荒地 -[~ 91] + 冰岩塊 冰河階坡 睿智湖 @@ -104,7 +104,7 @@ 冰山基地 心齊湖洞窟 立志湖洞窟 -羊胡草原 +羊鬍草原 山中基地 岩門 神奧神殿 @@ -124,7 +124,7 @@ 照相館 農場 訓練場 -禦護石 +御護石 宿舍 離散石灘 沙手 @@ -137,7 +137,7 @@ 起始海灘 野外訓練場 陌生的地方 -舞臺戰場 +舞台戰場 熔岩戰場 冰山戰場 觀雪溫泉 @@ -153,4 +153,4 @@ 總部前 正門前 農場前 -訓練場前 +訓練場前 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_de.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_de.txt new file mode 100644 index 000000000..e06c6f362 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_de.txt @@ -0,0 +1,132 @@ +---------- + +Mysteriöser Ort + +Ferner Ort + +Südliche Zone 1 + +Mesalona City + +Pokémon-Liga + +Südliche Zone 2 + +Südliche Zone 4 + +Südliche Zone 6 + +Südliche Zone 5 + +Südliche Zone 3 + +Westliche Zone 1 + +Brutzelwüste + +Westliche Zone 2 + +Westliche Zone 3 + +Schmierhain + +Östliche Zone 3 + +Östliche Zone 1 + +Östliche Zone 2 + +Montanata + +Caldero-See + +Montanata + +Nördliche Zone 3 + +Nördliche Zone 1 + +Nördliche Zone 2 + +Schlund von Paldea + +Tor Null + +Tor Null + +Südliches Meer von Paldea + +Westliches Meer von Paldea + +Östliches Meer von Paldea + +Nördliches Meer von Paldea + +Meeresbuchthöhle + +Südliche Zone 6 +Asarilla-Grotte +Montanata +Mesclores-Passage +Cucharico-Pfad + +Mesalona City + +Mesalona City + +Garrafosa City + +Fermanca City + +Cucharico + +Pratolido + +Moldrid + +Bolardin + +Puerto Marinedo + +Mesclarra + +Pinchores + +Frigomonta + +Asarilla + +Nördliche Zone 2 +Versteck der Caph-Bande +Westliche Zone 1 +Versteck der Segin-Bande +Nördliche Zone 3 +Versteck der Rukbat-Bande +Östliche Zone 1 +Versteck der Schedir-Bande +Schmierhain +Versteck der Tsih-Bande +Caldero-See +Knusperwaldweg +Zone Null +Observationsstation 1 +Zone Null +Observationsstation 2 +Zone Null +Observationsstation 3 +Zone Null +Observationsstation 4 +Labor Null + +Labor Null + +Labor Null + +Zone Null + +Zone Null + +Zone Null + +Orangen-Akademie +Trauben-Akademie \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_en.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_en.txt new file mode 100644 index 000000000..c72593de4 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_en.txt @@ -0,0 +1,132 @@ +—————— + +Mystery Zone + +Faraway place + +South Province (Area One) + +Mesagoza + +Pokémon League + +South Province (Area Two) + +South Province (Area Four) + +South Province (Area Six) + +South Province (Area Five) + +South Province (Area Three) + +West Province (Area One) + +Asado Desert + +West Province (Area Two) + +West Province (Area Three) + +Tagtree Thicket + +East Province (Area Three) + +East Province (Area One) + +East Province (Area Two) + +Glaseado Mountain + +Casseroya Lake + +Glaseado Mountain + +North Province (Area Three) + +North Province (Area One) + +North Province (Area Two) + +Great Crater of Paldea + +Zero Gate + +Zero Gate + +South Paldean Sea + +West Paldean Sea + +East Paldean Sea + +North Paldean Sea + +Inlet Grotto + +South Province (Area Six) +Alfornada Cavern +Glaseado Mountain +Dalizapa Passage +Poco Path + +Mesagoza + +Mesagoza + +Cascarrafa + +Levincia + +Cabo Poco + +Los Platos + +Cortondo + +Artazon + +Porto Marinada + +Medali + +Zapapico + +Montenevera + +Alfornada + +North Province (Area Two) +Caph Squad’s Base +West Province (Area One) +Segin Squad’s Base +North Province (Area Three) +Ruchbah Squad’s Base +East Province (Area One) +Schedar Squad’s Base +Tagtree Thicket +Navi Squad’s Base +Casseroya Lake +Socarrat Trail +Area Zero +Research Station No. 1 +Area Zero +Research Station No. 2 +Area Zero +Research Station No. 3 +Area Zero +Research Station No. 4 +Zero Lab + +Zero Lab + +Zero Lab + +Area Zero + +Area Zero + +Area Zero + +Naranja Academy +Uva Academy \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_es.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_es.txt new file mode 100644 index 000000000..19424d4cc --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_es.txt @@ -0,0 +1,132 @@ +- + +lugar misterioso + +lugar lejano + +Área 1 (Sur) + +Ciudad Meseta + +Liga Pokémon + +Área 2 (Sur) + +Área 4 (Sur) + +Área 6 (Sur) + +Área 5 (Sur) + +Área 3 (Sur) + +Área 1 (Oeste) + +Desierto Rostiz + +Área 2 (Oeste) + +Área 3 (Oeste) + +Bosquejada + +Área 3 (Este) + +Área 1 (Este) + +Área 2 (Este) + +Sierra Napada + +Lago Cazola + +Sierra Napada + +Área 3 (Norte) + +Área 1 (Norte) + +Área 2 (Norte) + +foso de Paldea + +Puerta Cero + +Puerta Cero + +Mar Meridional de Paldea + +Mar Occidental de Paldea + +Mar Oriental de Paldea + +Mar Septentrional de Paldea + +Gruta Caleta + +Área 6 (Sur) +Sima de Alforno +Sierra Napada +Gruta Vestura +Sendero de Cahíz + +Ciudad Meseta + +Ciudad Meseta + +Ciudad Cántara + +Ciudad Leudal + +Pueblo Cahíz + +Pueblo Ataifor + +Pueblo Pirotín + +Pueblo Altamía + +Pueblo Marinada + +Pueblo Mestura + +Pueblo Veta + +Pueblo Hozkailu + +Pueblo Alforno + +Área 2 (Norte) +Base del Escuadrón Caph +Área 1 (Oeste) +Base del Escuadrón Segin +Área 3 (Norte) +Base del Escuadrón Ruchbah +Área 1 (Este) +Base del Escuadrón Schedar +Bosquejada +Base del Escuadrón Tsih +Lago Cazola +Alameda Socarrada +Área Cero +unidad de observación 1 +Área Cero +unidad de observación 2 +Área Cero +unidad de observación 3 +Área Cero +unidad de observación 4 +Laboratorio Cero + +Laboratorio Cero + +Laboratorio Cero + +Área Cero + +Área Cero + +Área Cero + +Academia Naranja +Academia Uva \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_fr.txt new file mode 100644 index 000000000..3dc3f3f71 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_fr.txt @@ -0,0 +1,132 @@ +---------- + +Endroit mystérieux + +Endroit lointain + +Zone Sud nº 1 + +Mesaledo + +Ligue Pokémon + +Zone Sud nº 2 + +Zone Sud nº 4 + +Zone Sud nº 6 + +Zone Sud nº 5 + +Zone Sud nº 3 + +Zone Ouest nº 1 + +Désert Rôtissable + +Zone Ouest nº 2 + +Zone Ouest nº 3 + +Bosquet Tagué + +Zone Est nº 3 + +Zone Est nº 1 + +Zone Est nº 2 + +Mont Nappé + +Lac Asrol + +Mont Nappé + +Zone Nord nº 3 + +Zone Nord nº 1 + +Zone Nord nº 2 + +Cratère de Paldea + +Portail Zéro + +Portail Zéro + +Mer du Sud de Paldea + +Mer de l’Ouest de Paldea + +Mer de l’Est de Paldea + +Mer du Nord de Paldea + +Caverne de la Crique + +Zone Sud nº 6 +Grotte d’Alforneira +Mont Nappé +Tunnel Mezcla-Pincho +Route de Cuchalaga + +Mesaledo + +Mesaledo + +Jarramanca + +Levalendura + +Cuchalaga + +Plato Real + +Sevaro + +Cuencia + +Porto Marinada + +Mezclamora + +Pinchoria + +Frigao + +Alforneira + +Zone Nord nº 2 +Repaire du Groupe Caph +Zone Ouest nº 1 +Repaire du Groupe Segin +Zone Nord nº 3 +Repaire du Groupe Ruchbah +Zone Est nº 1 +Repaire du Groupe Schedar +Bosquet Tagué +Repaire du Groupe Tsih +Lac Asrol +Forêt Toastée +Zone Zéro +Poste d’Observation 1 +Zone Zéro +Poste d’Observation 2 +Zone Zéro +Poste d’Observation 3 +Zone Zéro +Poste d’Observation 4 +Laboratoire Zéro + +Laboratoire Zéro + +Laboratoire Zéro + +Zone Zéro + +Zone Zéro + +Zone Zéro + +Académie Orange +Académie Raisin \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_it.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_it.txt new file mode 100644 index 000000000..a329e3181 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_it.txt @@ -0,0 +1,132 @@ +---------- + +Zona misteriosa + +Luogo remoto + +Area 1 Sud + +Mesapoli + +Lega Pokémon + +Area 2 Sud + +Area 4 Sud + +Area 6 Sud + +Area 5 Sud + +Area 3 Sud + +Area 1 Ovest + +Deserto Alasar + +Area 2 Ovest + +Area 3 Ovest + +Boschetto dei Segni + +Area 3 Est + +Area 1 Est + +Area 2 Est + +Sierra Napada + +Lago Gran Caldero + +Sierra Napada + +Area 3 Nord + +Area 1 Nord + +Area 2 Nord + +Voragine di Paldea + +Varco Zero + +Varco Zero + +Mare di Paldea (sud) + +Mare di Paldea (ovest) + +Mare di Paldea (est) + +Mare di Paldea (nord) + +Grotta della Baia + +Area 6 Sud +Caverna di Las Brasas +Sierra Napada +Passaggio Mescadia +Sentiero di Dosilla + +Mesapoli + +Mesapoli + +Garrafopoli + +Leudapoli + +Dosilla + +Platia + +Moldulcia + +Los Tazones + +Marinada + +Mesturia + +Picadia + +Neveria + +Las Brasas + +Area 2 Nord +Base della Banda Caph +Area 1 Ovest +Base della Banda Segin +Area 3 Nord +Base della Banda Ruchbah +Area 1 Est +Base della Banda Schedar +Boschetto dei Segni +Base della Banda Tsih +Lago Gran Caldero +Bosco Torrado +Area Zero +Stazione di Monitoraggio 1 +Area Zero +Stazione di Monitoraggio 2 +Area Zero +Stazione di Monitoraggio 3 +Area Zero +Stazione di Monitoraggio 4 +Laboratorio Zero + +Laboratorio Zero + +Laboratorio Zero + +Area Zero + +Area Zero + +Area Zero + +Accademia Arancia +Accademia Uva \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ja.txt new file mode 100644 index 000000000..c8535a2bf --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ja.txt @@ -0,0 +1,132 @@ +---------- + +なぞの場所 + +遠い場所 + +南1番エリア + +テーブルシティ + +ポケモンリーグ + +南2番エリア + +南4番エリア + +南6番エリア + +南5番エリア + +南3番エリア + +西1番エリア + +ロースト砂漠 + +西2番エリア + +西3番エリア + +しるしの木立ち + +東3番エリア + +東1番エリア + +東2番エリア + +ナッペ山 + +オージャの湖 + +ナッペ山 + +北3番エリア + +北1番エリア + +北2番エリア + +パルデアの大穴 + +ゼロゲート + +ゼロゲート + +南パルデア海 + +西パルデア海 + +東パルデア海 + +北パルデア海 + +入り江のほら穴 + +南6番エリア +ベイク空洞 +ナッペ山 +プルピケ山道 +コサジの小道 + +テーブルシティ + +テーブルシティ + +カラフシティ + +ハッコウシティ + +コサジタウン + +プラトタウン + +セルクルタウン + +ボウルタウン + +マリナードタウン + +チャンプルタウン + +ピケタウン + +フリッジタウン + +ベイクタウン + +北2番エリア +チーム・カーフのアジト +西1番エリア +チーム・セギンのアジト +北3番エリア +チーム・ルクバーのアジト +東1番エリア +チーム・シェダルのアジト +しるしの木立ち +チーム・シーのアジト +オージャの湖 +オコゲ林道 +エリアゼロ +第1観測ユニット +エリアゼロ +第2観測ユニット +エリアゼロ +第3観測ユニット +エリアゼロ +第4観測ユニット +ゼロラボ + +ゼロラボ + +ゼロラボ + +エリアゼロ + +エリアゼロ + +エリアゼロ + +オレンジアカデミー +グレープアカデミー \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ko.txt new file mode 100644 index 000000000..a45b8f3b0 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_ko.txt @@ -0,0 +1,132 @@ +---------- + +수수께끼의 장소 + +먼 곳 + +남부 에리어 1 + +테이블시티 + +포켓몬리그 + +남부 에리어 2 + +남부 에리어 4 + +남부 에리어 6 + +남부 에리어 5 + +남부 에리어 3 + +서부 에리어 1 + +로스트 사막 + +서부 에리어 2 + +서부 에리어 3 + +표식의 나무숲 + +동부 에리어 3 + +동부 에리어 1 + +동부 에리어 2 + +나페산 + +오야 호수 + +나페산 + +북부 에리어 3 + +북부 에리어 1 + +북부 에리어 2 + +팔데아의 대공 + +제로게이트 + +제로게이트 + +남팔데아해 + +서팔데아해 + +동팔데아해 + +북팔데아해 + +후미진 동굴 + +남부 에리어 6 +베이크 공동 +나페산 +푸르피케 산길 +티스푼 오솔길 + +테이블시티 + +테이블시티 + +카라프시티 + +누룩스시티 + +티스푼마을 + +플라토마을 + +세르클마을 + +보울마을 + +마리네이드마을 + +참푸르마을 + +피케마을 + +프리지마을 + +베이크마을 + +북부 에리어 2 +팀 카프 아지트 +서부 에리어 1 +팀 세긴 아지트 +북부 에리어 3 +팀 루크바 아지트 +동부 에리어 1 +팀 쉐다르 아지트 +표식의 나무숲 +팀 시 아지트 +오야 호수 +누룽지 숲길 +에리어 제로 +관측 유닛 1호 +에리어 제로 +관측 유닛 2호 +에리어 제로 +관측 유닛 3호 +에리어 제로 +관측 유닛 4호 +제로랩 + +제로랩 + +제로랩 + +에리어 제로 + +에리어 제로 + +에리어 제로 + +오렌지 아카데미 +그레이프 아카데미 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh.txt new file mode 100644 index 000000000..bd2d77942 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh.txt @@ -0,0 +1,132 @@ +---------- + +神秘的地方 + +遥远的地方 + +南第1区 + +桌台市 + +宝可梦联盟 + +南第2区 + +南第4区 + +南第6区 + +南第5区 + +南第3区 + +西第1区 + +烘烘沙漠 + +西第2区 + +西第3区 + +印记树林 + +东第3区 + +东第1区 + +东第2区 + +霜抹山 + +大锅湖 + +霜抹山 + +北第3区 + +北第1区 + +北第2区 + +帕底亚巨坑 + +零区闸口 + +零区闸口 + +南帕底亚海 + +西帕底亚海 + +东帕底亚海 + +北帕底亚海 + +海湾洞穴 + +南第6区 +焙固空洞 +霜抹山 +锦穴山道 +小匙小径 + +桌台市 + +桌台市 + +玻瓶市 + +酿光市 + +小匙镇 + +平碟镇 + +圆模镇 + +深钵镇 + +渍沁镇 + +锦汇镇 + +穴扎镇 + +冰柜镇 + +焙固镇 + +北第2区 +王良一小队基地 +西第1区 +阁道二小队基地 +北第3区 +阁道三小队基地 +东第1区 +王良四小队基地 +印记树林 +策星小队基地 +大锅湖 +锅巴林道 +第零区 +第1观测站 +第零区 +第2观测站 +第零区 +第3观测站 +第零区 +第4观测站 +零区研究所 + +零区研究所 + +零区研究所 + +第零区 + +第零区 + +第零区 + +橘子学院 +葡萄学院 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh2.txt new file mode 100644 index 000000000..627fe15e5 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_00000_zh2.txt @@ -0,0 +1,132 @@ +---------- + +神秘的地方 + +遙遠的地方 + +南第1區 + +桌台市 + +寶可夢聯盟 + +南第2區 + +南第4區 + +南第6區 + +南第5區 + +南第3區 + +西第1區 + +烘烘沙漠 + +西第2區 + +西第3區 + +印記樹林 + +東第3區 + +東第1區 + +東第2區 + +霜抹山 + +大鍋湖 + +霜抹山 + +北第3區 + +北第1區 + +北第2區 + +帕底亞巨坑 + +零區閘口 + +零區閘口 + +南帕底亞海 + +西帕底亞海 + +東帕底亞海 + +北帕底亞海 + +海灣洞穴 + +南第6區 +焙固空洞 +霜抹山 +錦穴山道 +小匙小徑 + +桌台市 + +桌台市 + +玻瓶市 + +釀光市 + +小匙鎮 + +平碟鎮 + +圓模鎮 + +深缽鎮 + +漬沁鎮 + +錦匯鎮 + +穴扎鎮 + +冰櫃鎮 + +焙固鎮 + +北第2區 +王良一小隊基地 +西第1區 +閣道二小隊基地 +北第3區 +閣道三小隊基地 +東第1區 +王良四小隊基地 +印記樹林 +策星小隊基地 +大鍋湖 +鍋巴林道 +第零區 +第1觀測站 +第零區 +第2觀測站 +第零區 +第3觀測站 +第零區 +第4觀測站 +零區研究所 + +零區研究所 + +零區研究所 + +第零區 + +第零區 + +第零區 + +橘子學院 +葡萄學院 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_de.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_de.txt new file mode 100644 index 000000000..00e7f342d --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_de.txt @@ -0,0 +1,25 @@ + +Link-Tausch +Link-Tausch +Kanto-Region +Johto-Region +Hoenn-Region +Sinnoh-Region +Fernes Land +---------- +Einall-Region +Kalos-Region +Pokémon-Link +Pokémon GO +Kanto-Region +Hoenn-Region +Alola-Region +Pokémon-Resort +Johto-Region +Pokémon HOME +Kanto-Region +Galar-Region +Hisui-Region +Sinnoh-Region +Picknick +Kristallgrotte \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_en.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_en.txt new file mode 100644 index 000000000..9b1eb8478 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_en.txt @@ -0,0 +1,25 @@ + +a Link Trade +a Link Trade +the Kanto region +the Johto region +the Hoenn region +the Sinnoh region +a distant land +—————— +the Unova region +the Kalos region +Pokémon Link +Pokémon GO +the Kanto region +the Hoenn region +the Alola region +Poké Pelago +the Johto region +Pokémon HOME +the Kanto region +the Galar region +the Hisui region +the Sinnoh region +a picnic +a crystal cavern \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_es.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_es.txt new file mode 100644 index 000000000..89ae68635 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_es.txt @@ -0,0 +1,25 @@ + +Intercambio en conexión +Intercambio en conexión +Kanto +Johto +Hoenn +Sinnoh +Tierra lejana +---------- +Teselia +Kalos +Nexo Pokémon +Pokémon GO +Kanto +Hoenn +Alola +Poké Resort +Johto +Pokémon HOME +Kanto +Galar +Hisui +Sinnoh +Pícnic +Cueva cristalina \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_fr.txt new file mode 100644 index 000000000..55c29344c --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_fr.txt @@ -0,0 +1,25 @@ + +Échange en réseau +Échange en réseau +Kanto +Johto +Hoenn +Sinnoh +Pays lointain +---------- +Unys +Kalos +Poké Lien +Pokémon GO +Kanto +Hoenn +Alola +Poké Loisir +Johto +Pokémon HOME +Kanto +Galar +Hisui +Sinnoh +Pique-nique +Grotte de cristal \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_it.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_it.txt new file mode 100644 index 000000000..4dfebe6dd --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_it.txt @@ -0,0 +1,25 @@ + +con uno scambio in link +con uno scambio in link +da Kanto +da Johto +da Hoenn +da Sinnoh +da una terra lontana +da ---------- +da Unima +da Kalos +con il Pokémon Link +da Pokémon GO +da Kanto +da Hoenn +da Alola +dal Poké Resort +da Johto +da Pokémon HOME +da Kanto +da Galar +da Hisui +da Sinnoh +durante un picnic +in una grotta dei cristalli \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ja.txt new file mode 100644 index 000000000..eee11d057 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ja.txt @@ -0,0 +1,25 @@ + +通信交換 +通信交換 +カントー地方 +ジョウト地方 +ホウエン地方 +シンオウ地方 +遠く離れた土地 +---------- +イッシュ地方 +カロス地方 +ポケモンリンク +Pokémon GO +カントー地方 +ホウエン地方 +アローラ地方 +ポケリゾート +ジョウト地方 +Pokémon HOME +カントー地方 +ガラル地方 +ヒスイ地方 +シンオウ地方 +ピクニック +結晶洞くつ \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ko.txt new file mode 100644 index 000000000..24a3be554 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_ko.txt @@ -0,0 +1,25 @@ + +통신교환 +통신교환 +관동지방 +성도지방 +호연지방 +신오지방 +아주 먼 땅 +---------- +하나지방 +칼로스지방 +포켓몬링크 +Pokémon GO +관동지방 +호연지방 +알로라지방 +포켓리조트 +성도지방 +Pokémon HOME +관동지방 +가라르지방 +히스이지방 +신오지방 +피크닉 +결정동굴 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh.txt new file mode 100644 index 000000000..0646e44b6 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh.txt @@ -0,0 +1,25 @@ + +连接交换 +连接交换 +关都地区 +城都地区 +丰缘地区 +神奥地区 +遥远的土地 +---------- +合众地区 +卡洛斯地区 +宝可梦连接 +Pokémon GO +关都地区 +丰缘地区 +阿罗拉地区 +宝可度假地 +城都地区 +Pokémon HOME +关都地区 +伽勒尔地区 +洗翠地区 +神奥地区 +野餐 +结晶洞窟 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh2.txt new file mode 100644 index 000000000..ec73d6f1e --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_30000_zh2.txt @@ -0,0 +1,25 @@ + +連線交換 +連線交換 +關都地區 +城都地區 +豐緣地區 +神奧地區 +遙遠的土地 +---------- +合眾地區 +卡洛斯地區 +寶可夢連結 +Pokémon GO +關都地區 +豐緣地區 +阿羅拉地區 +寶可度假地 +城都地區 +Pokémon HOME +關都地區 +伽勒爾地區 +洗翠地區 +神奧地區 +野餐 +結晶洞窟 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_de.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_de.txt new file mode 100644 index 000000000..ab36afd7a --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_de.txt @@ -0,0 +1,146 @@ + +Netter Ort +Ferner Ort +Pokémon-Film +Pokémon-Film 2023 +Pokémon-Film 2024 +Pokémon-Film 2025 +Pokémon-Film 2026 +Pokémon-Film 2027 +Pokémon-Film 2028 +Pokémon-Zeichentrickserie +Pokémon Center +Pokémon Center Tohoku +WCS +WCS 2023 +WCS 2024 +WCS 2025 +WCS 2026 +WCS 2027 +WCS 2028 +Worlds +Worlds 2023 +Worlds 2024 +Worlds 2025 +Worlds 2026 +Worlds 2027 +Worlds 2028 +VGE +VGE 2023 +VGE 2024 +VGE 2025 +VGE 2026 +VGE 2027 +VGE 2028 +Pokémon-Veranstaltung +Kampfturnier +Videospiel-Veranstaltung +Pokémon Daisuki Club +Pokémon-TV-Programm +Konzert +Online-Geschenk +PGL +Pokémon-Veranstaltung 2023 +Pokémon-Veranstaltung 2024 +Pokémon-Veranstaltung 2025 +Pokémon-Veranstaltung 2026 +Pokémon-Veranstaltung 2027 +Pokémon-Veranstaltung 2028 +Pokémon-Veranstaltung +Pokémon-Veranstaltung 2023 +Pokémon-Veranstaltung 2024 +Pokémon-Veranstaltung 2025 +Pokémon-Veranstaltung 2026 +Pokémon-Veranstaltung 2027 +Pokémon-Veranstaltung 2028 +PokéPark +PokéPark 2023 +PokéPark 2024 +PokéPark 2025 +PokéPark 2026 +PokéPark 2027 +PokéPark 2028 +Veranstaltung +GAME FREAK +Stadion +VGC +VGC 2023 +VGC 2024 +VGC 2025 +VGC 2026 +VGC 2027 +VGC 2028 +Virtual Console +Pokémon GO +Pokémon Bank +Pokémon-Geschäft +Demoversion +Pokéball Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_en.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_en.txt new file mode 100644 index 000000000..73d8aefc2 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_en.txt @@ -0,0 +1,146 @@ + +a lovely place +a faraway place +a Pokémon movie +a 2023 Pokémon movie +a 2024 Pokémon movie +a 2025 Pokémon movie +a 2026 Pokémon movie +a 2027 Pokémon movie +a 2028 Pokémon movie +the Pokémon animated show +a Pokémon Center +Pokémon Center Tohoku +a WCS +WCS 2023 +WCS 2024 +WCS 2025 +WCS 2026 +WCS 2027 +WCS 2028 +Worlds +2023 Worlds +2024 Worlds +2025 Worlds +2026 Worlds +2027 Worlds +2028 Worlds +a VGE +VGE 2023 +VGE 2024 +VGE 2025 +VGE 2026 +VGE 2027 +VGE 2028 +a Pokémon event +a Battle Competition +a game event +the Pokémon Daisuki Club +a Pokémon TV program +a concert +an online present +the PGL +a 2023 Pokémon event +a 2024 Pokémon event +a 2025 Pokémon event +a 2026 Pokémon event +a 2027 Pokémon event +a 2028 Pokémon event +a Pokémon event +a 2023 Pokémon event +a 2024 Pokémon event +a 2025 Pokémon event +a 2026 Pokémon event +a 2027 Pokémon event +a 2028 Pokémon event +PokéPark +PokéPark 2023 +PokéPark 2024 +PokéPark 2025 +PokéPark 2026 +PokéPark 2027 +PokéPark 2028 +an event site +GAME FREAK +a stadium +a VGC event +the VGC 2023 +the VGC 2024 +the VGC 2025 +the VGC 2026 +the VGC 2027 +the VGC 2028 +a Virtual Console game +Pokémon GO +Pokémon Bank +a Pokémon shop +a demo version +the Poké Ball Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_es.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_es.txt new file mode 100644 index 000000000..30360dc78 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_es.txt @@ -0,0 +1,146 @@ + +Lugar encantador +Lugar lejano +Película Pokémon +Película Pokémon 2023 +Película Pokémon 2024 +Película Pokémon 2025 +Película Pokémon 2026 +Película Pokémon 2027 +Película Pokémon 2028 +Dibujos animados Pokémon +Pokémon Center +Pokémon Center Tohoku +WCS +WCS 2023 +WCS 2024 +WCS 2025 +WCS 2026 +WCS 2027 +WCS 2028 +Worlds +Worlds 2023 +Worlds 2024 +Worlds 2025 +Worlds 2026 +Worlds 2027 +Worlds 2028 +Evento de Videojuegos +Evento de Videojuegos 2023 +Evento de Videojuegos 2024 +Evento de Videojuegos 2025 +Evento de Videojuegos 2026 +Evento de Videojuegos 2027 +Evento de Videojuegos 2028 +Evento Pokémon +Torneo +Evento de Videojuegos +Pokémon Daisuki Club +Programa sobre Pokémon +Concierto +Regalo en línea +Pokémon Global Link +Evento Pokémon 2023 +Evento Pokémon 2024 +Evento Pokémon 2025 +Evento Pokémon 2026 +Evento Pokémon 2027 +Evento Pokémon 2028 +Evento Pokémon +Evento Pokémon 2023 +Evento Pokémon 2024 +Evento Pokémon 2025 +Evento Pokémon 2026 +Evento Pokémon 2027 +Evento Pokémon 2028 +PokéPark +PokéPark 2023 +PokéPark 2024 +PokéPark 2025 +PokéPark 2026 +PokéPark 2027 +PokéPark 2028 +Evento +GAME FREAK +Estadio +VGC +VGC 2023 +VGC 2024 +VGC 2025 +VGC 2026 +VGC 2027 +VGC 2028 +Consola Virtual +Pokémon GO +Banco de Pokémon +Establecimiento Pokémon +Versión de prueba +Poké Ball Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_fr.txt new file mode 100644 index 000000000..43541dbec --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_fr.txt @@ -0,0 +1,146 @@ + +Endroit superbe +Endroit lointain +Film Pokémon +Film Pokémon 2023 +Film Pokémon 2024 +Film Pokémon 2025 +Film Pokémon 2026 +Film Pokémon 2027 +Film Pokémon 2028 +Dessin animé Pokémon +Pokémon Center +Pokémon Center Tohoku +WCS +WCS 2023 +WCS 2024 +WCS 2025 +WCS 2026 +WCS 2027 +WCS 2028 +Worlds +Worlds 2023 +Worlds 2024 +Worlds 2025 +Worlds 2026 +Worlds 2027 +Worlds 2028 +Évènement Jeu Vidéo +Évènement Jeu Vidéo 2023 +Évènement Jeu Vidéo 2024 +Évènement Jeu Vidéo 2025 +Évènement Jeu Vidéo 2026 +Évènement Jeu Vidéo 2027 +Évènement Jeu Vidéo 2028 +Évènement Pokémon +Compétition +Évènement +Pokémon Daisuki Club +Émission Pokémon +Concert +Cadeau téléchargeable +Pokémon Global Link +Évènement Pokémon 2023 +Évènement Pokémon 2024 +Évènement Pokémon 2025 +Évènement Pokémon 2026 +Évènement Pokémon 2027 +Évènement Pokémon 2028 +Évènement Pokémon +Évènement Pokémon 2023 +Évènement Pokémon 2024 +Évènement Pokémon 2025 +Évènement Pokémon 2026 +Évènement Pokémon 2027 +Évènement Pokémon 2028 +PokéPark +PokéPark 2023 +PokéPark 2024 +PokéPark 2025 +PokéPark 2026 +PokéPark 2027 +PokéPark 2028 +Lieu d’évènement +GAME FREAK +Stade +VGC +VGC 2023 +VGC 2024 +VGC 2025 +VGC 2026 +VGC 2027 +VGC 2028 +Console virtuelle +Pokémon GO +Banque Pokémon +Magasin Pokémon +Démo +Poké Ball Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_it.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_it.txt new file mode 100644 index 000000000..97fc81df7 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_it.txt @@ -0,0 +1,146 @@ + +un luogo grazioso +un luogo remoto +un film Pokémon +un film Pokémon (2023) +un film Pokémon (2024) +un film Pokémon (2025) +un film Pokémon (2026) +un film Pokémon (2027) +un film Pokémon (2028) +il cartone animato Pokémon +un Pokémon Center +il Pokémon Center Tohoku +i WCS +i WCS 2023 +i WCS 2024 +i WCS 2025 +i WCS 2026 +i WCS 2027 +i WCS 2028 +i Worlds +i Worlds 2023 +i Worlds 2024 +i Worlds 2025 +i Worlds 2026 +i Worlds 2027 +i Worlds 2028 +un VGE +un VGE (2023) +un VGE (2024) +un VGE (2025) +un VGE (2026) +un VGE (2027) +un VGE (2028) +un evento Pokémon +una gara +un evento di gioco +il Pokémon Daisuki Club +un programma TV Pokémon +un concerto +regalo online +il PGL +un evento Pokémon (2023) +un evento Pokémon (2024) +un evento Pokémon (2025) +un evento Pokémon (2026) +un evento Pokémon (2027) +un evento Pokémon (2028) +un evento Pokémon +un evento Pokémon (2023) +un evento Pokémon (2024) +un evento Pokémon (2025) +un evento Pokémon (2026) +un evento Pokémon (2027) +un evento Pokémon (2028) +PokéPark +PokéPark (2023) +PokéPark (2024) +PokéPark (2025) +PokéPark (2026) +PokéPark (2027) +PokéPark (2028) +un evento +GAME FREAK +uno stadio +i VGC +i VGC 2023 +i VGC 2024 +i VGC 2025 +i VGC 2026 +i VGC 2027 +i VGC 2028 +la Virtual Console +Pokémon GO +Banca Pokémon +un negozio Pokémon +una versione demo +la Poké Ball Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ja.txt new file mode 100644 index 000000000..e460d65ea --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ja.txt @@ -0,0 +1,146 @@ + +すてきな場所 +遠い場所 +ポケモン映画 +ポケモン映画23 +ポケモン映画24 +ポケモン映画25 +ポケモン映画26 +ポケモン映画27 +ポケモン映画28 +ポケモンアニメ +ポケモンセンター +PCトウホク +WCS +WCS2023 +WCS2024 +WCS2025 +WCS2026 +WCS2027 +WCS2028 +Worlds +Worlds2023 +Worlds2024 +Worlds2025 +Worlds2026 +Worlds2027 +Worlds2028 +VGE +VGE2023 +VGE2024 +VGE2025 +VGE2026 +VGE2027 +VGE2028 +ポケモンイベント +バトル大会 +ゲームイベント +だいすきクラブ +ポケモン番組 +コンサート +オンラインプレゼント +PGL +ポケモンイベント23 +ポケモンイベント24 +ポケモンイベント25 +ポケモンイベント26 +ポケモンイベント27 +ポケモンイベント28 +ポケモンフェスタ +ポケモンフェスタ23 +ポケモンフェスタ24 +ポケモンフェスタ25 +ポケモンフェスタ26 +ポケモンフェスタ27 +ポケモンフェスタ28 +ポケパーク +ポケパーク2023 +ポケパーク2024 +ポケパーク2025 +ポケパーク2026 +ポケパーク2027 +ポケパーク2028 +イベント会場 +ゲームフリーク +スタジアム +VGC +VGC2023 +VGC2024 +VGC2025 +VGC2026 +VGC2027 +VGC2028 +バーチャルコンソール +Pokémon GO +ポケモンバンク +ポケモンのショップ +体験版 +モンスターボール Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ko.txt new file mode 100644 index 000000000..1e6b8b735 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_ko.txt @@ -0,0 +1,146 @@ + +근사한 장소 +먼 곳 +포켓몬영화 +포켓몬영화23 +포켓몬영화24 +포켓몬영화25 +포켓몬영화26 +포켓몬영화27 +포켓몬영화28 +포켓몬 애니메이션 +포켓몬센터 +PC도호쿠 +WCS +WCS2023 +WCS2024 +WCS2025 +WCS2026 +WCS2027 +WCS2028 +Worlds +Worlds2023 +Worlds2024 +Worlds2025 +Worlds2026 +Worlds2027 +Worlds2028 +VGE +VGE2023 +VGE2024 +VGE2025 +VGE2026 +VGE2027 +VGE2028 +포켓몬이벤트 +배틀 대회 +게임 이벤트 +the Pokémon Daisuki Club +포켓몬 방송 +콘서트 +온라인 선물 +PGL +포켓몬이벤트23 +포켓몬이벤트24 +포켓몬이벤트25 +포켓몬이벤트26 +포켓몬이벤트27 +포켓몬이벤트28 +포켓몬페스타 +포켓몬페스타23 +포켓몬페스타24 +포켓몬페스타25 +포켓몬페스타26 +포켓몬페스타27 +포켓몬페스타28 +포켓파크 +포켓파크2023 +포켓파크2024 +포켓파크2025 +포켓파크2026 +포켓파크2027 +포켓파크2028 +이벤트회장 +게임프리크 +스타디움 +VGC +VGC2023 +VGC2024 +VGC2025 +VGC2026 +VGC2027 +VGC2028 +버추얼 콘솔 +Pokémon GO +포켓몬 뱅크 +a Pokémon shop +체험판 +몬스터볼 Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh.txt new file mode 100644 index 000000000..ef96b5161 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh.txt @@ -0,0 +1,146 @@ + +美丽的地方 +遥远的地方 +宝可梦电影 +宝可梦电影23 +宝可梦电影24 +宝可梦电影25 +宝可梦电影26 +宝可梦电影27 +宝可梦电影28 +宝可梦动画片 +宝可梦中心 +东北PC +WCS +WCS2023 +WCS2024 +WCS2025 +WCS2026 +WCS2027 +WCS2028 +Worlds +Worlds2023 +Worlds2024 +Worlds2025 +Worlds2026 +Worlds2027 +Worlds2028 +VGE +VGE2023 +VGE2024 +VGE2025 +VGE2026 +VGE2027 +VGE2028 +宝可梦活动 +对战大赛 +游戏活动 +发烧友俱乐部 +宝可梦节目 +音乐会 +在线礼物 +PGL +宝可梦活动23 +宝可梦活动24 +宝可梦活动25 +宝可梦活动26 +宝可梦活动27 +宝可梦活动28 +宝可梦庆典 +宝可梦庆典23 +宝可梦庆典24 +宝可梦庆典25 +宝可梦庆典26 +宝可梦庆典27 +宝可梦庆典28 +宝可公园 +宝可公园2023 +宝可公园2024 +宝可公园2025 +宝可公园2026 +宝可公园2027 +宝可公园2028 +活动会场 +GAME FREAK +竞技场 +VGC +VGC2023 +VGC2024 +VGC2025 +VGC2026 +VGC2027 +VGC2028 +Virtual Console +Pokémon GO +宝可梦虚拟银行 +宝可梦的店 +体验版 +精灵球 Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh2.txt new file mode 100644 index 000000000..0242de1fe --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_40000_zh2.txt @@ -0,0 +1,146 @@ + +美麗的地方 +遙遠的地方 +寶可夢電影 +寶可夢電影23 +寶可夢電影24 +寶可夢電影25 +寶可夢電影26 +寶可夢電影27 +寶可夢電影28 +寶可夢動畫片 +寶可夢中心 +東北PC +WCS +WCS2023 +WCS2024 +WCS2025 +WCS2026 +WCS2027 +WCS2028 +Worlds +Worlds2023 +Worlds2024 +Worlds2025 +Worlds2026 +Worlds2027 +Worlds2028 +VGE +VGE2023 +VGE2024 +VGE2025 +VGE2026 +VGE2027 +VGE2028 +寶可夢活動 +對戰大賽 +遊戲活動 +發燒友俱樂部 +寶可夢節目 +音樂會 +線上禮物 +PGL +寶可夢活動23 +寶可夢活動24 +寶可夢活動25 +寶可夢活動26 +寶可夢活動27 +寶可夢活動28 +寶可夢慶典 +寶可夢慶典23 +寶可夢慶典24 +寶可夢慶典25 +寶可夢慶典26 +寶可夢慶典27 +寶可夢慶典28 +寶可公園 +寶可公園2023 +寶可公園2024 +寶可公園2025 +寶可公園2026 +寶可公園2027 +寶可公園2028 +活動會場 +GAME FREAK +競技場 +VGC +VGC2023 +VGC2024 +VGC2025 +VGC2026 +VGC2027 +VGC2028 +Virtual Console +Pokémon GO +寶可夢虛擬銀行 +寶可夢的店 +體驗版 +精靈球 Plus +Pokémon HOME +[~ 78] +[~ 79] +[~ 80] +[~ 81] +[~ 82] +[~ 83] +[~ 84] +[~ 85] +[~ 86] +[~ 87] +[~ 88] +[~ 89] +[~ 90] +[~ 91] +[~ 92] +[~ 93] +[~ 94] +[~ 95] +[~ 96] +[~ 97] +[~ 98] +[~ 99] +[~ 100] +[~ 101] +[~ 102] +[~ 103] +[~ 104] +[~ 105] +[~ 106] +[~ 107] +[~ 108] +[~ 109] +[~ 110] +[~ 111] +[~ 112] +[~ 113] +[~ 114] +[~ 115] +[~ 116] +[~ 117] +[~ 118] +[~ 119] +[~ 120] +[~ 121] +[~ 122] +[~ 123] +[~ 124] +[~ 125] +[~ 126] +[~ 127] +[~ 128] +[~ 129] +[~ 130] +[~ 131] +[~ 132] +[~ 133] +[~ 134] +[~ 135] +[~ 136] +[~ 137] +[~ 138] +[~ 139] +[~ 140] +[~ 141] +[~ 142] +[~ 143] +[~ 144] \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_de.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_de.txt new file mode 100644 index 000000000..6d82d023f --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_de.txt @@ -0,0 +1,5 @@ + +Ferne Person +Hortleiterinnen +Schatzsucher +Dame der Heißen Quellen \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_en.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_en.txt new file mode 100644 index 000000000..67e8918f1 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_en.txt @@ -0,0 +1,5 @@ + +someone far away +a Nursery worker +a treasure hunter +an old hot-springs visitor \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_es.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_es.txt new file mode 100644 index 000000000..cea5aefee --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_es.txt @@ -0,0 +1,5 @@ + +Persona lejana +Cuidados Pokémon +Buscatesoros +Anciana del Balneario \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_fr.txt new file mode 100644 index 000000000..5b994fdfa --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_fr.txt @@ -0,0 +1,5 @@ + +Personne lointaine +Responsable de la Garderie +Chercheur de Trésors +Dame des Eaux Thermales \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_it.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_it.txt new file mode 100644 index 000000000..abace2d55 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_it.txt @@ -0,0 +1,5 @@ + +da una persona lontana +all’Ostello Pokémon +da un Cercatesori +dalla vecchina delle terme \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ja.txt new file mode 100644 index 000000000..d73fb40a3 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ja.txt @@ -0,0 +1,5 @@ + +遠くにいる人 +あずかり屋さん +トレジャーハンター +おんせんばあさん \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ko.txt new file mode 100644 index 000000000..38cc06a9b --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_ko.txt @@ -0,0 +1,5 @@ + +멀리 있는 사람 +맡기미집 +트레져헌터 +온천 할머니 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh.txt new file mode 100644 index 000000000..7e7678609 --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh.txt @@ -0,0 +1,5 @@ + +远处的人 +寄放屋 +寻宝猎人 +温泉婆婆 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh2.txt b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh2.txt new file mode 100644 index 000000000..021881a4d --- /dev/null +++ b/PKHeX.Core/Resources/text/locations/gen9/text_sv_60000_zh2.txt @@ -0,0 +1,5 @@ + +遠方的人 +寄放屋 +尋寶獵人 +溫泉婆婆 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Abilities_de.txt b/PKHeX.Core/Resources/text/other/de/text_Abilities_de.txt index e257cb365..76d5e2d8b 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Abilities_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Abilities_de.txt @@ -1,4 +1,4 @@ -- +ー Duftnote Niesel Temposchub @@ -18,7 +18,7 @@ Farbwechsel Immunität Feuerfänger Puderabwehr -Tempomacher +Gleichmut Saugnapf Bedroher Wegsperre @@ -75,7 +75,7 @@ Pulverrauch Mentalkraft Panzerhaut Klimaschutz -Fußangel +Taumelschritt Starthilfe Rivalität Felsenfest @@ -88,7 +88,7 @@ Wankelmut Trockenheit Download Eisenfaust -Aufheber +Giftheilung Anpassung Wertelink Hydration @@ -115,7 +115,7 @@ Rauflust Sturmsog Eishaut Felskern -Hagelalarm +Schneeschauer Honigmaul Schnüffler Achtlos @@ -178,7 +178,7 @@ Taktikwechsel Orkanschwingen Megawumme Pflanzenpelz -Nutznießer +Symbiose Krallenwucht Feenschicht Viskosität @@ -265,4 +265,35 @@ Drachenkiefer Helles Wiehern Dunkles Wiehern Reitgespann -Reitgespann \ No newline at end of file +Reitgespann +Duftschwade +Streusaat +Thermowandel +Wutpanzer +Läutersalz +Knusperkruste +Windreiter +Wachhund +Steinträger +Windkraft +Superwechsel +Kommandant +Dynamo +Paläosynthese +Quantenantrieb +Goldkörper +Unheilsgefäß +Unheilsschwert +Unheilstafeln +Unheilsjuwelen +Orichalkum-Puls +Hadronen-Motor +Profiteur +Wiederkäuer +Scharfkantig +Feldherr +Synchronauftritt +Giftbelag +Schweifrüstung +Bodenschmaus +Myzelienkraft \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt b/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt index b5281afe0..e58cc8817 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt @@ -1,4 +1,4 @@ -Spitzohr +Spitzohr @@ -1095,4 +1095,29 @@ Heldenhafter Hisui Königs Königinnen -Legende \ No newline at end of file +Legende +Fälschungs +Original +Paldea +Zweisegment +Dreisegment +Alltags +Helden +Dreierfamilie +Viererfamilie +Gebogene +Hängende +Gestreckte +Grün +Truhen +Wander +Vollkommene +Gehemmte +Sprint +Schwimm +Schwingen +Kompletter +Begrenzter +Fahr +Wasser +Gleit \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Games_de.txt b/PKHeX.Core/Resources/text/other/de/text_Games_de.txt index 921979301..19beab27b 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Games_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Games_de.txt @@ -47,4 +47,6 @@ Schild Legenden: Arceus Strahlender Diamant -Leuchtende Perle \ No newline at end of file +Leuchtende Perle +Karmesin +Purpur \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Moves_de.txt b/PKHeX.Core/Resources/text/other/de/text_Moves_de.txt index b4d35286c..bcd45c417 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Moves_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Moves_de.txt @@ -174,7 +174,7 @@ Flammenrad Schnarcher Fluch Dreschflegel -Umwandlung2 +Umwandlung 2 Luftstoß Baumwollsaat Gegenschlag @@ -848,4 +848,54 @@ Polarorkan Donnerorkan Wüstenorkan Lunargebet -Mutschub \ No newline at end of file +Mutschub +Tera-Ausbruch +Fadenfalle +Fersenkick +Letzte Ehre +Lichteinschlag +Auftischen +Düsenhieb +Chili-Essenz +Reifendrehung +Mäuseplage +Eiskreisel +Großklingenstoß +Vitalsegen +Pökelsalz +Tauchtriade +Letalwirbler +Abpausen +Abspaltung +Kniefallspalter +Blumentrick +Loderlied +Wogentanz +Rasender Stier +Goldrausch +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +Verderben +Kollisionskurs +Blitztour +Schwanzabwurf +Eisige Stimmung +Aufräumen +Schneelandschaft +Anspringen +Wegbereiter +Kalte Dusche +Hyperbohrer +Doppelstrahl +Zornesfaust +Rüstungskanone +Reueschwert +Zweifachladung +Riesenhammer +Vendetta +Aquaschnitt +Hitzeturbo +Finsterturbo +Toxiturbo +Raufturbo +Zauberturbo \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Ribbons_de.txt b/PKHeX.Core/Resources/text/other/de/text_Ribbons_de.txt index a4ddace84..9fa775760 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Ribbons_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Ribbons_de.txt @@ -149,5 +149,15 @@ RibbonMarkHumble Arglos-Zeichen RibbonMarkThorny Scheinheilig-Zeichen RibbonMarkVigor Elan-Zeichen RibbonMarkSlump Formtief-Zeichen -RibbonPioneer Pioneer -RibbonTwinklingStar Glitzersternband \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar Glitzersternband +RibbonChampionPaldea Paldea-Champs +RibbonMarkJumbo Riesen-Zeichen +RibbonMarkMini Winzlings-Zeichen +RibbonMarkItemfinder Aufsammler-Zeichen +RibbonMarkPartner Partner-Zeichen +RibbonMarkGourmand Gourmet-Zeichen +RibbonOnceInALifetime Glückstrefferband +RibbonMarkAlpha Elite-Zeichen +RibbonMarkMightiest Titanen-Zeichen +RibbonMarkTitan Herrscher-Zeichen \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Species_de.txt b/PKHeX.Core/Resources/text/other/de/text_Species_de.txt index 25728b1ee..d59027bf6 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Species_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Species_de.txt @@ -903,4 +903,109 @@ Ursaluna Salmagnis Snieboss Myriador -Cupidos \ No newline at end of file +Cupidos +Felori +Feliospa +Maskagato +Krokel +Lokroko +Skelokrok +Kwaks +Fuentente +Bailonda +Ferkuli +Fragrunz +Dummimisel +Tarundel +Spinsidias +Micrick +Lextremo +Relluk +Skarabaks +Gruff +Friedwuff +Flattutu +Psiopatra +Farigiraf +Schligda +Schligdri +Heerashai +Agiluza +Normifin +Delfinator +Olini +Olivinio +Olithena +Chilingel +Halupenjo +Blipp +Wampitz +Knattox +Knattatox +Schlurm +Zwieps +Famieps +Flaniwal +Kolowal +Frospino +Cryospino +Espinodon +Nigiragi +Mopex +Pamo +Pamamo +Pamomamo +Voltrel +Voltrean +Adebom +Krawalloro +Flaminkno +Klibbe +Geosali +Sedisal +Saltigant +Lumispross +Lumiflora +Sproxi +Affiti +Hefel +Backel +Mobtiff +Mastifioso +Weherba +Horrerba +Gierspenst +Monetigo +Riesenzahn +Wutpilz +AKETUBAN +Sandfell +Brüllschweif +Flatterhaar +Kriechflügel +Donnersichel +Eisenrad +BKETUBAN +Eisenfalter +Eisenhand +Eisenhals +Eisendorn +Eisenbündel +Eisenkrieger +Dinglu +Baojian +Chongjian +Yuyu +Koraidon +Miraidon +Forgita +Tafforgita +Granforgita +Knarbon +Crimanzo +Azugladis +Tentagra +Tenterra +Gladimperio +Suelord +Epitaff \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Abilities_en.txt b/PKHeX.Core/Resources/text/other/en/text_Abilities_en.txt index 6c3b05fe2..78d182644 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Abilities_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Abilities_en.txt @@ -265,4 +265,35 @@ Dragon’s Maw Chilling Neigh Grim Neigh As One -As One \ No newline at end of file +As One +Lingering Aroma +Seed Sower +Thermal Exchange +Anger Shell +Purifying Salt +Well-Baked Body +Wind Rider +Guard Dog +Rocky Payload +Wind Power +Zero to Hero +Commander +Electromorphosis +Protosynthesis +Quark Drive +Good as Gold +Vessel of Ruin +Sword of Ruin +Tablets of Ruin +Beads of Ruin +Orichalcum Pulse +Hadron Engine +Opportunist +Cud Chew +Sharpness +Supreme Overlord +Costar +Toxic Debris +Armor Tail +Earth Eater +Mycelium Might \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt b/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt index a829f1df5..946008595 100644 Binary files a/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt and b/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt differ diff --git a/PKHeX.Core/Resources/text/other/en/text_Games_en.txt b/PKHeX.Core/Resources/text/other/en/text_Games_en.txt index 481318d11..e200c8632 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Games_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Games_en.txt @@ -47,4 +47,6 @@ Shield Legends: Arceus Brilliant Diamond -Shining Pearl \ No newline at end of file +Shining Pearl +Scarlet +Violet \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Moves_en.txt b/PKHeX.Core/Resources/text/other/en/text_Moves_en.txt index d0592adca..9ec74bfa8 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Moves_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Moves_en.txt @@ -848,4 +848,54 @@ Bleakwind Storm Wildbolt Storm Sandsear Storm Lunar Blessing -Take Heart \ No newline at end of file +Take Heart +Tera Blast +Silk Trap +Axe Kick +Last Respects +Lumina Crash +Order Up +Jet Punch +Spicy Extract +Spin Out +Population Bomb +Ice Spinner +Glaive Rush +Revival Blessing +Salt Cure +Triple Dive +Mortal Spin +Doodle +Fillet Away +Kowtow Cleave +Flower Trick +Torch Song +Aqua Step +Raging Bull +Make It Rain +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +Ruination +Collision Course +Electro Drift +Shed Tail +Chilly Reception +Tidy Up +Snowscape +Pounce +Trailblaze +Chilling Water +Hyper Drill +Twin Beam +Rage Fist +Armor Cannon +Bitter Blade +Double Shock +Gigaton Hammer +Comeuppance +Aqua Cutter +Blazing Torque +Wicked Torque +Noxious Torque +Combat Torque +Magical Torque \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Ribbons_en.txt b/PKHeX.Core/Resources/text/other/en/text_Ribbons_en.txt index 3dfa5f09d..9113645f1 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Ribbons_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Ribbons_en.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos Kalos Champion +RibbonChampionKalos Kalos Champion RibbonChampionG3 Champion (Gen3) RibbonChampionSinnoh Sinnoh Champion RibbonBestFriends Best Friends @@ -149,5 +149,15 @@ RibbonMarkHumble Humble Mark RibbonMarkThorny Thorny Mark RibbonMarkVigor Vigor Mark RibbonMarkSlump Slump Mark -RibbonPioneer Pioneer -RibbonTwinklingStar Twinkling Star \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar Twinkling Star +RibbonChampionPaldea Paldea Champion +RibbonMarkJumbo Jumbo Mark +RibbonMarkMini Mini Mark +RibbonMarkItemfinder Itemfinder Mark +RibbonMarkPartner Partner Mark +RibbonMarkGourmand Gourmand Mark +RibbonOnceInALifetime Once-in-a-Lifetime +RibbonMarkAlpha Alpha Mark +RibbonMarkMightiest Mightiest Mark +RibbonMarkTitan Titan Mark \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Species_en.txt b/PKHeX.Core/Resources/text/other/en/text_Species_en.txt index d875dc016..c02a586e9 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Species_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Species_en.txt @@ -903,4 +903,109 @@ Ursaluna Basculegion Sneasler Overqwil -Enamorus \ No newline at end of file +Enamorus +Sprigatito +Floragato +Meowscarada +Fuecoco +Crocalor +Skeledirge +Quaxly +Quaxwell +Quaquaval +Lechonk +Oinkologne +Dudunsparce +Tarountula +Spidops +Nymble +Lokix +Rellor +Rabsca +Greavard +Houndstone +Flittle +Espathra +Farigiraf +Wiglett +Wugtrio +Dondozo +Veluza +Finizen +Palafin +Smoliv +Dolliv +Arboliva +Capsakid +Scovillain +Tadbulb +Bellibolt +Varoom +Revavroom +Orthworm +Tandemaus +Maushold +Cetoddle +Cetitan +Frigibax +Arctibax +Baxcalibur +Tatsugiri +Cyclizar +Pawmi +Pawmo +Pawmot +Wattrel +Kilowattrel +Bombirdier +Squawkabilly +Flamigo +Klawf +Nacli +Naclstack +Garganacl +Glimmet +Glimmora +Shroodle +Grafaiai +Fidough +Dachsbun +Maschiff +Mabosstiff +Bramblin +Brambleghast +Gimmighoul +Gholdengo +Great Tusk +Brute Bonnet +AKETUBAN +Sandy Shocks +Scream Tail +Flutter Mane +Slither Wing +Roaring Moon +Iron Treads +BKETUBAN +Iron Moth +Iron Hands +Iron Jugulis +Iron Thorns +Iron Bundle +Iron Valiant +Ting-Lu +Chien-Pao +Wo-Chien +Chi-Yu +Koraidon +Miraidon +Tinkatink +Tinkatuff +Tinkaton +Charcadet +Armarouge +Ceruledge +Toedscool +Toedscruel +Kingambit +Clodsire +Annihilape \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Abilities_es.txt b/PKHeX.Core/Resources/text/other/es/text_Abilities_es.txt index 21f1556e6..8c4bacdd0 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Abilities_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Abilities_es.txt @@ -34,10 +34,10 @@ Dicha Nado Rápido Clorofila Iluminación -Rastro +Calco Potencia Punto Tóxico -Foco Interno +Fuerza Mental Escudo Magma Velo Agua Imán @@ -52,7 +52,7 @@ Fuga Vista Lince Corte Fuerte Recogida -Ausente +Pereza Entusiasmo Gran Encanto Más @@ -62,7 +62,7 @@ Viscosidad Mudar Agallas Escama Especial -Lodo Líquido +Viscosecreción Espesura Mar Llamas Torrente @@ -74,7 +74,7 @@ Espíritu Vital Humo Blanco Energía Pura Caparazón -Bucle Aire +Esclusa de Aire Tumbos Electromotor Rivalidad @@ -265,4 +265,35 @@ Mandíbula Dragón Relincho Blanco Relincho Negro Unidad Ecuestre -Unidad Ecuestre \ No newline at end of file +Unidad Ecuestre +Olor Persistente +Disemillar +Termoconversión +Coraza Ira +Sal Purificadora +Cuerpo Horneado +Surcavientos +Perro Guardián +Transportarrocas +Energía Eólica +Cambio Heroico +Comandar +Dinamo +Paleosíntesis +Carga Cuark +Cuerpo Áureo +Caldero Debacle +Espada Debacle +Tablilla Debacle +Abalorio Debacle +Latido Oricalco +Motor Hadrónico +Oportunista +Rumia +Cortante +General Supremo +Unísono +Capa Tóxica +Cola Armadura +Geofagia +Poder Fúngico \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt b/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt index 2d67024a8..0e992ab7f 100644 Binary files a/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt and b/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt differ diff --git a/PKHeX.Core/Resources/text/other/es/text_Games_es.txt b/PKHeX.Core/Resources/text/other/es/text_Games_es.txt index c591fac5f..ee90f06be 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Games_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Games_es.txt @@ -47,4 +47,6 @@ Escudo Leyendas: Arceus Diamante Brillante -Perla Reluciente \ No newline at end of file +Perla Reluciente +Escarlata +Púrpura \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Moves_es.txt b/PKHeX.Core/Resources/text/other/es/text_Moves_es.txt index 7d0d2a253..435537753 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Moves_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Moves_es.txt @@ -35,7 +35,7 @@ Placaje Golpe Cuerpo Constricción Derribo -Golpe +Saña Doble Filo Látigo Picotazo Veneno @@ -127,13 +127,13 @@ Hueso Palo Llamarada Cascada Tenaza -Rapidez +Meteoros Cabezazo Clavo Cañón Restricción Amnesia Kinético -Amortiguador +Ovocuración Pat. Salto Alta Deslumbrar Comesueños @@ -213,7 +213,7 @@ Ala de Acero Mal de Ojo Atracción Sonámbulo -Campana Cura +Cascabel Cura Retribución Presente Frustración @@ -231,7 +231,7 @@ Giro Rápido Dulce Aroma Cola Férrea Garra Metal -Tiro Vital +Llave Vital Sol Matinal Síntesis Luz Lunar @@ -242,7 +242,7 @@ Danza Lluvia Día Soleado Triturar Manto Espejo -Más Psique +Autosugestión Veloc. Extrema Poder Pasado Bola Sombra @@ -292,7 +292,7 @@ Daño Secreto Buceo Empujón Camuflaje -Ráfaga +Luminicola Resplandor Bola Neblina Danza Pluma @@ -322,7 +322,7 @@ Silbato Cosquillas Masa Cósmica Salpicar -Doble Rayo +Rayo Señal Puño Sombra Paranormal Gancho Alto @@ -389,7 +389,7 @@ Castigo Abatidoras Golpe Bajo Púas Tóxicas -Cambia Almas +Cambiaalmas Acua Aro Levitón Envite Ígneo @@ -418,7 +418,7 @@ Gigaimpacto Maquinación Puño Bala Alud -Canto Helado +Esquirla Helada Garra Umbría Colmillo Rayo Colmillo Hielo @@ -463,11 +463,11 @@ Danza Lunar Agarrón Lluvia Ígnea Brecha Negra -Fogonazo +Fulgor Semilla Viento Aciago Golpe Umbrío Afilagarras -Vastaguardia +Vasta Guardia Isoguardia Isofuerza Zona Extraña @@ -485,7 +485,7 @@ Danza Aleteo Cuerpo Pesado Sincrorruido Bola Voltio -Anegar +Empapar Nitrocarga Enrosque Puntapié @@ -848,4 +848,54 @@ Vendaval Gélido Electormenta Simún de Arena Plegaria Lunar -Bálsamo Osado \ No newline at end of file +Bálsamo Osado +Teraexplosión +Telatrampa +Patada Hacha +Homenaje Póstumo +Fotocolisión +Oído Cocina +Puño Jet +Extracto Picante +Quemarrueda +Proliferación +Pirueta Helada +Asalto Espadón +Plegaria Vital +Salazón +Triple Inmersión +Giro Mortífero +Decalcomanía +Deslome +Genufendiente +Truco Floral +Canto Ardiente +Danza Acuática +Furia Taurina +Fiebre Dorada +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +Calamidad +Nitrochoque +Electroderrape +Autotomía +Fría Acogida +Limpieza General +Paisaje Nevado +Brinco +Abrecaminos +Agua Fría +Hipertaladro +Láser Doble +Puño Furia +Cañón Armadura +Espada Lamento +Electropalmas +Martillo Colosal +Resarcimiento +Tajo Acuático +Pirochoque +Ominochoque +Ponzochoque +Pugnachoque +Feerichoque \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Ribbons_es.txt b/PKHeX.Core/Resources/text/other/es/text_Ribbons_es.txt index 3039d808c..fd6e2f5f2 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Ribbons_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Ribbons_es.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos Campeón de Kalos +RibbonChampionKalos Campeón de Kalos RibbonChampionG3 Campeón (Gen3) RibbonChampionSinnoh Campeón de Sinnoh RibbonBestFriends Afecto @@ -149,5 +149,15 @@ RibbonMarkHumble Emblema Sencillez RibbonMarkThorny Emblema Altanería RibbonMarkVigor Emblema Vigor RibbonMarkSlump Emblema Extenuación -RibbonPioneer Pioneer -RibbonTwinklingStar Cinta Estrella Rutilante \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar Estrella Rutilante +RibbonChampionPaldea Campeón de Paldea +RibbonMarkJumbo Emblema Enormidad +RibbonMarkMini Emblema Miniatura +RibbonMarkItemfinder Emblema Recolección +RibbonMarkPartner Emblema Compañerismo +RibbonMarkGourmand Emblema Sibaritismo +RibbonOnceInALifetime Excepcionalidad +RibbonMarkAlpha Emblema Alfa +RibbonMarkMightiest Emblema Imbatibilidad +RibbonMarkTitan Emblema Dominancia \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Species_es.txt b/PKHeX.Core/Resources/text/other/es/text_Species_es.txt index a61ce0bd8..e28fab1ef 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Species_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Species_es.txt @@ -903,4 +903,109 @@ Ursaluna Basculegion Sneasler Overqwil -Enamorus \ No newline at end of file +Enamorus +Sprigatito +Floragato +Meowscarada +Fuecoco +Crocalor +Skeledirge +Quaxly +Quaxwell +Quaquaval +Lechonk +Oinkologne +Dudunsparce +Tarountula +Spidops +Nymble +Lokix +Rellor +Rabsca +Greavard +Houndstone +Flittle +Espathra +Farigiraf +Wiglett +Wugtrio +Dondozo +Veluza +Finizen +Palafin +Smoliv +Dolliv +Arboliva +Capsakid +Scovillain +Tadbulb +Bellibolt +Varoom +Revavroom +Orthworm +Tandemaus +Maushold +Cetoddle +Cetitan +Frigibax +Arctibax +Baxcalibur +Tatsugiri +Cyclizar +Pawmi +Pawmo +Pawmot +Wattrel +Kilowattrel +Bombirdier +Squawkabilly +Flamigo +Klawf +Nacli +Naclstack +Garganacl +Glimmet +Glimmora +Shroodle +Grafaiai +Fidough +Dachsbun +Maschiff +Mabosstiff +Bramblin +Brambleghast +Gimmighoul +Gholdengo +Colmilargo +Furioseta +AKETUBAN +Pelarena +Colagrito +Melenaleteo +Reptalada +Bramaluna +Ferrodada +BKETUBAN +Ferropolilla +Ferropalmas +Ferrocuello +Ferropúas +Ferrosaco +Ferropaladín +Ting-Lu +Chien-Pao +Wo-Chien +Chi-Yu +Koraidon +Miraidon +Tinkatink +Tinkatuff +Tinkaton +Charcadet +Armarouge +Ceruledge +Toedscool +Toedscruel +Kingambit +Clodsire +Annihilape \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Abilities_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Abilities_fr.txt index 6d9c50759..b581e0943 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Abilities_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Abilities_fr.txt @@ -199,7 +199,7 @@ Bouclier-Carcan Filature Aquabulle Expert Acier -Dracolère +Folle Furie Chasse-Neige Longue Portée Hydrata-Son @@ -265,4 +265,35 @@ Dent de Dragon Blanche Ruade Sombre Ruade Osmose Équine -Osmose Équine \ No newline at end of file +Osmose Équine +Odeur Tenace +Semencier +Thermodynamique +Courroupace +Sel Purificateur +Bien Cuit +Aéroporté +Chien de Garde +Porte-Roche +Turbine Éolienne +Supermutation +Commandant +Grecharge +Paléosynthèse +Charge Quantique +Corps en Or +Urne du Fléau +Épée du Fléau +Bois du Fléau +Perles du Fléau +Pouls Orichalque +Moteur à Hadrons +Opportuniste +Ruminant +Incisif +Général Suprême +Collab +Dépôt Toxique +Armure Caudale +Absorbe-Terre +Force Fongique \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt index c920169a0..6b8259178 100644 Binary files a/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt and b/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt differ diff --git a/PKHeX.Core/Resources/text/other/fr/text_Games_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Games_fr.txt index 2295810fe..ba3cb760e 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Games_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Games_fr.txt @@ -47,4 +47,6 @@ Bouclier Légendes: Arceus Diamant Étincelant -Perle Scintillante \ No newline at end of file +Perle Scintillante +Écarlate +Violet \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Moves_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Moves_fr.txt index 1cb4c80da..dfff18bd8 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Moves_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Moves_fr.txt @@ -506,7 +506,7 @@ Exuviation Vibra Soin Châtiment Chute Libre -Chgt Vitesse +Change-Vitesse Projection Calcination À la Queue @@ -519,7 +519,7 @@ Feu d’Enfer Aire d’Eau Aire de Feu Aire d’Herbe -Change Éclair +Change-Éclair Survinsecte Piétisol Souffle Glacé @@ -848,4 +848,54 @@ Typhon Hivernal Typhon Fulgurant Typhon Pyrosable Prière Lunaire -Extravaillance \ No newline at end of file +Extravaillance +Téra Explosion +Piège de Fil +Talon-Marteau +Hommage Posthume +Lumino-Impact +Plat du Jour +Poing Sonique +Habanerage +Dérapage +Prolifération +Cryo-Pirouette +Charge Glaive +Second Souffle +Salaison +Triple Plongeon +Toupie Éclat +Décalquage +Décharnement +Génusection +Magie Florale +Chant Flamboyant +Danse Aquatique +Taurogne +Ruée d’Or +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +Cataclysme +Nitro Crash +Turbo Volt +Queulonage +Neigeux de Mots +Grand Nettoyage +Chute de Neige +Bond +Désherbaffe +Douche Froide +Hyperceuse +Double Laser +Poing de Colère +Canon Blindé +Lame en Peine +Double Décharge +Marteau Mastoc +Vindicte +Tranch’Aqua +Crash Brûlant +Crash Obscur +Crash Toxique +Crash Musclé +Crash Magique \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Ribbons_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Ribbons_fr.txt index 86f98276d..4a33e8312 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Ribbons_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Ribbons_fr.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos Maître Kalos +RibbonChampionKalos Maître Kalos RibbonChampionG3 Maître (Gen3) RibbonChampionSinnoh Maître Sinnoh RibbonBestFriends Affection @@ -149,5 +149,15 @@ RibbonMarkHumble Insigne Discrétion RibbonMarkThorny Insigne Frime RibbonMarkVigor Insigne Énergie RibbonMarkSlump Insigne Blessure -RibbonPioneer Pioneer -RibbonTwinklingStar Ruban Étoile Brillante \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar Étoile Brillante +RibbonChampionPaldea Maître de Paldea +RibbonMarkJumbo Insigne Maxi +RibbonMarkMini Insigne Mini +RibbonMarkItemfinder Insigne Ramassage +RibbonMarkPartner Insigne Amitié +RibbonMarkGourmand Insigne Gourmet +RibbonOnceInALifetime Exceptionnel +RibbonMarkAlpha Insigne Baron +RibbonMarkMightiest Insigne Surpuissant +RibbonMarkTitan Insigne Dominant \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Species_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Species_fr.txt index 37ecfc2b5..81da6a01b 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Species_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Species_fr.txt @@ -903,4 +903,109 @@ Ursaking Paragruel Farfurex Qwilpik -Amovénus \ No newline at end of file +Amovénus +Poussacha +Matourgeon +Miascarade +Chochodile +Crocogril +Flâmigator +Coiffeton +Canarbello +Palmaval +Gourmelet +Fragroin +Deusolourdo +Tissenboule +Filentrappe +Lilliterelle +Gambex +Léboulérou +Bérasca +Toutombe +Tomberro +Flotillon +Cléopsytra +Farigiraf +Taupikeau +Triopikeau +Oyacata +Délestin +Dofin +Superdofin +Olivini +Olivado +Arboliva +Pimito +Scovilain +Têtampoule +Ampibidou +Vrombi +Vrombotor +Ferdeter +Compagnol +Famignol +Piétacé +Balbalèze +Frigodo +Cryodo +Glaivodo +Nigirigon +Motorizard +Pohm +Pohmotte +Pohmarmotte +Zapétrel +Fulgulairo +Lestombaile +Tapatoès +Flamenroule +Craparoi +Selutin +Amassel +Gigansel +Germéclat +Floréclat +Gribouraigne +Tag-Tag +Pâtachiot +Briochien +Grondogue +Dogrino +Virovent +Virevorreur +Mordudor +Gromago +Fort-Ivoire +Fongus-Furie +AKETUBAN +Pelage-Sablé +Hurle-Queue +Flotte-Mèche +Rampe-Ailes +Rugit-Lune +Roue-de-Fer +BKETUBAN +Mite-de-Fer +Paume-de-Fer +Têtes-de-Fer +Épine-de-Fer +Hotte-de-Fer +Garde-de-Fer +Dinglu +Baojian +Chongjian +Yuyu +Koraidon +Miraidon +Forgerette +Forgella +Forgelina +Charbambin +Carmadura +Malvalame +Terracool +Terracruel +Scalpereur +Terraiste +Courrousinge \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Abilities_it.txt b/PKHeX.Core/Resources/text/other/it/text_Abilities_it.txt index b4c65a37a..9d8a9dfb2 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Abilities_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Abilities_it.txt @@ -36,7 +36,7 @@ Clorofilla Risplendi Traccia Macroforza -Velenopunto +Velenopunte Forza Interiore Magmascudo Idrovelo @@ -265,4 +265,35 @@ Dragomascelle Nitrito Bianco Nitrito Nero Sintonia Equina -Sintonia Equina \ No newline at end of file +Sintonia Equina +Odore Tenace +Spargisemi +Termoscambio +Iraguscio +Sale Purificante +Bentostato +Vento Propizio +Cane da Guardia +Portamassi +Energia Eolica +Supercambio +Torre di Comando +Convertivolt +Paleoattivazione +Carica Quark +Corpo Aureo +Vaso Nefasto +Spada Nefasta +Amuleto Nefasto +Monile Nefasto +Ritmo d’Oricalco +Motore Adronico +Scrocco +Ruminante +Affilama +Generale Supremo +Coprotagonismo +Mantossina +Codarmatura +Mangiaterra +Micoforza \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt b/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt index 873de5494..15512feb6 100644 Binary files a/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt and b/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt differ diff --git a/PKHeX.Core/Resources/text/other/it/text_Games_it.txt b/PKHeX.Core/Resources/text/other/it/text_Games_it.txt index a647efa99..c7fad81dc 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Games_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Games_it.txt @@ -47,4 +47,6 @@ Scudo Leggende: Arceus Diamante Lucente -Perla Splendente \ No newline at end of file +Perla Splendente +Scarlatto +Violetto \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Moves_it.txt b/PKHeX.Core/Resources/text/other/it/text_Moves_it.txt index a5a70f5a8..d1788a80d 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Moves_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Moves_it.txt @@ -138,7 +138,7 @@ Calcinvolo Sguardo Feroce Mangiasogni Velenogas -Attacco Pioggia +Sferattacco Sanguisuga Demonbacio Aeroattacco @@ -176,7 +176,7 @@ Maledizione Flagello Conversione2 Aerocolpo -Cottonspora +Cotonspora Contropiede Dispetto Polneve @@ -190,7 +190,7 @@ Fangobomba Fangosberla Octazooka Punte -Falcecannone +Elettrocannone Preveggenza Destinobbligato Ultimocanto @@ -351,7 +351,7 @@ Dragodanza Cadutamassi Ondashock Idropulsar -Obbliderio +Desiderio Fatale Psicoslancio Trespolo Gravità @@ -394,7 +394,7 @@ Acquanello Magnetascesa Fuococarica Palmoforza -Forzasfera +Sferapulsar Lucidatura Velenpuntura Neropulsar @@ -503,7 +503,7 @@ Anticipo Cambiaposto Idrovampata Gettaguscio -Ondasana +Curapulsar Sciagura Cadutalibera Cambiomarcia @@ -848,4 +848,54 @@ Tempesta Boreale Tempesta Tonante Tempesta Ardente Invocaluna -Baldimpulso \ No newline at end of file +Baldimpulso +Terascoppio +Telatrappola +Calcio ad Ascia +Omaggio ai KO +Fotocollisione +Alta Cucina +Pugnojet +Essenza Piccante +Slittaruote +Infestazione +Vortighiaccio +Spadoncarica +Preghiera Vitale +Sotto Sale +Triplo Tuffo +Glitturbine +Ricalco +Alleggerimento +Genufendente +Prestigiafiore +Canzone Ardente +Idroballetto +Scatenatoro +Corsa all’Oro +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +Catastrofe +Turboschianto +Fulmiscatto +Tagliacoda +Freddura +Pulizie +Vista Innevata +Balzo +Apripista +Doccia Fredda +Ipertrapano +Doppioraggio +Pugno Furibondo +Corazza Cannone +Lama del Rimorso +Doppiolampo +Granmartello +Ritorsione +Idrotaglio +Turboustione +Turbotenebra +Turbotossina +Turborissa +Turboincanto \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Ribbons_it.txt b/PKHeX.Core/Resources/text/other/it/text_Ribbons_it.txt index f6c6bae7a..94dfbac8e 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Ribbons_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Ribbons_it.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos Kalos Champion +RibbonChampionKalos Kalos Champion RibbonChampionG3 Champion (Gen3) RibbonChampionSinnoh Sinnoh Champion RibbonBestFriends Best Friends @@ -149,5 +149,15 @@ RibbonMarkHumble Emblema Ingenuità RibbonMarkThorny Emblema Artificio RibbonMarkVigor Emblema Vitalità RibbonMarkSlump Emblema Sottotono -RibbonPioneer Pioneer -RibbonTwinklingStar Fiocco Stella Brillante \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar Stella Brillante +RibbonChampionPaldea Campione Paldea +RibbonMarkJumbo Emblema Grande e Grosso +RibbonMarkMini Emblema Piccoletto +RibbonMarkItemfinder Emblema Pigliatutto +RibbonMarkPartner Emblema Compagno Fidato +RibbonMarkGourmand Emblema Gourmet +RibbonOnceInALifetime Eccezionale +RibbonMarkAlpha Emblema dell’Alfa +RibbonMarkMightiest Emblema della Forza Assoluta +RibbonMarkTitan Emblema del dominante \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Species_it.txt b/PKHeX.Core/Resources/text/other/it/text_Species_it.txt index 0d09b2453..60f05d660 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Species_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Species_it.txt @@ -903,4 +903,109 @@ Ursaluna Basculegion Sneasler Overqwil -Enamorus \ No newline at end of file +Enamorus +Sprigatito +Floragato +Meowscarada +Fuecoco +Crocalor +Skeledirge +Quaxly +Quaxwell +Quaquaval +Lechonk +Oinkologne +Dudunsparce +Tarountula +Spidops +Nymble +Lokix +Rellor +Rabsca +Greavard +Houndstone +Flittle +Espathra +Farigiraf +Wiglett +Wugtrio +Dondozo +Veluza +Finizen +Palafin +Smoliv +Dolliv +Arboliva +Capsakid +Scovillain +Tadbulb +Bellibolt +Varoom +Revavroom +Orthworm +Tandemaus +Maushold +Cetoddle +Cetitan +Frigibax +Arctibax +Baxcalibur +Tatsugiri +Cyclizar +Pawmi +Pawmo +Pawmot +Wattrel +Kilowattrel +Bombirdier +Squawkabilly +Flamigo +Klawf +Nacli +Naclstack +Garganacl +Glimmet +Glimmora +Shroodle +Grafaiai +Fidough +Dachsbun +Maschiff +Mabosstiff +Bramblin +Brambleghast +Gimmighoul +Gholdengo +Grandizanne +Fungofurioso +AKETUBAN +Peldisabbia +Codaurlante +Crinealato +Alirasenti +Lunaruggente +Solcoferreo +BKETUBAN +Falenaferrea +Manoferrea +Colloferreo +Spineferree +Saccoferreo +Eroeferreo +Ting-Lu +Chien-Pao +Wo-Chien +Chi-Yu +Koraidon +Miraidon +Tinkatink +Tinkatuff +Tinkaton +Charcadet +Armarouge +Ceruledge +Toedscool +Toedscruel +Kingambit +Clodsire +Annihilape \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Abilities_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Abilities_ja.txt index 7c9fed8fa..ca254d8ac 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Abilities_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Abilities_ja.txt @@ -265,4 +265,35 @@ しろのいななき くろのいななき じんばいったい -じんばいったい \ No newline at end of file +じんばいったい +とれないにおい +こぼれダネ +ねつこうかん +いかりのこうら +きよめのしお +こんがりボディ +かぜのり +ばんけん +いわはこび +ふうりょくでんき +マイティチェンジ +しれいとう +でんきにかえる +こだいかっせい +クォークチャージ +おうごんのからだ +わざわいのうつわ +わざわいのつるぎ +わざわいのおふだ +わざわいのたま +ひひいろのこどう +ハドロンエンジン +びんじょう +はんすう +きれあじ +そうだいしょう +きょうえん +どくげしょう +テイルアーマー +どしょく +きんしのちから \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt index 06d58279d..2519715b3 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt @@ -1,4 +1,4 @@ -ギザみみ +ギザみみ @@ -980,19 +980,19 @@ ジャングルのもよう ファンシーなもよう ボールのもよう -きいろのはな -オレンジいろのはな -あおいはな -しろいはな -きいろのはな -オレンジいろのはな -あおいはな -しろいはな -えいえんのはな -きいろのはな -オレンジいろのはな -あおいはな -しろいはな +きいろの +オレンジ +あおい +しろい +きいろの +オレンジ +あおい +しろい +えいえんの +きいろの +オレンジ +あおい +しろい ハートカット スターカット ダイヤカット @@ -1095,4 +1095,29 @@ ヒスイのすがた キングのすがた クイーンのすがた -レジェンド \ No newline at end of file +レジェンド +がんさく +しんさく +パルデア +ふたふしフ +みつふしフ +ナイーブフ +マイティ +3びきかぞく +4ひきかぞく +そった +たれた +のびた +グリーン +はこフ +とほフ +かんぜんけい +せいげんけい +しっそうけい +ゆうえいけい +かっくうけい +コンプリート +リミテッド +ドライブ +フロート +グライド \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Games_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Games_ja.txt index 722a2b152..9138b2d68 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Games_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Games_ja.txt @@ -47,4 +47,6 @@ Let's Go! イーブイ LEGENDS アルセウス ブリリアントダイヤモンド -シャイニングパール \ No newline at end of file +シャイニングパール +スカーレット +バイオレット \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Moves_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Moves_ja.txt index f1fb569fa..3f584937a 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Moves_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Moves_ja.txt @@ -848,4 +848,54 @@ かみなりあらし ねっさのあらし みかづきのいのり -ブレイブチャージ \ No newline at end of file +ブレイブチャージ +テラバースト +スレッドトラップ +かかとおとし +おはかまいり +ルミナコリジョン +いっちょうあがり +ジェットパンチ +ハバネロエキス +ホイールスピン +ネズミざん +アイススピナー +きょけんとつげき +さいきのいのり +しおづけ +トリプルダイブ +キラースピン +うつしえ +みをけずる +ドゲザン +トリックフラワー +フレアソング +アクアステップ +レイジングブル +ゴールドラッシュ +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +カタストロフィ +アクセルブレイク +イナズマドライブ +しっぽきり +さむいギャグ +おかたづけ +ゆきげしき +とびつく +くさわけ +ひやみず +ハイパードリル +ツインビーム +ふんどのこぶし +アーマーキャノン +むねんのつるぎ +でんこうそうげき +デカハンマー +ほうふく +アクアカッター +バーンアクセル +ダークアクセル +ポイズンアクセル +ファイトアクセル +マジカルアクセル \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Ribbons_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Ribbons_ja.txt index fe23b957e..15da72227 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Ribbons_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Ribbons_ja.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos カロス チャンプ +RibbonChampionKalos カロス チャンプ RibbonChampionG3 チャンプ (Gen3) RibbonChampionSinnoh シンオウ チャンプ RibbonBestFriends なかよし @@ -149,5 +149,15 @@ RibbonMarkHumble ぼくとつのあかし RibbonMarkThorny ふじゅんのあかし RibbonMarkVigor げんきのあかし RibbonMarkSlump ふちょうのあかし -RibbonPioneer Pioneer -RibbonTwinklingStar トゥインクルスターリボン \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar トゥインクルスターリボン +RibbonChampionPaldea パルデア チャンプリボン +RibbonMarkJumbo でっかいあかし +RibbonMarkMini ちっちゃいあかし +RibbonMarkItemfinder ものひろいのあかし +RibbonMarkPartner あいぼうのあかし +RibbonMarkGourmand グルメなあかし +RibbonOnceInALifetime せんざいいちぐうリボン +RibbonMarkAlpha オヤブンのあかし +RibbonMarkMightiest さいきょうのあかし +RibbonMarkTitan ヌシのあかし \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Species_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Species_ja.txt index 4ba1f1714..59bfd3a95 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Species_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Species_ja.txt @@ -903,4 +903,109 @@ イダイトウ オオニューラ ハリーマン -ラブトロス \ No newline at end of file +ラブトロス +ニャオハ +ニャローテ +マスカーニャ +ホゲータ +アチゲータ +ラウドボーン +クワッス +ウェルカモ +ウェーニバル +グルトン +パフュートン +ノココッチ +タマンチュラ +ワナイダー +マメバッタ +エクスレッグ +シガロコ +ベラカス +ボチ +ハカドッグ +ヒラヒナ +クエスパトラ +リキキリン +ウミディグダ +ウミトリオ +ヘイラッシャ +ミガルーサ +ナミイルカ +イルカマン +ミニーブ +オリーニョ +オリーヴァ +カプサイジ +スコヴィラン +ズピカ +ハラバリー +ブロロン +ブロロローム +ミミズズ +ワッカネズミ +イッカネズミ +アルクジラ +ハルクジラ +セビエ +セゴール +セグレイブ +シャリタツ +モトトカゲ +パモ +パモット +パーモット +カイデン +タイカイデン +オトシドリ +イキリンコ +カラミンゴ +ガケガニ +コジオ +ジオヅム +キョジオーン +キラーメ +キラフロル +シルシュルー +タギングル +パピモッチ +バウッツェル +オラチフ +マフィティフ +アノクサ +アノホラグサ +コレクレー +サーフゴー +イダイナキバ +アラブルタケ +AKETUBAN +スナノケガワ +サケブシッポ +ハバタクカミ +チヲハウハネ +トドロクツキ +テツノワダチ +BKETUBAN +テツノドクガ +テツノカイナ +テツノコウベ +テツノイバラ +テツノツツミ +テツノブジン +ディンルー +パオジアン +チオンジェン +イーユイ +コライドン +ミライドン +カヌチャン +ナカヌチャン +デカヌチャン +カルボウ +グレンアルマ +ソウブレイズ +ノノクラゲ +リククラゲ +ドドゲザン +ドオー +コノヨザル \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Abilities_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Abilities_ko.txt index 5900a9085..2f7b0942f 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Abilities_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Abilities_ko.txt @@ -221,7 +221,7 @@ 소울하트 컬리헤어 리시버 -과학의힘 +화학의힘 비스트부스트 AR시스템 일렉트릭메이커 @@ -265,4 +265,35 @@ AR시스템 백의울음 흑의울음 혼연일체 -혼연일체 \ No newline at end of file +혼연일체 +가시지않는향기 +넘치는씨 +열교환 +분노의껍질 +정화의소금 +노릇노릇바디 +바람타기 +파수견 +바위나르기 +풍력발전 +마이티체인지 +사령탑 +전기로바꾸기 +고대활성 +쿼크차지 +황금몸 +재앙의그릇 +재앙의검 +재앙의목간 +재앙의구슬 +진홍빛고동 +하드론엔진 +편승 +되새김질 +예리함 +총대장 +협연 +독치장 +테일아머 +흙먹기 +균사의힘 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt index 158cc321b..ba09b057e 100644 Binary files a/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt and b/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt differ diff --git a/PKHeX.Core/Resources/text/other/ko/text_Games_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Games_ko.txt index f9ee22717..bc100aea3 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Games_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Games_ko.txt @@ -47,4 +47,6 @@ Y LEGENDS 아르세우스 브릴리언트 다이아몬드 -샤이닝 펄 \ No newline at end of file +샤이닝 펄 +스칼렛 +바이올렛 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Moves_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Moves_ko.txt index 2067731ca..8f6b51780 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Moves_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Moves_ko.txt @@ -22,7 +22,7 @@ 힘껏치기 덩굴채찍 짓밟기 -두번치기 +두번차기 메가톤킥 점프킥 돌려차기 @@ -128,7 +128,7 @@ HP회복 폭포오르기 껍질끼우기 스피드스타 -로케트박치기 +로켓박치기 가시대포 휘감기 망각술 @@ -150,7 +150,7 @@ HP회복 사이코웨이브 튀어오르기 녹기 -찝게햄머 +집게해머 대폭발 마구할퀴기 뼈다귀부메랑 @@ -170,7 +170,7 @@ HP회복 거미집 마음의눈 악몽 -화염자동차 +화염바퀴 코골기 저주 바둥바둥 @@ -194,9 +194,9 @@ HP회복 꿰뚫어보기 길동무 멸망의노래 -얼다바람 +얼어붙은바람 판별 -본러쉬 +본러시 록온 역린 모래바람 @@ -222,19 +222,19 @@ HP회복 성스러운불꽃 매그니튜드 폭발펀치 -메가폰 +메가혼 용의숨결 -바톤터치 -앵콜 +배턴터치 +앙코르 따라가때리기 고속스핀 달콤한향기 아이언테일 -메탈크로우 +메탈클로 받아던지기 아침햇살 광합성 -달의불빛 +달빛 잠재파워 크로스촙 회오리 @@ -250,7 +250,7 @@ HP회복 바위깨기 바다회오리 집단구타 -속이다 +속이기 소란피기 비축하기 토해내기 @@ -278,41 +278,41 @@ HP회복 매직코트 리사이클 리벤지 -깨트리다 +깨트리기 하품 탁쳐서떨구기 죽기살기 분화 -스킬스웹 +스킬스왑 봉인 -리프레쉬 +리프레시 원념 -가로챔 +가로채기 비밀의힘 다이빙 손바닥치기 보호색 반딧불 -라스트버지 +러스터퍼지 미스트볼 깃털댄스 흔들흔들댄스 -브레이즈킥 +블레이즈킥 흙놀이 아이스볼 바늘팔 -태만함 +게으름피우기 하이퍼보이스 -독엄니 -브레이크크루 -블러스트번 +맹독엄니 +브레이크클로 +블라스트번 하이드로캐논 코멧펀치 놀래키기 웨더볼 아로마테라피 거짓울음 -에어컷터 +에어커터 오버히트 냄새구별 암석봉인 @@ -325,30 +325,30 @@ HP회복 시그널빔 섀도펀치 신통력 -스카이업퍼 +스카이어퍼 모래지옥 절대영도 탁류 -기관총 +씨기관총 제비반환 고드름침 철벽 블록 -멀리짖음 -드래곤크루 +멀리짖기 +드래곤클로 하드플랜트 벌크업 -뛰어오르다 -머드숏 +뛰어오르기 +머드샷 포이즌테일 -탐내다 +탐내기 볼트태클 -메지컬리프 +매지컬리프 물놀이 명상 리프블레이드 용의춤 -락블레스트 +록블라스트 전격파 물의파동 파멸의소원 @@ -382,14 +382,14 @@ HP회복 주술 선취 흉내쟁이 -파워스웹 -가드스웹 +파워스왑 +가드스왑 혼내기 -뒀다쓰기 +비장의무기 고민씨 기습 독압정 -하트스웹 +하트스왑 아쿠아링 전자부유 플레어드라이브 @@ -419,7 +419,7 @@ HP회복 불릿펀치 눈사태 얼음뭉치 -섀도크루 +섀도클로 번개엄니 얼음엄니 불꽃엄니 @@ -427,9 +427,9 @@ HP회복 진흙폭탄 사이코커터 사념의박치기 -미러숏 +미러샷 러스터캐논 -락클라임 +록클라임 안개제거 트릭룸 용성군 @@ -448,7 +448,7 @@ HP회복 풀묶기 수다 심판의뭉치 -벌레먹음 +벌레먹기 차지빔 우드해머 아쿠아제트 @@ -499,7 +499,7 @@ HP회복 야금야금 클리어스모그 어시스트파워 -퍼스트가드 +패스트가드 사이드체인지 열탕 껍질깨기 @@ -530,7 +530,7 @@ HP회복 드릴라이너 더블촙 하트스탬프 -우드호른 +우드혼 성스러운칼 셸블레이드 히트스탬프 @@ -547,7 +547,7 @@ HP회복 테크노버스터 옛노래 신비의칼 -얼다세계 +얼어붙은세계 뇌격 푸른불꽃 불꽃춤 @@ -591,7 +591,7 @@ V제너레이트 비밀이야기 다이아스톰 스팀버스트 -다른차원홀 +이차원홀 물수리검 매지컬플레임 니들가드 @@ -619,7 +619,7 @@ V제너레이트 근원의파동 단애의칼 화룡점정 -다른차원러시 +이차원러시 울트라대시어택 울트라대시어택 전력무쌍격렬권 @@ -675,14 +675,14 @@ DD래리어트 어시스트기어 지옥찌르기 꽃가루경단 -앵커숏 +앵커샷 사이코필드 덤벼들기 불꽃채찍 기어오르기 불사르기 -스피드스웹 -스마트호른 +스피드스왑 +스마트혼 정화 잠재댄스 코어퍼니셔 @@ -747,7 +747,7 @@ DD래리어트 물고버티기 볼가득넣기 배수의진 -타르숏 +타르샷 마법가루 드래곤애로 다과회 @@ -848,4 +848,54 @@ G의힘 번개폭풍 열사의폭풍 초승달의기도 -브레이브차지 \ No newline at end of file +브레이브차지 +테라버스트 +스레드트랩 +발꿈치찍기 +성묘 +루미나콜리전 +한판내기 +제트펀치 +하바네로엑기스 +휠스핀 +찍찍베기 +아이스스피너 +대검돌격 +회생의기도 +소금절이 +트리플다이브 +킬러스핀 +베껴그리기 +제살깎기 +도각참 +트릭플라워 +플레어송 +아쿠아스텝 +레이징불 +골드러시 +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +카타스트로피 +액셀브레이크 +라이트닝드라이브 +꼬리자르기 +썰렁개그 +정리정돈 +설경 +달려들기 +개척하기 +찬물끼얹기 +하이퍼드릴 +트윈빔 +분노의주먹 +아머캐논 +원념의칼 +전광쌍격 +거대해머 +앙갚음 +아쿠아커터 +번액셀 +다크액셀 +포이즌액셀 +파이트액셀 +매지컬액셀 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Ribbons_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Ribbons_ko.txt index d6fde063f..e43534666 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Ribbons_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Ribbons_ko.txt @@ -149,5 +149,15 @@ RibbonMarkHumble 순박의증표 RibbonMarkThorny 불순의증표 RibbonMarkVigor 기력의증표 RibbonMarkSlump 피곤의증표 -RibbonPioneer Pioneer -RibbonTwinklingStar 트윙클스타리본 \ No newline at end of file +RibbonHisui Hisui +RibbonTwinklingStar 트윙클스타리본 +RibbonChampionPaldea 팔데아챔피언리본 +RibbonMarkJumbo 커다란증표 +RibbonMarkMini 조그만증표 +RibbonMarkItemfinder 습득의증표 +RibbonMarkPartner 파트너의증표 +RibbonMarkGourmand 미식가의증표 +RibbonOnceInALifetime 천재일우리본 +RibbonMarkAlpha 우두머리의증표 +RibbonMarkMightiest 최강의증표 +RibbonMarkTitan 주인의증표 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Species_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Species_ko.txt index 4c6406093..97afc9c02 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Species_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Species_ko.txt @@ -903,4 +903,109 @@ 대쓰여너 포푸니크 장침바루 -러브로스 \ No newline at end of file +러브로스 +나오하 +나로테 +마스카나 +뜨아거 +악뜨거 +라우드본 +꾸왁스 +아꾸왁 +웨이니발 +맛보돈 +퍼퓨돈 +노고고치 +타랜툴라 +트래피더 +콩알뚜기 +엑스레그 +구르데 +베라카스 +망망이 +묘두기 +하느라기 +클레스퍼트라 +키키링 +바다그다 +바닥트리오 +어써러셔 +가비루사 +맨돌핀 +돌핀맨 +미니브 +올리뇨 +올리르바 +캡싸이 +스코빌런 +빈나두 +찌리배리 +부르롱 +부르르룸 +꿈트렁 +두리쥐 +파밀리쥐 +터벅고래 +우락고래 +드니차 +드니꽁 +드닐레이브 +싸리용 +모토마 +빠모 +빠모트 +빠르모트 +찌리비 +찌리비크 +떨구새 +시비꼬 +꼬이밍고 +절벼게 +베베솔트 +스태솔트 +콜로솔트 +초롱순 +킬라플로르 +땃쭈르 +태깅구르 +쫀도기 +바우첼 +오라티프 +마피티프 +그푸리 +공푸리 +모으령 +타부자고 +위대한엄니 +사나운버섯 +AKETUBAN +모래털가죽 +우렁찬꼬리 +날개치는머리 +땅을기는날개 +고동치는달 +무쇠바퀴 +BKETUBAN +무쇠독나방 +무쇠손 +무쇠머리 +무쇠가시 +무쇠보따리 +무쇠무인 +딩루 +파오젠 +총지엔 +위유이 +코라이돈 +미라이돈 +어리짱 +벼리짱 +두드리짱 +카르본 +카디나르마 +파라블레이즈 +들눈해 +육파리 +대도각참 +토오 +저승갓숭 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh.txt index de83255e6..5c598de24 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh.txt @@ -104,7 +104,7 @@ 笨拙 破格 超幸运 -引爆 +诱爆 危险预知 预知梦 纯朴 @@ -128,7 +128,7 @@ 紧张感 不服输 软弱 -诅咒之躯 +咒术之躯 治愈之心 友情防守 碎裂铠甲 @@ -265,4 +265,35 @@ 苍白嘶鸣 漆黑嘶鸣 人马一体 -人马一体 \ No newline at end of file +人马一体 +甩不掉的气味 +掉出种子 +热交换 +愤怒甲壳 +洁净之盐 +焦香之躯 +乘风 +看门犬 +搬岩 +风力发电 +全能变身 +发号施令 +电力转换 +古代活性 +夸克充能 +黄金之躯 +灾祸之鼎 +灾祸之剑 +灾祸之简 +灾祸之玉 +绯红脉动 +强子引擎 +跟风 +反刍 +锋锐 +大将 +同台共演 +毒满地 +尾甲 +食土 +菌丝之力 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh2.txt index 183bd8a0c..8ef187bb3 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Abilities_zh2.txt @@ -217,7 +217,7 @@ 舞者 蓄電池 毛茸茸 -鮮豔之軀 +鮮艷之軀 魂心 捲髮 接球手 @@ -266,3 +266,34 @@ 漆黑嘶鳴 人馬一體 人馬一體 +甩不掉的氣味 +掉出種子 +熱交換 +憤怒甲殼 +潔淨之鹽 +焦香之軀 +乘風 +看門犬 +搬岩 +風力發電 +全能變身 +發號施令 +電力轉換 +古代活性 +夸克充能 +黃金之軀 +災禍之鼎 +災禍之劍 +災禍之簡 +災禍之玉 +緋紅脈動 +強子引擎 +跟風 +反芻 +鋒銳 +大將 +同台共演 +毒滿地 +尾甲 +食土 +菌絲之力 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Forms_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Forms_zh.txt index 119b79ae0..2a7be6235 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Forms_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Forms_zh.txt @@ -1,4 +1,4 @@ -刺刺耳皮丘 +刺刺耳皮丘 @@ -980,19 +980,19 @@ 热带雨林花纹 幻彩花纹 球球花纹 -黄花 -橙花 -蓝花 -白花 -黄花 -橙花 -蓝花 -白花 -永恒之花 -黄花 -橙花 -蓝花 -白花 +黄 +橙 +蓝 +白 +黄 +橙 +蓝 +白 +永恒 +黄 +橙 +蓝 +白 心形造型 星形造型 菱形造型 @@ -1095,4 +1095,29 @@ World 洗翠的样子 王的样子 女王的样子 -传说 \ No newline at end of file +传说 +赝品 +真品 +帕底亞 +二节形 +三节形 +平凡 +全能 +三只家庭 +四只家庭 +上弓姿 +下垂 +平挺 +绿 +宝箱形 +徒步形 +完全形态 +制限形态 +疾驰形态 +破浪形态 +乘风形态 +完整模式 +受限模式 +行驶模式 +浮水模式 +滑翔模式 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Forms_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Forms_zh2.txt index 1733490e9..7994fabae 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Forms_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Forms_zh2.txt @@ -1,4 +1,4 @@ -刺刺耳皮丘 +刺刺耳皮丘 @@ -980,19 +980,19 @@ Mega差不多娃娃 熱帶雨林花紋 幻彩花紋 球球花紋 -黃花 -橙花 -藍花 -白花 -黃花 -橙花 -藍花 -白花 -永恆之花 -黃花 -橙花 -藍花 -白花 +黃 +橙 +藍 +白 +黃 +橙 +藍 +白 +永恆 +黃 +橙 +藍 +白 心形造型 星形造型 菱形造型 @@ -1095,4 +1095,29 @@ World 洗翠的樣子 王的樣子 女王的樣子 -傳說 \ No newline at end of file +傳說 +贗品 +真品 +帕底亞 +二節形 +三節形 +平凡 +全能 +三隻家庭 +四隻家庭 +上弓姿 +下垂 +平挺 +綠 +寶箱形 +徒步形 +完全形態 +制限形態 +疾馳形態 +破浪形態 +乘風形態 +完整模式 +受限模式 +行駛模式 +浮水模式 +滑翔模式 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Games_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Games_zh.txt index daa4341f9..95ac71edb 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Games_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Games_zh.txt @@ -48,3 +48,5 @@ Let's Go!伊布 传说 阿尔宙斯 晶灿钻石 明亮珍珠 +朱 +紫 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Games_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Games_zh2.txt index 1f4c10e84..6b10a94fb 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Games_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Games_zh2.txt @@ -48,3 +48,5 @@ Let's Go!伊布 傳說:阿爾宙斯 晶燦鑽石 明亮珍珠 +朱 +紫 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Moves_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Moves_zh.txt index ab9804910..7cade12c2 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Moves_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Moves_zh.txt @@ -848,4 +848,54 @@ 鸣雷风暴 热沙风暴 新月祈祷 -勇气填充 \ No newline at end of file +勇气填充 +太晶爆发 +线阱 +下压踢 +扫墓 +琉光冲激 +上菜 +喷射拳 +辣椒精华 +疾速转轮 +鼠数儿 +冰旋 +巨剑突击 +复生祈祷 +盐腌 +三连钻 +晶光转转 +描绘 +甩肉 +仆刀 +千变万花 +闪焰高歌 +流水旋舞 +怒牛 +淘金潮 +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +大灾难 +全开猛撞 +闪电猛冲 +断尾 +冷笑话 +大扫除 +雪景 +虫扑 +起草 +泼冷水 +强力钻 +双光束 +愤怒之拳 +铠农炮 +悔念剑 +电光双击 +巨力锤 +复仇 +水波刀 +灼热暴冲 +黑暗暴冲 +剧毒暴冲 +格斗暴冲 +魔法暴冲 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Moves_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Moves_zh2.txt index b4b10c81a..804c489a9 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Moves_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Moves_zh2.txt @@ -25,7 +25,7 @@ 二連踢 百萬噸重踢 飛踢 -回旋踢 +迴旋踢 潑沙 頭錘 角撞 @@ -76,7 +76,7 @@ 飛葉快刀 日光束 毒粉 -麻痹粉 +麻痺粉 催眠粉 花瓣舞 吐絲 @@ -272,7 +272,7 @@ 戲法 扮演 祈願 -藉助 +借助 扎根 蠻力 魔法反射 @@ -325,7 +325,7 @@ 信號光束 暗影拳 神通力 -沖天拳 +衝天拳 流沙地獄 絕對零度 濁流 @@ -495,7 +495,7 @@ 找夥伴 您先請 輪唱 -迴聲 +回聲 逐步擊破 清除之煙 輔助力量 @@ -568,7 +568,7 @@ 萬聖夜 戰吼 等離子浴 -抛物面充電 +拋物面充電 森林詛咒 落英繽紛 冷凍乾燥 @@ -632,8 +632,8 @@ 地隆嘯天大終結 毀天滅地巨岩墜 毀天滅地巨岩墜 -絕對捕食回旋斬 -絕對捕食回旋斬 +絕對捕食迴旋斬 +絕對捕食迴旋斬 無盡暗夜之誘惑 無盡暗夜之誘惑 超絕螺旋連擊 @@ -697,7 +697,7 @@ 極惡飛躍粉碎擊 海神莊嚴交響樂 巨人衛士・阿羅拉 -七星夺魂腿 +七星奪魂腿 駕雷馭電戲衝浪 認真起來大爆擊 九彩昇華齊聚頂 @@ -849,3 +849,53 @@ 熱沙風暴 新月祈禱 勇氣填充 +太晶爆發 +線阱 +下壓踢 +掃墓 +琉光衝激 +上菜 +噴射拳 +辣椒精華 +疾速轉輪 +鼠數兒 +冰旋 +巨劍突擊 +復生祈禱 +鹽醃 +三連鑽 +晶光轉轉 +描繪 +甩肉 +仆斬 +千變萬花 +閃焰高歌 +流水旋舞 +怒牛 +淘金潮 +WAZA_SAIKOBUREIDO +WAZA_HAIDOROSUTIIMU +大災難 +全開猛撞 +閃電猛衝 +斷尾 +冷笑話 +大掃除 +雪景 +蟲撲 +起草 +潑冷水 +強力鑽 +雙光束 +憤怒之拳 +鎧農炮 +悔念劍 +電光雙擊 +巨力錘 +復仇 +水波刀 +灼熱暴衝 +黑暗暴衝 +劇毒暴衝 +格鬥暴衝 +魔法暴衝 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh.txt index 8d69e3a45..2b2fea241 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh.txt @@ -1,4 +1,4 @@ -RibbonChampionKalos 卡洛斯冠军 +RibbonChampionKalos 卡洛斯冠军 RibbonChampionG3 冠军 (3代) RibbonChampionSinnoh 神奥冠军 RibbonBestFriends 好友 @@ -149,5 +149,15 @@ RibbonMarkHumble 木讷之证 RibbonMarkThorny 不纯之证 RibbonMarkVigor 活力之证 RibbonMarkSlump 不振之证 -RibbonPioneer 先驱之证 +RibbonHisui 洗翠的样子 RibbonTwinklingStar 闪亮之星奖章 +RibbonChampionPaldea 帕底亚冠军奖章 +RibbonMarkJumbo 大个子之证 +RibbonMarkMini 小不点之证 +RibbonMarkItemfinder 捡拾之证 +RibbonMarkPartner 搭档之证 +RibbonMarkGourmand 美食之证 +RibbonOnceInALifetime 千载难逢奖章 +RibbonMarkAlpha 头目之证 +RibbonMarkMightiest 最强之证 +RibbonMarkTitan 宝主之证 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh2.txt index 78687cbb7..7d8dd62e0 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Ribbons_zh2.txt @@ -149,5 +149,15 @@ RibbonMarkHumble 木訥之證 RibbonMarkThorny 不純之證 RibbonMarkVigor 活力之證 RibbonMarkSlump 不振之證 -RibbonPioneer 先驅之證 +RibbonHisui 洗翠的樣子 RibbonTwinklingStar 閃亮之星獎章 +RibbonChampionPaldea 帕底亚冠军奖章 +RibbonMarkJumbo 大个子之证 +RibbonMarkMini 小不点之证 +RibbonMarkItemfinder 捡拾之证 +RibbonMarkPartner 搭档之证 +RibbonMarkGourmand 美食之证 +RibbonOnceInALifetime 千载难逢奖章 +RibbonMarkAlpha 头目之证 +RibbonMarkMightiest 最强之证 +RibbonMarkTitan 宝主之证 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Species_zh.txt b/PKHeX.Core/Resources/text/other/zh/text_Species_zh.txt index 73c67fdc4..35e925ad2 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Species_zh.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Species_zh.txt @@ -903,4 +903,109 @@ 幽尾玄鱼 大狃拉 万针鱼 -眷恋云 \ No newline at end of file +眷恋云 +新叶喵 +蒂蕾喵 +魔幻假面喵 +呆火鳄 +炙烫鳄 +骨纹巨声鳄 +润水鸭 +涌跃鸭 +狂欢浪舞鸭 +爱吃豚 +飘香豚 +土龙节节 +团珠蛛 +操陷蛛 +豆蟋蟀 +烈腿蝗 +虫滚泥 +虫甲圣 +墓仔狗 +墓扬犬 +飘飘雏 +超能艳鸵 +奇麒麟 +海地鼠 +三海地鼠 +吃吼霸 +轻身鳕 +波普海豚 +海豚侠 +迷你芙 +奥利纽 +奥利瓦 +热辣娃 +狠辣椒 +光蚪仔 +电肚蛙 +噗隆隆 +普隆隆姆 +拖拖蚓 +一对鼠 +一家鼠 +走鲸 +浩大鲸 +凉脊龙 +冻脊龙 +戟脊龙 +米立龙 +摩托蜥 +布拨 +布土拨 +巴布土拨 +电海燕 +大电海燕 +下石鸟 +怒鹦哥 +缠红鹤 +毛崖蟹 +盐石宝 +盐石垒 +盐石巨灵 +晶光芽 +晶光花 +滋汁鼹 +涂标客 +狗仔包 +麻花犬 +偶叫獒 +獒教父 +纳噬草 +怖纳噬草 +索财灵 +赛富豪 +雄伟牙 +猛恶菇 +AKETUBAN +沙铁皮 +吼叫尾 +振翼发 +爬地翅 +轰鸣月 +铁辙迹 +BKETUBAN +铁毒蛾 +铁臂膀 +铁脖颈 +铁荆棘 +铁包袱 +铁武者 +古鼎鹿 +古剑豹 +古简蜗 +古玉鱼 +故勒顿 +密勒顿 +小锻匠 +巧锻匠 +巨锻匠 +炭小侍 +红莲铠骑 +苍炎刃鬼 +原野水母 +陆地水母 +仆刀将军 +土王 +弃世猴 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh/text_Species_zh2.txt b/PKHeX.Core/Resources/text/other/zh/text_Species_zh2.txt index f2b4553ef..34268ca9e 100644 --- a/PKHeX.Core/Resources/text/other/zh/text_Species_zh2.txt +++ b/PKHeX.Core/Resources/text/other/zh/text_Species_zh2.txt @@ -903,4 +903,109 @@ 幽尾玄魚 大狃拉 萬針魚 -眷戀雲 \ No newline at end of file +眷戀雲 +新葉喵 +蒂蕾喵 +魔幻假面喵 +呆火鱷 +炙燙鱷 +骨紋巨聲鱷 +潤水鴨 +湧躍鴨 +狂歡浪舞鴨 +愛吃豚 +飄香豚 +土龍節節 +團珠蛛 +操陷蛛 +豆蟋蟀 +烈腿蝗 +蟲滾泥 +蟲甲聖 +墓仔狗 +墓揚犬 +飄飄雛 +超能豔鴕 +奇麒麟 +海地鼠 +三海地鼠 +吃吼霸 +輕身鱈 +波普海豚 +海豚俠 +迷你芙 +奧利紐 +奧利瓦 +熱辣娃 +狠辣椒 +光蚪仔 +電肚蛙 +噗隆隆 +普隆隆姆 +拖拖蚓 +一對鼠 +一家鼠 +走鯨 +浩大鯨 +涼脊龍 +凍脊龍 +戟脊龍 +米立龍 +摩托蜥 +布撥 +布土撥 +巴布土撥 +電海燕 +大電海燕 +下石鳥 +怒鸚哥 +纏紅鶴 +毛崖蟹 +鹽石寶 +鹽石壘 +鹽石巨靈 +晶光芽 +晶光花 +滋汁鼴 +塗標客 +狗仔包 +麻花犬 +偶叫獒 +獒教父 +納噬草 +怖納噬草 +索財靈 +賽富豪 +雄偉牙 +猛惡菇 +AKETUBAN +沙鐵皮 +吼叫尾 +振翼髮 +爬地翅 +轟鳴月 +鐵轍跡 +BKETUBAN +鐵毒蛾 +鐵臂膀 +鐵脖頸 +鐵荊棘 +鐵包袱 +鐵武者 +古鼎鹿 +古劍豹 +古簡蝸 +古玉魚 +故勒頓 +密勒頓 +小鍛匠 +巧鍛匠 +巨鍛匠 +炭小侍 +紅蓮鎧騎 +蒼炎刃鬼 +原野水母 +陸地水母 +仆斬將軍 +土王 +棄世猴 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_de.txt b/PKHeX.Core/Resources/text/program/MessageStrings_de.txt index 387a5cd82..4c9f762d5 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_de.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_de.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Bitte das Programm neustarten. -MsgProgramIllegalModeBehave = Benimm dich bitte. -MsgProgramIllegalModeActive = Illegaler Modus aktiviert. -MsgProgramUpdateAvailable = Neues Update verfügbar! -MsgProgramCloseUnsaved = Nicht gespeicherte Änderungen gehen verloren. -MsgProgramCloseConfirm = Bist du sicher, dass du PKHeX schließen möchtest? -MsgProgramSaveFileConfirm = Bist du sicher, dass du einen Spielstand laden möchtest? -MsgProgramError = FEHLER -MsgProgramErrorExpectedHex = Die erwartete Eingabe darf nur die folgenden Zeichen enthalten (0-9, A-F). -MsgSettingsLoadFail = Einstellungen konnten nicht geladen werden. -MsgSettingsResetCorrupt = Die Einstellungen sind fehlerhaft, möchtest du sie zurücksetzen? -MsgSettingsResetPrompt = Ja, um die Einstellungen zu löschen oder Nein, um das Programm zu schließen. -MsgSettingsResetSuccess = Die Einstellungen wurden gelöscht. -MsgAny = Alle -MsgAll = Alle -MsgYes = Ja -MsgNo = Nein -MsgContinue = Fortsetzen? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} Dateien gelöscht. -MsgFolderNotFound = Ordner kann nicht gefunden werden: -MsgWindowClose = Das Fenster wird nun geschlossen. -MsgResearchRequired = Needs more research. -MsgFileLoad = Datei wurde geöffnet: -MsgFileLoadFail = Datei kann nicht geöffnet werden. -MsgFileLoadFailAuto = Ein Fehler trat beim Öffnen des Spielstands auf. -MsgFileLoadFailAutoAdvise = Es wird empfohlen ungültiger Dateinamen aus dem Ordner zu entfernen. -MsgFileLoadFailAutoCause = Dies wird wahrscheinlich durch Homebrew verursacht, welches ungültige Dateinamen erstellt. -MsgFileLoadVersionDetect = Spielstand der {0}. Generation erkannt. -MsgFileLoadEncrypted = PKHeX kann nur entschlüsselte Spielstände laden. -MsgFileLoadEncryptedFail = Dieser Spielstand ist nicht entschlüsselt. -MsgFileLoadIncompatible = Die Datei ist nicht kompatibel mit dem Spielstand. -MsgFileLoadSaveFail = Dies ist keine gültige Spielstands Datei. -MsgFileLoadSaveLoadFail = Ungültiger Spielstand geladen. Laden abgebrochen. -MsgFileLoadSaveDetectReload = Möchtest du einen Spielstand von dem folgenden Verzeichnis laden? -MsgFileLoadSaveSelectVersion = Wähle die Version. -MsgFileLoadSaveSelectGame = Wähle ein Spiel zum bearbeiten. -MsgFileLoadSaveMultiple = Mehrere Spiele erkannt. -MsgFileGameCubeBad = Die GC Memory Card ist ungültig oder beschädigt. Laden abgebrochen. -MsgFileGameCubeDuplicate = Es sind mehrere Spielständen auf der GC Memory Card. Laden abgebrochen. -MsgFileGameCubeNoGames = Es sind keine Pokémon Spielstände auf der GC Memory Card. Laden abgebrochen. -MsgFileSize = Dateigröße: {0} bytes -MsgFileSizeLarge = Die Datei ist zu groß. -MsgFileSizeSmall = Die Datei ist zu klein. -MsgFileWriteFail = Spielstand kann nicht geladen werden. -MsgFileWriteProtected = Das Detei Verzeichnis ist schreibgeschützt: -MsgFileWriteProtectedAdvice = Wenn sich die Datei auf einem Wechseldatenträger (SD card) befindet, überprüfe bitte den Schreibschutz Schalter. -MsgFileInUse = Spielstand kann nicht geladen werden. Die Datei wird möglicherweise von einem anderen Programm benutzt. -MsgFileUnsupported = Es wurde versucht eine nicht unterstützte Datei zu laden. Möglicherweise unterstützt PKHeX den Spielstand nicht, oder dieser ist beschädigt. -MsgPKMUnsupported = Es wurde versucht eine nicht unterstützte Datei zu laden. Möglicherweise handelt es sich um eine Pokémon Datei einer anderen Generation oder sie ist beschädigt. -MsgPKMConvertSuccess = Von {0} zu {1} konvertiert. -MsgPKMConvertFail = Konvertierung fehlgeschlagen. -MsgPKMMysteryGiftFail = Mystery Gift ist kein Pokémon. -MsgPKMConvertFailFormat = {0} kann nicht zu {1} konvertiert werden. -MsgPKMConvertFailBackwards = {0}s können nicht in Gen{1} Spielstände geladen werden. -MsgPKMConvertFailForm = Form kann nicht in neuere Spiele transferiert werden. -MsgPKMConvertFailNoMethod = Ein Transfer von diesem Format in das gewünschte Format ist nicht möglich. -MsgPKMConvertIncompatible = {0} {1}s können nicht in {2} Spielstände geladen werden. -MsgPKMConvertInternational = International -MsgPKMConvertJapanese = Japanisch -MsgClipboardLegalityExport = In die Zwischnablage kopieren? -MsgClipboardFailRead = Kein Text in der Zwischenablage. -MsgClipboardFailWrite = Text kann nicht in die Zwischenablage kopiert werden. -MsgSimulatorFailClipboard = Daten wurden der Zwischenablage nicht gefunden. -MsgSimulatorLoad = Dieses Set importieren? -MsgSimulatorInvalid = Ungültige Zeilen gefunden: -MsgSimulatorExportBadFields = Daten werden vor dem Export repariert. -MsgSimulatorExportFail = Versuche erneut zu exportieren. -MsgSimulatorExportSuccess = Exportiere Showdown Set in die Zwischenablage: -MsgSimulatorExportParty = Showdown Team (Team) in die Zwischenablage kopiert. -MsgSimulatorExportBattleBox = Showdown Team (Kampfbox) in die Zwischenablage kopiert. -MsgSimulatorExportList = Showdown Sets in die Zwischenablage kopiert. -MsgBackupCreateLocation = PKHeX kann automatische Backups erstellen, wenn es einen Ordner namens '{0}' in dem selben Verzeichnis gibt, in dem sich PKHeX befindet. -MsgBackupCreateQuestion = Möchtest du den Backup Ordner nun erstellen? -MsgBackupDelete = Wenn du nicht möchtest, dass automatische Backups erstellt werden, lösche den '{0}' Ordner. -MsgBackupUnable = Der Backup Ordner kann nicht erstellt werden. -MsgBackupSuccess = Backup Ordner wurde erstellt! -MsgDatabase = Die PKHeX Datenbank wurde nicht gefunden. -MsgDatabaseAdvice = Bitte exportiere alle Boxen von einem Spielstand, dann stelle sicher, dass der '{0}' Ordner existiert. -MsgDatabaseExport = In der PKHeX Datenbank speichern? -MsgDatabaseLoad = Von der PKHeX Datenbank laden? -MsgPKMLoadNull = Es wurde versucht eine leere Datei zu laden. -MsgPKMSuggestionFormat = Vorschläge sind für dieses PKM Format nicht aktiviert. -MsgPKMSuggestionMoves = Die vorgeschlagenen Attacken anwenden? -MsgPKMSuggestionRelearn = Die vorgeschlagenen wiedererlernbaren Attacken anwenden? -MsgPKMSuggestionNone = Vorschlag kann nicht gemacht werden. -MsgPKMSuggestionStart = Vorschlag: -MsgPKMSuggestionMetLocation = Fundort: -MsgPKMSuggestionMetLevel = Fundlevel: -MsgPKMSuggestionLevel = Aktueller Level: -MsgSaveExportSuccessPath = SAV exportiert als: -MsgSaveExportContinue = Speichern fortsetzen? -MsgSaveSlotEmpty = Ein leeres Team/nur Eier im Team ist ungültig. -MsgSaveSlotLocked = Ein gesperrtes Feld kann nicht bearbeitet werden. -MsgSaveSlotBadData = Auf dieses Feld kann nicht gesetzt werden. -MsgSaveBackup = Backup des aktuellen SAV gespeichert als: -MsgSaveBackupNotFound = Die original Datei wurde verschoben, ein Backup kann nicht erstellt werden. -MsgSaveCurrentGeneration = Aktuelle SAV Generation: {0} -MsgSaveBoxCloneFromTabs = Das Pokémon aus dem Bearbeitungs Tab in alle Felder in {0} klonen? -MsgSaveBoxSortCurrent = Aktuelle Box sortieren? -MsgSaveBoxSortCurrentFailBattle = Die von der Kampfbox genutzten Felder verhindern das Sortieren der Box. -MsgSaveBoxSortCurrentSuccess = Aktuelle Box sortiert! -MsgSaveBoxSortAll = ALLE Boxen sortieren? -MsgSaveBoxSortAllFailBattle = Die von der Kampfbox genutzten Felder verhindern das Sortieren der Boxen. -MsgSaveBoxSortAllSuccess = Boxen sortiert! -MsgSaveBoxClearCurrent = Aktuelle Box leeren? -MsgSaveBoxClearCurrentFailBattle = Die von der Kampfbox genutzten Felder verhindern das Leeren der Box. -MsgSaveBoxClearCurrentSuccess = Aktuelle Box geleert! -MsgSaveBoxClearAll = ALLE Boxen leeren? -MsgSaveBoxClearAllFailBattle = Die von der Kampfbox genutzten Felder verhindern das Leeren der Boxen. -MsgSaveBoxClearAllSuccess = Boxen geleert! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = Der aktuell geladene Spielstand hat keine Boxen! -MsgSaveBoxExportYes = Ja: Exportiere alle Boxen -MsgSaveBoxExportNo = Nein: Exportiere {0} (Box {1}) -MsgSaveBoxExportCancel = Abbrechen: Abbruch -MsgSaveBoxExportInvalid = Ungültige Box Daten, Export nicht möglich. -MsgSaveBoxExportPathCount = Box(en) ({0} pk) exportiert in: -MsgSaveBoxExportPathInvalid = Ungültiges Verzeichnis. -MsgSaveBoxImportModifyIntro = Laden der PKM überschreibt: -MsgSaveBoxImportModifyYes = Ja - Ändere .pk* beim setzen in das SAV -MsgSaveBoxImportModifyCurrent = Abbrechen - Nutze die aktuellen Einstellungen ({0}) -MsgSaveBoxImportModifyNo = Nein - .pk* nicht ändern -MsgSaveBoxImportNoFiles = Keine Dateien geladen. -MsgSaveBoxImportSuccess = {0} Dateien in die Boxen geladen. -MsgSaveBoxImportClear = Leere folgende Boxen beim Import? -MsgSaveBoxImportClearNo = Wenn du nur für neue Daten überschreiben möchtest, drücke nein. -MsgSaveBoxImportPCBinary = PC Daten geladen. -MsgSaveBoxImportPCFailBattle = Die von der Kampfbox genutzten Felder verhindern das Laden der Box Daten. -MsgSaveBoxImportBoxBinary = Box Daten geladen. -MsgSaveBoxImportBoxFailBattle = Die von der Kampfbox genutzten Felder verhindern das Laden der Box Daten. -MsgSaveBoxImportGroup = Laden Pokémon Daten aus der Datei in die aktuelle Box ({0})? -MsgSaveBoxImportGroupSuccess = Pokémon Daten aus der Datei wurden in die Box geladen. -MsgSaveBoxImportOverwrite = Die aktuelle Box wird überschrieben. -MsgSaveBoxImportSkippedLocked = {0} gesperrte(s) Feld(er) übersprungen. -MsgSaveSwitchDaycareView = Möchtest du die Ansicht zur anderen Pension wechseln? -MsgSaveSwitchDaycareCurrent = Aktuelle Ansicht: Pension {0}. -MsgSaveGen6Passerby = Passanten in die Zwischenablage exportieren? -MsgSaveGen6FriendSafari = Bearbeiten der Kontaktsafari wird nicht unterstützt :( -MsgSaveGen6FriendSafariCheatDesc = Alle 3 Pokémon für jeden Freund entsperren? -MsgSaveGen2RTCResetPassword = RTC Reset Passwort: {0:00000} -MsgSaveGen2RTCResetBitflag = Möchtest du die Uhr zurücksetzen? -MsgSaveJPEGExportFail = Der Spielstand enthält keine Grafik Daten! -MsgSaveChecksumFailEdited = Spielstand wurde bearbeitet. Integrität kann nicht geprüft werden. -MsgSaveChecksumValid = Alle Prüfsummen sind gültig. -MsgSaveChecksumFailExport = Prüfsummen in die Zwischenablage kopieren? -MsgIndexItemRange = Die Item ID liegt außerhalb des gültigen Bereichs: -MsgIndexItemGame = Das Item ist in diesem Spiel nicht erhältlich: -MsgIndexItemHeld = Das Item kann nicht getragen werden: -MsgIndexSpeciesRange = Die Pokémon ID liegt außerhalb des gültigen Bereichs: -MsgIndexSpeciesGame = Das Pokémon ist in diesem Spiel nicht erhältlich: -MsgIndexMoveRange = Die Attacken ID liegt außerhalb des gültigen Bereichs: -MsgIndexMoveGame = Die Attacke ist in diesem Spiel nicht erhältlich: -MsgIndexAbilityRange = Die Fähigkeiten ID liegt außerhalb des gültigen Bereichs: -MsgIndexAbilityGame = Die Fähigkeit ist in diesem Spiel nicht erhältlich: -MsgQRDecodeFail = Die entschlüsselten Daten enthalten kein gültiges PKM/Wunderkarte. -MsgQRDecodeSize = QR Daten Größe: {0} bytes -MsgQRDeprecated = QR Codes sind veraltet zugunsten von anderen Methoden. -MsgQRAlternative = Erwäge Homebrew oder Custom Firmware zu nutzen. -MsgQRClipboardUrl = QR Code URL in die Zwischenablage kopieren? -MsgQRClipboardImage = QR Code Grafik in die Zwischenablage kopieren? -MsgQRClipboardFail = QR Code kann nicht in die Zwischenablage kopiert werden. -MsgQRUrlFailPath = In der Zwischenablage befindet sich keine gültige URL: -MsgQRUrlFailImage = In der Grafik konnte kein gültiger QR Code gefunden werden. -MsgQRUrlFailType = Ungültige URL. Überprüfe, dass es sich hierbei um eine Grafik handelt (jpg/png). -MsgQRUrlFailConnection = Verbindung zum Internet zur Dekodierung des QR Codes fehlgeschlagen. -MsgQRUrlFailConvert = QR URL kann nicht konvertiert werden. -MsgDBDeleteFailBackup = Vom Backup Spielstand kann nicht gelöscht werden. -MsgDBDeleteFailModified = Datenbank eintrag entspricht nicht dem Spielstand! -MsgDBDeleteFailWarning = Bewege keine Pokémon nach der Initializierung der Datenbank, bitte öffne die Datenbank Ansicht erneut. -MsgDBAddFailExistsFile = Die Datei existiert bereit in der Datenbank! -MsgDBAddFailExistsPKM = Das Pokémon existiert bereits in der Datenbank! -MsgDBAddFromTabsSuccess = Das Pokémon aus dem Bearbeitungs Feld wurde in die Datenbank gespeichert. -MsgDBCreateReportPrompt = Einen Bericht über alle Daten generieren? -MsgDBCreateReportWarning = Dies kann eine Weile dauern... -MsgDBCreateReportFail = Keine Daten zum Exportieren. -MsgDBExportResultsPrompt = Ergebnisse in Ordner exportieren? -MsgDBSearchLegalityWordfilter = Wortfilter Legalität prüfen? -MsgDBSearchFail = Keine Daten Quelle zum durchsuchen! -MsgDBSearchNone = Keine Ergebnisse gefunden! -MsgDBDeleteCloneWarning = Gelöschte Klone aus der Datenbank können nicht wiederhergestellt werden. -MsgDBDeleteCloneAdvice = Wenn ein PKM ein Klon ist, wird nur die neuste Datei (Änderungsdatum) gelöscht. -MsgDBDeleteCloneFail = Klone können nicht gelöscht werden: -MsgDBDeleteCloneNone = Keine Klone gefunden oder gelöscht. -MsgExportWC3DataFail = Keine WC3 Daten zum Speichern gefunden! -MsgBEToolTipPropName = Eigenschaften des PKM zum Bearbeiten. -MsgBEToolTipPropType = EigenschaftTyp des aktuell geladenen PKM im Hauptfenster. -MsgBEToolTipPropValue = EigenschaftWert des aktuell geladenen PKM im Hauptfenster. -MsgBEFilterEmpty = Der Filter Wert ist leer. -MsgBEPropertyEmpty = Einige Eigenschaften sind leer: -MsgBEPropertyInvalid = Ungültige Eigenschaft gewählt. -MsgBEInstructionInvalid = Ungültige Zeilen Länge in der Anweisungsliste. -MsgBEInstructionNone = Keine Anweisungen definiert. -MsgBEModifySuccess = {0}{1}/{2} Dateien bearbeitet. -MsgBEModifyFailBlocked = Eine Datei wurde aufgrund einer ungültigen Eigenschaft übersprungen: -MsgBEModifyFailError = {0} Dateien aufgrund eines internen Fehlers übersprungen. -MsgBEModifyFail = {0} kann nicht zu {1} geändert werden. -MsgBEModifyFailCompare = {0} kann nicht mit {1} verglichen werden. -MsgExportFolder = Bitte wähle einen Ordner zum Speichern der Dateien. -MsgExportFolderAdvice = Dies kann der selbe Ordner wie die Quelle der PKM Dateien sein. -MsgReportExportTable = Als formatierte Tabelle kopieren? -MsgReportExportCSV = Alle Daten als CSV speichern? -MsgReportColumnHide = Spalten verstecken -MsgReportColumnRestore = Spalten zurücksetzen -MsgReportColumnHideFail = Keine Zellen/Spalten ausgewählt. -MsgReportColumnRestoreSuccess = Spalten Sichtbarkeit wiederhergestellt. -MsgMsyteryGiftUsedAlert = Wunderkarte ist als "benutzt" markiert und kann im Spiel nicht abgeholt werden. -MsgMysteryGiftUsedFix = Möchtest du die Wunderkarte als "unbenutzt" markieren, damit das Pokémon erneut abgeholt werden kann? -MsgMysteryGiftInvalid = Datei ist keine Wunderkarte: -MsgMysteryGiftTypeUnexpected = Erwartete(r) Wunderkarten Typ(en): -MsgMysteryGiftTypeDetails = Geschenk Details sind nicht kompatibel mit dem Spielstand. -MsgMysteryGiftTypeIncompatible = Wunderkarten Typ sind nicht kompatibel mit dem Spielstand. -MsgMysteryGiftParseFail = Geschenk Beschreibung kann nicht gelesen werden. -MsgMysteryGiftParseTypeUnknown = Unbekannter Wunderkarten Typ! -MsgMysteryGiftSlotEmpty = Leerer Slot. Keine Daten vorhanden! -MsgMysteryGiftSlotFail = Wunderkarte kann nicht importiert werden. -MsgMysteryGiftSlotNone = Keine Geschenk Daten gefunden! -MsgMysteryGiftSlotSpecialReject = Gehört diese Wunderkarte wirklich zu diesem Spiel? -MsgMysteryGiftSlotAlternate = {0} Geschenk wurde stattdessen in den {1} Slot gesetzt. -MsgMysteryGiftSlotFailSwap = Ein {0} kann nicht mit {1} getauscht werden. -MsgMysteryGiftQRTypeLength = Die Größe der decodierten Daten ist nicht kompatibel mit diesem Spielstand. -MsgMysteryGiftQRReceived = QR Geschenk Typ: -MsgMysteryGiftQREonTicket = Äon Ticket Wunderkarte kann über einen QR Code nicht korrekt impotiert werden. -MsgMysteryGiftQREonTicketAdvice = Importiere das Äon Ticket stattdessen in den Spielstand. -MsgItemPouchUnknown = Unbekanntes Item gefunden. -MsgItemPouchCountUpdated = Item Anzahl bearbeitet. -MsgItemCleared = Items gelöscht. -MsgItemPouchSizeSmall = Das Inventar ist zu klein für alle Items. -MsgItemPouchRandom = Ja: Erhalte Items nach Item ID{0}Nein: Zufällige Auswahl -MsgItemPouchWarning = Wenn du die Änderungen speicherst, werden die Items nicht länger im Inventar sein. -MsgItemPouchRemoved = Die folgenden Items wurden aus der {0} Tasche entfernt. -MsgSaveDifferentTypes = Die Spielstand Typen sind nicht identisch. -MsgSaveDifferentVersions = Die Spielstand Versionen sind nicht identisch. -MsgSaveNumberInvalid = Spielstand {0} ist ungültig. -MsgSecretBaseDeleteConfirm = {0}s Geheimbasis (Eintrag {1:00}) löschen? -MsgSecretBaseDeleteSelf = Deine eigene Geheimbasis kann nicht gelöscht werden. -MsgPluginFailLoad = Plugins konnten nicht geladen werden. Bitte versuche das fehlerhafte Plugin anhand der Fehlermeldung zu erkennen. Ein Plugin ist mölicherweise nicht up-to-date oder nicht kompatibel mit dieser Version von PKHeX. +System.String MsgProgramRestart = Bitte das Programm neustarten. +System.String MsgProgramIllegalModeBehave = Benimm dich bitte. +System.String MsgProgramIllegalModeActive = Illegaler Modus aktiviert. +System.String MsgProgramUpdateAvailable = Neues Update verfügbar! +System.String MsgProgramCloseUnsaved = Nicht gespeicherte Änderungen gehen verloren. +System.String MsgProgramCloseConfirm = Bist du sicher, dass du PKHeX schließen möchtest? +System.String MsgProgramSaveFileConfirm = Bist du sicher, dass du einen Spielstand laden möchtest? +System.String MsgProgramError = FEHLER +System.String MsgProgramErrorExpectedHex = Die erwartete Eingabe darf nur die folgenden Zeichen enthalten (0-9, A-F). +System.String MsgSettingsLoadFail = Einstellungen konnten nicht geladen werden. +System.String MsgSettingsResetCorrupt = Die Einstellungen sind fehlerhaft, möchtest du sie zurücksetzen? +System.String MsgSettingsResetPrompt = Ja, um die Einstellungen zu löschen oder Nein, um das Programm zu schließen. +System.String MsgSettingsResetSuccess = Die Einstellungen wurden gelöscht. +System.String MsgAny = Alle +System.String MsgAll = Alle +System.String MsgYes = Ja +System.String MsgNo = Nein +System.String MsgContinue = Fortsetzen? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} Dateien gelöscht. +System.String MsgFolderNotFound = Ordner kann nicht gefunden werden: +System.String MsgWindowClose = Das Fenster wird nun geschlossen. +System.String MsgResearchRequired = Needs more research. +System.String MsgFileLoad = Datei wurde geöffnet: +System.String MsgFileLoadFail = Datei kann nicht geöffnet werden. +System.String MsgFileLoadFailAuto = Ein Fehler trat beim Öffnen des Spielstands auf. +System.String MsgFileLoadFailAutoAdvise = Es wird empfohlen ungültiger Dateinamen aus dem Ordner zu entfernen. +System.String MsgFileLoadFailAutoCause = Dies wird wahrscheinlich durch Homebrew verursacht, welches ungültige Dateinamen erstellt. +System.String MsgFileLoadVersionDetect = Spielstand der {0}. Generation erkannt. +System.String MsgFileLoadEncrypted = PKHeX kann nur entschlüsselte Spielstände laden. +System.String MsgFileLoadEncryptedFail = Dieser Spielstand ist nicht entschlüsselt. +System.String MsgFileLoadIncompatible = Die Datei ist nicht kompatibel mit dem Spielstand. +System.String MsgFileLoadSaveFail = Dies ist keine gültige Spielstands Datei. +System.String MsgFileLoadSaveLoadFail = Ungültiger Spielstand geladen. Laden abgebrochen. +System.String MsgFileLoadSaveDetectReload = Möchtest du einen Spielstand von dem folgenden Verzeichnis laden? +System.String MsgFileLoadSaveSelectVersion = Wähle die Version. +System.String MsgFileLoadSaveSelectGame = Wähle ein Spiel zum bearbeiten. +System.String MsgFileLoadSaveMultiple = Mehrere Spiele erkannt. +System.String MsgFileGameCubeBad = Die GC Memory Card ist ungültig oder beschädigt. Laden abgebrochen. +System.String MsgFileGameCubeDuplicate = Es sind mehrere Spielständen auf der GC Memory Card. Laden abgebrochen. +System.String MsgFileGameCubeNoGames = Es sind keine Pokémon Spielstände auf der GC Memory Card. Laden abgebrochen. +System.String MsgFileSize = Dateigröße: {0} bytes +System.String MsgFileSizeLarge = Die Datei ist zu groß. +System.String MsgFileSizeSmall = Die Datei ist zu klein. +System.String MsgFileWriteFail = Spielstand kann nicht geladen werden. +System.String MsgFileWriteProtected = Das Detei Verzeichnis ist schreibgeschützt: +System.String MsgFileWriteProtectedAdvice = Wenn sich die Datei auf einem Wechseldatenträger (SD card) befindet, überprüfe bitte den Schreibschutz Schalter. +System.String MsgFileInUse = Spielstand kann nicht geladen werden. Die Datei wird möglicherweise von einem anderen Programm benutzt. +System.String MsgFileUnsupported = Es wurde versucht eine nicht unterstützte Datei zu laden. Möglicherweise unterstützt PKHeX den Spielstand nicht, oder dieser ist beschädigt. +System.String MsgPKMUnsupported = Es wurde versucht eine nicht unterstützte Datei zu laden. Möglicherweise handelt es sich um eine Pokémon Datei einer anderen Generation oder sie ist beschädigt. +System.String MsgPKMConvertSuccess = Von {0} zu {1} konvertiert. +System.String MsgPKMConvertFail = Konvertierung fehlgeschlagen. +System.String MsgPKMMysteryGiftFail = Mystery Gift ist kein Pokémon. +System.String MsgPKMConvertFailFormat = {0} kann nicht zu {1} konvertiert werden. +System.String MsgPKMConvertFailBackwards = {0}s können nicht in Gen{1} Spielstände geladen werden. +System.String MsgPKMConvertFailForm = Form kann nicht in neuere Spiele transferiert werden. +System.String MsgPKMConvertFailNoMethod = Ein Transfer von diesem Format in das gewünschte Format ist nicht möglich. +System.String MsgPKMConvertIncompatible = {0} {1}s können nicht in {2} Spielstände geladen werden. +System.String MsgPKMConvertInternational = International +System.String MsgPKMConvertJapanese = Japanisch +System.String MsgClipboardLegalityExport = In die Zwischnablage kopieren? +System.String MsgClipboardFailRead = Kein Text in der Zwischenablage. +System.String MsgClipboardFailWrite = Text kann nicht in die Zwischenablage kopiert werden. +System.String MsgSimulatorFailClipboard = Daten wurden der Zwischenablage nicht gefunden. +System.String MsgSimulatorLoad = Dieses Set importieren? +System.String MsgSimulatorInvalid = Ungültige Zeilen gefunden: +System.String MsgSimulatorExportBadFields = Daten werden vor dem Export repariert. +System.String MsgSimulatorExportFail = Versuche erneut zu exportieren. +System.String MsgSimulatorExportSuccess = Exportiere Showdown Set in die Zwischenablage: +System.String MsgSimulatorExportParty = Showdown Team (Team) in die Zwischenablage kopiert. +System.String MsgSimulatorExportBattleBox = Showdown Team (Kampfbox) in die Zwischenablage kopiert. +System.String MsgSimulatorExportList = Showdown Sets in die Zwischenablage kopiert. +System.String MsgBackupCreateLocation = PKHeX kann automatische Backups erstellen, wenn es einen Ordner namens '{0}' in dem selben Verzeichnis gibt, in dem sich PKHeX befindet. +System.String MsgBackupCreateQuestion = Möchtest du den Backup Ordner nun erstellen? +System.String MsgBackupDelete = Wenn du nicht möchtest, dass automatische Backups erstellt werden, lösche den '{0}' Ordner. +System.String MsgBackupUnable = Der Backup Ordner kann nicht erstellt werden. +System.String MsgBackupSuccess = Backup Ordner wurde erstellt! +System.String MsgDatabase = Die PKHeX Datenbank wurde nicht gefunden. +System.String MsgDatabaseAdvice = Bitte exportiere alle Boxen von einem Spielstand, dann stelle sicher, dass der '{0}' Ordner existiert. +System.String MsgDatabaseExport = In der PKHeX Datenbank speichern? +System.String MsgDatabaseLoad = Von der PKHeX Datenbank laden? +System.String MsgPKMLoadNull = Es wurde versucht eine leere Datei zu laden. +System.String MsgPKMSuggestionFormat = Vorschläge sind für dieses PKM Format nicht aktiviert. +System.String MsgPKMSuggestionMoves = Die vorgeschlagenen Attacken anwenden? +System.String MsgPKMSuggestionRelearn = Die vorgeschlagenen wiedererlernbaren Attacken anwenden? +System.String MsgPKMSuggestionNone = Vorschlag kann nicht gemacht werden. +System.String MsgPKMSuggestionStart = Vorschlag: +System.String MsgPKMSuggestionMetLocation = Fundort: +System.String MsgPKMSuggestionMetLevel = Fundlevel: +System.String MsgPKMSuggestionLevel = Aktueller Level: +System.String MsgSaveExportSuccessPath = SAV exportiert als: +System.String MsgSaveExportContinue = Speichern fortsetzen? +System.String MsgSaveSlotEmpty = Ein leeres Team/nur Eier im Team ist ungültig. +System.String MsgSaveSlotLocked = Ein gesperrtes Feld kann nicht bearbeitet werden. +System.String MsgSaveSlotBadData = Auf dieses Feld kann nicht gesetzt werden. +System.String MsgSaveBackup = Backup des aktuellen SAV gespeichert als: +System.String MsgSaveBackupNotFound = Die original Datei wurde verschoben, ein Backup kann nicht erstellt werden. +System.String MsgSaveCurrentGeneration = Aktuelle SAV Generation: {0} +System.String MsgSaveBoxCloneFromTabs = Das Pokémon aus dem Bearbeitungs Tab in alle Felder in {0} klonen? +System.String MsgSaveBoxSortCurrent = Aktuelle Box sortieren? +System.String MsgSaveBoxSortCurrentFailBattle = Die von der Kampfbox genutzten Felder verhindern das Sortieren der Box. +System.String MsgSaveBoxSortCurrentSuccess = Aktuelle Box sortiert! +System.String MsgSaveBoxSortAll = ALLE Boxen sortieren? +System.String MsgSaveBoxSortAllFailBattle = Die von der Kampfbox genutzten Felder verhindern das Sortieren der Boxen. +System.String MsgSaveBoxSortAllSuccess = Boxen sortiert! +System.String MsgSaveBoxClearCurrent = Aktuelle Box leeren? +System.String MsgSaveBoxClearCurrentFailBattle = Die von der Kampfbox genutzten Felder verhindern das Leeren der Box. +System.String MsgSaveBoxClearCurrentSuccess = Aktuelle Box geleert! +System.String MsgSaveBoxClearAll = ALLE Boxen leeren? +System.String MsgSaveBoxClearAllFailBattle = Die von der Kampfbox genutzten Felder verhindern das Leeren der Boxen. +System.String MsgSaveBoxClearAllSuccess = Boxen geleert! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = Der aktuell geladene Spielstand hat keine Boxen! +System.String MsgSaveBoxExportYes = Ja: Exportiere alle Boxen +System.String MsgSaveBoxExportNo = Nein: Exportiere {0} (Box {1}) +System.String MsgSaveBoxExportCancel = Abbrechen: Abbruch +System.String MsgSaveBoxExportInvalid = Ungültige Box Daten, Export nicht möglich. +System.String MsgSaveBoxExportPathCount = Box(en) ({0} pk) exportiert in: +System.String MsgSaveBoxExportPathInvalid = Ungültiges Verzeichnis. +System.String MsgSaveBoxImportModifyIntro = Laden der PKM überschreibt: +System.String MsgSaveBoxImportModifyYes = Ja - Ändere .pk* beim setzen in das SAV +System.String MsgSaveBoxImportModifyCurrent = Abbrechen - Nutze die aktuellen Einstellungen ({0}) +System.String MsgSaveBoxImportModifyNo = Nein - .pk* nicht ändern +System.String MsgSaveBoxImportNoFiles = Keine Dateien geladen. +System.String MsgSaveBoxImportSuccess = {0} Dateien in die Boxen geladen. +System.String MsgSaveBoxImportClear = Leere folgende Boxen beim Import? +System.String MsgSaveBoxImportClearNo = Wenn du nur für neue Daten überschreiben möchtest, drücke nein. +System.String MsgSaveBoxImportPCBinary = PC Daten geladen. +System.String MsgSaveBoxImportPCFailBattle = Die von der Kampfbox genutzten Felder verhindern das Laden der Box Daten. +System.String MsgSaveBoxImportBoxBinary = Box Daten geladen. +System.String MsgSaveBoxImportBoxFailBattle = Die von der Kampfbox genutzten Felder verhindern das Laden der Box Daten. +System.String MsgSaveBoxImportGroup = Laden Pokémon Daten aus der Datei in die aktuelle Box ({0})? +System.String MsgSaveBoxImportGroupSuccess = Pokémon Daten aus der Datei wurden in die Box geladen. +System.String MsgSaveBoxImportOverwrite = Die aktuelle Box wird überschrieben. +System.String MsgSaveBoxImportSkippedLocked = {0} gesperrte(s) Feld(er) übersprungen. +System.String MsgSaveSwitchDaycareView = Möchtest du die Ansicht zur anderen Pension wechseln? +System.String MsgSaveSwitchDaycareCurrent = Aktuelle Ansicht: Pension {0}. +System.String MsgSaveGen6Passerby = Passanten in die Zwischenablage exportieren? +System.String MsgSaveGen6FriendSafari = Bearbeiten der Kontaktsafari wird nicht unterstützt :( +System.String MsgSaveGen6FriendSafariCheatDesc = Alle 3 Pokémon für jeden Freund entsperren? +System.String MsgSaveGen2RTCResetPassword = RTC Reset Passwort: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = Möchtest du die Uhr zurücksetzen? +System.String MsgSaveJPEGExportFail = Der Spielstand enthält keine Grafik Daten! +System.String MsgSaveChecksumFailEdited = Spielstand wurde bearbeitet. Integrität kann nicht geprüft werden. +System.String MsgSaveChecksumValid = Alle Prüfsummen sind gültig. +System.String MsgSaveChecksumFailExport = Prüfsummen in die Zwischenablage kopieren? +System.String MsgIndexItemRange = Die Item ID liegt außerhalb des gültigen Bereichs: +System.String MsgIndexItemGame = Das Item ist in diesem Spiel nicht erhältlich: +System.String MsgIndexItemHeld = Das Item kann nicht getragen werden: +System.String MsgIndexSpeciesRange = Die Pokémon ID liegt außerhalb des gültigen Bereichs: +System.String MsgIndexSpeciesGame = Das Pokémon ist in diesem Spiel nicht erhältlich: +System.String MsgIndexMoveRange = Die Attacken ID liegt außerhalb des gültigen Bereichs: +System.String MsgIndexMoveGame = Die Attacke ist in diesem Spiel nicht erhältlich: +System.String MsgIndexAbilityRange = Die Fähigkeiten ID liegt außerhalb des gültigen Bereichs: +System.String MsgIndexAbilityGame = Die Fähigkeit ist in diesem Spiel nicht erhältlich: +System.String MsgQRDecodeFail = Die entschlüsselten Daten enthalten kein gültiges PKM/Wunderkarte. +System.String MsgQRDecodeSize = QR Daten Größe: {0} bytes +System.String MsgQRDeprecated = QR Codes sind veraltet zugunsten von anderen Methoden. +System.String MsgQRAlternative = Erwäge Homebrew oder Custom Firmware zu nutzen. +System.String MsgQRClipboardUrl = QR Code URL in die Zwischenablage kopieren? +System.String MsgQRClipboardImage = QR Code Grafik in die Zwischenablage kopieren? +System.String MsgQRClipboardFail = QR Code kann nicht in die Zwischenablage kopiert werden. +System.String MsgQRUrlFailPath = In der Zwischenablage befindet sich keine gültige URL: +System.String MsgQRUrlFailImage = In der Grafik konnte kein gültiger QR Code gefunden werden. +System.String MsgQRUrlFailType = Ungültige URL. Überprüfe, dass es sich hierbei um eine Grafik handelt (jpg/png). +System.String MsgQRUrlFailConnection = Verbindung zum Internet zur Dekodierung des QR Codes fehlgeschlagen. +System.String MsgQRUrlFailConvert = QR URL kann nicht konvertiert werden. +System.String MsgDBDeleteFailBackup = Vom Backup Spielstand kann nicht gelöscht werden. +System.String MsgDBDeleteFailModified = Datenbank eintrag entspricht nicht dem Spielstand! +System.String MsgDBDeleteFailWarning = Bewege keine Pokémon nach der Initializierung der Datenbank, bitte öffne die Datenbank Ansicht erneut. +System.String MsgDBAddFailExistsFile = Die Datei existiert bereit in der Datenbank! +System.String MsgDBAddFailExistsPKM = Das Pokémon existiert bereits in der Datenbank! +System.String MsgDBAddFromTabsSuccess = Das Pokémon aus dem Bearbeitungs Feld wurde in die Datenbank gespeichert. +System.String MsgDBCreateReportPrompt = Einen Bericht über alle Daten generieren? +System.String MsgDBCreateReportWarning = Dies kann eine Weile dauern... +System.String MsgDBCreateReportFail = Keine Daten zum Exportieren. +System.String MsgDBExportResultsPrompt = Ergebnisse in Ordner exportieren? +System.String MsgDBSearchLegalityWordfilter = Wortfilter Legalität prüfen? +System.String MsgDBSearchFail = Keine Daten Quelle zum durchsuchen! +System.String MsgDBSearchNone = Keine Ergebnisse gefunden! +System.String MsgDBDeleteCloneWarning = Gelöschte Klone aus der Datenbank können nicht wiederhergestellt werden. +System.String MsgDBDeleteCloneAdvice = Wenn ein PKM ein Klon ist, wird nur die neuste Datei (Änderungsdatum) gelöscht. +System.String MsgDBDeleteCloneFail = Klone können nicht gelöscht werden: +System.String MsgDBDeleteCloneNone = Keine Klone gefunden oder gelöscht. +System.String MsgExportWC3DataFail = Keine WC3 Daten zum Speichern gefunden! +System.String MsgBEToolTipPropName = Eigenschaften des PKM zum Bearbeiten. +System.String MsgBEToolTipPropType = EigenschaftTyp des aktuell geladenen PKM im Hauptfenster. +System.String MsgBEToolTipPropValue = EigenschaftWert des aktuell geladenen PKM im Hauptfenster. +System.String MsgBEFilterEmpty = Der Filter Wert ist leer. +System.String MsgBEPropertyEmpty = Einige Eigenschaften sind leer: +System.String MsgBEPropertyInvalid = Ungültige Eigenschaft gewählt. +System.String MsgBEInstructionInvalid = Ungültige Zeilen Länge in der Anweisungsliste. +System.String MsgBEInstructionNone = Keine Anweisungen definiert. +System.String MsgBEModifySuccess = {0}{1}/{2} Dateien bearbeitet. +System.String MsgBEModifyFailBlocked = Eine Datei wurde aufgrund einer ungültigen Eigenschaft übersprungen: +System.String MsgBEModifyFailError = {0} Dateien aufgrund eines internen Fehlers übersprungen. +System.String MsgBEModifyFail = {0} kann nicht zu {1} geändert werden. +System.String MsgBEModifyFailCompare = {0} kann nicht mit {1} verglichen werden. +System.String MsgExportFolder = Bitte wähle einen Ordner zum Speichern der Dateien. +System.String MsgExportFolderAdvice = Dies kann der selbe Ordner wie die Quelle der PKM Dateien sein. +System.String MsgReportExportTable = Als formatierte Tabelle kopieren? +System.String MsgReportExportCSV = Alle Daten als CSV speichern? +System.String MsgReportColumnHide = Spalten verstecken +System.String MsgReportColumnRestore = Spalten zurücksetzen +System.String MsgReportColumnHideFail = Keine Zellen/Spalten ausgewählt. +System.String MsgReportColumnRestoreSuccess = Spalten Sichtbarkeit wiederhergestellt. +System.String MsgMsyteryGiftUsedAlert = Wunderkarte ist als "benutzt" markiert und kann im Spiel nicht abgeholt werden. +System.String MsgMysteryGiftUsedFix = Möchtest du die Wunderkarte als "unbenutzt" markieren, damit das Pokémon erneut abgeholt werden kann? +System.String MsgMysteryGiftInvalid = Datei ist keine Wunderkarte: +System.String MsgMysteryGiftTypeUnexpected = Erwartete(r) Wunderkarten Typ(en): +System.String MsgMysteryGiftTypeDetails = Geschenk Details sind nicht kompatibel mit dem Spielstand. +System.String MsgMysteryGiftTypeIncompatible = Wunderkarten Typ sind nicht kompatibel mit dem Spielstand. +System.String MsgMysteryGiftParseFail = Geschenk Beschreibung kann nicht gelesen werden. +System.String MsgMysteryGiftParseTypeUnknown = Unbekannter Wunderkarten Typ! +System.String MsgMysteryGiftSlotEmpty = Leerer Slot. Keine Daten vorhanden! +System.String MsgMysteryGiftSlotFail = Wunderkarte kann nicht importiert werden. +System.String MsgMysteryGiftSlotNone = Keine Geschenk Daten gefunden! +System.String MsgMysteryGiftSlotSpecialReject = Gehört diese Wunderkarte wirklich zu diesem Spiel? +System.String MsgMysteryGiftSlotAlternate = {0} Geschenk wurde stattdessen in den {1} Slot gesetzt. +System.String MsgMysteryGiftSlotFailSwap = Ein {0} kann nicht mit {1} getauscht werden. +System.String MsgMysteryGiftQRTypeLength = Die Größe der decodierten Daten ist nicht kompatibel mit diesem Spielstand. +System.String MsgMysteryGiftQRReceived = QR Geschenk Typ: +System.String MsgMysteryGiftQREonTicket = Äon Ticket Wunderkarte kann über einen QR Code nicht korrekt impotiert werden. +System.String MsgMysteryGiftQREonTicketAdvice = Importiere das Äon Ticket stattdessen in den Spielstand. +System.String MsgItemPouchUnknown = Unbekanntes Item gefunden. +System.String MsgItemPouchCountUpdated = Item Anzahl bearbeitet. +System.String MsgItemCleared = Items gelöscht. +System.String MsgItemPouchSizeSmall = Das Inventar ist zu klein für alle Items. +System.String MsgItemPouchRandom = Ja: Erhalte Items nach Item ID{0}Nein: Zufällige Auswahl +System.String MsgItemPouchWarning = Wenn du die Änderungen speicherst, werden die Items nicht länger im Inventar sein. +System.String MsgItemPouchRemoved = Die folgenden Items wurden aus der {0} Tasche entfernt. +System.String MsgSaveDifferentTypes = Die Spielstand Typen sind nicht identisch. +System.String MsgSaveDifferentVersions = Die Spielstand Versionen sind nicht identisch. +System.String MsgSaveNumberInvalid = Spielstand {0} ist ungültig. +System.String MsgSecretBaseDeleteConfirm = {0}s Geheimbasis (Eintrag {1:00}) löschen? +System.String MsgSecretBaseDeleteSelf = Deine eigene Geheimbasis kann nicht gelöscht werden. +System.String MsgPluginFailLoad = Plugins konnten nicht geladen werden. Bitte versuche das fehlerhafte Plugin anhand der Fehlermeldung zu erkennen. Ein Plugin ist mölicherweise nicht up-to-date oder nicht kompatibel mit dieser Version von PKHeX. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_en.txt b/PKHeX.Core/Resources/text/program/MessageStrings_en.txt index 15648d64f..9e76dc6b1 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_en.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_en.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Please restart the program. -MsgProgramIllegalModeBehave = Please behave. -MsgProgramIllegalModeActive = Illegal mode activated. -MsgProgramUpdateAvailable = New Update Available! -MsgProgramCloseUnsaved = Any unsaved changes will be lost. -MsgProgramCloseConfirm = Are you sure you want to close PKHeX? -MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? -MsgProgramError = ERROR -MsgProgramErrorExpectedHex = Expected Text containing only the following characters (0-9, A-F). -MsgSettingsLoadFail = Unable to load settings. -MsgSettingsResetCorrupt = Program settings are corrupt. Would you like to reset the settings? -MsgSettingsResetPrompt = Yes to delete the program settings, or No to close the program. -MsgSettingsResetSuccess = Program settings have been deleted. -MsgAny = Any -MsgAll = All -MsgYes = Yes -MsgNo = No -MsgContinue = Continue? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} files deleted. -MsgFolderNotFound = Can't find folder: -MsgWindowClose = The current window will now close. -MsgResearchRequired = Needs more research. -MsgFileLoad = File Loaded: -MsgFileLoadFail = Unable to load file. -MsgFileLoadFailAuto = An error occurred while attempting to auto-load your save file. -MsgFileLoadFailAutoAdvise = It is advised to manually remove bad filenames from the folder. -MsgFileLoadFailAutoCause = This is likely caused by Homebrew creating invalid filenames. -MsgFileLoadVersionDetect = Generation {0} Save File detected. -MsgFileLoadEncrypted = PKHeX only edits decrypted save files. -MsgFileLoadEncryptedFail = This save file is not decrypted. -MsgFileLoadIncompatible = Binary is not compatible with save file. -MsgFileLoadSaveFail = The data file is not a valid save file. -MsgFileLoadSaveLoadFail = Invalid save file loaded. Aborting. -MsgFileLoadSaveDetectReload = Open save file from the following location? -MsgFileLoadSaveSelectVersion = Select the version. -MsgFileLoadSaveSelectGame = Select a game to edit. -MsgFileLoadSaveMultiple = Multiple games detected -MsgFileGameCubeBad = Invalid or corrupted GC Memory Card. Aborting. -MsgFileGameCubeDuplicate = GC Memory Card with duplicated game save files. Aborting. -MsgFileGameCubeNoGames = GC Memory Card without any Pokémon save file. Aborting. -MsgFileSize = File Size: {0} bytes -MsgFileSizeLarge = Input file is too large. -MsgFileSizeSmall = Input file is too small. -MsgFileWriteFail = Unable to save file. -MsgFileWriteProtected = File's location is write protected: -MsgFileWriteProtectedAdvice = If the file is on a removable disk (SD card), please ensure the write protection switch is not set. -MsgFileInUse = Unable to load file. It could be in use by another program. -MsgFileUnsupported = Attempted to load an unsupported file type/size. This could mean PKHeX doesn't support your save file or your save file is corrupt. -MsgPKMUnsupported = Attempted to load an unsupported file type/size. This could be caused by loading a different generation Pokemon file on an unsupported generation or your file is corrupt. -MsgPKMConvertSuccess = Converted from {0} to {1}. -MsgPKMConvertFail = Conversion failed. -MsgPKMMysteryGiftFail = Mystery Gift is not a Pokémon. -MsgPKMConvertFailFormat = Cannot convert a {0} to {1} -MsgPKMConvertFailBackwards = Can't load {0}s to Gen{1} saves. -MsgPKMConvertFailForm = Form cannot be transferred to future games. -MsgPKMConvertFailNoMethod = Cannot transfer this format to the requested format. -MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. -MsgPKMConvertInternational = International -MsgPKMConvertJapanese = Japanese -MsgClipboardLegalityExport = Copy report to Clipboard? -MsgClipboardFailRead = Clipboard does not contain text. -MsgClipboardFailWrite = Unable to set text to Clipboard. -MsgSimulatorFailClipboard = Set data not found in clipboard. -MsgSimulatorLoad = Import this set? -MsgSimulatorInvalid = Invalid lines detected: -MsgSimulatorExportBadFields = Fix data before exporting. -MsgSimulatorExportFail = Try exporting again. -MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard: -MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard. -MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard. -MsgSimulatorExportList = Showdown Sets copied to Clipboard. -MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable. -MsgBackupCreateQuestion = Would you like to create the backup folder now? -MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder. -MsgBackupUnable = Unable to create backup folder -MsgBackupSuccess = Backup folder created! -MsgDatabase = PKHeX's database was not found. -MsgDatabaseAdvice = Please dump all boxes from a save file, then ensure the '{0}' folder exists. -MsgDatabaseExport = Save to PKHeX's database? -MsgDatabaseLoad = Load from PKHeX's database? -MsgPKMLoadNull = Attempted to load a null file. -MsgPKMSuggestionFormat = Suggestions are not enabled for this PKM format. -MsgPKMSuggestionMoves = Apply suggested current moves? -MsgPKMSuggestionRelearn = Apply suggested relearn moves? -MsgPKMSuggestionNone = Unable to provide a suggestion. -MsgPKMSuggestionStart = Suggested: -MsgPKMSuggestionMetLocation = Met Location: -MsgPKMSuggestionMetLevel = Met Level: -MsgPKMSuggestionLevel = Current Level: -MsgSaveExportSuccessPath = SAV exported to: -MsgSaveExportContinue = Continue saving? -MsgSaveSlotEmpty = Can't have an empty/egg party. -MsgSaveSlotLocked = Can't modify a locked slot. -MsgSaveSlotBadData = Unable to set to this slot. -MsgSaveBackup = Saved Backup of current SAV to: -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = Current SAV Generation: {0} -MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}? -MsgSaveBoxSortCurrent = Sort Current Box? -MsgSaveBoxSortCurrentFailBattle = Battle Box slots prevent the sorting of box. -MsgSaveBoxSortCurrentSuccess = Current Box sorted! -MsgSaveBoxSortAll = Sort ALL Boxes?! -MsgSaveBoxSortAllFailBattle = Battle Box slots prevent the sorting of all boxes. -MsgSaveBoxSortAllSuccess = Boxes sorted! -MsgSaveBoxClearCurrent = Clear Current Box? -MsgSaveBoxClearCurrentFailBattle = Battle Box slots prevent the clearing of box. -MsgSaveBoxClearCurrentSuccess = Current Box cleared! -MsgSaveBoxClearAll = Clear ALL Boxes?! -MsgSaveBoxClearAllFailBattle = Battle Box slots prevent the clearing of all boxes. -MsgSaveBoxClearAllSuccess = Boxes cleared! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = The currently loaded save file does not have boxes! -MsgSaveBoxExportYes = Yes: Export All Boxes -MsgSaveBoxExportNo = No: Export {0} (Box {1}) -MsgSaveBoxExportCancel = Cancel: Abort -MsgSaveBoxExportInvalid = Invalid Box Data, unable to dump. -MsgSaveBoxExportPathCount = Dumped Box(es) ({0} pk) to path: -MsgSaveBoxExportPathInvalid = Invalid path specified. -MsgSaveBoxImportModifyIntro = PKM Loading overrides: -MsgSaveBoxImportModifyYes = Yes - Modify .pk* when set to SAV -MsgSaveBoxImportModifyCurrent = Cancel - Use current settings ({0}) -MsgSaveBoxImportModifyNo = No - Don't modify .pk* -MsgSaveBoxImportNoFiles = No files loaded. -MsgSaveBoxImportSuccess = Loaded {0} files to boxes. -MsgSaveBoxImportClear = Clear subsequent boxes when importing data? -MsgSaveBoxImportClearNo = If you only want to overwrite for new data, press no. -MsgSaveBoxImportPCBinary = PC Binary loaded. -MsgSaveBoxImportPCFailBattle = Battle Box slots prevent loading of PC data. -MsgSaveBoxImportBoxBinary = Box Binary loaded. -MsgSaveBoxImportBoxFailBattle = Battle Box slots in box prevent loading of box data. -MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? -MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. -MsgSaveBoxImportOverwrite = The current box will be overwritten. -MsgSaveBoxImportSkippedLocked = Skipped {0} locked slot(s). -MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? -MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. -MsgSaveGen6Passerby = Export Passerby Info to Clipboard? -MsgSaveGen6FriendSafari = No editing support for Friend Safari :( -MsgSaveGen6FriendSafariCheatDesc = Unlock all 3 slots for each friend? -MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} -MsgSaveGen2RTCResetBitflag = Would you like to reset the RTC? -MsgSaveJPEGExportFail = No picture data found in the save file! -MsgSaveChecksumFailEdited = Save has been edited. Cannot integrity check. -MsgSaveChecksumValid = Checksums are valid. -MsgSaveChecksumFailExport = Export Checksum Info to Clipboard? -MsgIndexItemRange = Item Index beyond range: -MsgIndexItemGame = Game can't obtain item: -MsgIndexItemHeld = Game can't hold item: -MsgIndexSpeciesRange = Species Index beyond range: -MsgIndexSpeciesGame = Game can't obtain species: -MsgIndexMoveRange = Move Index beyond range: -MsgIndexMoveGame = Game can't obtain move: -MsgIndexAbilityRange = Ability Index beyond range: -MsgIndexAbilityGame = Game can't obtain ability: -MsgQRDecodeFail = Decoded data not a valid PKM/Gift. -MsgQRDecodeSize = QR Data Size: {0} bytes -MsgQRDeprecated = QR codes are deprecated in favor of other methods. -MsgQRAlternative = Consider utilizing homebrew or on-the-fly RAM editing custom firmware (PKMN-NTR). -MsgQRClipboardUrl = Copy QR URL to Clipboard? -MsgQRClipboardImage = Copy QR Image to Clipboard? -MsgQRClipboardFail = Failed to set Image to Clipboard -MsgQRUrlFailPath = Clipboard text is not a valid URL: -MsgQRUrlFailImage = Reader could not find QR data in the image. -MsgQRUrlFailType = Input URL is not valid. Double check that it is an image (jpg/png). -MsgQRUrlFailConnection = Unable to connect to the internet to decode QR code. -MsgQRUrlFailConvert = QR string to Data failed. -MsgDBDeleteFailBackup = Can't delete from a backup save. -MsgDBDeleteFailModified = Database slot data does not match save data! -MsgDBDeleteFailWarning = Don't move Pokémon after initializing the Database, please re-open the Database viewer. -MsgDBAddFailExistsFile = File already exists in database! -MsgDBAddFailExistsPKM = Pokémon already exists in database. -MsgDBAddFromTabsSuccess = Added Pokémon from tabs to database. -MsgDBCreateReportPrompt = Generate a Report on all data? -MsgDBCreateReportWarning = This may take a while... -MsgDBCreateReportFail = No results to export. -MsgDBExportResultsPrompt = Export results to a folder? -MsgDBSearchLegalityWordfilter = Check wordfilter legality? -MsgDBSearchFail = No data source to search! -MsgDBSearchNone = No results found! -MsgDBDeleteCloneWarning = Deleting clones from database is not reversible. -MsgDBDeleteCloneAdvice = If a PKM is deemed a clone, only the newest file (date modified) will be kept. -MsgDBDeleteCloneFail = Unable to delete clone: -MsgDBDeleteCloneNone = No clones detected or deleted. -MsgExportWC3DataFail = Unable to save WC3 data. No data to save! -MsgBEToolTipPropName = Property of a given PKM to modify. -MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. -MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. -MsgBEFilterEmpty = Empty Filter Value detected. -MsgBEPropertyEmpty = Empty Property Value(s) detected: -MsgBEPropertyInvalid = Invalid property selected. -MsgBEInstructionInvalid = Line length error in instruction list. -MsgBEInstructionNone = No instructions defined for a modification set. -MsgBEModifySuccess = Modified {0}{1}/{2} files. -MsgBEModifyFailBlocked = Skipped a file due to disallowed value: -MsgBEModifyFailError = {0} files ignored due to an internal error. -MsgBEModifyFail = Unable to modify {0} to {1}. -MsgBEModifyFailCompare = Unable to compare {0} to {1}. -MsgExportFolder = Please select the folder where the files will be saved to. -MsgExportFolderAdvice = This can be the same folder as the source of PKM files. -MsgReportExportTable = Copy as formatted table? -MsgReportExportCSV = Save all the data to CSV? -MsgReportColumnHide = Hide Column -MsgReportColumnRestore = Restore Columns -MsgReportColumnHideFail = No cells/Columns selected. -MsgReportColumnRestoreSuccess = Column visibility restored. -MsgMsyteryGiftUsedAlert = Mystery Gift is marked as USED and will not be able to be picked up in-game. -MsgMysteryGiftUsedFix = Do you want to remove the USED flag so that it is UNUSED? -MsgMysteryGiftInvalid = File is not a Mystery Gift: -MsgMysteryGiftTypeUnexpected = Expected Mystery Gift Type(s): -MsgMysteryGiftTypeDetails = Gift Details are not compatible with the save file. -MsgMysteryGiftTypeIncompatible = Gift type is not compatible with the save file. -MsgMysteryGiftParseFail = Unable to create gift description. -MsgMysteryGiftParseTypeUnknown = Unknown Mystery Gift Type! -MsgMysteryGiftSlotEmpty = Empty Slot. No data! -MsgMysteryGiftSlotFail = Unable to insert the Mystery Gift. -MsgMysteryGiftSlotNone = No Mystery Gift data found in loaded slot! -MsgMysteryGiftSlotSpecialReject = Does this Mystery Gift really belong to this game? -MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. -MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. -MsgMysteryGiftQRTypeLength = Decoded data length not valid for loaded save file. -MsgMysteryGiftQRReceived = QR Gift Type: -MsgMysteryGiftQREonTicket = Eon Ticket Mystery Gift will not import correctly when received via QR. -MsgMysteryGiftQREonTicketAdvice = Inject the Eon Ticket Mystery Gift to the save file instead. -MsgItemPouchUnknown = Unknown item detected. -MsgItemPouchCountUpdated = Item count modified. -MsgItemCleared = Items cleared. -MsgItemPouchSizeSmall = Pouch is too small for all items. -MsgItemPouchRandom = Yes: Give by Item ID{0}No: Random assortment -MsgItemPouchWarning = If you save changes, the item(s) will no longer be in the pouch. -MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch. -MsgSaveDifferentTypes = Save File types are different. -MsgSaveDifferentVersions = Save File versions are not the same. -MsgSaveNumberInvalid = Save File {0} is not valid. -MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? -MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. -MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. +System.String MsgProgramRestart = Please restart the program. +System.String MsgProgramIllegalModeBehave = Please behave. +System.String MsgProgramIllegalModeActive = Illegal mode activated. +System.String MsgProgramUpdateAvailable = New Update Available! +System.String MsgProgramCloseUnsaved = Any unsaved changes will be lost. +System.String MsgProgramCloseConfirm = Are you sure you want to close PKHeX? +System.String MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? +System.String MsgProgramError = ERROR +System.String MsgProgramErrorExpectedHex = Expected Text containing only the following characters (0-9, A-F). +System.String MsgSettingsLoadFail = Unable to load settings. +System.String MsgSettingsResetCorrupt = Program settings are corrupt. Would you like to reset the settings? +System.String MsgSettingsResetPrompt = Yes to delete the program settings, or No to close the program. +System.String MsgSettingsResetSuccess = Program settings have been deleted. +System.String MsgAny = Any +System.String MsgAll = All +System.String MsgYes = Yes +System.String MsgNo = No +System.String MsgContinue = Continue? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} files deleted. +System.String MsgFolderNotFound = Can't find folder: +System.String MsgWindowClose = The current window will now close. +System.String MsgResearchRequired = Needs more research. +System.String MsgFileLoad = File Loaded: +System.String MsgFileLoadFail = Unable to load file. +System.String MsgFileLoadFailAuto = An error occurred while attempting to auto-load your save file. +System.String MsgFileLoadFailAutoAdvise = It is advised to manually remove bad filenames from the folder. +System.String MsgFileLoadFailAutoCause = This is likely caused by Homebrew creating invalid filenames. +System.String MsgFileLoadVersionDetect = Generation {0} Save File detected. +System.String MsgFileLoadEncrypted = PKHeX only edits decrypted save files. +System.String MsgFileLoadEncryptedFail = This save file is not decrypted. +System.String MsgFileLoadIncompatible = Binary is not compatible with save file. +System.String MsgFileLoadSaveFail = The data file is not a valid save file. +System.String MsgFileLoadSaveLoadFail = Invalid save file loaded. Aborting. +System.String MsgFileLoadSaveDetectReload = Open save file from the following location? +System.String MsgFileLoadSaveSelectVersion = Select the version. +System.String MsgFileLoadSaveSelectGame = Select a game to edit. +System.String MsgFileLoadSaveMultiple = Multiple games detected +System.String MsgFileGameCubeBad = Invalid or corrupted GC Memory Card. Aborting. +System.String MsgFileGameCubeDuplicate = GC Memory Card with duplicated game save files. Aborting. +System.String MsgFileGameCubeNoGames = GC Memory Card without any Pokémon save file. Aborting. +System.String MsgFileSize = File Size: {0} bytes +System.String MsgFileSizeLarge = Input file is too large. +System.String MsgFileSizeSmall = Input file is too small. +System.String MsgFileWriteFail = Unable to save file. +System.String MsgFileWriteProtected = File's location is write protected: +System.String MsgFileWriteProtectedAdvice = If the file is on a removable disk (SD card), please ensure the write protection switch is not set. +System.String MsgFileInUse = Unable to load file. It could be in use by another program. +System.String MsgFileUnsupported = Attempted to load an unsupported file type/size. This could mean PKHeX doesn't support your save file or your save file is corrupt. +System.String MsgPKMUnsupported = Attempted to load an unsupported file type/size. This could be caused by loading a different generation Pokemon file on an unsupported generation or your file is corrupt. +System.String MsgPKMConvertSuccess = Converted from {0} to {1}. +System.String MsgPKMConvertFail = Conversion failed. +System.String MsgPKMMysteryGiftFail = Mystery Gift is not a Pokémon. +System.String MsgPKMConvertFailFormat = Cannot convert a {0} to {1} +System.String MsgPKMConvertFailBackwards = Can't load {0}s to Gen{1} saves. +System.String MsgPKMConvertFailForm = Form cannot be transferred to future games. +System.String MsgPKMConvertFailNoMethod = Cannot transfer this format to the requested format. +System.String MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. +System.String MsgPKMConvertInternational = International +System.String MsgPKMConvertJapanese = Japanese +System.String MsgClipboardLegalityExport = Copy report to Clipboard? +System.String MsgClipboardFailRead = Clipboard does not contain text. +System.String MsgClipboardFailWrite = Unable to set text to Clipboard. +System.String MsgSimulatorFailClipboard = Set data not found in clipboard. +System.String MsgSimulatorLoad = Import this set? +System.String MsgSimulatorInvalid = Invalid lines detected: +System.String MsgSimulatorExportBadFields = Fix data before exporting. +System.String MsgSimulatorExportFail = Try exporting again. +System.String MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard: +System.String MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard. +System.String MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard. +System.String MsgSimulatorExportList = Showdown Sets copied to Clipboard. +System.String MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable. +System.String MsgBackupCreateQuestion = Would you like to create the backup folder now? +System.String MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder. +System.String MsgBackupUnable = Unable to create backup folder +System.String MsgBackupSuccess = Backup folder created! +System.String MsgDatabase = PKHeX's database was not found. +System.String MsgDatabaseAdvice = Please dump all boxes from a save file, then ensure the '{0}' folder exists. +System.String MsgDatabaseExport = Save to PKHeX's database? +System.String MsgDatabaseLoad = Load from PKHeX's database? +System.String MsgPKMLoadNull = Attempted to load a null file. +System.String MsgPKMSuggestionFormat = Suggestions are not enabled for this PKM format. +System.String MsgPKMSuggestionMoves = Apply suggested current moves? +System.String MsgPKMSuggestionRelearn = Apply suggested relearn moves? +System.String MsgPKMSuggestionNone = Unable to provide a suggestion. +System.String MsgPKMSuggestionStart = Suggested: +System.String MsgPKMSuggestionMetLocation = Met Location: +System.String MsgPKMSuggestionMetLevel = Met Level: +System.String MsgPKMSuggestionLevel = Current Level: +System.String MsgSaveExportSuccessPath = SAV exported to: +System.String MsgSaveExportContinue = Continue saving? +System.String MsgSaveSlotEmpty = Can't have an empty/egg party. +System.String MsgSaveSlotLocked = Can't modify a locked slot. +System.String MsgSaveSlotBadData = Unable to set to this slot. +System.String MsgSaveBackup = Saved Backup of current SAV to: +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = Current SAV Generation: {0} +System.String MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}? +System.String MsgSaveBoxSortCurrent = Sort Current Box? +System.String MsgSaveBoxSortCurrentFailBattle = Battle Box slots prevent the sorting of box. +System.String MsgSaveBoxSortCurrentSuccess = Current Box sorted! +System.String MsgSaveBoxSortAll = Sort ALL Boxes?! +System.String MsgSaveBoxSortAllFailBattle = Battle Box slots prevent the sorting of all boxes. +System.String MsgSaveBoxSortAllSuccess = Boxes sorted! +System.String MsgSaveBoxClearCurrent = Clear Current Box? +System.String MsgSaveBoxClearCurrentFailBattle = Battle Box slots prevent the clearing of box. +System.String MsgSaveBoxClearCurrentSuccess = Current Box cleared! +System.String MsgSaveBoxClearAll = Clear ALL Boxes?! +System.String MsgSaveBoxClearAllFailBattle = Battle Box slots prevent the clearing of all boxes. +System.String MsgSaveBoxClearAllSuccess = Boxes cleared! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = The currently loaded save file does not have boxes! +System.String MsgSaveBoxExportYes = Yes: Export All Boxes +System.String MsgSaveBoxExportNo = No: Export {0} (Box {1}) +System.String MsgSaveBoxExportCancel = Cancel: Abort +System.String MsgSaveBoxExportInvalid = Invalid Box Data, unable to dump. +System.String MsgSaveBoxExportPathCount = Dumped Box(es) ({0} pk) to path: +System.String MsgSaveBoxExportPathInvalid = Invalid path specified. +System.String MsgSaveBoxImportModifyIntro = PKM Loading overrides: +System.String MsgSaveBoxImportModifyYes = Yes - Modify .pk* when set to SAV +System.String MsgSaveBoxImportModifyCurrent = Cancel - Use current settings ({0}) +System.String MsgSaveBoxImportModifyNo = No - Don't modify .pk* +System.String MsgSaveBoxImportNoFiles = No files loaded. +System.String MsgSaveBoxImportSuccess = Loaded {0} files to boxes. +System.String MsgSaveBoxImportClear = Clear subsequent boxes when importing data? +System.String MsgSaveBoxImportClearNo = If you only want to overwrite for new data, press no. +System.String MsgSaveBoxImportPCBinary = PC Binary loaded. +System.String MsgSaveBoxImportPCFailBattle = Battle Box slots prevent loading of PC data. +System.String MsgSaveBoxImportBoxBinary = Box Binary loaded. +System.String MsgSaveBoxImportBoxFailBattle = Battle Box slots in box prevent loading of box data. +System.String MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? +System.String MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. +System.String MsgSaveBoxImportOverwrite = The current box will be overwritten. +System.String MsgSaveBoxImportSkippedLocked = Skipped {0} locked slot(s). +System.String MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? +System.String MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. +System.String MsgSaveGen6Passerby = Export Passerby Info to Clipboard? +System.String MsgSaveGen6FriendSafari = No editing support for Friend Safari :( +System.String MsgSaveGen6FriendSafariCheatDesc = Unlock all 3 slots for each friend? +System.String MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = Would you like to reset the RTC? +System.String MsgSaveJPEGExportFail = No picture data found in the save file! +System.String MsgSaveChecksumFailEdited = Save has been edited. Cannot integrity check. +System.String MsgSaveChecksumValid = Checksums are valid. +System.String MsgSaveChecksumFailExport = Export Checksum Info to Clipboard? +System.String MsgIndexItemRange = Item Index beyond range: +System.String MsgIndexItemGame = Game can't obtain item: +System.String MsgIndexItemHeld = Game can't hold item: +System.String MsgIndexSpeciesRange = Species Index beyond range: +System.String MsgIndexSpeciesGame = Game can't obtain species: +System.String MsgIndexMoveRange = Move Index beyond range: +System.String MsgIndexMoveGame = Game can't obtain move: +System.String MsgIndexAbilityRange = Ability Index beyond range: +System.String MsgIndexAbilityGame = Game can't obtain ability: +System.String MsgQRDecodeFail = Decoded data not a valid PKM/Gift. +System.String MsgQRDecodeSize = QR Data Size: {0} bytes +System.String MsgQRDeprecated = QR codes are deprecated in favor of other methods. +System.String MsgQRAlternative = Consider utilizing homebrew or on-the-fly RAM editing custom firmware (PKMN-NTR). +System.String MsgQRClipboardUrl = Copy QR URL to Clipboard? +System.String MsgQRClipboardImage = Copy QR Image to Clipboard? +System.String MsgQRClipboardFail = Failed to set Image to Clipboard +System.String MsgQRUrlFailPath = Clipboard text is not a valid URL: +System.String MsgQRUrlFailImage = Reader could not find QR data in the image. +System.String MsgQRUrlFailType = Input URL is not valid. Double check that it is an image (jpg/png). +System.String MsgQRUrlFailConnection = Unable to connect to the internet to decode QR code. +System.String MsgQRUrlFailConvert = QR string to Data failed. +System.String MsgDBDeleteFailBackup = Can't delete from a backup save. +System.String MsgDBDeleteFailModified = Database slot data does not match save data! +System.String MsgDBDeleteFailWarning = Don't move Pokémon after initializing the Database, please re-open the Database viewer. +System.String MsgDBAddFailExistsFile = File already exists in database! +System.String MsgDBAddFailExistsPKM = Pokémon already exists in database. +System.String MsgDBAddFromTabsSuccess = Added Pokémon from tabs to database. +System.String MsgDBCreateReportPrompt = Generate a Report on all data? +System.String MsgDBCreateReportWarning = This may take a while... +System.String MsgDBCreateReportFail = No results to export. +System.String MsgDBExportResultsPrompt = Export results to a folder? +System.String MsgDBSearchLegalityWordfilter = Check wordfilter legality? +System.String MsgDBSearchFail = No data source to search! +System.String MsgDBSearchNone = No results found! +System.String MsgDBDeleteCloneWarning = Deleting clones from database is not reversible. +System.String MsgDBDeleteCloneAdvice = If a PKM is deemed a clone, only the newest file (date modified) will be kept. +System.String MsgDBDeleteCloneFail = Unable to delete clone: +System.String MsgDBDeleteCloneNone = No clones detected or deleted. +System.String MsgExportWC3DataFail = Unable to save WC3 data. No data to save! +System.String MsgBEToolTipPropName = Property of a given PKM to modify. +System.String MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. +System.String MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. +System.String MsgBEFilterEmpty = Empty Filter Value detected. +System.String MsgBEPropertyEmpty = Empty Property Value(s) detected: +System.String MsgBEPropertyInvalid = Invalid property selected. +System.String MsgBEInstructionInvalid = Line length error in instruction list. +System.String MsgBEInstructionNone = No instructions defined for a modification set. +System.String MsgBEModifySuccess = Modified {0}{1}/{2} files. +System.String MsgBEModifyFailBlocked = Skipped a file due to disallowed value: +System.String MsgBEModifyFailError = {0} files ignored due to an internal error. +System.String MsgBEModifyFail = Unable to modify {0} to {1}. +System.String MsgBEModifyFailCompare = Unable to compare {0} to {1}. +System.String MsgExportFolder = Please select the folder where the files will be saved to. +System.String MsgExportFolderAdvice = This can be the same folder as the source of PKM files. +System.String MsgReportExportTable = Copy as formatted table? +System.String MsgReportExportCSV = Save all the data to CSV? +System.String MsgReportColumnHide = Hide Column +System.String MsgReportColumnRestore = Restore Columns +System.String MsgReportColumnHideFail = No cells/Columns selected. +System.String MsgReportColumnRestoreSuccess = Column visibility restored. +System.String MsgMsyteryGiftUsedAlert = Mystery Gift is marked as USED and will not be able to be picked up in-game. +System.String MsgMysteryGiftUsedFix = Do you want to remove the USED flag so that it is UNUSED? +System.String MsgMysteryGiftInvalid = File is not a Mystery Gift: +System.String MsgMysteryGiftTypeUnexpected = Expected Mystery Gift Type(s): +System.String MsgMysteryGiftTypeDetails = Gift Details are not compatible with the save file. +System.String MsgMysteryGiftTypeIncompatible = Gift type is not compatible with the save file. +System.String MsgMysteryGiftParseFail = Unable to create gift description. +System.String MsgMysteryGiftParseTypeUnknown = Unknown Mystery Gift Type! +System.String MsgMysteryGiftSlotEmpty = Empty Slot. No data! +System.String MsgMysteryGiftSlotFail = Unable to insert the Mystery Gift. +System.String MsgMysteryGiftSlotNone = No Mystery Gift data found in loaded slot! +System.String MsgMysteryGiftSlotSpecialReject = Does this Mystery Gift really belong to this game? +System.String MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. +System.String MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. +System.String MsgMysteryGiftQRTypeLength = Decoded data length not valid for loaded save file. +System.String MsgMysteryGiftQRReceived = QR Gift Type: +System.String MsgMysteryGiftQREonTicket = Eon Ticket Mystery Gift will not import correctly when received via QR. +System.String MsgMysteryGiftQREonTicketAdvice = Inject the Eon Ticket Mystery Gift to the save file instead. +System.String MsgItemPouchUnknown = Unknown item detected. +System.String MsgItemPouchCountUpdated = Item count modified. +System.String MsgItemCleared = Items cleared. +System.String MsgItemPouchSizeSmall = Pouch is too small for all items. +System.String MsgItemPouchRandom = Yes: Give by Item ID{0}No: Random assortment +System.String MsgItemPouchWarning = If you save changes, the item(s) will no longer be in the pouch. +System.String MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch. +System.String MsgSaveDifferentTypes = Save File types are different. +System.String MsgSaveDifferentVersions = Save File versions are not the same. +System.String MsgSaveNumberInvalid = Save File {0} is not valid. +System.String MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? +System.String MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. +System.String MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_es.txt b/PKHeX.Core/Resources/text/program/MessageStrings_es.txt index 957087170..8cedf2e5a 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_es.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_es.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Por favor, reinicia el programa. -MsgProgramIllegalModeBehave = Por favor, compórtate. -MsgProgramIllegalModeActive = Modo Ilegal activado. -MsgProgramUpdateAvailable = ¡Actualización disponible! -MsgProgramCloseUnsaved = Cualquier cambio no guardado se perderá. -MsgProgramCloseConfirm = ¿Estás seguro de que quieres cerrar PKHeX? -MsgProgramSaveFileConfirm = ¿Estás seguro de que quieres cargar un nuevo archivo de guardado? -MsgProgramError = ERROR -MsgProgramErrorExpectedHex = Se esperaba texto conteniendo solamente los siguiente caracteres (0-9, A-F). -MsgSettingsLoadFail = No se ha podido cargar la configuración. -MsgSettingsResetCorrupt = La configuración del programa se ha corrompido. ¿Quieres reiniciar la configuración? -MsgSettingsResetPrompt = Sí para borrar la configuración del programa, o No para cerrar el programa. -MsgSettingsResetSuccess = La configuración del programa se ha borrado. -MsgAny = Ninguno -MsgAll = Todo -MsgYes = Sí -MsgNo = No -MsgContinue = ¿Continuar? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} archivos borrados. -MsgFolderNotFound = No se encuentra el directorio: -MsgWindowClose = La ventana actual se cerrará. -MsgResearchRequired = Se requiere más investigación. -MsgFileLoad = Archivo cargado: -MsgFileLoadFail = No se ha podido cargar el archivo. -MsgFileLoadFailAuto = Ha ocurrido un error mientras se intentaba auto-cargar tu archivo de guardado. -MsgFileLoadFailAutoAdvise = Se recomienda eliminar manualmente los nombres de archivo incorrectos de la carpeta. -MsgFileLoadFailAutoCause = Esto parece ser causado por el Homebrew creando nombres de archivo incorrectos. -MsgFileLoadVersionDetect = Detectado archivo de guardado de la Generación {0}. -MsgFileLoadEncrypted = PKHeX sólo edita archivos de guardado descifrados. -MsgFileLoadEncryptedFail = Este archivo de guardado no está descifrado. -MsgFileLoadIncompatible = Código binario no es compatible con el archivo de guardado. -MsgFileLoadSaveFail = El archivo de datos no es un archivo de guardado válido. -MsgFileLoadSaveLoadFail = Archivo de guardado cargado no válido. Abortando. -MsgFileLoadSaveDetectReload = ¿Abrir el archivo de guardado de la siguiente localización? -MsgFileLoadSaveSelectVersion = Escoge la versión. -MsgFileLoadSaveSelectGame = Escoge un juego para editar. -MsgFileLoadSaveMultiple = Múltiples juegos detectados -MsgFileGameCubeBad = Tarjeta de Memoria de GameCube no válida o corrupta. Abortando. -MsgFileGameCubeDuplicate = Tarjeta de Memoria de GameCube con archivos de guardado duplicados. Abortando. -MsgFileGameCubeNoGames = Tarjeta de Memoria de GameCube sin ningún archivo de guardado de Pokémon. Abortando. -MsgFileSize = Tamaño del archivo: {0} bytes -MsgFileSizeLarge = El archivo de entrada es muy grande. -MsgFileSizeSmall = El archivo de entrada es muy pequeño. -MsgFileWriteFail = No se ha podido guardar el archivo. -MsgFileWriteProtected = La localización del archivo está protegida contra escritura: -MsgFileWriteProtectedAdvice = Si el archivo está en un disco extraíble (tarjeta SD), por favor, asegúrate de que el interruptor de protección contra escritura no esté activado. -MsgFileInUse = No se ha podido cargar el archivo. Puede que esté siendo usado por otro programa. -MsgFileUnsupported = Se ha intentado cargar un tipo/tamaño de archivo no soportado. -MsgPKMUnsupported = Se intentó cargar un tipo/tamaño de archivo no soportado. Esto pudo haber sido causado por cargar un archivo de Pokémon de otra generación en una generación no soportada o su archivo está corrupto. -MsgPKMConvertSuccess = Convertido de {0} a {1}. -MsgPKMConvertFail = Conversión fallida. -MsgPKMMysteryGiftFail = El Regalo Misterioso no es un Pokémon. -MsgPKMConvertFailFormat = No se puede convertir de {0} a {1}. -MsgPKMConvertFailBackwards = No se puede cargar {0} a partidas de la Gen{1}. -MsgPKMConvertFailForm = La forma no se puede transferir a juegos futuros. -MsgPKMConvertFailNoMethod = No se puede transferir este formato al formato solicitado. -MsgPKMConvertIncompatible = No se puede cargar {0} {1} a partidas de {2}. -MsgPKMConvertInternational = Internacional -MsgPKMConvertJapanese = Japonés -MsgClipboardLegalityExport = ¿Copiar el informe al portapapeles? -MsgClipboardFailRead = El portapapeles no contiene texto. -MsgClipboardFailWrite = No se ha podido escribir texto al portapapeles. -MsgSimulatorFailClipboard = No se han encontrado datos del set en el portapapeles. -MsgSimulatorLoad = ¿Importar este set? -MsgSimulatorInvalid = Líneas no válidas detectadas: -MsgSimulatorExportBadFields = Corrige los datos antes de exportar. -MsgSimulatorExportFail = Prueba a exportar de nuevo. -MsgSimulatorExportSuccess = Set de Showdown exportado al portapapeles: -MsgSimulatorExportParty = Equipo de Showdown (Equipo) puesto en el portapapeles. -MsgSimulatorExportBattleBox = Equipo de Showdown (Caja de Combate) puesto en el portapapeles. -MsgSimulatorExportList = Set de Movimientos copiado al portapapeles. -MsgBackupCreateLocation = PKHeX puede realizar copias de seguridad automáticas si creas un directorio con el nombre '{0}' en el mismo directorio donde se encuentra el ejecutable de PKHeX. -MsgBackupCreateQuestion = ¿Te gustaría crear el directorio de copia de seguridad ahora? -MsgBackupDelete = Si deseas no seguir creando copias de seguridad de tus archivos de guardado automáticamente, borra el directorio '{0}'. -MsgBackupUnable = No se ha podido crear el directorio de copias de seguridad -MsgBackupSuccess = ¡Directorio de copias de seguridad creado! -MsgDatabase = No se ha encontrado la base de datos de PKHeX. -MsgDatabaseAdvice = Por favor, exporta todas las cajas del archivo de guardado, y asegúrate de que el directorio '{0}' exista. -MsgDatabaseExport = ¿Guardar a la base de datos de PKHeX? -MsgDatabaseLoad = ¿Cargar desde la base de datos de PKHeX? -MsgPKMLoadNull = Se ha intentado cargar un archivo nulo. -MsgPKMSuggestionFormat = Las sugerencias no están activadas para este formato de PKM. -MsgPKMSuggestionMoves = ¿Aplicar movimientos actuales sugeridos? -MsgPKMSuggestionRelearn = ¿Aplicar movimientos recordables sugeridos? -MsgPKMSuggestionNone = No se puede proporcionar una sugerencia. -MsgPKMSuggestionStart = Sugerido: -MsgPKMSuggestionMetLocation = Lugar encuentro: -MsgPKMSuggestionMetLevel = Nivel encuentro: -MsgPKMSuggestionLevel = Nivel actual: -MsgSaveExportSuccessPath = SAV exportado en: -MsgSaveExportContinue = ¿Continuar guardando? -MsgSaveSlotEmpty = No se puede dejar el equipo vacío o sólo con huevos. -MsgSaveSlotLocked = No se puede modificar un espacio bloqueado. -MsgSaveSlotBadData = Imposible colocar en esta casilla. -MsgSaveBackup = Copia de seguridad del SAV actual guardado en: -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = Generación del SAV actual: {0} -MsgSaveBoxCloneFromTabs = ¿Clonar el Pokémon en edición a todos los espacios en {0}? -MsgSaveBoxSortCurrent = ¿Ordenar la caja actual? -MsgSaveBoxSortCurrentFailBattle = Los espacios usados por las Cajas de Combate evitan ordenar de la caja. -MsgSaveBoxSortCurrentSuccess = ¡Caja actual ordenada! -MsgSaveBoxSortAll = ¡¿Ordenar TODAS las cajas?! -MsgSaveBoxSortAllFailBattle = Los espacios usados por las Cajas de Combate evitan ordenar todas las cajas. -MsgSaveBoxSortAllSuccess = ¡Cajas ordenadas! -MsgSaveBoxClearCurrent = ¿Vaciar la caja actual? -MsgSaveBoxClearCurrentFailBattle = Los espacios usados por las Cajas de Combate evitan limpiar la caja. -MsgSaveBoxClearCurrentSuccess = ¡Caja actual vaciada! -MsgSaveBoxClearAll = ¡¿Vaciar TODAS las cajas?! -MsgSaveBoxClearAllFailBattle = Los espacios usados por las Cajas de Combate evitan limpiar todas las cajas. -MsgSaveBoxClearAllSuccess = ¡Cajas vaciadas! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = ¡El archivo de guardado actual no tiene cajas! -MsgSaveBoxExportYes = Sí: Exportar todas las cajas -MsgSaveBoxExportNo = No: Exportar {0} (Caja {1}) -MsgSaveBoxExportCancel = Cancelar: Abortar -MsgSaveBoxExportInvalid = Datos de caja no válidos; no se ha podido exportar. -MsgSaveBoxExportPathCount = Exportado Caja(s) ({0} pk) en ruta: -MsgSaveBoxExportPathInvalid = Ruta especificada no válida. -MsgSaveBoxImportModifyIntro = La carga del PKM sobreescribe: -MsgSaveBoxImportModifyYes = Sí - Modificar .pk* al colocar en SAV -MsgSaveBoxImportModifyCurrent = Cancelar - Usar configuración actual ({0}) -MsgSaveBoxImportModifyNo = No - No modificar .pk* -MsgSaveBoxImportNoFiles = Ningún archivo cargado. -MsgSaveBoxImportSuccess = Se han cargado {0} archivos en cajas. -MsgSaveBoxImportClear = ¿Vaciar las cajas posteriores al importar datos? -MsgSaveBoxImportClearNo = Si solo quieres sobreescribir para datos nuevos, pulsa NO. -MsgSaveBoxImportPCBinary = Binario de PC cargado. -MsgSaveBoxImportPCFailBattle = Los espacios de la Caja de Combate evitan la carga de datos del PC. -MsgSaveBoxImportBoxBinary = Binario de Caja cargado. -MsgSaveBoxImportBoxFailBattle = Los espacios de la Caja de Combate evitan la carga de datos de la caja. -MsgSaveBoxImportGroup = ¿Cargar los datos de Pokémon del archivo en la caja actual ({0})? -MsgSaveBoxImportGroupSuccess = Los datos de Pokémon del archivo se cargaron en las ranuras de las cajas. -MsgSaveBoxImportOverwrite = La caja actual será sobreescrita. -MsgSaveBoxImportSkippedLocked = Omitido(s) {0} espacio(s) bloqueado(s). -MsgSaveSwitchDaycareView = ¿Quieres cambiar la vista a la otra Guardería? -MsgSaveSwitchDaycareCurrent = Actualmente viendo la guardería {0}. -MsgSaveGen6Passerby = ¿Exportar información de Transeúntes al portapapeles? -MsgSaveGen6FriendSafari = No hay soporte de edición del Safari Amistad :( -MsgSaveGen6FriendSafariCheatDesc = ¿Desbloquear los 3 espacios para cada amigo? -MsgSaveGen2RTCResetPassword = Contraseña de reseteo de RTC: {0:00000} -MsgSaveGen2RTCResetBitflag = ¿Le gustaría reiniciar el RTC? -MsgSaveJPEGExportFail = ¡No se han encontrado datos de imagen en el archivo de guardado! -MsgSaveChecksumFailEdited = El archivo de guardado ha sido editado. No se puede verificar la integridad. -MsgSaveChecksumValid = Suma de verificación válido. -MsgSaveChecksumFailExport = ¿Exportar información de la suma de verificación al portapapeles? -MsgIndexItemRange = Índice de objetos fuera de rango: -MsgIndexItemGame = No se puede obtener el objeto en el juego: -MsgIndexItemHeld = El objeto no puede ser equipado en el juego: -MsgIndexSpeciesRange = Índice de especies fuera de rango: -MsgIndexSpeciesGame = No se puede obtener la especie en el juego: -MsgIndexMoveRange = Índice de movimientos fuera de rango: -MsgIndexMoveGame = No se puede obtener el movimiento en el juego: -MsgIndexAbilityRange = Índice de habilidades fuera de rango: -MsgIndexAbilityGame = No se puede obtener la habilidad en el juego: -MsgQRDecodeFail = Los datos decodificados no son PKM/Regalo válidos. -MsgQRDecodeSize = Tamaño de los datos de QR: {0} bytes -MsgQRDeprecated = Los códigos QR están obsoletos en favor de otros métodos. -MsgQRAlternative = Considera usar Homebrew o Firmware personalizado con edición de RAM sobre la marcha (PKMN-NTR). -MsgQRClipboardUrl = ¿Copiar el enlace del QR al portapapeles? -MsgQRClipboardImage = ¿Copiar la imagen del QR al portapapeles? -MsgQRClipboardFail = No se ha podido copiar la imagen al portapapeles -MsgQRUrlFailPath = El texto en el portapapeles no es un enlace válido: -MsgQRUrlFailImage = El lector no pudo encontrar datos QR en la imagen. -MsgQRUrlFailType = La URL de entrada no es válida. Verifica que es una imagen (jpg/png). -MsgQRUrlFailConnection = No se puede conectar a Internet para decodificar el código QR. -MsgQRUrlFailConvert = Fallo de cadena QR a Datos. -MsgDBDeleteFailBackup = No se puede eliminar desde una partida de copia de seguridad. -MsgDBDeleteFailModified = ¡Los datos de la ranura de la base de datos no coinciden con guardar datos! -MsgDBDeleteFailWarning = No muevas Pokémon después de inicializar la Base de Datos, por favor vuelve a abrir el visor de la Base de Datos. -MsgDBAddFailExistsFile = ¡El archivo ya existe en la base de datos! -MsgDBAddFailExistsPKM = El Pokémon ya existe en la base de datos. -MsgDBAddFromTabsSuccess = Pokémon añadido de las pestañas a la base de datos. -MsgDBCreateReportPrompt = ¿Generar un informe sobre todos los datos? -MsgDBCreateReportWarning = Esto puede tardar un rato... -MsgDBCreateReportFail = No hay resultados para exportar -MsgDBExportResultsPrompt = ¿Exportar resultados a una carpeta? -MsgDBSearchLegalityWordfilter = ¿Verificar la legalidad del filtro de palabras? -MsgDBSearchFail = ¡Sin fuente de datos para buscar! -MsgDBSearchNone = ¡No se han encontrado resultados! -MsgDBDeleteCloneWarning = Eliminar clones de la base de datos no es reversible. -MsgDBDeleteCloneAdvice = Si se considera que un PKM es un clon, solo se conservará el archivo más nuevo (fecha de modificación). -MsgDBDeleteCloneFail = No se puede eliminar el clon: -MsgDBDeleteCloneNone = No se detectaron ni eliminaron clones. -MsgExportWC3DataFail = No se pueden guardar los datos de WC3. ¡Sin datos para guardar! -MsgBEToolTipPropName = Propiedad de un PKM dado para modificar. -MsgBEToolTipPropType = PropertyType del PKM cargado actualmente en la ventana principal. -MsgBEToolTipPropValue = PropertyValue del PKM cargado actualmente en la ventana principal. -MsgBEFilterEmpty = Valor de filtro vacío detectado. -MsgBEPropertyEmpty = Se detectaron valores de propiedad vacíos: -MsgBEPropertyInvalid = Propiedad inválida seleccionada. -MsgBEInstructionInvalid = Error de longitud de línea en la lista de instrucciones. -MsgBEInstructionNone = No hay instrucciones definidas para un conjunto de modificación. -MsgBEModifySuccess = Modificados {0}{1}/{2} archivos. -MsgBEModifyFailBlocked = Se omitió un archivo debido a un valor no permitido: -MsgBEModifyFailError = {0} archivos ignorados debido a un error interno. -MsgBEModifyFail = No se puede modificar {0} a {1}. -MsgBEModifyFailCompare = No se puede comparar {0} a {1}. -MsgExportFolder = Seleccione la carpeta donde se guardarán los archivos. -MsgExportFolderAdvice = Esta puede ser la misma carpeta que la fuente de los archivos PKM. -MsgReportExportTable = ¿Copiar como tabla formateada? -MsgReportExportCSV = ¿Guardar todos los datos en CSV? -MsgReportColumnHide = Ocultar columna -MsgReportColumnRestore = Restaurar clumnas -MsgReportColumnHideFail = Sin celdas/columnas seleccionadas. -MsgReportColumnRestoreSuccess = Visibilidad de columna restaurada. -MsgMsyteryGiftUsedAlert = Regalo Misterioso marcado como USADO y no podrá ser recogido en el juego. -MsgMysteryGiftUsedFix = ¿Desea quitar la marca USADO para que NO ESTÉ USADO? -MsgMysteryGiftInvalid = El archivo no es un Regalo Misterioso: -MsgMysteryGiftTypeUnexpected = Tipo de Regalo Misterioso esperado (s): -MsgMysteryGiftTypeDetails = Los Detalles del Regalo no son compatibles con el archivo de guardado. -MsgMysteryGiftTypeIncompatible = El tipo de Regalo no es compatible con el archivo de guardado. -MsgMysteryGiftParseFail = No se puede crear una descripción de Regalo. -MsgMysteryGiftParseTypeUnknown = ¡Tipo de Regalo Misterioso desconocido! -MsgMysteryGiftSlotEmpty = Ranura vacía. ¡Sin datos! -MsgMysteryGiftSlotFail = Incapaz de insertar el Regalo Misterioso. -MsgMysteryGiftSlotNone = ¡No se encontraron datos de Regalo Misterioso en la ranura cargada! -MsgMysteryGiftSlotSpecialReject = ¿Este Regalo Misterioso realmente pertenece a este juego? -MsgMysteryGiftSlotAlternate = Regalo {0} se estableció en el espacio {1} en su lugar. -MsgMysteryGiftSlotFailSwap = No se puede cambiar {0} con {1}. -MsgMysteryGiftQRTypeLength = La longitud de los datos decodificados no es válida para el archivo guardado cargado. -MsgMysteryGiftQRReceived = Tipo de Regalo QR: -MsgMysteryGiftQREonTicket = Regalo Misterioso del Ticket Eon no se importará correctamente cuando se reciba a través de QR. -MsgMysteryGiftQREonTicketAdvice = Inyecte el Regalo Misterioso del Ticket Eon en el archivo de guardado en su lugar. -MsgItemPouchUnknown = Se detectó un objeto desconocido. -MsgItemPouchCountUpdated = Recuento de objetos. -MsgItemCleared = Objetos borrados. -MsgItemPouchSizeSmall = La bolsa es muy pequeña para todos los Objetos. -MsgItemPouchRandom = Sí: Dar por ID de Objeto {0}No: Surtido aleatorio -MsgItemPouchWarning = Si guarda los cambios, el Objeto (s) no estará más en la bolsa. -MsgItemPouchRemoved = Los siguientes artículos se han eliminado de la bolsa {0}. -MsgSaveDifferentTypes = Los tipos de archivos de guardado son diferentes. -MsgSaveDifferentVersions = Las versiones de los archivos de guardado no son iguales. -MsgSaveNumberInvalid = El archivo de Guardado {0} no es válido. -MsgSecretBaseDeleteConfirm = ¿Eliminar la Base Secreta de {0} (Entrada {1:00}) de tus registros? -MsgSecretBaseDeleteSelf = No se puede eliminar tu Base Secreta. -MsgPluginFailLoad = No se pudieron cargar los complementos. Consulte el mensaje de error para identificar el complemento defectuoso. Un complemento puede estar desactualizado o ser incompatible con esta versión de PKHeX. +System.String MsgProgramRestart = Por favor, reinicia el programa. +System.String MsgProgramIllegalModeBehave = Por favor, compórtate. +System.String MsgProgramIllegalModeActive = Modo Ilegal activado. +System.String MsgProgramUpdateAvailable = ¡Actualización disponible! +System.String MsgProgramCloseUnsaved = Cualquier cambio no guardado se perderá. +System.String MsgProgramCloseConfirm = ¿Estás seguro de que quieres cerrar PKHeX? +System.String MsgProgramSaveFileConfirm = ¿Estás seguro de que quieres cargar un nuevo archivo de guardado? +System.String MsgProgramError = ERROR +System.String MsgProgramErrorExpectedHex = Se esperaba texto conteniendo solamente los siguiente caracteres (0-9, A-F). +System.String MsgSettingsLoadFail = No se ha podido cargar la configuración. +System.String MsgSettingsResetCorrupt = La configuración del programa se ha corrompido. ¿Quieres reiniciar la configuración? +System.String MsgSettingsResetPrompt = Sí para borrar la configuración del programa, o No para cerrar el programa. +System.String MsgSettingsResetSuccess = La configuración del programa se ha borrado. +System.String MsgAny = Ninguno +System.String MsgAll = Todo +System.String MsgYes = Sí +System.String MsgNo = No +System.String MsgContinue = ¿Continuar? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} archivos borrados. +System.String MsgFolderNotFound = No se encuentra el directorio: +System.String MsgWindowClose = La ventana actual se cerrará. +System.String MsgResearchRequired = Se requiere más investigación. +System.String MsgFileLoad = Archivo cargado: +System.String MsgFileLoadFail = No se ha podido cargar el archivo. +System.String MsgFileLoadFailAuto = Ha ocurrido un error mientras se intentaba auto-cargar tu archivo de guardado. +System.String MsgFileLoadFailAutoAdvise = Se recomienda eliminar manualmente los nombres de archivo incorrectos de la carpeta. +System.String MsgFileLoadFailAutoCause = Esto parece ser causado por el Homebrew creando nombres de archivo incorrectos. +System.String MsgFileLoadVersionDetect = Detectado archivo de guardado de la Generación {0}. +System.String MsgFileLoadEncrypted = PKHeX sólo edita archivos de guardado descifrados. +System.String MsgFileLoadEncryptedFail = Este archivo de guardado no está descifrado. +System.String MsgFileLoadIncompatible = Código binario no es compatible con el archivo de guardado. +System.String MsgFileLoadSaveFail = El archivo de datos no es un archivo de guardado válido. +System.String MsgFileLoadSaveLoadFail = Archivo de guardado cargado no válido. Abortando. +System.String MsgFileLoadSaveDetectReload = ¿Abrir el archivo de guardado de la siguiente localización? +System.String MsgFileLoadSaveSelectVersion = Escoge la versión. +System.String MsgFileLoadSaveSelectGame = Escoge un juego para editar. +System.String MsgFileLoadSaveMultiple = Múltiples juegos detectados +System.String MsgFileGameCubeBad = Tarjeta de Memoria de GameCube no válida o corrupta. Abortando. +System.String MsgFileGameCubeDuplicate = Tarjeta de Memoria de GameCube con archivos de guardado duplicados. Abortando. +System.String MsgFileGameCubeNoGames = Tarjeta de Memoria de GameCube sin ningún archivo de guardado de Pokémon. Abortando. +System.String MsgFileSize = Tamaño del archivo: {0} bytes +System.String MsgFileSizeLarge = El archivo de entrada es muy grande. +System.String MsgFileSizeSmall = El archivo de entrada es muy pequeño. +System.String MsgFileWriteFail = No se ha podido guardar el archivo. +System.String MsgFileWriteProtected = La localización del archivo está protegida contra escritura: +System.String MsgFileWriteProtectedAdvice = Si el archivo está en un disco extraíble (tarjeta SD), por favor, asegúrate de que el interruptor de protección contra escritura no esté activado. +System.String MsgFileInUse = No se ha podido cargar el archivo. Puede que esté siendo usado por otro programa. +System.String MsgFileUnsupported = Se ha intentado cargar un tipo/tamaño de archivo no soportado. +System.String MsgPKMUnsupported = Se intentó cargar un tipo/tamaño de archivo no soportado. Esto pudo haber sido causado por cargar un archivo de Pokémon de otra generación en una generación no soportada o su archivo está corrupto. +System.String MsgPKMConvertSuccess = Convertido de {0} a {1}. +System.String MsgPKMConvertFail = Conversión fallida. +System.String MsgPKMMysteryGiftFail = El Regalo Misterioso no es un Pokémon. +System.String MsgPKMConvertFailFormat = No se puede convertir de {0} a {1}. +System.String MsgPKMConvertFailBackwards = No se puede cargar {0} a partidas de la Gen{1}. +System.String MsgPKMConvertFailForm = La forma no se puede transferir a juegos futuros. +System.String MsgPKMConvertFailNoMethod = No se puede transferir este formato al formato solicitado. +System.String MsgPKMConvertIncompatible = No se puede cargar {0} {1} a partidas de {2}. +System.String MsgPKMConvertInternational = Internacional +System.String MsgPKMConvertJapanese = Japonés +System.String MsgClipboardLegalityExport = ¿Copiar el informe al portapapeles? +System.String MsgClipboardFailRead = El portapapeles no contiene texto. +System.String MsgClipboardFailWrite = No se ha podido escribir texto al portapapeles. +System.String MsgSimulatorFailClipboard = No se han encontrado datos del set en el portapapeles. +System.String MsgSimulatorLoad = ¿Importar este set? +System.String MsgSimulatorInvalid = Líneas no válidas detectadas: +System.String MsgSimulatorExportBadFields = Corrige los datos antes de exportar. +System.String MsgSimulatorExportFail = Prueba a exportar de nuevo. +System.String MsgSimulatorExportSuccess = Set de Showdown exportado al portapapeles: +System.String MsgSimulatorExportParty = Equipo de Showdown (Equipo) puesto en el portapapeles. +System.String MsgSimulatorExportBattleBox = Equipo de Showdown (Caja de Combate) puesto en el portapapeles. +System.String MsgSimulatorExportList = Set de Movimientos copiado al portapapeles. +System.String MsgBackupCreateLocation = PKHeX puede realizar copias de seguridad automáticas si creas un directorio con el nombre '{0}' en el mismo directorio donde se encuentra el ejecutable de PKHeX. +System.String MsgBackupCreateQuestion = ¿Te gustaría crear el directorio de copia de seguridad ahora? +System.String MsgBackupDelete = Si deseas no seguir creando copias de seguridad de tus archivos de guardado automáticamente, borra el directorio '{0}'. +System.String MsgBackupUnable = No se ha podido crear el directorio de copias de seguridad +System.String MsgBackupSuccess = ¡Directorio de copias de seguridad creado! +System.String MsgDatabase = No se ha encontrado la base de datos de PKHeX. +System.String MsgDatabaseAdvice = Por favor, exporta todas las cajas del archivo de guardado, y asegúrate de que el directorio '{0}' exista. +System.String MsgDatabaseExport = ¿Guardar a la base de datos de PKHeX? +System.String MsgDatabaseLoad = ¿Cargar desde la base de datos de PKHeX? +System.String MsgPKMLoadNull = Se ha intentado cargar un archivo nulo. +System.String MsgPKMSuggestionFormat = Las sugerencias no están activadas para este formato de PKM. +System.String MsgPKMSuggestionMoves = ¿Aplicar movimientos actuales sugeridos? +System.String MsgPKMSuggestionRelearn = ¿Aplicar movimientos recordables sugeridos? +System.String MsgPKMSuggestionNone = No se puede proporcionar una sugerencia. +System.String MsgPKMSuggestionStart = Sugerido: +System.String MsgPKMSuggestionMetLocation = Lugar encuentro: +System.String MsgPKMSuggestionMetLevel = Nivel encuentro: +System.String MsgPKMSuggestionLevel = Nivel actual: +System.String MsgSaveExportSuccessPath = SAV exportado en: +System.String MsgSaveExportContinue = ¿Continuar guardando? +System.String MsgSaveSlotEmpty = No se puede dejar el equipo vacío o sólo con huevos. +System.String MsgSaveSlotLocked = No se puede modificar un espacio bloqueado. +System.String MsgSaveSlotBadData = Imposible colocar en esta casilla. +System.String MsgSaveBackup = Copia de seguridad del SAV actual guardado en: +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = Generación del SAV actual: {0} +System.String MsgSaveBoxCloneFromTabs = ¿Clonar el Pokémon en edición a todos los espacios en {0}? +System.String MsgSaveBoxSortCurrent = ¿Ordenar la caja actual? +System.String MsgSaveBoxSortCurrentFailBattle = Los espacios usados por las Cajas de Combate evitan ordenar de la caja. +System.String MsgSaveBoxSortCurrentSuccess = ¡Caja actual ordenada! +System.String MsgSaveBoxSortAll = ¡¿Ordenar TODAS las cajas?! +System.String MsgSaveBoxSortAllFailBattle = Los espacios usados por las Cajas de Combate evitan ordenar todas las cajas. +System.String MsgSaveBoxSortAllSuccess = ¡Cajas ordenadas! +System.String MsgSaveBoxClearCurrent = ¿Vaciar la caja actual? +System.String MsgSaveBoxClearCurrentFailBattle = Los espacios usados por las Cajas de Combate evitan limpiar la caja. +System.String MsgSaveBoxClearCurrentSuccess = ¡Caja actual vaciada! +System.String MsgSaveBoxClearAll = ¡¿Vaciar TODAS las cajas?! +System.String MsgSaveBoxClearAllFailBattle = Los espacios usados por las Cajas de Combate evitan limpiar todas las cajas. +System.String MsgSaveBoxClearAllSuccess = ¡Cajas vaciadas! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = ¡El archivo de guardado actual no tiene cajas! +System.String MsgSaveBoxExportYes = Sí: Exportar todas las cajas +System.String MsgSaveBoxExportNo = No: Exportar {0} (Caja {1}) +System.String MsgSaveBoxExportCancel = Cancelar: Abortar +System.String MsgSaveBoxExportInvalid = Datos de caja no válidos; no se ha podido exportar. +System.String MsgSaveBoxExportPathCount = Exportado Caja(s) ({0} pk) en ruta: +System.String MsgSaveBoxExportPathInvalid = Ruta especificada no válida. +System.String MsgSaveBoxImportModifyIntro = La carga del PKM sobreescribe: +System.String MsgSaveBoxImportModifyYes = Sí - Modificar .pk* al colocar en SAV +System.String MsgSaveBoxImportModifyCurrent = Cancelar - Usar configuración actual ({0}) +System.String MsgSaveBoxImportModifyNo = No - No modificar .pk* +System.String MsgSaveBoxImportNoFiles = Ningún archivo cargado. +System.String MsgSaveBoxImportSuccess = Se han cargado {0} archivos en cajas. +System.String MsgSaveBoxImportClear = ¿Vaciar las cajas posteriores al importar datos? +System.String MsgSaveBoxImportClearNo = Si solo quieres sobreescribir para datos nuevos, pulsa NO. +System.String MsgSaveBoxImportPCBinary = Binario de PC cargado. +System.String MsgSaveBoxImportPCFailBattle = Los espacios de la Caja de Combate evitan la carga de datos del PC. +System.String MsgSaveBoxImportBoxBinary = Binario de Caja cargado. +System.String MsgSaveBoxImportBoxFailBattle = Los espacios de la Caja de Combate evitan la carga de datos de la caja. +System.String MsgSaveBoxImportGroup = ¿Cargar los datos de Pokémon del archivo en la caja actual ({0})? +System.String MsgSaveBoxImportGroupSuccess = Los datos de Pokémon del archivo se cargaron en las ranuras de las cajas. +System.String MsgSaveBoxImportOverwrite = La caja actual será sobreescrita. +System.String MsgSaveBoxImportSkippedLocked = Omitido(s) {0} espacio(s) bloqueado(s). +System.String MsgSaveSwitchDaycareView = ¿Quieres cambiar la vista a la otra Guardería? +System.String MsgSaveSwitchDaycareCurrent = Actualmente viendo la guardería {0}. +System.String MsgSaveGen6Passerby = ¿Exportar información de Transeúntes al portapapeles? +System.String MsgSaveGen6FriendSafari = No hay soporte de edición del Safari Amistad :( +System.String MsgSaveGen6FriendSafariCheatDesc = ¿Desbloquear los 3 espacios para cada amigo? +System.String MsgSaveGen2RTCResetPassword = Contraseña de reseteo de RTC: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = ¿Le gustaría reiniciar el RTC? +System.String MsgSaveJPEGExportFail = ¡No se han encontrado datos de imagen en el archivo de guardado! +System.String MsgSaveChecksumFailEdited = El archivo de guardado ha sido editado. No se puede verificar la integridad. +System.String MsgSaveChecksumValid = Suma de verificación válido. +System.String MsgSaveChecksumFailExport = ¿Exportar información de la suma de verificación al portapapeles? +System.String MsgIndexItemRange = Índice de objetos fuera de rango: +System.String MsgIndexItemGame = No se puede obtener el objeto en el juego: +System.String MsgIndexItemHeld = El objeto no puede ser equipado en el juego: +System.String MsgIndexSpeciesRange = Índice de especies fuera de rango: +System.String MsgIndexSpeciesGame = No se puede obtener la especie en el juego: +System.String MsgIndexMoveRange = Índice de movimientos fuera de rango: +System.String MsgIndexMoveGame = No se puede obtener el movimiento en el juego: +System.String MsgIndexAbilityRange = Índice de habilidades fuera de rango: +System.String MsgIndexAbilityGame = No se puede obtener la habilidad en el juego: +System.String MsgQRDecodeFail = Los datos decodificados no son PKM/Regalo válidos. +System.String MsgQRDecodeSize = Tamaño de los datos de QR: {0} bytes +System.String MsgQRDeprecated = Los códigos QR están obsoletos en favor de otros métodos. +System.String MsgQRAlternative = Considera usar Homebrew o Firmware personalizado con edición de RAM sobre la marcha (PKMN-NTR). +System.String MsgQRClipboardUrl = ¿Copiar el enlace del QR al portapapeles? +System.String MsgQRClipboardImage = ¿Copiar la imagen del QR al portapapeles? +System.String MsgQRClipboardFail = No se ha podido copiar la imagen al portapapeles +System.String MsgQRUrlFailPath = El texto en el portapapeles no es un enlace válido: +System.String MsgQRUrlFailImage = El lector no pudo encontrar datos QR en la imagen. +System.String MsgQRUrlFailType = La URL de entrada no es válida. Verifica que es una imagen (jpg/png). +System.String MsgQRUrlFailConnection = No se puede conectar a Internet para decodificar el código QR. +System.String MsgQRUrlFailConvert = Fallo de cadena QR a Datos. +System.String MsgDBDeleteFailBackup = No se puede eliminar desde una partida de copia de seguridad. +System.String MsgDBDeleteFailModified = ¡Los datos de la ranura de la base de datos no coinciden con guardar datos! +System.String MsgDBDeleteFailWarning = No muevas Pokémon después de inicializar la Base de Datos, por favor vuelve a abrir el visor de la Base de Datos. +System.String MsgDBAddFailExistsFile = ¡El archivo ya existe en la base de datos! +System.String MsgDBAddFailExistsPKM = El Pokémon ya existe en la base de datos. +System.String MsgDBAddFromTabsSuccess = Pokémon añadido de las pestañas a la base de datos. +System.String MsgDBCreateReportPrompt = ¿Generar un informe sobre todos los datos? +System.String MsgDBCreateReportWarning = Esto puede tardar un rato... +System.String MsgDBCreateReportFail = No hay resultados para exportar +System.String MsgDBExportResultsPrompt = ¿Exportar resultados a una carpeta? +System.String MsgDBSearchLegalityWordfilter = ¿Verificar la legalidad del filtro de palabras? +System.String MsgDBSearchFail = ¡Sin fuente de datos para buscar! +System.String MsgDBSearchNone = ¡No se han encontrado resultados! +System.String MsgDBDeleteCloneWarning = Eliminar clones de la base de datos no es reversible. +System.String MsgDBDeleteCloneAdvice = Si se considera que un PKM es un clon, solo se conservará el archivo más nuevo (fecha de modificación). +System.String MsgDBDeleteCloneFail = No se puede eliminar el clon: +System.String MsgDBDeleteCloneNone = No se detectaron ni eliminaron clones. +System.String MsgExportWC3DataFail = No se pueden guardar los datos de WC3. ¡Sin datos para guardar! +System.String MsgBEToolTipPropName = Propiedad de un PKM dado para modificar. +System.String MsgBEToolTipPropType = PropertyType del PKM cargado actualmente en la ventana principal. +System.String MsgBEToolTipPropValue = PropertyValue del PKM cargado actualmente en la ventana principal. +System.String MsgBEFilterEmpty = Valor de filtro vacío detectado. +System.String MsgBEPropertyEmpty = Se detectaron valores de propiedad vacíos: +System.String MsgBEPropertyInvalid = Propiedad inválida seleccionada. +System.String MsgBEInstructionInvalid = Error de longitud de línea en la lista de instrucciones. +System.String MsgBEInstructionNone = No hay instrucciones definidas para un conjunto de modificación. +System.String MsgBEModifySuccess = Modificados {0}{1}/{2} archivos. +System.String MsgBEModifyFailBlocked = Se omitió un archivo debido a un valor no permitido: +System.String MsgBEModifyFailError = {0} archivos ignorados debido a un error interno. +System.String MsgBEModifyFail = No se puede modificar {0} a {1}. +System.String MsgBEModifyFailCompare = No se puede comparar {0} a {1}. +System.String MsgExportFolder = Seleccione la carpeta donde se guardarán los archivos. +System.String MsgExportFolderAdvice = Esta puede ser la misma carpeta que la fuente de los archivos PKM. +System.String MsgReportExportTable = ¿Copiar como tabla formateada? +System.String MsgReportExportCSV = ¿Guardar todos los datos en CSV? +System.String MsgReportColumnHide = Ocultar columna +System.String MsgReportColumnRestore = Restaurar clumnas +System.String MsgReportColumnHideFail = Sin celdas/columnas seleccionadas. +System.String MsgReportColumnRestoreSuccess = Visibilidad de columna restaurada. +System.String MsgMsyteryGiftUsedAlert = Regalo Misterioso marcado como USADO y no podrá ser recogido en el juego. +System.String MsgMysteryGiftUsedFix = ¿Desea quitar la marca USADO para que NO ESTÉ USADO? +System.String MsgMysteryGiftInvalid = El archivo no es un Regalo Misterioso: +System.String MsgMysteryGiftTypeUnexpected = Tipo de Regalo Misterioso esperado (s): +System.String MsgMysteryGiftTypeDetails = Los Detalles del Regalo no son compatibles con el archivo de guardado. +System.String MsgMysteryGiftTypeIncompatible = El tipo de Regalo no es compatible con el archivo de guardado. +System.String MsgMysteryGiftParseFail = No se puede crear una descripción de Regalo. +System.String MsgMysteryGiftParseTypeUnknown = ¡Tipo de Regalo Misterioso desconocido! +System.String MsgMysteryGiftSlotEmpty = Ranura vacía. ¡Sin datos! +System.String MsgMysteryGiftSlotFail = Incapaz de insertar el Regalo Misterioso. +System.String MsgMysteryGiftSlotNone = ¡No se encontraron datos de Regalo Misterioso en la ranura cargada! +System.String MsgMysteryGiftSlotSpecialReject = ¿Este Regalo Misterioso realmente pertenece a este juego? +System.String MsgMysteryGiftSlotAlternate = Regalo {0} se estableció en el espacio {1} en su lugar. +System.String MsgMysteryGiftSlotFailSwap = No se puede cambiar {0} con {1}. +System.String MsgMysteryGiftQRTypeLength = La longitud de los datos decodificados no es válida para el archivo guardado cargado. +System.String MsgMysteryGiftQRReceived = Tipo de Regalo QR: +System.String MsgMysteryGiftQREonTicket = Regalo Misterioso del Ticket Eon no se importará correctamente cuando se reciba a través de QR. +System.String MsgMysteryGiftQREonTicketAdvice = Inyecte el Regalo Misterioso del Ticket Eon en el archivo de guardado en su lugar. +System.String MsgItemPouchUnknown = Se detectó un objeto desconocido. +System.String MsgItemPouchCountUpdated = Recuento de objetos. +System.String MsgItemCleared = Objetos borrados. +System.String MsgItemPouchSizeSmall = La bolsa es muy pequeña para todos los Objetos. +System.String MsgItemPouchRandom = Sí: Dar por ID de Objeto {0}No: Surtido aleatorio +System.String MsgItemPouchWarning = Si guarda los cambios, el Objeto (s) no estará más en la bolsa. +System.String MsgItemPouchRemoved = Los siguientes artículos se han eliminado de la bolsa {0}. +System.String MsgSaveDifferentTypes = Los tipos de archivos de guardado son diferentes. +System.String MsgSaveDifferentVersions = Las versiones de los archivos de guardado no son iguales. +System.String MsgSaveNumberInvalid = El archivo de Guardado {0} no es válido. +System.String MsgSecretBaseDeleteConfirm = ¿Eliminar la Base Secreta de {0} (Entrada {1:00}) de tus registros? +System.String MsgSecretBaseDeleteSelf = No se puede eliminar tu Base Secreta. +System.String MsgPluginFailLoad = No se pudieron cargar los complementos. Consulte el mensaje de error para identificar el complemento defectuoso. Un complemento puede estar desactualizado o ser incompatible con esta versión de PKHeX. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_fr.txt b/PKHeX.Core/Resources/text/program/MessageStrings_fr.txt index d88635acf..f9cd25e7d 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_fr.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_fr.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Merci de redémarrer le programme. -MsgProgramIllegalModeBehave = Veuillez bien vous comporter. -MsgProgramIllegalModeActive = Mode illégal activé. -MsgProgramUpdateAvailable = Nouvelle mise à jour disponible ! -MsgProgramCloseUnsaved = Tout changement non sauvegardé sera perdu. -MsgProgramCloseConfirm = Êtes-vous sûr de vouloir fermer PKHeX ? -MsgProgramSaveFileConfirm = Voulez-vous vraiment charger un nouveau fichier de sauvegarde ? -MsgProgramError = Erreur -MsgProgramErrorExpectedHex = Le texte ne doit contenir que les caractères suivants (0-9, A-F). -MsgSettingsLoadFail = Impossible de charger les paramètres. -MsgSettingsResetCorrupt = Les paramètres sont corrompus. Voulez-vous les réinitialiser ? -MsgSettingsResetPrompt = Oui pour les réinitialiser, Non pour fermer le programme. -MsgSettingsResetSuccess = Les paramètres du programme ont été supprimés. -MsgAny = Peu importe -MsgAll = Tout -MsgYes = Oui -MsgNo = Non -MsgContinue = Continuer ? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} fichiers effacés. -MsgFolderNotFound = Impossible de localiser ce dossier: -MsgWindowClose = La fenêtre actuelle va se fermer. -MsgResearchRequired = Nécessite plus de recherche. -MsgFileLoad = Fichier chargé : -MsgFileLoadFail = Impossible de charger ce fichier. -MsgFileLoadFailAuto = Une erreur s'est provenue pendant le chargement auto de votre fichier. -MsgFileLoadFailAutoAdvise = Il est conseillé de supprimer manuellement les noms de fichiers incorrects du dossier. -MsgFileLoadFailAutoCause = Cela est probablement dû au fait que Homebrew crée des noms de fichiers non valides. -MsgFileLoadVersionDetect = Fichier de sauvegarde de génération {0} détecté. -MsgFileLoadEncrypted = PKHeX n'édite que des fichiers de sauvegarde décryptés. -MsgFileLoadEncryptedFail = Cette sauvegarde n'est pas décryptée. -MsgFileLoadIncompatible = Le binaire n'est pas compatible avec le fichier de sauvegarde. -MsgFileLoadSaveFail = Le fichier n'est pas une sauvegarde valide. -MsgFileLoadSaveLoadFail = Sauvegarde invalide chargée. Abandon. -MsgFileLoadSaveDetectReload = Ouvrir la sauvegarde de cet emplacement ? -MsgFileLoadSaveSelectVersion = Choisir la version. -MsgFileLoadSaveSelectGame = Choisir un jeu à modifier. -MsgFileLoadSaveMultiple = Plusieurs jeux détectés. -MsgFileGameCubeBad = Carte mémoire GC invalide ou corrompue. Abandon. -MsgFileGameCubeDuplicate = Carte mémoire GC avec sauvegardes dupliquées. Abandon. -MsgFileGameCubeNoGames = Carte mémoire sans sauvegarde de jeu Pokémon. Abandon. -MsgFileSize = Taille du fichier: {0} octets -MsgFileSizeLarge = Fichier d'entrée trop grand. -MsgFileSizeSmall = Fichier d'entrée trop petit. -MsgFileWriteFail = Impossible de sauvegarder le fichier. -MsgFileWriteProtected = L'emplacement du fichier est en lecture seulement: -MsgFileWriteProtectedAdvice = Si le fichier est dans un disque amovible (ex: Carte SD), s'assurer que l'écriture dans le disque est permise. -MsgFileInUse = Fichier non chargé. Il se peut qu'il soit utilisé par un autre programme. -MsgFileUnsupported = Chargement de fichier de type / taille incompatible. Soit PKHeX ne prend pas votre fichier en charge, soit ce dernier est corrompu. -MsgPKMUnsupported = Tentative de chargement d'un type / taille de fichier non pris en charge. Cela peut être dû au chargement d'un fichier Pokemon de génération différente sur une génération non prise en charge ou votre fichier est corrompu. -MsgPKMConvertSuccess = Conversion réussie de {0} à {1}. -MsgPKMConvertFail = Conversion ratée. -MsgPKMMysteryGiftFail = Le Cadeau Mystère n'est pas un Pokémon. -MsgPKMConvertFailFormat = Conversion de {0} impossible vers {1}. -MsgPKMConvertFailBackwards = Impossible de charger les {0} dans la sauvegarde de la génération {1}. -MsgPKMConvertFailForm = La Forme ne peut pas exister dans de jeux futurs. -MsgPKMConvertFailNoMethod = Pas de conversion possible depuis le format d'origine vers celui d'arrivée. -MsgPKMConvertIncompatible = Impossible de charger {0} {1} dans {2} dans la sauvegarde. -MsgPKMConvertInternational = International -MsgPKMConvertJapanese = Japonais -MsgClipboardLegalityExport = Copier rapport ? -MsgClipboardFailRead = Le presse-papiers ne contient pas de texte. -MsgClipboardFailWrite = Impossible de copier le rapport. -MsgSimulatorFailClipboard = Pas de données de moveset trouvées. -MsgSimulatorLoad = Importer ce moveset ? -MsgSimulatorInvalid = Lignes invalides détectées: -MsgSimulatorExportBadFields = Réparer les erreurs avant l'export. -MsgSimulatorExportFail = Essayez de ré-exporter. -MsgSimulatorExportSuccess = Moveset Showdown exporté: -MsgSimulatorExportParty = Équipe exportée. -MsgSimulatorExportBattleBox = Boîte de Combat exportée. -MsgSimulatorExportList = Movesets exportés. -MsgBackupCreateLocation = PKHeX peut produire des copies de secours si vous créez un dossier nommé '{0}' dans le même dossier que ce programme. -MsgBackupCreateQuestion = Voulez-vous créer ce dossier de secours maintenant ? -MsgBackupDelete = Si vous ne voulez plus de sauvegardes auto de vos fichiers, supprimez le dossier '{0}'. -MsgBackupUnable = Impossible de créer le dossier. -MsgBackupSuccess = Dossier créé. -MsgDatabase = Base de Données PKHeX introuvable. -MsgDatabaseAdvice = Extraire toutes les boîtes du fichier, puis s'assurer que le dossier '{0}' existe. -MsgDatabaseExport = Sauvegarder vers la base de données de PKHeX ? -MsgDatabaseLoad = Charger depuis la base de données de PKHeX ? -MsgPKMLoadNull = Tentative de chargement de ce fichier échouée car vide. -MsgPKMSuggestionFormat = Pas de Suggestions pour ce format PKM. -MsgPKMSuggestionMoves = Appliquer les capacités suggérées ? -MsgPKMSuggestionRelearn = Appliquer les capacités à réapprendre suggérées ? -MsgPKMSuggestionNone = Impossible de fournir de suggestion. -MsgPKMSuggestionStart = Suggéré : -MsgPKMSuggestionMetLocation = Endroit de rencontre : -MsgPKMSuggestionMetLevel = Niveau de rencontre : -MsgPKMSuggestionLevel = Niveau actuel : -MsgSaveExportSuccessPath = SAV exportée vers : -MsgSaveExportContinue = Continuer la sauvegarde ? -MsgSaveSlotEmpty = L'Équipe ne peut pas être vide, ni peut contenir que d'œufs. -MsgSaveSlotLocked = Impossible de modifier un emplacement verrouillé. -MsgSaveSlotBadData = Impossible de définir cet emplacement. -MsgSaveBackup = Copie du SAV actuel exportée vers : -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = Génération du SAV actuel : {0} -MsgSaveBoxCloneFromTabs = Copier les Pokémon des onglets d'édition vers tous les emplacements de {0}? -MsgSaveBoxSortCurrent = Trier la Boîte actuelle ? -MsgSaveBoxSortCurrentFailBattle = Vous ne pouvez pas trier les emplacements de la Boîte de Combat. -MsgSaveBoxSortCurrentSuccess = Boîte triée avec succès. -MsgSaveBoxSortAll = Trier toutes les boîtes ? -MsgSaveBoxSortAllFailBattle = Vous ne pouvez pas trier les emplacements de la Boîte de Combat. -MsgSaveBoxSortAllSuccess = Boîtes triées. -MsgSaveBoxClearCurrent = Vider la Boîte actuelle ? -MsgSaveBoxClearCurrentFailBattle = Vous ne pouvez pas vider les emplacements de la Boîte de Combat. -MsgSaveBoxClearCurrentSuccess = Boîte actuelle vidée. -MsgSaveBoxClearAll = Vider toutes les boîtes ? -MsgSaveBoxClearAllFailBattle = Vous ne pouvez pas vider les emplacements de la Boîte de Combat. -MsgSaveBoxClearAllSuccess = Boîtes vidées. -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = Cette sauvegarde ne contient pas de Boîtes. -MsgSaveBoxExportYes = Oui: Exporter toutes les Boîtes -MsgSaveBoxExportNo = Non: Exporter {0} (Boîte {1}) -MsgSaveBoxExportCancel = Annuler: Abandonner. -MsgSaveBoxExportInvalid = Données de Boîte invalides, impossible d'exporter la/les Boîte(s). -MsgSaveBoxExportPathCount = Boîte(s) exportée(s) ({0} Pokémon) vers: -MsgSaveBoxExportPathInvalid = Chemin invalide. -MsgSaveBoxImportModifyIntro = Remplacements de chargement PKM: -MsgSaveBoxImportModifyYes = Oui - Modifiez .pk* lorsqu'il est défini sur SAV -MsgSaveBoxImportModifyCurrent = Annuler - Utiliser les paramètres actuels ({0}) -MsgSaveBoxImportModifyNo = Non - Ne modifiez pas .pk* -MsgSaveBoxImportNoFiles = Pas de fichier chargé. -MsgSaveBoxImportSuccess = fichiers chargé {0} dans des boîtes. -MsgSaveBoxImportClear = Effacer les cases suivantes lors de l'importation de données? -MsgSaveBoxImportClearNo = Si vous souhaitez uniquement écraser les nouvelles données, appuyez sur non. -MsgSaveBoxImportPCBinary = Binaire PC chargé. -MsgSaveBoxImportPCFailBattle = Les emplacements de Battle Box empêchent le chargement des données du PC. -MsgSaveBoxImportBoxBinary = Boîte Binaire chargée. -MsgSaveBoxImportBoxFailBattle = es emplacements de Battle Box dans la boîte empêchent le chargement des données de la boîte. -MsgSaveBoxImportGroup = Charger les données Pokémon du fichier dans la boîte actuelle ({0})? -MsgSaveBoxImportGroupSuccess = Les données Pokémon du fichier ont été chargées dans les emplacements de boîte. -MsgSaveBoxImportOverwrite = Le contenu de cette boîte sera écrasé. -MsgSaveBoxImportSkippedLocked = Passé {0} emplacement(s) verrouillé(s). -MsgSaveSwitchDaycareView = Voir l'autre Pension ? -MsgSaveSwitchDaycareCurrent = Visualisation de la Pension {0} en cours. -MsgSaveGen6Passerby = Exporter les informations sur le passant dans le presse-papiers? -MsgSaveGen6FriendSafari = Le Safari Amis ne peut pas être édité. -MsgSaveGen6FriendSafariCheatDesc = Débloquer les 3 emplacements pour chaque ami ? -MsgSaveGen2RTCResetPassword = Mot de passe de réinitialisation RTC: {0:00000} -MsgSaveGen2RTCResetBitflag = Souhaitez-vous réinitialiser le RTC? -MsgSaveJPEGExportFail = Aucune donnée d'image trouvée dans le fichier de sauvegarde! -MsgSaveChecksumFailEdited = La sauvegarde a été éditée. Impossible de vérifier l'intégrité. -MsgSaveChecksumValid = Sommes de contrôle valides. -MsgSaveChecksumFailExport = Copier les informations de somme de contrôle ? -MsgIndexItemRange = Index d'Objet hors de portée : -MsgIndexItemGame = Ce jeu ne peut pas avoir accès à cet objet : -MsgIndexItemHeld = Ce jeu ne peut pas faire tenir cet objet : -MsgIndexSpeciesRange = Index d'espèce hors de portée : -MsgIndexSpeciesGame = Ce jeu ne peut pas avoir accès à cette espèce : -MsgIndexMoveRange = Index de capacité hors de portée : -MsgIndexMoveGame = Ce jeu ne peut avoir pas avoir accès à cette capacité : -MsgIndexAbilityRange = Index de Talent hors de portée : -MsgIndexAbilityGame = Index de Talent hors de portée : -MsgQRDecodeFail = Les données décodées ne correspondent à rien de valide. -MsgQRDecodeSize = Taille des données QR : {0} octets. -MsgQRDeprecated = Les QR Codes sont dépréciés en faveur d'autres méthodes. -MsgQRAlternative = Utiliser un CFW ou un programme d'édition de RAM. -MsgQRClipboardUrl = Copier l'URL du QR Code ? -MsgQRClipboardImage = Copier le QR Code ? -MsgQRClipboardFail = Impossible de copier l'image. -MsgQRUrlFailPath = Le texte copié n'est pas une url valide : -MsgQRUrlFailImage = Le lecteur n'a pas pu trouver de données QR dans l'image. -MsgQRUrlFailType = L'URL est invalide. S'assurer que c'est bien une image (.jpg/.png). -MsgQRUrlFailConnection = Impossible de se connecter à Internet pour décoder le QR Code. -MsgQRUrlFailConvert = Conversion du QR Code échouée. -MsgDBDeleteFailBackup = Impossible de supprimer une backup de sauvegarde. -MsgDBDeleteFailModified = Les données de l'emplacement de base de données ne correspondent pas aux données de sauvegarde! -MsgDBDeleteFailWarning = Ne déplacez pas les Pokémon après l'initialisation de la base de données, veuillez rouvrir la visionneuse de la base de données. -MsgDBAddFailExistsFile = Fichier déjà existant dans la base de données. -MsgDBAddFailExistsPKM = Le Pokémon existe déjà dans la base de données. -MsgDBAddFromTabsSuccess = Pokémon ajouté dans la base de données. -MsgDBCreateReportPrompt = Générer un rapport de toutes les données ? -MsgDBCreateReportWarning = Cela pourrait prendre du temps. -MsgDBCreateReportFail = Pas de résultat à exporter. -MsgDBExportResultsPrompt = Exporter les résultats dans un dossier ? -MsgDBSearchLegalityWordfilter = Vérifier la légalité du filtre de mots? -MsgDBSearchFail = Aucune source de données à rechercher! -MsgDBSearchNone = Aucun résultat trouvé! -MsgDBDeleteCloneWarning = Effacer les clones d'une base de données est une opération irréversible. -MsgDBDeleteCloneAdvice = Si le Pokémon est un clone, seule la version la plus récente (par date de modif.) sera conservée. -MsgDBDeleteCloneFail = Impossible de supprimer le clone: -MsgDBDeleteCloneNone = Aucun clone détecté ou supprimé. -MsgExportWC3DataFail = Impossible de sauvegarder les données de WC3. Pas de données à sauvegarder. -MsgBEToolTipPropName = Propriété d'un PKM donné à modifier. -MsgBEToolTipPropType = PropertyType du PKM actuellement chargé dans la fenêtre principale. -MsgBEToolTipPropValue = PropertyValue du PKM actuellement chargé dans la fenêtre principale. -MsgBEFilterEmpty = Valeur vide de filtre détectée. -MsgBEPropertyEmpty = Valeur(s) de propriété vide(s) détectée(s): -MsgBEPropertyInvalid = Propriété invalide choisie. -MsgBEInstructionInvalid = Erreur de longueur de ligne dans la liste d'instructions. -MsgBEInstructionNone = Aucune instruction définie pour la modifications. -MsgBEModifySuccess = Modifié {0}{1}/{2} fichiers. -MsgBEModifyFailBlocked = Fichier passé dû à une valeur inacceptable: -MsgBEModifyFailError = {0} fichiers ignorés à cause d'une erreur interne. -MsgBEModifyFail = Impossible de modifier {0} vers {1}. -MsgBEModifyFailCompare = Impossible de comparer {0} avec {1}. -MsgExportFolder = Choisir le dossier de sauvegarde des fichiers. -MsgExportFolderAdvice = Il peut être le même que celui qui contient les fichiers PKM. -MsgReportExportTable = Copier en tant que tableau formaté? -MsgReportExportCSV = Sauvegarder les données en CSV ? -MsgReportColumnHide = Cacher les colonnes -MsgReportColumnRestore = Restaurer les colonnes -MsgReportColumnHideFail = Pas de colonne/cellule choisie. -MsgReportColumnRestoreSuccess = Colonne à nouveau visible. -MsgMsyteryGiftUsedAlert = Ce Cadeau Mystère est marqué comme utilisé. Vous ne pourrez pas l'obtenir dans le jeu. -MsgMysteryGiftUsedFix = Voulez-vous marquer ce cadeau comme non-utilisé ? -MsgMysteryGiftInvalid = Le Fichier n'est pas un Cadeau Mystère: -MsgMysteryGiftTypeUnexpected = Type de Cadeau Mystère prévu: -MsgMysteryGiftTypeDetails = Détails du cadeau incompatibles avec la sauvegarde. -MsgMysteryGiftTypeIncompatible = Type de cadeau incompatible avec la sauvegarde. -MsgMysteryGiftParseFail = Création de description du cadeau impossible. -MsgMysteryGiftParseTypeUnknown = Type de cadeau mystère inconnu. -MsgMysteryGiftSlotEmpty = Emplacement vide. -MsgMysteryGiftSlotFail = Impossible d'injecter le Cadeau Mystère. -MsgMysteryGiftSlotNone = Aucun Cadeau Mystère détecté. -MsgMysteryGiftSlotSpecialReject = Ce Cadeau Mystère appartient-il vraiment à ce jeu ? -MsgMysteryGiftSlotAlternate = Le cadeau {0} a été placé sur un emplacement {1} à la place. -MsgMysteryGiftSlotFailSwap = Impossible d'échanger {0} pour {1}. -MsgMysteryGiftQRTypeLength = Taille de données décodées invalide pour cette sauvegarde. -MsgMysteryGiftQRReceived = Type de Cadeau QR: -MsgMysteryGiftQREonTicket = Le cadeau mystère Eon Ticket ne sera pas importé correctement lorsqu'il sera reçu via QR. -MsgMysteryGiftQREonTicketAdvice = Injectez plutôt le cadeau mystère Eon Ticket dans le fichier de sauvegarde. -MsgItemPouchUnknown = Objet inconnu détecté. -MsgItemPouchCountUpdated = Quantité d'objets modifiée. -MsgItemCleared = Objets supprimés. -MsgItemPouchSizeSmall = Votre poche est trop petite pour tous les articles. -MsgItemPouchRandom = Oui: Donner par ID d'article {0}Non: assortiment aléatoire -MsgItemPouchWarning = Si vous enregistrez les modifications, les articles ne seront plus dans votre poche. -MsgItemPouchRemoved = Les éléments suivants ont été retirés de votre poche {0}. -MsgSaveDifferentTypes = Les types de sauvegarde ne sont pas les mêmes. -MsgSaveDifferentVersions = Les versions ne sont pas les mêmes. -MsgSaveNumberInvalid = Sauvegarde {0} invalide. -MsgSecretBaseDeleteConfirm = Supprimer la base secrète de {0} (Entrée {1:00}) de vos enregistrements? -MsgSecretBaseDeleteSelf = Impossible de supprimer votre base secrète. -MsgPluginFailLoad = Échec du chargement des plugins. Veuillez vous référer au message d'erreur pour identifier le plugin défectueux. Un plugin peut être obsolète / incompatible avec cette version du programme. +System.String MsgProgramRestart = Merci de redémarrer le programme. +System.String MsgProgramIllegalModeBehave = Veuillez bien vous comporter. +System.String MsgProgramIllegalModeActive = Mode illégal activé. +System.String MsgProgramUpdateAvailable = Nouvelle mise à jour disponible ! +System.String MsgProgramCloseUnsaved = Tout changement non sauvegardé sera perdu. +System.String MsgProgramCloseConfirm = Êtes-vous sûr de vouloir fermer PKHeX ? +System.String MsgProgramSaveFileConfirm = Voulez-vous vraiment charger un nouveau fichier de sauvegarde ? +System.String MsgProgramError = Erreur +System.String MsgProgramErrorExpectedHex = Le texte ne doit contenir que les caractères suivants (0-9, A-F). +System.String MsgSettingsLoadFail = Impossible de charger les paramètres. +System.String MsgSettingsResetCorrupt = Les paramètres sont corrompus. Voulez-vous les réinitialiser ? +System.String MsgSettingsResetPrompt = Oui pour les réinitialiser, Non pour fermer le programme. +System.String MsgSettingsResetSuccess = Les paramètres du programme ont été supprimés. +System.String MsgAny = Peu importe +System.String MsgAll = Tout +System.String MsgYes = Oui +System.String MsgNo = Non +System.String MsgContinue = Continuer ? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} fichiers effacés. +System.String MsgFolderNotFound = Impossible de localiser ce dossier: +System.String MsgWindowClose = La fenêtre actuelle va se fermer. +System.String MsgResearchRequired = Nécessite plus de recherche. +System.String MsgFileLoad = Fichier chargé : +System.String MsgFileLoadFail = Impossible de charger ce fichier. +System.String MsgFileLoadFailAuto = Une erreur s'est provenue pendant le chargement auto de votre fichier. +System.String MsgFileLoadFailAutoAdvise = Il est conseillé de supprimer manuellement les noms de fichiers incorrects du dossier. +System.String MsgFileLoadFailAutoCause = Cela est probablement dû au fait que Homebrew crée des noms de fichiers non valides. +System.String MsgFileLoadVersionDetect = Fichier de sauvegarde de génération {0} détecté. +System.String MsgFileLoadEncrypted = PKHeX n'édite que des fichiers de sauvegarde décryptés. +System.String MsgFileLoadEncryptedFail = Cette sauvegarde n'est pas décryptée. +System.String MsgFileLoadIncompatible = Le binaire n'est pas compatible avec le fichier de sauvegarde. +System.String MsgFileLoadSaveFail = Le fichier n'est pas une sauvegarde valide. +System.String MsgFileLoadSaveLoadFail = Sauvegarde invalide chargée. Abandon. +System.String MsgFileLoadSaveDetectReload = Ouvrir la sauvegarde de cet emplacement ? +System.String MsgFileLoadSaveSelectVersion = Choisir la version. +System.String MsgFileLoadSaveSelectGame = Choisir un jeu à modifier. +System.String MsgFileLoadSaveMultiple = Plusieurs jeux détectés. +System.String MsgFileGameCubeBad = Carte mémoire GC invalide ou corrompue. Abandon. +System.String MsgFileGameCubeDuplicate = Carte mémoire GC avec sauvegardes dupliquées. Abandon. +System.String MsgFileGameCubeNoGames = Carte mémoire sans sauvegarde de jeu Pokémon. Abandon. +System.String MsgFileSize = Taille du fichier: {0} octets +System.String MsgFileSizeLarge = Fichier d'entrée trop grand. +System.String MsgFileSizeSmall = Fichier d'entrée trop petit. +System.String MsgFileWriteFail = Impossible de sauvegarder le fichier. +System.String MsgFileWriteProtected = L'emplacement du fichier est en lecture seulement: +System.String MsgFileWriteProtectedAdvice = Si le fichier est dans un disque amovible (ex: Carte SD), s'assurer que l'écriture dans le disque est permise. +System.String MsgFileInUse = Fichier non chargé. Il se peut qu'il soit utilisé par un autre programme. +System.String MsgFileUnsupported = Chargement de fichier de type / taille incompatible. Soit PKHeX ne prend pas votre fichier en charge, soit ce dernier est corrompu. +System.String MsgPKMUnsupported = Tentative de chargement d'un type / taille de fichier non pris en charge. Cela peut être dû au chargement d'un fichier Pokemon de génération différente sur une génération non prise en charge ou votre fichier est corrompu. +System.String MsgPKMConvertSuccess = Conversion réussie de {0} à {1}. +System.String MsgPKMConvertFail = Conversion ratée. +System.String MsgPKMMysteryGiftFail = Le Cadeau Mystère n'est pas un Pokémon. +System.String MsgPKMConvertFailFormat = Conversion de {0} impossible vers {1}. +System.String MsgPKMConvertFailBackwards = Impossible de charger les {0} dans la sauvegarde de la génération {1}. +System.String MsgPKMConvertFailForm = La Forme ne peut pas exister dans de jeux futurs. +System.String MsgPKMConvertFailNoMethod = Pas de conversion possible depuis le format d'origine vers celui d'arrivée. +System.String MsgPKMConvertIncompatible = Impossible de charger {0} {1} dans {2} dans la sauvegarde. +System.String MsgPKMConvertInternational = International +System.String MsgPKMConvertJapanese = Japonais +System.String MsgClipboardLegalityExport = Copier rapport ? +System.String MsgClipboardFailRead = Le presse-papiers ne contient pas de texte. +System.String MsgClipboardFailWrite = Impossible de copier le rapport. +System.String MsgSimulatorFailClipboard = Pas de données de moveset trouvées. +System.String MsgSimulatorLoad = Importer ce moveset ? +System.String MsgSimulatorInvalid = Lignes invalides détectées: +System.String MsgSimulatorExportBadFields = Réparer les erreurs avant l'export. +System.String MsgSimulatorExportFail = Essayez de ré-exporter. +System.String MsgSimulatorExportSuccess = Moveset Showdown exporté: +System.String MsgSimulatorExportParty = Équipe exportée. +System.String MsgSimulatorExportBattleBox = Boîte de Combat exportée. +System.String MsgSimulatorExportList = Movesets exportés. +System.String MsgBackupCreateLocation = PKHeX peut produire des copies de secours si vous créez un dossier nommé '{0}' dans le même dossier que ce programme. +System.String MsgBackupCreateQuestion = Voulez-vous créer ce dossier de secours maintenant ? +System.String MsgBackupDelete = Si vous ne voulez plus de sauvegardes auto de vos fichiers, supprimez le dossier '{0}'. +System.String MsgBackupUnable = Impossible de créer le dossier. +System.String MsgBackupSuccess = Dossier créé. +System.String MsgDatabase = Base de Données PKHeX introuvable. +System.String MsgDatabaseAdvice = Extraire toutes les boîtes du fichier, puis s'assurer que le dossier '{0}' existe. +System.String MsgDatabaseExport = Sauvegarder vers la base de données de PKHeX ? +System.String MsgDatabaseLoad = Charger depuis la base de données de PKHeX ? +System.String MsgPKMLoadNull = Tentative de chargement de ce fichier échouée car vide. +System.String MsgPKMSuggestionFormat = Pas de Suggestions pour ce format PKM. +System.String MsgPKMSuggestionMoves = Appliquer les capacités suggérées ? +System.String MsgPKMSuggestionRelearn = Appliquer les capacités à réapprendre suggérées ? +System.String MsgPKMSuggestionNone = Impossible de fournir de suggestion. +System.String MsgPKMSuggestionStart = Suggéré : +System.String MsgPKMSuggestionMetLocation = Endroit de rencontre : +System.String MsgPKMSuggestionMetLevel = Niveau de rencontre : +System.String MsgPKMSuggestionLevel = Niveau actuel : +System.String MsgSaveExportSuccessPath = SAV exportée vers : +System.String MsgSaveExportContinue = Continuer la sauvegarde ? +System.String MsgSaveSlotEmpty = L'Équipe ne peut pas être vide, ni peut contenir que d'œufs. +System.String MsgSaveSlotLocked = Impossible de modifier un emplacement verrouillé. +System.String MsgSaveSlotBadData = Impossible de définir cet emplacement. +System.String MsgSaveBackup = Copie du SAV actuel exportée vers : +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = Génération du SAV actuel : {0} +System.String MsgSaveBoxCloneFromTabs = Copier les Pokémon des onglets d'édition vers tous les emplacements de {0}? +System.String MsgSaveBoxSortCurrent = Trier la Boîte actuelle ? +System.String MsgSaveBoxSortCurrentFailBattle = Vous ne pouvez pas trier les emplacements de la Boîte de Combat. +System.String MsgSaveBoxSortCurrentSuccess = Boîte triée avec succès. +System.String MsgSaveBoxSortAll = Trier toutes les boîtes ? +System.String MsgSaveBoxSortAllFailBattle = Vous ne pouvez pas trier les emplacements de la Boîte de Combat. +System.String MsgSaveBoxSortAllSuccess = Boîtes triées. +System.String MsgSaveBoxClearCurrent = Vider la Boîte actuelle ? +System.String MsgSaveBoxClearCurrentFailBattle = Vous ne pouvez pas vider les emplacements de la Boîte de Combat. +System.String MsgSaveBoxClearCurrentSuccess = Boîte actuelle vidée. +System.String MsgSaveBoxClearAll = Vider toutes les boîtes ? +System.String MsgSaveBoxClearAllFailBattle = Vous ne pouvez pas vider les emplacements de la Boîte de Combat. +System.String MsgSaveBoxClearAllSuccess = Boîtes vidées. +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = Cette sauvegarde ne contient pas de Boîtes. +System.String MsgSaveBoxExportYes = Oui: Exporter toutes les Boîtes +System.String MsgSaveBoxExportNo = Non: Exporter {0} (Boîte {1}) +System.String MsgSaveBoxExportCancel = Annuler: Abandonner. +System.String MsgSaveBoxExportInvalid = Données de Boîte invalides, impossible d'exporter la/les Boîte(s). +System.String MsgSaveBoxExportPathCount = Boîte(s) exportée(s) ({0} Pokémon) vers: +System.String MsgSaveBoxExportPathInvalid = Chemin invalide. +System.String MsgSaveBoxImportModifyIntro = Remplacements de chargement PKM: +System.String MsgSaveBoxImportModifyYes = Oui - Modifiez .pk* lorsqu'il est défini sur SAV +System.String MsgSaveBoxImportModifyCurrent = Annuler - Utiliser les paramètres actuels ({0}) +System.String MsgSaveBoxImportModifyNo = Non - Ne modifiez pas .pk* +System.String MsgSaveBoxImportNoFiles = Pas de fichier chargé. +System.String MsgSaveBoxImportSuccess = fichiers chargé {0} dans des boîtes. +System.String MsgSaveBoxImportClear = Effacer les cases suivantes lors de l'importation de données? +System.String MsgSaveBoxImportClearNo = Si vous souhaitez uniquement écraser les nouvelles données, appuyez sur non. +System.String MsgSaveBoxImportPCBinary = Binaire PC chargé. +System.String MsgSaveBoxImportPCFailBattle = Les emplacements de Battle Box empêchent le chargement des données du PC. +System.String MsgSaveBoxImportBoxBinary = Boîte Binaire chargée. +System.String MsgSaveBoxImportBoxFailBattle = es emplacements de Battle Box dans la boîte empêchent le chargement des données de la boîte. +System.String MsgSaveBoxImportGroup = Charger les données Pokémon du fichier dans la boîte actuelle ({0})? +System.String MsgSaveBoxImportGroupSuccess = Les données Pokémon du fichier ont été chargées dans les emplacements de boîte. +System.String MsgSaveBoxImportOverwrite = Le contenu de cette boîte sera écrasé. +System.String MsgSaveBoxImportSkippedLocked = Passé {0} emplacement(s) verrouillé(s). +System.String MsgSaveSwitchDaycareView = Voir l'autre Pension ? +System.String MsgSaveSwitchDaycareCurrent = Visualisation de la Pension {0} en cours. +System.String MsgSaveGen6Passerby = Exporter les informations sur le passant dans le presse-papiers? +System.String MsgSaveGen6FriendSafari = Le Safari Amis ne peut pas être édité. +System.String MsgSaveGen6FriendSafariCheatDesc = Débloquer les 3 emplacements pour chaque ami ? +System.String MsgSaveGen2RTCResetPassword = Mot de passe de réinitialisation RTC: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = Souhaitez-vous réinitialiser le RTC? +System.String MsgSaveJPEGExportFail = Aucune donnée d'image trouvée dans le fichier de sauvegarde! +System.String MsgSaveChecksumFailEdited = La sauvegarde a été éditée. Impossible de vérifier l'intégrité. +System.String MsgSaveChecksumValid = Sommes de contrôle valides. +System.String MsgSaveChecksumFailExport = Copier les informations de somme de contrôle ? +System.String MsgIndexItemRange = Index d'Objet hors de portée : +System.String MsgIndexItemGame = Ce jeu ne peut pas avoir accès à cet objet : +System.String MsgIndexItemHeld = Ce jeu ne peut pas faire tenir cet objet : +System.String MsgIndexSpeciesRange = Index d'espèce hors de portée : +System.String MsgIndexSpeciesGame = Ce jeu ne peut pas avoir accès à cette espèce : +System.String MsgIndexMoveRange = Index de capacité hors de portée : +System.String MsgIndexMoveGame = Ce jeu ne peut avoir pas avoir accès à cette capacité : +System.String MsgIndexAbilityRange = Index de Talent hors de portée : +System.String MsgIndexAbilityGame = Index de Talent hors de portée : +System.String MsgQRDecodeFail = Les données décodées ne correspondent à rien de valide. +System.String MsgQRDecodeSize = Taille des données QR : {0} octets. +System.String MsgQRDeprecated = Les QR Codes sont dépréciés en faveur d'autres méthodes. +System.String MsgQRAlternative = Utiliser un CFW ou un programme d'édition de RAM. +System.String MsgQRClipboardUrl = Copier l'URL du QR Code ? +System.String MsgQRClipboardImage = Copier le QR Code ? +System.String MsgQRClipboardFail = Impossible de copier l'image. +System.String MsgQRUrlFailPath = Le texte copié n'est pas une url valide : +System.String MsgQRUrlFailImage = Le lecteur n'a pas pu trouver de données QR dans l'image. +System.String MsgQRUrlFailType = L'URL est invalide. S'assurer que c'est bien une image (.jpg/.png). +System.String MsgQRUrlFailConnection = Impossible de se connecter à Internet pour décoder le QR Code. +System.String MsgQRUrlFailConvert = Conversion du QR Code échouée. +System.String MsgDBDeleteFailBackup = Impossible de supprimer une backup de sauvegarde. +System.String MsgDBDeleteFailModified = Les données de l'emplacement de base de données ne correspondent pas aux données de sauvegarde! +System.String MsgDBDeleteFailWarning = Ne déplacez pas les Pokémon après l'initialisation de la base de données, veuillez rouvrir la visionneuse de la base de données. +System.String MsgDBAddFailExistsFile = Fichier déjà existant dans la base de données. +System.String MsgDBAddFailExistsPKM = Le Pokémon existe déjà dans la base de données. +System.String MsgDBAddFromTabsSuccess = Pokémon ajouté dans la base de données. +System.String MsgDBCreateReportPrompt = Générer un rapport de toutes les données ? +System.String MsgDBCreateReportWarning = Cela pourrait prendre du temps. +System.String MsgDBCreateReportFail = Pas de résultat à exporter. +System.String MsgDBExportResultsPrompt = Exporter les résultats dans un dossier ? +System.String MsgDBSearchLegalityWordfilter = Vérifier la légalité du filtre de mots? +System.String MsgDBSearchFail = Aucune source de données à rechercher! +System.String MsgDBSearchNone = Aucun résultat trouvé! +System.String MsgDBDeleteCloneWarning = Effacer les clones d'une base de données est une opération irréversible. +System.String MsgDBDeleteCloneAdvice = Si le Pokémon est un clone, seule la version la plus récente (par date de modif.) sera conservée. +System.String MsgDBDeleteCloneFail = Impossible de supprimer le clone: +System.String MsgDBDeleteCloneNone = Aucun clone détecté ou supprimé. +System.String MsgExportWC3DataFail = Impossible de sauvegarder les données de WC3. Pas de données à sauvegarder. +System.String MsgBEToolTipPropName = Propriété d'un PKM donné à modifier. +System.String MsgBEToolTipPropType = PropertyType du PKM actuellement chargé dans la fenêtre principale. +System.String MsgBEToolTipPropValue = PropertyValue du PKM actuellement chargé dans la fenêtre principale. +System.String MsgBEFilterEmpty = Valeur vide de filtre détectée. +System.String MsgBEPropertyEmpty = Valeur(s) de propriété vide(s) détectée(s): +System.String MsgBEPropertyInvalid = Propriété invalide choisie. +System.String MsgBEInstructionInvalid = Erreur de longueur de ligne dans la liste d'instructions. +System.String MsgBEInstructionNone = Aucune instruction définie pour la modifications. +System.String MsgBEModifySuccess = Modifié {0}{1}/{2} fichiers. +System.String MsgBEModifyFailBlocked = Fichier passé dû à une valeur inacceptable: +System.String MsgBEModifyFailError = {0} fichiers ignorés à cause d'une erreur interne. +System.String MsgBEModifyFail = Impossible de modifier {0} vers {1}. +System.String MsgBEModifyFailCompare = Impossible de comparer {0} avec {1}. +System.String MsgExportFolder = Choisir le dossier de sauvegarde des fichiers. +System.String MsgExportFolderAdvice = Il peut être le même que celui qui contient les fichiers PKM. +System.String MsgReportExportTable = Copier en tant que tableau formaté? +System.String MsgReportExportCSV = Sauvegarder les données en CSV ? +System.String MsgReportColumnHide = Cacher les colonnes +System.String MsgReportColumnRestore = Restaurer les colonnes +System.String MsgReportColumnHideFail = Pas de colonne/cellule choisie. +System.String MsgReportColumnRestoreSuccess = Colonne à nouveau visible. +System.String MsgMsyteryGiftUsedAlert = Ce Cadeau Mystère est marqué comme utilisé. Vous ne pourrez pas l'obtenir dans le jeu. +System.String MsgMysteryGiftUsedFix = Voulez-vous marquer ce cadeau comme non-utilisé ? +System.String MsgMysteryGiftInvalid = Le Fichier n'est pas un Cadeau Mystère: +System.String MsgMysteryGiftTypeUnexpected = Type de Cadeau Mystère prévu: +System.String MsgMysteryGiftTypeDetails = Détails du cadeau incompatibles avec la sauvegarde. +System.String MsgMysteryGiftTypeIncompatible = Type de cadeau incompatible avec la sauvegarde. +System.String MsgMysteryGiftParseFail = Création de description du cadeau impossible. +System.String MsgMysteryGiftParseTypeUnknown = Type de cadeau mystère inconnu. +System.String MsgMysteryGiftSlotEmpty = Emplacement vide. +System.String MsgMysteryGiftSlotFail = Impossible d'injecter le Cadeau Mystère. +System.String MsgMysteryGiftSlotNone = Aucun Cadeau Mystère détecté. +System.String MsgMysteryGiftSlotSpecialReject = Ce Cadeau Mystère appartient-il vraiment à ce jeu ? +System.String MsgMysteryGiftSlotAlternate = Le cadeau {0} a été placé sur un emplacement {1} à la place. +System.String MsgMysteryGiftSlotFailSwap = Impossible d'échanger {0} pour {1}. +System.String MsgMysteryGiftQRTypeLength = Taille de données décodées invalide pour cette sauvegarde. +System.String MsgMysteryGiftQRReceived = Type de Cadeau QR: +System.String MsgMysteryGiftQREonTicket = Le cadeau mystère Eon Ticket ne sera pas importé correctement lorsqu'il sera reçu via QR. +System.String MsgMysteryGiftQREonTicketAdvice = Injectez plutôt le cadeau mystère Eon Ticket dans le fichier de sauvegarde. +System.String MsgItemPouchUnknown = Objet inconnu détecté. +System.String MsgItemPouchCountUpdated = Quantité d'objets modifiée. +System.String MsgItemCleared = Objets supprimés. +System.String MsgItemPouchSizeSmall = Votre poche est trop petite pour tous les articles. +System.String MsgItemPouchRandom = Oui: Donner par ID d'article {0}Non: assortiment aléatoire +System.String MsgItemPouchWarning = Si vous enregistrez les modifications, les articles ne seront plus dans votre poche. +System.String MsgItemPouchRemoved = Les éléments suivants ont été retirés de votre poche {0}. +System.String MsgSaveDifferentTypes = Les types de sauvegarde ne sont pas les mêmes. +System.String MsgSaveDifferentVersions = Les versions ne sont pas les mêmes. +System.String MsgSaveNumberInvalid = Sauvegarde {0} invalide. +System.String MsgSecretBaseDeleteConfirm = Supprimer la base secrète de {0} (Entrée {1:00}) de vos enregistrements? +System.String MsgSecretBaseDeleteSelf = Impossible de supprimer votre base secrète. +System.String MsgPluginFailLoad = Échec du chargement des plugins. Veuillez vous référer au message d'erreur pour identifier le plugin défectueux. Un plugin peut être obsolète / incompatible avec cette version du programme. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_it.txt b/PKHeX.Core/Resources/text/program/MessageStrings_it.txt index 880950a2f..44d406c3e 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_it.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_it.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Per favore riavvia il programma. -MsgProgramIllegalModeBehave = Per favore comportati bene. -MsgProgramIllegalModeActive = Modalità illegale attivata. -MsgProgramUpdateAvailable = Nuovo aggiornamento disponibile! -MsgProgramCloseUnsaved = Tutte le modifiche non salvate andranno perse. -MsgProgramCloseConfirm = Sei scuro di voler chiudere PKHeX? -MsgProgramSaveFileConfirm = Sei sicuro di voler caricare un nuovo file di salvataggio? -MsgProgramError = ERRORE -MsgProgramErrorExpectedHex = Previsto testo contenente i caratteri seguenti (0-9, A-F). -MsgSettingsLoadFail = Impossibile caricare le impostazioni. -MsgSettingsResetCorrupt = Le impostazioni del programma sono corrotte. Vuoi eseguire un reset delle impostazioni? -MsgSettingsResetPrompt = Seleziona Si per eliminare tutte le impostazioni del programma, oppure No per chiudere l'applicazione. -MsgSettingsResetSuccess = Le impostazioni del programma sono state eliminate. -MsgAny = Qualsiasi -MsgAll = Tutto -MsgYes = Si -MsgNo = No -MsgContinue = Continuare? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RZ Box -MsgFileDeleteCount = {0} file eliminati. -MsgFolderNotFound = Impossibile trovare la cartella: -MsgWindowClose = La finestra corrente verrà chiusa. -MsgResearchRequired = Necessarie ricerche aggiuntive. -MsgFileLoad = File caricato: -MsgFileLoadFail = Impossibile caricare il file. -MsgFileLoadFailAuto = È avvenuto un errore durante il carcamento automatico del tuo file di salvataggio. -MsgFileLoadFailAutoAdvise = Si suggerisce di rimuovere manualmente file con nomi proibiti dalla cartella. -MsgFileLoadFailAutoCause = L'errore è probabilmente causato da qualche Homebrew che ha creato nomi non validi. -MsgFileLoadVersionDetect = Rilevato file di salvataggio di generazione {0}. -MsgFileLoadEncrypted = PKHeX può modifcare solamente file di salvataggio decriptato. -MsgFileLoadEncryptedFail = Questo file di salvataggio non è decriptato. -MsgFileLoadIncompatible = Il file binario non è riconosciuto com un valido file di salvataggio. -MsgFileLoadSaveFail = Il file dati non è riconosciuto come un valido file di salvataggio. -MsgFileLoadSaveLoadFail = File di salvataggio caricato invalido. -MsgFileLoadSaveDetectReload = Aprire un file di salvataggio da questo percorso? -MsgFileLoadSaveSelectVersion = Seleziona la versione. -MsgFileLoadSaveSelectGame = Seleziona un gioco da editare. -MsgFileLoadSaveMultiple = Rilevati multipli salvataggi. -MsgFileGameCubeBad = Memory Card GC invalida o corrotta. -MsgFileGameCubeDuplicate = Memory Card GC con salvataggi di gioco multipli. -MsgFileGameCubeNoGames = Memory Card GC senza alcun salvataggio di gioco Pokémon. -MsgFileSize = Dimensioni File: {0} byte -MsgFileSizeLarge = Il file in input è troppo grande. -MsgFileSizeSmall = Il file in input è troppo piccolo. -MsgFileWriteFail = Impossibile salvare il file. -MsgFileWriteProtected = Il percorso del file è protetto da scrittura: -MsgFileWriteProtectedAdvice = Se il file è in un disco rimovibile (Scheda SD), assicurati che la protezione di scrittura sia disabilitata. -MsgFileInUse = Impossibile caricare il file. Potrebbe essere in uso da un altro programma. -MsgFileUnsupported = Rilevato caricamento di una tipologia/grandezza di file non supportato. Il tuo file di salvataggio potrebbe essere corrotto, oppure potrebbe non essere supportato dalla versione di PKHeX corrente. -MsgPKMUnsupported = Rilevato caricamento di una tipologia/grandezza di file non supportato. Il Pokémon potrebbe essere di una generazione diversa non supportata dal salvataggio corrente, oppure il file è corrotto. -MsgPKMConvertSuccess = Convertito da {0} a {1}. -MsgPKMConvertFail = Conversione fallita. -MsgPKMMysteryGiftFail = Il Dono Segreto non è un Pokémon. -MsgPKMConvertFailFormat = Non è possibile convertire un {0} ad un {1} -MsgPKMConvertFailBackwards = Impossibile caricare {0} in salvataggi di Gen {1}. -MsgPKMConvertFailForm = Questa forma non può essere trasferita in giochi futuri. -MsgPKMConvertFailNoMethod = Impossibile trasferire questo formato nel formato richiesto. -MsgPKMConvertIncompatible = Impossibile caricare {0} {1} ai salvataggi {2}. -MsgPKMConvertInternational = Internazionale -MsgPKMConvertJapanese = Giapponese -MsgClipboardLegalityExport = Copiare il report negli appunti? -MsgClipboardFailRead = Gli appunti non contengono alcun testo. -MsgClipboardFailWrite = Impossibile inserire testo negli appunti. -MsgSimulatorFailClipboard = Dati del set non trovati negli appunti. -MsgSimulatorLoad = Importare questo set? -MsgSimulatorInvalid = Rilevate linee invalide: -MsgSimulatorExportBadFields = Correggi i dati prima di esportare. -MsgSimulatorExportFail = Riprova l'esportazione. -MsgSimulatorExportSuccess = Set di Shodown esportato negli appunti: -MsgSimulatorExportParty = Team di Showdown (Squadra) esportato negli appunti. -MsgSimulatorExportBattleBox = Team di Showdown (Squadra Lotta) esportato negli appunti. -MsgSimulatorExportList = Set di Showdown copiato negli appunti. -MsgBackupCreateLocation = PKHeX può automaticamente creare dei backup se crei una cartella con il nome '{0}' nello stesso percorso del file eseguibile di PKHeX. -MsgBackupCreateQuestion = Vuoi creare la cartella di backup ora? -MsgBackupDelete = Se preferisci non avere più file di backup salvati automaticamente, elimina la cartella '{0}'. -MsgBackupUnable = Impossibile creare la cartella di backup. -MsgBackupSuccess = Cartella di backup creata! -MsgDatabase = Il Database di PKHeXnon è stato trovato. -MsgDatabaseAdvice = Per favore, dumpa tutti i box da un file di salvataggio, poi assicurati che la cartella '{0}' esista. -MsgDatabaseExport = Salvare nel database di PKHeX? -MsgDatabaseLoad = Caricare dal Database di PKHeX? -MsgPKMLoadNull = Rilevato caricamento di un file nullo. -MsgPKMSuggestionFormat = I suggerimenti non sono abilitati in questo formato PKM. -MsgPKMSuggestionMoves = Impostare le mosse attuali suggerite? -MsgPKMSuggestionRelearn = Impostare le mosse ricordabili suggerite? -MsgPKMSuggestionNone = Impossibile fornire un suggerimento. -MsgPKMSuggestionStart = Suggerimento: -MsgPKMSuggestionMetLocation = Luogo di Incontro: -MsgPKMSuggestionMetLevel = Livello di Incontro: -MsgPKMSuggestionLevel = Livello Attuale: -MsgSaveExportSuccessPath = File di salvataggio esportato in: -MsgSaveExportContinue = Proseguire con il salvataggio? -MsgSaveSlotEmpty = Impossibile avere una squadra vuota o formata da sole Uova. -MsgSaveSlotLocked = Impossibile modificare uno slot bloccato. -MsgSaveSlotBadData = Impossibile applicare nello slot. -MsgSaveBackup = Salvato un backup del file di salvataggio corrente in: -MsgSaveBackupNotFound = Il file originale è stato spostato; impossibile copiare un backup. -MsgSaveCurrentGeneration = Generazione del file di salvataggio corrente: {0} -MsgSaveBoxCloneFromTabs = Clonare il Pokémon nel tab dell'Editor in tutti gli slot in {0}? -MsgSaveBoxSortCurrent = Rirdinare il Box attuale? -MsgSaveBoxSortCurrentFailBattle = Gli Slot del Box Lotta impediscono il riordinamento del Box. -MsgSaveBoxSortCurrentSuccess = Box riordinato! -MsgSaveBoxSortAll = Riordinare TUTTI i Box? -MsgSaveBoxSortAllFailBattle = Gli Slot del Box Lotta impediscono il riordinamento dei Box. -MsgSaveBoxSortAllSuccess = Box riordinati! -MsgSaveBoxClearCurrent = Ripulire il Box attuale? -MsgSaveBoxClearCurrentFailBattle = Gli Slot del Box Lotta impediscono la ripulitura del Box. -MsgSaveBoxClearCurrentSuccess = Box ripulito! -MsgSaveBoxClearAll = Ripulire TUTTI i Box? -MsgSaveBoxClearAllFailBattle = Gli Slot del Box Lotta impediscono la ripulitura dei Box. -MsgSaveBoxClearAllSuccess = I Box sono stati rpuliti! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = L'attuale salvataggio non contiene alcun Box! -MsgSaveBoxExportYes = Si: Esporta Tutti i Box -MsgSaveBoxExportNo = No: Esporta {0} (Box {1}) -MsgSaveBoxExportCancel = Annulla: Chiudi -MsgSaveBoxExportInvalid = Dati del Box invalidi, impossibile eseguire il Dump. -MsgSaveBoxExportPathCount = Dump del(i) Box eseguito ({0} pk) nel percorso: -MsgSaveBoxExportPathInvalid = È stato specificato un percorso invalido. -MsgSaveBoxImportModifyIntro = PKM Loading overrides: -MsgSaveBoxImportModifyYes = Si - Modifica .pk* quando applicato nel Salvataggio. -MsgSaveBoxImportModifyCurrent = Annulla - Usa le impostazioni correnti ({0}) -MsgSaveBoxImportModifyNo = No - Non modificare .pk* -MsgSaveBoxImportNoFiles = Nessun file caricato. -MsgSaveBoxImportSuccess = Caricati {0} nei box. -MsgSaveBoxImportClear = Ripulire i Box succesivi quando si importano i dati? -MsgSaveBoxImportClearNo = Se vuoi sovascrivere solamente gli slot corrispondenti ai nuovi dati, premi no. -MsgSaveBoxImportPCBinary = Dati del PC caricati. -MsgSaveBoxImportPCFailBattle = Gli Slot del Box Lotta impediscono il caricamento dei dati PC. -MsgSaveBoxImportBoxBinary = Dati Box caricati. -MsgSaveBoxImportBoxFailBattle = Gli Slot del Box Lotta impediscono il caricamento dei dati Box. -MsgSaveBoxImportGroup = Caricare i dati Pokémon dal file nel Box attuale ({0})? -MsgSaveBoxImportGroupSuccess = I dati Pokémon dal fle sono stati caricati negli slot dei Box. -MsgSaveBoxImportOverwrite = Il Box attuale verrà sovrascritto. -MsgSaveBoxImportSkippedLocked = Saltati {0} slot bloccati. -MsgSaveSwitchDaycareView = Vuoi cambiare la schermata all'altro Ostello Pokémon? -MsgSaveSwitchDaycareCurrent = Attualmente stai visualizzando l'Ostello {0}. -MsgSaveGen6Passerby = Esportare le info sui passanti negli appunti? -MsgSaveGen6FriendSafari = L'Editing per il Safari Amici non è supportato :( -MsgSaveGen6FriendSafariCheatDesc = Sbloccare tutti i 3 slot per ogni amico? -MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} -MsgSaveGen2RTCResetBitflag = Vuoi resettare l'orologio RTC? -MsgSaveJPEGExportFail = Nessuna immagine è stata trovata in questo salvataggio! -MsgSaveChecksumFailEdited = Il salvataggio è stato modificato. Impossibile eseguire il controllo di integrità. -MsgSaveChecksumValid = I Checksum sono validi. -MsgSaveChecksumFailExport = Esportare le info sui Checksum negli appunti? -MsgIndexItemRange = Indice strumento oltre il limite: -MsgIndexItemGame = Impossibile ottenere l'oggetto nel gioco: -MsgIndexItemHeld = Impossibile assegnare l'oggetto nel gioco: -MsgIndexSpeciesRange = Indice specie oltre il limite: -MsgIndexSpeciesGame = Impossibile ottenere la specie nel gioco: -MsgIndexMoveRange = Indice mossa oltre il limite: -MsgIndexMoveGame = Impossibile ottenere la mossa nel gioco: -MsgIndexAbilityRange = Indice abilità oltre il limite: -MsgIndexAbilityGame = Impossibile ottenere l'abilità nel gioco: -MsgQRDecodeFail = I dati decodificati non corrispondono ad un Pokémon o ad un Dono valido. -MsgQRDecodeSize = Dimensione dati QR: {0} byte -MsgQRDeprecated = I codci QR sono deprecati in favore di altri metodi. -MsgQRAlternative = Considera l'idea di utilizzare Homebrew o RAM Editing tramite Custom Firmware (PKMN-NTR). -MsgQRClipboardUrl = Copiare l'URL del codice QR negli appunti? -MsgQRClipboardImage = Copiare l'immagine del codice QR negli appunti? -MsgQRClipboardFail = Impossibile copiare l'Immagine negli appunti. -MsgQRUrlFailPath = Il testo negli appunti non è un valido URL: -MsgQRUrlFailImage = Il lettore non è stato in grado di trovare dati QR nell'immagine. -MsgQRUrlFailType = L'URL dato in input non è valido. Assicurati che si tratti di un immagine (jpg/png). -MsgQRUrlFailConnection = Impossibile connettersi ad Internet per decodificare il codice QR. -MsgQRUrlFailConvert = La conversione da stringa QR a dati è fallita. -MsgDBDeleteFailBackup = Impossibile eliminare da un salvataggio di backup. -MsgDBDeleteFailModified = I dati negli slot dei Database non corrispondono ai dati del salvataggio! -MsgDBDeleteFailWarning = Non muovere i Pokémon dopo l'inizializzazione del Database, per favore riapri la finestra del Database. -MsgDBAddFailExistsFile = Il file è già esistente all'interno del Database. -MsgDBAddFailExistsPKM = Il Pokémon è già esistente all'interno del Database. -MsgDBAddFromTabsSuccess = Pokémon aggiunto(i) al Database. -MsgDBCreateReportPrompt = Generare un report per tutti i dati? -MsgDBCreateReportWarning = Il processo potrebbe richiedere un po' di tempo... -MsgDBCreateReportFail = Nessun risultato da esportare. -MsgDBExportResultsPrompt = Esportare i risultati in una cartella? -MsgDBSearchLegalityWordfilter = Controllare la legalità per i filtri di parola? -MsgDBSearchFail = Nessuna sorgente dati da cui avviare la ricerca! -MsgDBSearchNone = Nessun risultato trovato! -MsgDBDeleteCloneWarning = L'eliminazione di Cloni dal Database è un operazione irreversibile. -MsgDBDeleteCloneAdvice = Se un Pokémon è rilevato come clone, solamente il file più recente sarà caricato. -MsgDBDeleteCloneFail = Impossibile eliminare il clone: -MsgDBDeleteCloneNone = Nessun clone rilevato o eliminato. -MsgExportWC3DataFail = Impossibile salvare i dati WC3. Nessun dato da salvare! -MsgBEToolTipPropName = Property of a given PKM to modify. -MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. -MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. -MsgBEFilterEmpty = Rilevati valori nulli nei Filtri. -MsgBEPropertyEmpty = Rilevati valori di Proprietà nulli: -MsgBEPropertyInvalid = Proprietà selezionata invalida. -MsgBEInstructionInvalid = Errore di lunghezza di linea nella lista di istruzioni. -MsgBEInstructionNone = Non è stata fornita alcuna definizione per la modifica del set. -MsgBEModifySuccess = Modificati {0}{1}/{2} file. -MsgBEModifyFailBlocked = File saltato a causa di un valore disatteso: -MsgBEModifyFailError = {0} file ignorati a causa di un errore interno. -MsgBEModifyFail = Impossibile modifcare {0} a {1}. -MsgBEModifyFailCompare = Impossibile comparare {0} a {1}. -MsgExportFolder = Seleziona la cartella in cui i file verranno salvati. -MsgExportFolderAdvice = È possibile selezionare la stessa cartella in cui risiedono i file Pokémon sorgenti. -MsgReportExportTable = Copiare come tabella formattata? -MsgReportExportCSV = Salvare tutti i dati come CSV? -MsgReportColumnHide = Nascondi colonna -MsgReportColumnRestore = Ripristina colonna -MsgReportColumnHideFail = Nessuna cella/colonna selezionata. -MsgReportColumnRestoreSuccess = Visiblità della colonna ripristinata. -MsgMsyteryGiftUsedAlert = Il Dono Segreto è segnato come INATTIVO e non sarà possibile ottenerlo in gioco. -MsgMysteryGiftUsedFix = Vuoi rimuovere il segnale INATTIVO e renderlo ATTIVO? -MsgMysteryGiftInvalid = Il file non corrisponde ad un Dono Segreto: -MsgMysteryGiftTypeUnexpected = Prevista tipologia di Dono Segreto: -MsgMysteryGiftTypeDetails = I dettagli del Dono non sono compatibili con il tipo di salvataggio. -MsgMysteryGiftTypeIncompatible = La tipologia di Dono non è compatibile con il tipo di salvataggio. -MsgMysteryGiftParseFail = Impossibile creare la descrizione del Dono. -MsgMysteryGiftParseTypeUnknown = Impossibile identificare la tipologia del Dono! -MsgMysteryGiftSlotEmpty = Slot senza dati! -MsgMysteryGiftSlotFail = Impossibile inserire il Dono Segreto. -MsgMysteryGiftSlotNone = Nessun dato Dono Segreto trovato nello slot caricato. -MsgMysteryGiftSlotSpecialReject = Il Dono Segreto appartiene a questo gioco? -MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. -MsgMysteryGiftSlotFailSwap = Impossibile cambiare {0} con {1}. -MsgMysteryGiftQRTypeLength = La lunghezza dei dati decodificati non è valida per il salvataggio caricato. -MsgMysteryGiftQRReceived = Tipologia di Dono QR: -MsgMysteryGiftQREonTicket = Il Dono Segreto del Biglietto Eone non può essere importato correttamente via codice QR. -MsgMysteryGiftQREonTicketAdvice = Injecta il Biglietto Eone nel Salvataggio. -MsgItemPouchUnknown = Rilevato strumento non riconosciuto. -MsgItemPouchCountUpdated = Conteggio strumenti modificato. -MsgItemCleared = Strumenti ripuliti. -MsgItemPouchSizeSmall = La tasca è troppo piccola per tutti gli strumenti. -MsgItemPouchRandom = Si: Dai per identificativo strumento {0}No: Dai casualmente -MsgItemPouchWarning = Se salvi i cambiamenti, gli strumenti non saranno più nelle tasche della borsa. -MsgItemPouchRemoved = I seguenti strumenti sono stati rimossi dalla tasca {0}. -MsgSaveDifferentTypes = I tipi di salvataggio sono differenti. -MsgSaveDifferentVersions = Le versioni dei file di salvataggio sono differenti. -MsgSaveNumberInvalid = Il file di salvataggio {0} non è valido. -MsgSecretBaseDeleteConfirm = Eliminare la base segreta di {0} (Entry {1:00}) dal tuo registro? -MsgSecretBaseDeleteSelf = Impossibile eliminare la tua base segreta. -MsgPluginFailLoad = I Plugin hanno fallito il caricamento. Fai riferimento al messaggio di errore per determinare il Plugin che genera il problema. Un plugin potrebbe essere troppo vecchio / incompatibile con questa versione del programma. +System.String MsgProgramRestart = Per favore riavvia il programma. +System.String MsgProgramIllegalModeBehave = Per favore comportati bene. +System.String MsgProgramIllegalModeActive = Modalità illegale attivata. +System.String MsgProgramUpdateAvailable = Nuovo aggiornamento disponibile! +System.String MsgProgramCloseUnsaved = Tutte le modifiche non salvate andranno perse. +System.String MsgProgramCloseConfirm = Sei scuro di voler chiudere PKHeX? +System.String MsgProgramSaveFileConfirm = Sei sicuro di voler caricare un nuovo file di salvataggio? +System.String MsgProgramError = ERRORE +System.String MsgProgramErrorExpectedHex = Previsto testo contenente i caratteri seguenti (0-9, A-F). +System.String MsgSettingsLoadFail = Impossibile caricare le impostazioni. +System.String MsgSettingsResetCorrupt = Le impostazioni del programma sono corrotte. Vuoi eseguire un reset delle impostazioni? +System.String MsgSettingsResetPrompt = Seleziona Si per eliminare tutte le impostazioni del programma, oppure No per chiudere l'applicazione. +System.String MsgSettingsResetSuccess = Le impostazioni del programma sono state eliminate. +System.String MsgAny = Qualsiasi +System.String MsgAll = Tutto +System.String MsgYes = Si +System.String MsgNo = No +System.String MsgContinue = Continuare? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RZ Box +System.String MsgFileDeleteCount = {0} file eliminati. +System.String MsgFolderNotFound = Impossibile trovare la cartella: +System.String MsgWindowClose = La finestra corrente verrà chiusa. +System.String MsgResearchRequired = Necessarie ricerche aggiuntive. +System.String MsgFileLoad = File caricato: +System.String MsgFileLoadFail = Impossibile caricare il file. +System.String MsgFileLoadFailAuto = È avvenuto un errore durante il carcamento automatico del tuo file di salvataggio. +System.String MsgFileLoadFailAutoAdvise = Si suggerisce di rimuovere manualmente file con nomi proibiti dalla cartella. +System.String MsgFileLoadFailAutoCause = L'errore è probabilmente causato da qualche Homebrew che ha creato nomi non validi. +System.String MsgFileLoadVersionDetect = Rilevato file di salvataggio di generazione {0}. +System.String MsgFileLoadEncrypted = PKHeX può modifcare solamente file di salvataggio decriptato. +System.String MsgFileLoadEncryptedFail = Questo file di salvataggio non è decriptato. +System.String MsgFileLoadIncompatible = Il file binario non è riconosciuto com un valido file di salvataggio. +System.String MsgFileLoadSaveFail = Il file dati non è riconosciuto come un valido file di salvataggio. +System.String MsgFileLoadSaveLoadFail = File di salvataggio caricato invalido. +System.String MsgFileLoadSaveDetectReload = Aprire un file di salvataggio da questo percorso? +System.String MsgFileLoadSaveSelectVersion = Seleziona la versione. +System.String MsgFileLoadSaveSelectGame = Seleziona un gioco da editare. +System.String MsgFileLoadSaveMultiple = Rilevati multipli salvataggi. +System.String MsgFileGameCubeBad = Memory Card GC invalida o corrotta. +System.String MsgFileGameCubeDuplicate = Memory Card GC con salvataggi di gioco multipli. +System.String MsgFileGameCubeNoGames = Memory Card GC senza alcun salvataggio di gioco Pokémon. +System.String MsgFileSize = Dimensioni File: {0} byte +System.String MsgFileSizeLarge = Il file in input è troppo grande. +System.String MsgFileSizeSmall = Il file in input è troppo piccolo. +System.String MsgFileWriteFail = Impossibile salvare il file. +System.String MsgFileWriteProtected = Il percorso del file è protetto da scrittura: +System.String MsgFileWriteProtectedAdvice = Se il file è in un disco rimovibile (Scheda SD), assicurati che la protezione di scrittura sia disabilitata. +System.String MsgFileInUse = Impossibile caricare il file. Potrebbe essere in uso da un altro programma. +System.String MsgFileUnsupported = Rilevato caricamento di una tipologia/grandezza di file non supportato. Il tuo file di salvataggio potrebbe essere corrotto, oppure potrebbe non essere supportato dalla versione di PKHeX corrente. +System.String MsgPKMUnsupported = Rilevato caricamento di una tipologia/grandezza di file non supportato. Il Pokémon potrebbe essere di una generazione diversa non supportata dal salvataggio corrente, oppure il file è corrotto. +System.String MsgPKMConvertSuccess = Convertito da {0} a {1}. +System.String MsgPKMConvertFail = Conversione fallita. +System.String MsgPKMMysteryGiftFail = Il Dono Segreto non è un Pokémon. +System.String MsgPKMConvertFailFormat = Non è possibile convertire un {0} ad un {1} +System.String MsgPKMConvertFailBackwards = Impossibile caricare {0} in salvataggi di Gen {1}. +System.String MsgPKMConvertFailForm = Questa forma non può essere trasferita in giochi futuri. +System.String MsgPKMConvertFailNoMethod = Impossibile trasferire questo formato nel formato richiesto. +System.String MsgPKMConvertIncompatible = Impossibile caricare {0} {1} ai salvataggi {2}. +System.String MsgPKMConvertInternational = Internazionale +System.String MsgPKMConvertJapanese = Giapponese +System.String MsgClipboardLegalityExport = Copiare il report negli appunti? +System.String MsgClipboardFailRead = Gli appunti non contengono alcun testo. +System.String MsgClipboardFailWrite = Impossibile inserire testo negli appunti. +System.String MsgSimulatorFailClipboard = Dati del set non trovati negli appunti. +System.String MsgSimulatorLoad = Importare questo set? +System.String MsgSimulatorInvalid = Rilevate linee invalide: +System.String MsgSimulatorExportBadFields = Correggi i dati prima di esportare. +System.String MsgSimulatorExportFail = Riprova l'esportazione. +System.String MsgSimulatorExportSuccess = Set di Shodown esportato negli appunti: +System.String MsgSimulatorExportParty = Team di Showdown (Squadra) esportato negli appunti. +System.String MsgSimulatorExportBattleBox = Team di Showdown (Squadra Lotta) esportato negli appunti. +System.String MsgSimulatorExportList = Set di Showdown copiato negli appunti. +System.String MsgBackupCreateLocation = PKHeX può automaticamente creare dei backup se crei una cartella con il nome '{0}' nello stesso percorso del file eseguibile di PKHeX. +System.String MsgBackupCreateQuestion = Vuoi creare la cartella di backup ora? +System.String MsgBackupDelete = Se preferisci non avere più file di backup salvati automaticamente, elimina la cartella '{0}'. +System.String MsgBackupUnable = Impossibile creare la cartella di backup. +System.String MsgBackupSuccess = Cartella di backup creata! +System.String MsgDatabase = Il Database di PKHeXnon è stato trovato. +System.String MsgDatabaseAdvice = Per favore, dumpa tutti i box da un file di salvataggio, poi assicurati che la cartella '{0}' esista. +System.String MsgDatabaseExport = Salvare nel database di PKHeX? +System.String MsgDatabaseLoad = Caricare dal Database di PKHeX? +System.String MsgPKMLoadNull = Rilevato caricamento di un file nullo. +System.String MsgPKMSuggestionFormat = I suggerimenti non sono abilitati in questo formato PKM. +System.String MsgPKMSuggestionMoves = Impostare le mosse attuali suggerite? +System.String MsgPKMSuggestionRelearn = Impostare le mosse ricordabili suggerite? +System.String MsgPKMSuggestionNone = Impossibile fornire un suggerimento. +System.String MsgPKMSuggestionStart = Suggerimento: +System.String MsgPKMSuggestionMetLocation = Luogo di Incontro: +System.String MsgPKMSuggestionMetLevel = Livello di Incontro: +System.String MsgPKMSuggestionLevel = Livello Attuale: +System.String MsgSaveExportSuccessPath = File di salvataggio esportato in: +System.String MsgSaveExportContinue = Proseguire con il salvataggio? +System.String MsgSaveSlotEmpty = Impossibile avere una squadra vuota o formata da sole Uova. +System.String MsgSaveSlotLocked = Impossibile modificare uno slot bloccato. +System.String MsgSaveSlotBadData = Impossibile applicare nello slot. +System.String MsgSaveBackup = Salvato un backup del file di salvataggio corrente in: +System.String MsgSaveBackupNotFound = Il file originale è stato spostato; impossibile copiare un backup. +System.String MsgSaveCurrentGeneration = Generazione del file di salvataggio corrente: {0} +System.String MsgSaveBoxCloneFromTabs = Clonare il Pokémon nel tab dell'Editor in tutti gli slot in {0}? +System.String MsgSaveBoxSortCurrent = Rirdinare il Box attuale? +System.String MsgSaveBoxSortCurrentFailBattle = Gli Slot del Box Lotta impediscono il riordinamento del Box. +System.String MsgSaveBoxSortCurrentSuccess = Box riordinato! +System.String MsgSaveBoxSortAll = Riordinare TUTTI i Box? +System.String MsgSaveBoxSortAllFailBattle = Gli Slot del Box Lotta impediscono il riordinamento dei Box. +System.String MsgSaveBoxSortAllSuccess = Box riordinati! +System.String MsgSaveBoxClearCurrent = Ripulire il Box attuale? +System.String MsgSaveBoxClearCurrentFailBattle = Gli Slot del Box Lotta impediscono la ripulitura del Box. +System.String MsgSaveBoxClearCurrentSuccess = Box ripulito! +System.String MsgSaveBoxClearAll = Ripulire TUTTI i Box? +System.String MsgSaveBoxClearAllFailBattle = Gli Slot del Box Lotta impediscono la ripulitura dei Box. +System.String MsgSaveBoxClearAllSuccess = I Box sono stati rpuliti! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = L'attuale salvataggio non contiene alcun Box! +System.String MsgSaveBoxExportYes = Si: Esporta Tutti i Box +System.String MsgSaveBoxExportNo = No: Esporta {0} (Box {1}) +System.String MsgSaveBoxExportCancel = Annulla: Chiudi +System.String MsgSaveBoxExportInvalid = Dati del Box invalidi, impossibile eseguire il Dump. +System.String MsgSaveBoxExportPathCount = Dump del(i) Box eseguito ({0} pk) nel percorso: +System.String MsgSaveBoxExportPathInvalid = È stato specificato un percorso invalido. +System.String MsgSaveBoxImportModifyIntro = PKM Loading overrides: +System.String MsgSaveBoxImportModifyYes = Si - Modifica .pk* quando applicato nel Salvataggio. +System.String MsgSaveBoxImportModifyCurrent = Annulla - Usa le impostazioni correnti ({0}) +System.String MsgSaveBoxImportModifyNo = No - Non modificare .pk* +System.String MsgSaveBoxImportNoFiles = Nessun file caricato. +System.String MsgSaveBoxImportSuccess = Caricati {0} nei box. +System.String MsgSaveBoxImportClear = Ripulire i Box succesivi quando si importano i dati? +System.String MsgSaveBoxImportClearNo = Se vuoi sovascrivere solamente gli slot corrispondenti ai nuovi dati, premi no. +System.String MsgSaveBoxImportPCBinary = Dati del PC caricati. +System.String MsgSaveBoxImportPCFailBattle = Gli Slot del Box Lotta impediscono il caricamento dei dati PC. +System.String MsgSaveBoxImportBoxBinary = Dati Box caricati. +System.String MsgSaveBoxImportBoxFailBattle = Gli Slot del Box Lotta impediscono il caricamento dei dati Box. +System.String MsgSaveBoxImportGroup = Caricare i dati Pokémon dal file nel Box attuale ({0})? +System.String MsgSaveBoxImportGroupSuccess = I dati Pokémon dal fle sono stati caricati negli slot dei Box. +System.String MsgSaveBoxImportOverwrite = Il Box attuale verrà sovrascritto. +System.String MsgSaveBoxImportSkippedLocked = Saltati {0} slot bloccati. +System.String MsgSaveSwitchDaycareView = Vuoi cambiare la schermata all'altro Ostello Pokémon? +System.String MsgSaveSwitchDaycareCurrent = Attualmente stai visualizzando l'Ostello {0}. +System.String MsgSaveGen6Passerby = Esportare le info sui passanti negli appunti? +System.String MsgSaveGen6FriendSafari = L'Editing per il Safari Amici non è supportato :( +System.String MsgSaveGen6FriendSafariCheatDesc = Sbloccare tutti i 3 slot per ogni amico? +System.String MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = Vuoi resettare l'orologio RTC? +System.String MsgSaveJPEGExportFail = Nessuna immagine è stata trovata in questo salvataggio! +System.String MsgSaveChecksumFailEdited = Il salvataggio è stato modificato. Impossibile eseguire il controllo di integrità. +System.String MsgSaveChecksumValid = I Checksum sono validi. +System.String MsgSaveChecksumFailExport = Esportare le info sui Checksum negli appunti? +System.String MsgIndexItemRange = Indice strumento oltre il limite: +System.String MsgIndexItemGame = Impossibile ottenere l'oggetto nel gioco: +System.String MsgIndexItemHeld = Impossibile assegnare l'oggetto nel gioco: +System.String MsgIndexSpeciesRange = Indice specie oltre il limite: +System.String MsgIndexSpeciesGame = Impossibile ottenere la specie nel gioco: +System.String MsgIndexMoveRange = Indice mossa oltre il limite: +System.String MsgIndexMoveGame = Impossibile ottenere la mossa nel gioco: +System.String MsgIndexAbilityRange = Indice abilità oltre il limite: +System.String MsgIndexAbilityGame = Impossibile ottenere l'abilità nel gioco: +System.String MsgQRDecodeFail = I dati decodificati non corrispondono ad un Pokémon o ad un Dono valido. +System.String MsgQRDecodeSize = Dimensione dati QR: {0} byte +System.String MsgQRDeprecated = I codci QR sono deprecati in favore di altri metodi. +System.String MsgQRAlternative = Considera l'idea di utilizzare Homebrew o RAM Editing tramite Custom Firmware (PKMN-NTR). +System.String MsgQRClipboardUrl = Copiare l'URL del codice QR negli appunti? +System.String MsgQRClipboardImage = Copiare l'immagine del codice QR negli appunti? +System.String MsgQRClipboardFail = Impossibile copiare l'Immagine negli appunti. +System.String MsgQRUrlFailPath = Il testo negli appunti non è un valido URL: +System.String MsgQRUrlFailImage = Il lettore non è stato in grado di trovare dati QR nell'immagine. +System.String MsgQRUrlFailType = L'URL dato in input non è valido. Assicurati che si tratti di un immagine (jpg/png). +System.String MsgQRUrlFailConnection = Impossibile connettersi ad Internet per decodificare il codice QR. +System.String MsgQRUrlFailConvert = La conversione da stringa QR a dati è fallita. +System.String MsgDBDeleteFailBackup = Impossibile eliminare da un salvataggio di backup. +System.String MsgDBDeleteFailModified = I dati negli slot dei Database non corrispondono ai dati del salvataggio! +System.String MsgDBDeleteFailWarning = Non muovere i Pokémon dopo l'inizializzazione del Database, per favore riapri la finestra del Database. +System.String MsgDBAddFailExistsFile = Il file è già esistente all'interno del Database. +System.String MsgDBAddFailExistsPKM = Il Pokémon è già esistente all'interno del Database. +System.String MsgDBAddFromTabsSuccess = Pokémon aggiunto(i) al Database. +System.String MsgDBCreateReportPrompt = Generare un report per tutti i dati? +System.String MsgDBCreateReportWarning = Il processo potrebbe richiedere un po' di tempo... +System.String MsgDBCreateReportFail = Nessun risultato da esportare. +System.String MsgDBExportResultsPrompt = Esportare i risultati in una cartella? +System.String MsgDBSearchLegalityWordfilter = Controllare la legalità per i filtri di parola? +System.String MsgDBSearchFail = Nessuna sorgente dati da cui avviare la ricerca! +System.String MsgDBSearchNone = Nessun risultato trovato! +System.String MsgDBDeleteCloneWarning = L'eliminazione di Cloni dal Database è un operazione irreversibile. +System.String MsgDBDeleteCloneAdvice = Se un Pokémon è rilevato come clone, solamente il file più recente sarà caricato. +System.String MsgDBDeleteCloneFail = Impossibile eliminare il clone: +System.String MsgDBDeleteCloneNone = Nessun clone rilevato o eliminato. +System.String MsgExportWC3DataFail = Impossibile salvare i dati WC3. Nessun dato da salvare! +System.String MsgBEToolTipPropName = Property of a given PKM to modify. +System.String MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. +System.String MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. +System.String MsgBEFilterEmpty = Rilevati valori nulli nei Filtri. +System.String MsgBEPropertyEmpty = Rilevati valori di Proprietà nulli: +System.String MsgBEPropertyInvalid = Proprietà selezionata invalida. +System.String MsgBEInstructionInvalid = Errore di lunghezza di linea nella lista di istruzioni. +System.String MsgBEInstructionNone = Non è stata fornita alcuna definizione per la modifica del set. +System.String MsgBEModifySuccess = Modificati {0}{1}/{2} file. +System.String MsgBEModifyFailBlocked = File saltato a causa di un valore disatteso: +System.String MsgBEModifyFailError = {0} file ignorati a causa di un errore interno. +System.String MsgBEModifyFail = Impossibile modifcare {0} a {1}. +System.String MsgBEModifyFailCompare = Impossibile comparare {0} a {1}. +System.String MsgExportFolder = Seleziona la cartella in cui i file verranno salvati. +System.String MsgExportFolderAdvice = È possibile selezionare la stessa cartella in cui risiedono i file Pokémon sorgenti. +System.String MsgReportExportTable = Copiare come tabella formattata? +System.String MsgReportExportCSV = Salvare tutti i dati come CSV? +System.String MsgReportColumnHide = Nascondi colonna +System.String MsgReportColumnRestore = Ripristina colonna +System.String MsgReportColumnHideFail = Nessuna cella/colonna selezionata. +System.String MsgReportColumnRestoreSuccess = Visiblità della colonna ripristinata. +System.String MsgMsyteryGiftUsedAlert = Il Dono Segreto è segnato come INATTIVO e non sarà possibile ottenerlo in gioco. +System.String MsgMysteryGiftUsedFix = Vuoi rimuovere il segnale INATTIVO e renderlo ATTIVO? +System.String MsgMysteryGiftInvalid = Il file non corrisponde ad un Dono Segreto: +System.String MsgMysteryGiftTypeUnexpected = Prevista tipologia di Dono Segreto: +System.String MsgMysteryGiftTypeDetails = I dettagli del Dono non sono compatibili con il tipo di salvataggio. +System.String MsgMysteryGiftTypeIncompatible = La tipologia di Dono non è compatibile con il tipo di salvataggio. +System.String MsgMysteryGiftParseFail = Impossibile creare la descrizione del Dono. +System.String MsgMysteryGiftParseTypeUnknown = Impossibile identificare la tipologia del Dono! +System.String MsgMysteryGiftSlotEmpty = Slot senza dati! +System.String MsgMysteryGiftSlotFail = Impossibile inserire il Dono Segreto. +System.String MsgMysteryGiftSlotNone = Nessun dato Dono Segreto trovato nello slot caricato. +System.String MsgMysteryGiftSlotSpecialReject = Il Dono Segreto appartiene a questo gioco? +System.String MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. +System.String MsgMysteryGiftSlotFailSwap = Impossibile cambiare {0} con {1}. +System.String MsgMysteryGiftQRTypeLength = La lunghezza dei dati decodificati non è valida per il salvataggio caricato. +System.String MsgMysteryGiftQRReceived = Tipologia di Dono QR: +System.String MsgMysteryGiftQREonTicket = Il Dono Segreto del Biglietto Eone non può essere importato correttamente via codice QR. +System.String MsgMysteryGiftQREonTicketAdvice = Injecta il Biglietto Eone nel Salvataggio. +System.String MsgItemPouchUnknown = Rilevato strumento non riconosciuto. +System.String MsgItemPouchCountUpdated = Conteggio strumenti modificato. +System.String MsgItemCleared = Strumenti ripuliti. +System.String MsgItemPouchSizeSmall = La tasca è troppo piccola per tutti gli strumenti. +System.String MsgItemPouchRandom = Si: Dai per identificativo strumento {0}No: Dai casualmente +System.String MsgItemPouchWarning = Se salvi i cambiamenti, gli strumenti non saranno più nelle tasche della borsa. +System.String MsgItemPouchRemoved = I seguenti strumenti sono stati rimossi dalla tasca {0}. +System.String MsgSaveDifferentTypes = I tipi di salvataggio sono differenti. +System.String MsgSaveDifferentVersions = Le versioni dei file di salvataggio sono differenti. +System.String MsgSaveNumberInvalid = Il file di salvataggio {0} non è valido. +System.String MsgSecretBaseDeleteConfirm = Eliminare la base segreta di {0} (Entry {1:00}) dal tuo registro? +System.String MsgSecretBaseDeleteSelf = Impossibile eliminare la tua base segreta. +System.String MsgPluginFailLoad = I Plugin hanno fallito il caricamento. Fai riferimento al messaggio di errore per determinare il Plugin che genera il problema. Un plugin potrebbe essere troppo vecchio / incompatibile con questa versione del programma. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_ja.txt b/PKHeX.Core/Resources/text/program/MessageStrings_ja.txt index 173b07a45..46cfac913 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_ja.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_ja.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = Please restart the program. -MsgProgramIllegalModeBehave = Please behave. -MsgProgramIllegalModeActive = Illegal mode activated. -MsgProgramUpdateAvailable = New Update Available! -MsgProgramCloseUnsaved = Any unsaved changes will be lost. -MsgProgramCloseConfirm = Are you sure you want to close PKHeX? -MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? -MsgProgramError = ERROR -MsgProgramErrorExpectedHex = Expected Text containing only the following characters (0-9, A-F). -MsgSettingsLoadFail = Unable to load settings. -MsgSettingsResetCorrupt = Program settings are corrupt. Would you like to reset the settings? -MsgSettingsResetPrompt = Yes to delete the program settings, or No to close the program. -MsgSettingsResetSuccess = Program settings have been deleted. -MsgAny = Any -MsgAll = All -MsgYes = Yes -MsgNo = No -MsgContinue = Continue? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} files deleted. -MsgFolderNotFound = Can't find folder: -MsgWindowClose = The current window will now close. -MsgResearchRequired = Needs more research. -MsgFileLoad = File Loaded: -MsgFileLoadFail = Unable to load file. -MsgFileLoadFailAuto = An error occurred while attempting to auto-load your save file. -MsgFileLoadFailAutoAdvise = It is advised to manually remove bad filenames from the folder. -MsgFileLoadFailAutoCause = This is likely caused by Homebrew creating invalid filenames. -MsgFileLoadVersionDetect = Generation {0} Save File detected. -MsgFileLoadEncrypted = PKHeX only edits decrypted save files. -MsgFileLoadEncryptedFail = This save file is not decrypted. -MsgFileLoadIncompatible = Binary is not compatible with save file. -MsgFileLoadSaveFail = The data file is not a valid save file. -MsgFileLoadSaveLoadFail = Invalid save file loaded. Aborting. -MsgFileLoadSaveDetectReload = Open save file from the following location? -MsgFileLoadSaveSelectVersion = Select the version. -MsgFileLoadSaveSelectGame = Select a game to edit. -MsgFileLoadSaveMultiple = Multiple games detected -MsgFileGameCubeBad = Invalid or corrupted GC Memory Card. Aborting. -MsgFileGameCubeDuplicate = GC Memory Card with duplicated game save files. Aborting. -MsgFileGameCubeNoGames = GC Memory Card without any Pokémon save file. Aborting. -MsgFileSize = File Size: {0} bytes -MsgFileSizeLarge = Input file is too large. -MsgFileSizeSmall = Input file is too small. -MsgFileWriteFail = Unable to save file. -MsgFileWriteProtected = File's location is write protected: -MsgFileWriteProtectedAdvice = If the file is on a removable disk (SD card), please ensure the write protection switch is not set. -MsgFileInUse = Unable to load file. It could be in use by another program. -MsgFileUnsupported = Attempted to load an unsupported file type/size. This could mean PKHeX doesn't support your save file or your save file is corrupt. -MsgPKMUnsupported = Attempted to load an unsupported file type/size. This could be caused by loading a different generation Pokemon file on an unsupported generation or your file is corrupt. -MsgPKMConvertSuccess = Converted from {0} to {1}. -MsgPKMConvertFail = Conversion failed. -MsgPKMMysteryGiftFail = Mystery Gift is not a Pokémon. -MsgPKMConvertFailFormat = Cannot convert a {0} to {1} -MsgPKMConvertFailBackwards = Can't load {0}s to Gen{1} saves. -MsgPKMConvertFailForm = Form cannot be transferred to future games. -MsgPKMConvertFailNoMethod = Cannot transfer this format to the requested format. -MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. -MsgPKMConvertInternational = International -MsgPKMConvertJapanese = Japanese -MsgClipboardLegalityExport = Copy report to Clipboard? -MsgClipboardFailRead = Clipboard does not contain text. -MsgClipboardFailWrite = Unable to set text to Clipboard. -MsgSimulatorFailClipboard = Set data not found in clipboard. -MsgSimulatorLoad = Import this set? -MsgSimulatorInvalid = Invalid lines detected: -MsgSimulatorExportBadFields = Fix data before exporting. -MsgSimulatorExportFail = Try exporting again. -MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard: -MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard. -MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard. -MsgSimulatorExportList = Showdown Sets copied to Clipboard. -MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable. -MsgBackupCreateQuestion = Would you like to create the backup folder now? -MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder. -MsgBackupUnable = Unable to create backup folder -MsgBackupSuccess = Backup folder created! -MsgDatabase = PKHeX's database was not found. -MsgDatabaseAdvice = Please dump all boxes from a save file, then ensure the '{0}' folder exists. -MsgDatabaseExport = Save to PKHeX's database? -MsgDatabaseLoad = Load from PKHeX's database? -MsgPKMLoadNull = Attempted to load a null file. -MsgPKMSuggestionFormat = Suggestions are not enabled for this PKM format. -MsgPKMSuggestionMoves = Apply suggested current moves? -MsgPKMSuggestionRelearn = Apply suggested relearn moves? -MsgPKMSuggestionNone = Unable to provide a suggestion. -MsgPKMSuggestionStart = Suggested: -MsgPKMSuggestionMetLocation = Met Location: -MsgPKMSuggestionMetLevel = Met Level: -MsgPKMSuggestionLevel = Current Level: -MsgSaveExportSuccessPath = SAV exported to: -MsgSaveExportContinue = Continue saving? -MsgSaveSlotEmpty = Can't have an empty/egg party. -MsgSaveSlotLocked = Can't modify a locked slot. -MsgSaveSlotBadData = Unable to set to this slot. -MsgSaveBackup = Saved Backup of current SAV to: -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = Current SAV Generation: {0} -MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}? -MsgSaveBoxSortCurrent = Sort Current Box? -MsgSaveBoxSortCurrentFailBattle = Battle Box slots prevent the sorting of box. -MsgSaveBoxSortCurrentSuccess = Current Box sorted! -MsgSaveBoxSortAll = Sort ALL Boxes?! -MsgSaveBoxSortAllFailBattle = Battle Box slots prevent the sorting of all boxes. -MsgSaveBoxSortAllSuccess = Boxes sorted! -MsgSaveBoxClearCurrent = Clear Current Box? -MsgSaveBoxClearCurrentFailBattle = Battle Box slots prevent the clearing of box. -MsgSaveBoxClearCurrentSuccess = Current Box cleared! -MsgSaveBoxClearAll = Clear ALL Boxes?! -MsgSaveBoxClearAllFailBattle = Battle Box slots prevent the clearing of all boxes. -MsgSaveBoxClearAllSuccess = Boxes cleared! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = The currently loaded save file does not have boxes! -MsgSaveBoxExportYes = Yes: Export All Boxes -MsgSaveBoxExportNo = No: Export {0} (Box {1}) -MsgSaveBoxExportCancel = Cancel: Abort -MsgSaveBoxExportInvalid = Invalid Box Data, unable to dump. -MsgSaveBoxExportPathCount = Dumped Box(es) ({0} pk) to path: -MsgSaveBoxExportPathInvalid = Invalid path specified. -MsgSaveBoxImportModifyIntro = PKM Loading overrides: -MsgSaveBoxImportModifyYes = Yes - Modify .pk* when set to SAV -MsgSaveBoxImportModifyCurrent = Cancel - Use current settings ({0}) -MsgSaveBoxImportModifyNo = No - Don't modify .pk* -MsgSaveBoxImportNoFiles = No files loaded. -MsgSaveBoxImportSuccess = Loaded {0} files to boxes. -MsgSaveBoxImportClear = Clear subsequent boxes when importing data? -MsgSaveBoxImportClearNo = If you only want to overwrite for new data, press no. -MsgSaveBoxImportPCBinary = PC Binary loaded. -MsgSaveBoxImportPCFailBattle = Battle Box slots prevent loading of PC data. -MsgSaveBoxImportBoxBinary = Box Binary loaded. -MsgSaveBoxImportBoxFailBattle = Battle Box slots in box prevent loading of box data. -MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? -MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. -MsgSaveBoxImportOverwrite = The current box will be overwritten. -MsgSaveBoxImportSkippedLocked = Skipped {0} locked slot(s). -MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? -MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. -MsgSaveGen6Passerby = Export Passerby Info to Clipboard? -MsgSaveGen6FriendSafari = No editing support for Friend Safari :( -MsgSaveGen6FriendSafariCheatDesc = Unlock all 3 slots for each friend? -MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} -MsgSaveGen2RTCResetBitflag = Would you like to reset the RTC? -MsgSaveJPEGExportFail = No picture data found in the save file! -MsgSaveChecksumFailEdited = Save has been edited. Cannot integrity check. -MsgSaveChecksumValid = Checksums are valid. -MsgSaveChecksumFailExport = Export Checksum Info to Clipboard? -MsgIndexItemRange = Item Index beyond range: -MsgIndexItemGame = Game can't obtain item: -MsgIndexItemHeld = Game can't hold item: -MsgIndexSpeciesRange = Species Index beyond range: -MsgIndexSpeciesGame = Game can't obtain species: -MsgIndexMoveRange = Move Index beyond range: -MsgIndexMoveGame = Game can't obtain move: -MsgIndexAbilityRange = Ability Index beyond range: -MsgIndexAbilityGame = Ability Index beyond range: -MsgQRDecodeFail = Decoded data not a valid PKM/Gift. -MsgQRDecodeSize = QR Data Size: {0} bytes -MsgQRDeprecated = QR codes are deprecated in favor of other methods. -MsgQRAlternative = Consider utilizing homebrew or on-the-fly RAM editing custom firmware (PKMN-NTR). -MsgQRClipboardUrl = Copy QR URL to Clipboard? -MsgQRClipboardImage = Copy QR Image to Clipboard? -MsgQRClipboardFail = Failed to set Image to Clipboard -MsgQRUrlFailPath = Clipboard text is not a valid URL: -MsgQRUrlFailImage = Reader could not find QR data in the image. -MsgQRUrlFailType = Input URL is not valid. Double check that it is an image (jpg/png). -MsgQRUrlFailConnection = Unable to connect to the internet to decode QR code. -MsgQRUrlFailConvert = QR string to Data failed. -MsgDBDeleteFailBackup = Can't delete from a backup save. -MsgDBDeleteFailModified = Database slot data does not match save data! -MsgDBDeleteFailWarning = Don't move Pokémon after initializing the Database, please re-open the Database viewer. -MsgDBAddFailExistsFile = File already exists in database! -MsgDBAddFailExistsPKM = Pokémon already exists in database. -MsgDBAddFromTabsSuccess = Added Pokémon from tabs to database. -MsgDBCreateReportPrompt = Generate a Report on all data? -MsgDBCreateReportWarning = This may take a while... -MsgDBCreateReportFail = No results to export. -MsgDBExportResultsPrompt = Export results to a folder? -MsgDBSearchLegalityWordfilter = Check wordfilter legality? -MsgDBSearchFail = No data source to search! -MsgDBSearchNone = No results found! -MsgDBDeleteCloneWarning = Deleting clones from database is not reversible. -MsgDBDeleteCloneAdvice = If a PKM is deemed a clone, only the newest file (date modified) will be kept. -MsgDBDeleteCloneFail = Unable to delete clone: -MsgDBDeleteCloneNone = No clones detected or deleted. -MsgExportWC3DataFail = Unable to save WC3 data. No data to save! -MsgBEToolTipPropName = Property of a given PKM to modify. -MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. -MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. -MsgBEFilterEmpty = Empty Filter Value detected. -MsgBEPropertyEmpty = Empty Property Value(s) detected: -MsgBEPropertyInvalid = Invalid property selected. -MsgBEInstructionInvalid = Line length error in instruction list. -MsgBEInstructionNone = No instructions defined for a modification set. -MsgBEModifySuccess = Modified {0}{1}/{2} files. -MsgBEModifyFailBlocked = Skipped a file due to disallowed value: -MsgBEModifyFailError = {0} files ignored due to an internal error. -MsgBEModifyFail = Unable to modify {0} to {1}. -MsgBEModifyFailCompare = Unable to compare {0} to {1}. -MsgExportFolder = Please select the folder where the files will be saved to. -MsgExportFolderAdvice = This can be the same folder as the source of PKM files. -MsgReportExportTable = Copy as formatted table? -MsgReportExportCSV = Save all the data to CSV? -MsgReportColumnHide = Hide Column -MsgReportColumnRestore = Restore Columns -MsgReportColumnHideFail = No cells/Columns selected. -MsgReportColumnRestoreSuccess = Column visibility restored. -MsgMsyteryGiftUsedAlert = Mystery Gift is marked as USED and will not be able to be picked up in-game. -MsgMysteryGiftUsedFix = Do you want to remove the USED flag so that it is UNUSED? -MsgMysteryGiftInvalid = File is not a Mystery Gift: -MsgMysteryGiftTypeUnexpected = Expected Mystery Gift Type(s): -MsgMysteryGiftTypeDetails = Gift Details are not compatible with the save file. -MsgMysteryGiftTypeIncompatible = Gift type is not compatible with the save file. -MsgMysteryGiftParseFail = Unable to create gift description. -MsgMysteryGiftParseTypeUnknown = Unknown Mystery Gift Type! -MsgMysteryGiftSlotEmpty = Empty Slot. No data! -MsgMysteryGiftSlotFail = Unable to insert the Mystery Gift. -MsgMysteryGiftSlotNone = No Mystery Gift data found in loaded slot! -MsgMysteryGiftSlotSpecialReject = Does this Mystery Gift really belong to this game? -MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. -MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. -MsgMysteryGiftQRTypeLength = Decoded data length not valid for loaded save file. -MsgMysteryGiftQRReceived = QR Gift Type: -MsgMysteryGiftQREonTicket = Eon Ticket Mystery Gift will not import correctly when received via QR. -MsgMysteryGiftQREonTicketAdvice = Inject the Eon Ticket Mystery Gift to the save file instead. -MsgItemPouchUnknown = Unknown item detected. -MsgItemPouchCountUpdated = Item count modified. -MsgItemCleared = Items cleared. -MsgItemPouchSizeSmall = Pouch is too small for all items. -MsgItemPouchRandom = Yes: Give by Item ID{0}No: Random assortment -MsgItemPouchWarning = If you save changes, the item(s) will no longer be in the pouch. -MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch. -MsgSaveDifferentTypes = Save File types are different. -MsgSaveDifferentVersions = Save File versions are not the same. -MsgSaveNumberInvalid = Save File {0} is not valid. -MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? -MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. -MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. +System.String MsgProgramRestart = Please restart the program. +System.String MsgProgramIllegalModeBehave = Please behave. +System.String MsgProgramIllegalModeActive = Illegal mode activated. +System.String MsgProgramUpdateAvailable = New Update Available! +System.String MsgProgramCloseUnsaved = Any unsaved changes will be lost. +System.String MsgProgramCloseConfirm = Are you sure you want to close PKHeX? +System.String MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? +System.String MsgProgramError = ERROR +System.String MsgProgramErrorExpectedHex = Expected Text containing only the following characters (0-9, A-F). +System.String MsgSettingsLoadFail = Unable to load settings. +System.String MsgSettingsResetCorrupt = Program settings are corrupt. Would you like to reset the settings? +System.String MsgSettingsResetPrompt = Yes to delete the program settings, or No to close the program. +System.String MsgSettingsResetSuccess = Program settings have been deleted. +System.String MsgAny = Any +System.String MsgAll = All +System.String MsgYes = Yes +System.String MsgNo = No +System.String MsgContinue = Continue? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} files deleted. +System.String MsgFolderNotFound = Can't find folder: +System.String MsgWindowClose = The current window will now close. +System.String MsgResearchRequired = Needs more research. +System.String MsgFileLoad = File Loaded: +System.String MsgFileLoadFail = Unable to load file. +System.String MsgFileLoadFailAuto = An error occurred while attempting to auto-load your save file. +System.String MsgFileLoadFailAutoAdvise = It is advised to manually remove bad filenames from the folder. +System.String MsgFileLoadFailAutoCause = This is likely caused by Homebrew creating invalid filenames. +System.String MsgFileLoadVersionDetect = Generation {0} Save File detected. +System.String MsgFileLoadEncrypted = PKHeX only edits decrypted save files. +System.String MsgFileLoadEncryptedFail = This save file is not decrypted. +System.String MsgFileLoadIncompatible = Binary is not compatible with save file. +System.String MsgFileLoadSaveFail = The data file is not a valid save file. +System.String MsgFileLoadSaveLoadFail = Invalid save file loaded. Aborting. +System.String MsgFileLoadSaveDetectReload = Open save file from the following location? +System.String MsgFileLoadSaveSelectVersion = Select the version. +System.String MsgFileLoadSaveSelectGame = Select a game to edit. +System.String MsgFileLoadSaveMultiple = Multiple games detected +System.String MsgFileGameCubeBad = Invalid or corrupted GC Memory Card. Aborting. +System.String MsgFileGameCubeDuplicate = GC Memory Card with duplicated game save files. Aborting. +System.String MsgFileGameCubeNoGames = GC Memory Card without any Pokémon save file. Aborting. +System.String MsgFileSize = File Size: {0} bytes +System.String MsgFileSizeLarge = Input file is too large. +System.String MsgFileSizeSmall = Input file is too small. +System.String MsgFileWriteFail = Unable to save file. +System.String MsgFileWriteProtected = File's location is write protected: +System.String MsgFileWriteProtectedAdvice = If the file is on a removable disk (SD card), please ensure the write protection switch is not set. +System.String MsgFileInUse = Unable to load file. It could be in use by another program. +System.String MsgFileUnsupported = Attempted to load an unsupported file type/size. This could mean PKHeX doesn't support your save file or your save file is corrupt. +System.String MsgPKMUnsupported = Attempted to load an unsupported file type/size. This could be caused by loading a different generation Pokemon file on an unsupported generation or your file is corrupt. +System.String MsgPKMConvertSuccess = Converted from {0} to {1}. +System.String MsgPKMConvertFail = Conversion failed. +System.String MsgPKMMysteryGiftFail = Mystery Gift is not a Pokémon. +System.String MsgPKMConvertFailFormat = Cannot convert a {0} to {1} +System.String MsgPKMConvertFailBackwards = Can't load {0}s to Gen{1} saves. +System.String MsgPKMConvertFailForm = Form cannot be transferred to future games. +System.String MsgPKMConvertFailNoMethod = Cannot transfer this format to the requested format. +System.String MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. +System.String MsgPKMConvertInternational = International +System.String MsgPKMConvertJapanese = Japanese +System.String MsgClipboardLegalityExport = Copy report to Clipboard? +System.String MsgClipboardFailRead = Clipboard does not contain text. +System.String MsgClipboardFailWrite = Unable to set text to Clipboard. +System.String MsgSimulatorFailClipboard = Set data not found in clipboard. +System.String MsgSimulatorLoad = Import this set? +System.String MsgSimulatorInvalid = Invalid lines detected: +System.String MsgSimulatorExportBadFields = Fix data before exporting. +System.String MsgSimulatorExportFail = Try exporting again. +System.String MsgSimulatorExportSuccess = Exported Showdown Set to Clipboard: +System.String MsgSimulatorExportParty = Showdown Team (Party) set to Clipboard. +System.String MsgSimulatorExportBattleBox = Showdown Team (Battle Box) set to Clipboard. +System.String MsgSimulatorExportList = Showdown Sets copied to Clipboard. +System.String MsgBackupCreateLocation = PKHeX can perform automatic backups if you create a folder with the name '{0}' in the same folder as PKHeX's executable. +System.String MsgBackupCreateQuestion = Would you like to create the backup folder now? +System.String MsgBackupDelete = If you wish to no longer automatically back up save files, delete the '{0}' folder. +System.String MsgBackupUnable = Unable to create backup folder +System.String MsgBackupSuccess = Backup folder created! +System.String MsgDatabase = PKHeX's database was not found. +System.String MsgDatabaseAdvice = Please dump all boxes from a save file, then ensure the '{0}' folder exists. +System.String MsgDatabaseExport = Save to PKHeX's database? +System.String MsgDatabaseLoad = Load from PKHeX's database? +System.String MsgPKMLoadNull = Attempted to load a null file. +System.String MsgPKMSuggestionFormat = Suggestions are not enabled for this PKM format. +System.String MsgPKMSuggestionMoves = Apply suggested current moves? +System.String MsgPKMSuggestionRelearn = Apply suggested relearn moves? +System.String MsgPKMSuggestionNone = Unable to provide a suggestion. +System.String MsgPKMSuggestionStart = Suggested: +System.String MsgPKMSuggestionMetLocation = Met Location: +System.String MsgPKMSuggestionMetLevel = Met Level: +System.String MsgPKMSuggestionLevel = Current Level: +System.String MsgSaveExportSuccessPath = SAV exported to: +System.String MsgSaveExportContinue = Continue saving? +System.String MsgSaveSlotEmpty = Can't have an empty/egg party. +System.String MsgSaveSlotLocked = Can't modify a locked slot. +System.String MsgSaveSlotBadData = Unable to set to this slot. +System.String MsgSaveBackup = Saved Backup of current SAV to: +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = Current SAV Generation: {0} +System.String MsgSaveBoxCloneFromTabs = Clone Pokemon from Editing Tabs to all slots in {0}? +System.String MsgSaveBoxSortCurrent = Sort Current Box? +System.String MsgSaveBoxSortCurrentFailBattle = Battle Box slots prevent the sorting of box. +System.String MsgSaveBoxSortCurrentSuccess = Current Box sorted! +System.String MsgSaveBoxSortAll = Sort ALL Boxes?! +System.String MsgSaveBoxSortAllFailBattle = Battle Box slots prevent the sorting of all boxes. +System.String MsgSaveBoxSortAllSuccess = Boxes sorted! +System.String MsgSaveBoxClearCurrent = Clear Current Box? +System.String MsgSaveBoxClearCurrentFailBattle = Battle Box slots prevent the clearing of box. +System.String MsgSaveBoxClearCurrentSuccess = Current Box cleared! +System.String MsgSaveBoxClearAll = Clear ALL Boxes?! +System.String MsgSaveBoxClearAllFailBattle = Battle Box slots prevent the clearing of all boxes. +System.String MsgSaveBoxClearAllSuccess = Boxes cleared! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = The currently loaded save file does not have boxes! +System.String MsgSaveBoxExportYes = Yes: Export All Boxes +System.String MsgSaveBoxExportNo = No: Export {0} (Box {1}) +System.String MsgSaveBoxExportCancel = Cancel: Abort +System.String MsgSaveBoxExportInvalid = Invalid Box Data, unable to dump. +System.String MsgSaveBoxExportPathCount = Dumped Box(es) ({0} pk) to path: +System.String MsgSaveBoxExportPathInvalid = Invalid path specified. +System.String MsgSaveBoxImportModifyIntro = PKM Loading overrides: +System.String MsgSaveBoxImportModifyYes = Yes - Modify .pk* when set to SAV +System.String MsgSaveBoxImportModifyCurrent = Cancel - Use current settings ({0}) +System.String MsgSaveBoxImportModifyNo = No - Don't modify .pk* +System.String MsgSaveBoxImportNoFiles = No files loaded. +System.String MsgSaveBoxImportSuccess = Loaded {0} files to boxes. +System.String MsgSaveBoxImportClear = Clear subsequent boxes when importing data? +System.String MsgSaveBoxImportClearNo = If you only want to overwrite for new data, press no. +System.String MsgSaveBoxImportPCBinary = PC Binary loaded. +System.String MsgSaveBoxImportPCFailBattle = Battle Box slots prevent loading of PC data. +System.String MsgSaveBoxImportBoxBinary = Box Binary loaded. +System.String MsgSaveBoxImportBoxFailBattle = Battle Box slots in box prevent loading of box data. +System.String MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? +System.String MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. +System.String MsgSaveBoxImportOverwrite = The current box will be overwritten. +System.String MsgSaveBoxImportSkippedLocked = Skipped {0} locked slot(s). +System.String MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? +System.String MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. +System.String MsgSaveGen6Passerby = Export Passerby Info to Clipboard? +System.String MsgSaveGen6FriendSafari = No editing support for Friend Safari :( +System.String MsgSaveGen6FriendSafariCheatDesc = Unlock all 3 slots for each friend? +System.String MsgSaveGen2RTCResetPassword = RTC Reset Password: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = Would you like to reset the RTC? +System.String MsgSaveJPEGExportFail = No picture data found in the save file! +System.String MsgSaveChecksumFailEdited = Save has been edited. Cannot integrity check. +System.String MsgSaveChecksumValid = Checksums are valid. +System.String MsgSaveChecksumFailExport = Export Checksum Info to Clipboard? +System.String MsgIndexItemRange = Item Index beyond range: +System.String MsgIndexItemGame = Game can't obtain item: +System.String MsgIndexItemHeld = Game can't hold item: +System.String MsgIndexSpeciesRange = Species Index beyond range: +System.String MsgIndexSpeciesGame = Game can't obtain species: +System.String MsgIndexMoveRange = Move Index beyond range: +System.String MsgIndexMoveGame = Game can't obtain move: +System.String MsgIndexAbilityRange = Ability Index beyond range: +System.String MsgIndexAbilityGame = Ability Index beyond range: +System.String MsgQRDecodeFail = Decoded data not a valid PKM/Gift. +System.String MsgQRDecodeSize = QR Data Size: {0} bytes +System.String MsgQRDeprecated = QR codes are deprecated in favor of other methods. +System.String MsgQRAlternative = Consider utilizing homebrew or on-the-fly RAM editing custom firmware (PKMN-NTR). +System.String MsgQRClipboardUrl = Copy QR URL to Clipboard? +System.String MsgQRClipboardImage = Copy QR Image to Clipboard? +System.String MsgQRClipboardFail = Failed to set Image to Clipboard +System.String MsgQRUrlFailPath = Clipboard text is not a valid URL: +System.String MsgQRUrlFailImage = Reader could not find QR data in the image. +System.String MsgQRUrlFailType = Input URL is not valid. Double check that it is an image (jpg/png). +System.String MsgQRUrlFailConnection = Unable to connect to the internet to decode QR code. +System.String MsgQRUrlFailConvert = QR string to Data failed. +System.String MsgDBDeleteFailBackup = Can't delete from a backup save. +System.String MsgDBDeleteFailModified = Database slot data does not match save data! +System.String MsgDBDeleteFailWarning = Don't move Pokémon after initializing the Database, please re-open the Database viewer. +System.String MsgDBAddFailExistsFile = File already exists in database! +System.String MsgDBAddFailExistsPKM = Pokémon already exists in database. +System.String MsgDBAddFromTabsSuccess = Added Pokémon from tabs to database. +System.String MsgDBCreateReportPrompt = Generate a Report on all data? +System.String MsgDBCreateReportWarning = This may take a while... +System.String MsgDBCreateReportFail = No results to export. +System.String MsgDBExportResultsPrompt = Export results to a folder? +System.String MsgDBSearchLegalityWordfilter = Check wordfilter legality? +System.String MsgDBSearchFail = No data source to search! +System.String MsgDBSearchNone = No results found! +System.String MsgDBDeleteCloneWarning = Deleting clones from database is not reversible. +System.String MsgDBDeleteCloneAdvice = If a PKM is deemed a clone, only the newest file (date modified) will be kept. +System.String MsgDBDeleteCloneFail = Unable to delete clone: +System.String MsgDBDeleteCloneNone = No clones detected or deleted. +System.String MsgExportWC3DataFail = Unable to save WC3 data. No data to save! +System.String MsgBEToolTipPropName = Property of a given PKM to modify. +System.String MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. +System.String MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. +System.String MsgBEFilterEmpty = Empty Filter Value detected. +System.String MsgBEPropertyEmpty = Empty Property Value(s) detected: +System.String MsgBEPropertyInvalid = Invalid property selected. +System.String MsgBEInstructionInvalid = Line length error in instruction list. +System.String MsgBEInstructionNone = No instructions defined for a modification set. +System.String MsgBEModifySuccess = Modified {0}{1}/{2} files. +System.String MsgBEModifyFailBlocked = Skipped a file due to disallowed value: +System.String MsgBEModifyFailError = {0} files ignored due to an internal error. +System.String MsgBEModifyFail = Unable to modify {0} to {1}. +System.String MsgBEModifyFailCompare = Unable to compare {0} to {1}. +System.String MsgExportFolder = Please select the folder where the files will be saved to. +System.String MsgExportFolderAdvice = This can be the same folder as the source of PKM files. +System.String MsgReportExportTable = Copy as formatted table? +System.String MsgReportExportCSV = Save all the data to CSV? +System.String MsgReportColumnHide = Hide Column +System.String MsgReportColumnRestore = Restore Columns +System.String MsgReportColumnHideFail = No cells/Columns selected. +System.String MsgReportColumnRestoreSuccess = Column visibility restored. +System.String MsgMsyteryGiftUsedAlert = Mystery Gift is marked as USED and will not be able to be picked up in-game. +System.String MsgMysteryGiftUsedFix = Do you want to remove the USED flag so that it is UNUSED? +System.String MsgMysteryGiftInvalid = File is not a Mystery Gift: +System.String MsgMysteryGiftTypeUnexpected = Expected Mystery Gift Type(s): +System.String MsgMysteryGiftTypeDetails = Gift Details are not compatible with the save file. +System.String MsgMysteryGiftTypeIncompatible = Gift type is not compatible with the save file. +System.String MsgMysteryGiftParseFail = Unable to create gift description. +System.String MsgMysteryGiftParseTypeUnknown = Unknown Mystery Gift Type! +System.String MsgMysteryGiftSlotEmpty = Empty Slot. No data! +System.String MsgMysteryGiftSlotFail = Unable to insert the Mystery Gift. +System.String MsgMysteryGiftSlotNone = No Mystery Gift data found in loaded slot! +System.String MsgMysteryGiftSlotSpecialReject = Does this Mystery Gift really belong to this game? +System.String MsgMysteryGiftSlotAlternate = {0} gift was set to to a {1} slot instead. +System.String MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. +System.String MsgMysteryGiftQRTypeLength = Decoded data length not valid for loaded save file. +System.String MsgMysteryGiftQRReceived = QR Gift Type: +System.String MsgMysteryGiftQREonTicket = Eon Ticket Mystery Gift will not import correctly when received via QR. +System.String MsgMysteryGiftQREonTicketAdvice = Inject the Eon Ticket Mystery Gift to the save file instead. +System.String MsgItemPouchUnknown = Unknown item detected. +System.String MsgItemPouchCountUpdated = Item count modified. +System.String MsgItemCleared = Items cleared. +System.String MsgItemPouchSizeSmall = Pouch is too small for all items. +System.String MsgItemPouchRandom = Yes: Give by Item ID{0}No: Random assortment +System.String MsgItemPouchWarning = If you save changes, the item(s) will no longer be in the pouch. +System.String MsgItemPouchRemoved = The following item(s) have been removed from the {0} pouch. +System.String MsgSaveDifferentTypes = Save File types are different. +System.String MsgSaveDifferentVersions = Save File versions are not the same. +System.String MsgSaveNumberInvalid = Save File {0} is not valid. +System.String MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? +System.String MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. +System.String MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_ko.txt b/PKHeX.Core/Resources/text/program/MessageStrings_ko.txt index c64c780bd..13c98d553 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_ko.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_ko.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = 프로그램을 다시 시작해 주세요. -MsgProgramIllegalModeBehave = 주의해 주세요. -MsgProgramIllegalModeActive = 불법 모드를 사용합니다. -MsgProgramUpdateAvailable = 새 업데이트가 있습니다! -MsgProgramCloseUnsaved = 저장하지 않은 변경 사항은 손실됩니다. -MsgProgramCloseConfirm = 정말 PKHeX를 종료하시겠습니까? -MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? -MsgProgramError = 오류 -MsgProgramErrorExpectedHex = 숫자(0-9)와 일부 알파벳(A-F)만 사용할 수 있습니다. -MsgSettingsLoadFail = 설정을 불러올 수 없습니다. -MsgSettingsResetCorrupt = 프로그램 설정이 잘못되었습니다. 설정을 초기화하시겠습니까? -MsgSettingsResetPrompt = 예를 선택하면 프로그램 설정을 초기화합니다. 아니오를 선택하면 프로그램을 종료합니다. -MsgSettingsResetSuccess = 프로그램 설정을 초기화했습니다. -MsgAny = 모두 -MsgAll = 모두 -MsgYes = 예 -MsgNo = 아니오 -MsgContinue = 계속하시겠습니까? -MsgGameColosseum = Colosseum -MsgGameXD = XD -MsgGameRSBOX = RS Box -MsgFileDeleteCount = {0} 파일을 삭제했습니다. -MsgFolderNotFound = 폴더를 찾을 수 없음: -MsgWindowClose = 이 창이 곧 닫힙니다. -MsgResearchRequired = 추가 연구가 필요합니다. -MsgFileLoad = 파일 불러옴: -MsgFileLoadFail = 파일을 불러올 수 없습니다. -MsgFileLoadFailAuto = 세이브 파일을 자동으로 불러오는 중 오류가 발생했습니다. -MsgFileLoadFailAutoAdvise = 폴더에서 이름이 잘못된 파일을 직접 제거하는 것이 좋습니다. -MsgFileLoadFailAutoCause = 홈브류가 이름이 잘못된 파일을 만들었을 수 있습니다. -MsgFileLoadVersionDetect = {0}세대 세이브 파일을 감지했습니다. -MsgFileLoadEncrypted = PKHeX는 복호화된 세이브 파일만 지원합니다. -MsgFileLoadEncryptedFail = 이 세이브 파일은 복호화되어 있지 않습니다. -MsgFileLoadIncompatible = 바이너리가 세이브 파일과 호환되지 않습니다. -MsgFileLoadSaveFail = 이 데이터 파일은 정상적인 세이브 파일이 아닙니다. -MsgFileLoadSaveLoadFail = 잘못된 세이브 파일을 불러왔습니다. 작업을 중단합니다. -MsgFileLoadSaveDetectReload = 다음 위치에서 세이브 파일을 여시겠습니까? -MsgFileLoadSaveSelectVersion = 버전을 선택해 주세요. -MsgFileLoadSaveSelectGame = 편집할 게임을 선택해 주세요. -MsgFileLoadSaveMultiple = 여러 종류의 게임 감지됨 -MsgFileGameCubeBad = 사용할 수 없거나 오류가 있는 GC 메모리 카드입니다. 작업을 중단합니다. -MsgFileGameCubeDuplicate = 중복된 세이브 파일이 있는 GC 메모리 카드입니다. 작업을 중단합니다. -MsgFileGameCubeNoGames = 포켓몬 세이브 파일이 없는 GC 메모리 카드입니다. 작업을 중단합니다. -MsgFileSize = 파일 크기: {0} 바이트 -MsgFileSizeLarge = 파일이 너무 큽니다. -MsgFileSizeSmall = 파일이 너무 작습니다. -MsgFileWriteFail = 파일을 저장할 수 없습니다. -MsgFileWriteProtected = 파일을 다음 경로에 쓸 수 없습니다: -MsgFileWriteProtectedAdvice = 파일이 이동식 저장소(SD 카드 등)에 있는 경우 쓰기 금지 스위치가 설정되어 있는지 확인하세요. -MsgFileInUse = 파일을 불러올 수 없습니다. 다른 프로그램에서 파일을 사용 중일 수 있습니다. -MsgFileUnsupported = 지원하지 않는 유형/크기의 파일을 불러오려고 시도했습니다. 세이브 파일이 잘못되었거나 PKHeX에서 지원하지 않는 세이브 파일일 수 있습니다. -MsgPKMUnsupported = 지원하지 않는 유형/크기의 파일을 불러오려고 시도했습니다. 파일이 잘못되었거나 지원하지 않는 세대의 게임에서 다른 세대의 포켓몬 파일을 불러오려고 했을 수 있습니다. -MsgPKMConvertSuccess = {0}에서 {1}로 변환했습니다. -MsgPKMConvertFail = 변환에 실패했습니다. -MsgPKMMysteryGiftFail = 이상한소포는 포켓몬이 아닙니다. -MsgPKMConvertFailFormat = {0}에서 {1}로 변환할 수 없습니다. -MsgPKMConvertFailBackwards = {0} 파일을 {1}세대 세이브 파일에 불러올 수 없습니다. -MsgPKMConvertFailForm = 폼을 더 나중에 출시된 게임으로 옮길 수 없습니다. -MsgPKMConvertFailNoMethod = 이 포맷을 요청한 포맷으로 옮길 수 없습니다. -MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. -MsgPKMConvertInternational = 국제판 -MsgPKMConvertJapanese = 일본판 -MsgClipboardLegalityExport = 보고서를 클립보드로 복사하시겠습니까? -MsgClipboardFailRead = 클립보드에 텍스트가 포함되어 있지 않습니다. -MsgClipboardFailWrite = 클립보드로 텍스트를 복사할 수 없습니다. -MsgSimulatorFailClipboard = 클립보드에서 세트 데이터를 찾을 수 없습니다. -MsgSimulatorLoad = 이 세트를 가져오시겠습니까? -MsgSimulatorInvalid = 잘못된 줄 감지됨: -MsgSimulatorExportBadFields = 내보내기 전에 먼저 잘못된 데이터를 수정하세요. -MsgSimulatorExportFail = 다시 내보내 보세요. -MsgSimulatorExportSuccess = 쇼다운 세트를 클립보드로 내보냈습니다: -MsgSimulatorExportParty = 쇼다운 팀(파티)를 클립보드로 내보냈습니다. -MsgSimulatorExportBattleBox = 쇼다운 팀(배틀 박스)를 클립보드로 내보냈습니다. -MsgSimulatorExportList = 쇼다운 세트를 클립보드에서 가져왔습니다. -MsgBackupCreateLocation = PKHeX 응용 프로그램과 같은 폴더에 이름이 '{0}'인 폴더를 만들면 세이브 파일을 자동으로 백업할 수 있습니다. -MsgBackupCreateQuestion = 지금 백업 폴더를 만드시겠습니까? -MsgBackupDelete = 세이브 파일 자동 백업을 원치 않는 경우 '{0}' 폴더를 삭제하세요. -MsgBackupUnable = 백업 폴더를 만들 수 없음 -MsgBackupSuccess = 백업 폴더를 만들었습니다! -MsgDatabase = PKHeX 데이터베이스를 찾을 수 없습니다. -MsgDatabaseAdvice = 세이브 파일의 모든 박스를 덤프하고 '{0}' 폴더가 있는지 확인하세요. -MsgDatabaseExport = PKHeX 데이터베이스에 저장하시겠습니까? -MsgDatabaseLoad = PKHeX 데이터베이스에서 불러오시겠습니까? -MsgPKMLoadNull = null 파일을 불러오려고 시도했습니다. -MsgPKMSuggestionFormat = 이 PKM 포맷에는 제안을 사용할 수 없습니다. -MsgPKMSuggestionMoves = 현재 기술에 대한 제안을 적용하시겠습니까? -MsgPKMSuggestionRelearn = 떠올리기 기술에 대한 제안을 적용하시겠습니까? -MsgPKMSuggestionNone = 제안을 사용할 수 없습니다. -MsgPKMSuggestionStart = 제안: -MsgPKMSuggestionMetLocation = 만난 위치: -MsgPKMSuggestionMetLevel = 만난 레벨: -MsgPKMSuggestionLevel = 현재 레벨: -MsgSaveExportSuccessPath = 세이브 파일을 다음 위치로 내보냄: -MsgSaveExportContinue = 저장을 계속하시겠습니까? -MsgSaveSlotEmpty = 비어 있거나 알만 있는 파티는 존재할 수 없습니다. -MsgSaveSlotLocked = 잠긴 슬롯은 수정할 수 없습니다. -MsgSaveSlotBadData = 이 슬롯에는 놓을 수 없습니다. -MsgSaveBackup = 현재 세이브 파일의 백업을 만들었습니다: -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = 현재 세이브 파일 세대: {0} -MsgSaveBoxCloneFromTabs = 탭에 불러온 포켓몬을 {0}의 모든 슬롯에 복제하시겠습니까? -MsgSaveBoxSortCurrent = 현재 박스를 정렬하시겠습니까? -MsgSaveBoxSortCurrentFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스를 정렬할 수 없습니다. -MsgSaveBoxSortCurrentSuccess = 현재 박스를 정렬했습니다! -MsgSaveBoxSortAll = 모든 박스를 정렬하시겠습니까?! -MsgSaveBoxSortAllFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 모든 박스를 정렬할 수 없습니다. -MsgSaveBoxSortAllSuccess = 모든 박스를 정렬했습니다! -MsgSaveBoxClearCurrent = 현재 박스를 비우시겠습니까? -MsgSaveBoxClearCurrentFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스를 비울 수 없습니다. -MsgSaveBoxClearCurrentSuccess = 현재 박스를 비웠습니다. -MsgSaveBoxClearAll = 모든 박스를 비우시겠습니까?! -MsgSaveBoxClearAllFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 모든 박스를 비울 수 없습니다. -MsgSaveBoxClearAllSuccess = 모든 박스를 비웠습니다! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = 이 세이브 파일에는 박스가 없습니다! -MsgSaveBoxExportYes = 예: 모든 박스 내보내기 -MsgSaveBoxExportNo = 아니오: {0} (박스 {1}) 내보내기 -MsgSaveBoxExportCancel = 취소: 중단 -MsgSaveBoxExportInvalid = 박스 데이터가 잘못되어 덤프할 수 없습니다. -MsgSaveBoxExportPathCount = 박스({0} 포켓몬)를 다음 위치에 덤프했습니다: -MsgSaveBoxExportPathInvalid = 잘못된 경로를 지정했습니다. -MsgSaveBoxImportModifyIntro = PKM Loading overrides: -MsgSaveBoxImportModifyYes = 예: 세이브 파일에 포켓몬을 놓을 때 .pk* 수정 -MsgSaveBoxImportModifyCurrent = 취소: 현재 설정 사용 ({0}) -MsgSaveBoxImportModifyNo = 아니오: .pk* 수정 안 함 -MsgSaveBoxImportNoFiles = 파일을 불러오지 않았습니다. -MsgSaveBoxImportSuccess = 박스에 {0} 파일을 불러왔습니다. -MsgSaveBoxImportClear = 데이터를 가져올 때 박스를 비우시겠습니까? -MsgSaveBoxImportClearNo = 아니오를 선택하면 새로운 데이터만 덮어씁니다. -MsgSaveBoxImportPCBinary = PC 바이너리를 불러왔습니다. -MsgSaveBoxImportPCFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 PC 데이터를 불러올 수 없습니다. -MsgSaveBoxImportBoxBinary = 박스 바이너리를 불러왔습니다. -MsgSaveBoxImportBoxFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스 데이터를 불러올 수 없습니다. -MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? -MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. -MsgSaveBoxImportOverwrite = 현재 박스가 덮어쓰기됩니다. -MsgSaveBoxImportSkippedLocked = 잠긴 {0} 슬롯을 건너뛰었습니다. -MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? -MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. -MsgSaveGen6Passerby = Export Passerby Info to Clipboard? -MsgSaveGen6FriendSafari = 프렌드사파리는 수정을 지원하지 않습니다 :( -MsgSaveGen6FriendSafariCheatDesc = 각 친구마다 3개 슬롯을 모두 해금하시겠습니까? -MsgSaveGen2RTCResetPassword = RTC 초기화 비밀번호: {0:00000} -MsgSaveGen2RTCResetBitflag = RTC를 초기화하시겠습니까? -MsgSaveJPEGExportFail = 세이브 파일에서 사진 데이터를 찾을 수 없습니다! -MsgSaveChecksumFailEdited = 세이브가 수정되었습니다. 무결성 검사를 할 수 없습니다. -MsgSaveChecksumValid = 체크섬 검증에 성공했습니다. -MsgSaveChecksumFailExport = 체크섬 정보를 클립보드로 복사하시겠습니까? -MsgIndexItemRange = 아이템 인덱스가 범위를 벗어남: -MsgIndexItemGame = 게임에서 얻을 수 없는 아이템: -MsgIndexItemHeld = 게임에서 가질 수 없는 아이템: -MsgIndexSpeciesRange = 종류 인덱스가 범위를 벗어남: -MsgIndexSpeciesGame = 게임에서 얻을 수 없는 포켓몬: -MsgIndexMoveRange = 기술 인덱스가 범위를 벗어남: -MsgIndexMoveGame = 게임에서 얻을 수 없는 기술: -MsgIndexAbilityRange = 특성 인덱스가 범위를 벗어남: -MsgIndexAbilityGame = 특성 인덱스가 범위를 벗어남: -MsgQRDecodeFail = 해독한 데이터가 사용 가능한 포켓몬/소포가 아닙니다. -MsgQRDecodeSize = QR 데이터 크기: {0} 바이트 -MsgQRDeprecated = QR 코드는 다른 방법들이 나옴에 따라 더이상 사용되지 않습니다. -MsgQRAlternative = 홈브류 또는 RAM 편집을 지원하는 커스텀 펌웨어 (PKMN-NTR)를 사용하세요. -MsgQRClipboardUrl = QR URL을 클립보드로 복사하시겠습니까? -MsgQRClipboardImage = QR 이미지를 클립보드로 복사하시겠습니까? -MsgQRClipboardFail = 이미지를 클립보드로 복사하는 데 실패했습니다. -MsgQRUrlFailPath = 클립보드에서 사용 가능한 URL을 찾을 수 없습니다: -MsgQRUrlFailImage = 이미지에서 QR 데이터를 찾을 수 없습니다. -MsgQRUrlFailType = 입력한 URL이 잘못되었습니다. 이미지 파일 (jpg/png)이 맞는지 다시 확인하세요. -MsgQRUrlFailConnection = QR 코드를 해독하기 위해 인터넷에 접속하는 데 실패했습니다. -MsgQRUrlFailConvert = QR 스트링을 데이터로 변환하는 데 실패했습니다. -MsgDBDeleteFailBackup = 백업 세이브에서는 제거할 수 없습니다. -MsgDBDeleteFailModified = 데이터베이스 슬롯 데이터가 세이브 데이터와 일치하지 않습니다! -MsgDBDeleteFailWarning = 데이터베이스 초기 구성 후 포켓몬을 옮기지 말고, 데이터베이스 뷰어를 다시 여세요. -MsgDBAddFailExistsFile = 이미 데이터베이스에 있는 파일입니다! -MsgDBAddFailExistsPKM = 이미 데이터베이스에 있는 포켓몬입니다. -MsgDBAddFromTabsSuccess = 탭에 불러온 포켓몬을 데이터베이스에 추가했습니다. -MsgDBCreateReportPrompt = 모든 데이터에 대한 보고서를 생성하시겠습니까? -MsgDBCreateReportWarning = 시간이 조금 걸릴 수 있습니다... -MsgDBCreateReportFail = 내보낼 결과가 없습니다. -MsgDBExportResultsPrompt = 결과를 폴더로 내보내시겠습니까? -MsgDBSearchLegalityWordfilter = Check wordfilter legality? -MsgDBSearchFail = 검색할 데이터 소스가 없습니다! -MsgDBSearchNone = 검색 결과가 없습니다! -MsgDBDeleteCloneWarning = 데이터베이스에서 복제된 포켓몬을 제거하면 되돌릴 수 없습니다. -MsgDBDeleteCloneAdvice = 복제된 포켓몬은 가장 최신 파일 (수정한 날짜 기준)만 남겨집니다. -MsgDBDeleteCloneFail = 복제된 포켓몬을 삭제할 수 없음: -MsgDBDeleteCloneNone = 복제된 포켓몬이 없으므로 삭제할 수 없습니다. -MsgExportWC3DataFail = WC3 데이터를 저장할 수 없습니다. 저장할 데이터가 없습니다! -MsgBEToolTipPropName = Property of a given PKM to modify. -MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. -MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. -MsgBEFilterEmpty = 빈 필터 값이 감지되었습니다. -MsgBEPropertyEmpty = 빈 속성 값이 감지되었습니다: -MsgBEPropertyInvalid = 잘못된 속성을 선택했습니다. -MsgBEInstructionInvalid = Line length error in instruction list. -MsgBEInstructionNone = No instructions defined for a modification set. -MsgBEModifySuccess = {0}{1}/{2} 파일을 수정했습니다. -MsgBEModifyFailBlocked = Skipped a file due to disallowed value: -MsgBEModifyFailError = 내부 오류로 {0} 파일을 무시했습니다. -MsgBEModifyFail = Unable to modify {0} to {1}. -MsgBEModifyFailCompare = Unable to compare {0} to {1}. -MsgExportFolder = 파일을 저장할 폴더를 선택해 주세요. -MsgExportFolderAdvice = PKM 파일과 같은 폴더로 지정할 수도 있습니다. -MsgReportExportTable = 형식화된 표 형태로 복사하시겠습니까? -MsgReportExportCSV = 모든 데이터를 CSV 파일로 저장하시겠습니까? -MsgReportColumnHide = 열 숨기기 -MsgReportColumnRestore = 열 복원 -MsgReportColumnHideFail = 셀/열을 선택하지 않았습니다. -MsgReportColumnRestoreSuccess = 열 보기 속성을 복원했습니다. -MsgMsyteryGiftUsedAlert = 이상한소포의 사용함 플래그가 켜져 있어 게임 내에서 소포를 받을 수 없습니다. -MsgMysteryGiftUsedFix = 사용함 플래그를 제거하여 사용하지 않은 소포로 만드시겠습니까? -MsgMysteryGiftInvalid = 이상한소포 파일이 아닙니다: -MsgMysteryGiftTypeUnexpected = 예상된 이상한소포 유형: -MsgMysteryGiftTypeDetails = 이상한소포 상세 정보가 세이브 파일과 호환되지 않습니다. -MsgMysteryGiftTypeIncompatible = 이상한소포 유형이 세이브 파일과 호환되지 않습니다. -MsgMysteryGiftParseFail = 이상한소포 설명을 생성할 수 없습니다. -MsgMysteryGiftParseTypeUnknown = 이상한소포 유형을 알 수 없습니다! -MsgMysteryGiftSlotEmpty = 슬롯이 비어 있어 데이터가 없습니다! -MsgMysteryGiftSlotFail = 이상한소포를 추가할 수 없습니다. -MsgMysteryGiftSlotNone = 불러온 슬롯에서 이상한소포 데이터를 찾을 수 없습니다! -MsgMysteryGiftSlotSpecialReject = 정말 이 게임에 맞는 이상한소포가 맞습니까? -MsgMysteryGiftSlotAlternate = {0} 소포를 {1} 슬롯으로 바꾸어 지정했습니다. -MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. -MsgMysteryGiftQRTypeLength = 해독한 데이터 길이가 이 세이브 파일과 호환되지 않습니다. -MsgMysteryGiftQRReceived = QR 선물 유형: -MsgMysteryGiftQREonTicket = 무한티켓이 담긴 이상한소포는 QR로 받았을 때 정상적으로 불러올 수 없습니다. -MsgMysteryGiftQREonTicketAdvice = 무한티켓이 담긴 이상한소포를 세이브 파일에 직접 추가하세요. -MsgItemPouchUnknown = 알 수 없는 아이템을 발견했습니다. -MsgItemPouchCountUpdated = 아이템 개수를 변경했습니다. -MsgItemCleared = 아이템을 삭제했습니다. -MsgItemPouchSizeSmall = 모든 아이템을 받기에는 가방이 너무 작습니다. -MsgItemPouchRandom = 예: ID를 사용하여 아이템 받기{0}아니오: 무작위로 받기 -MsgItemPouchWarning = 변경 사항을 저장하면 아이템을 가방에서 제거합니다. -MsgItemPouchRemoved = 다음 아이템을 가방에서 제거했습니다. -MsgSaveDifferentTypes = 세이브 파일 유형이 서로 다릅니다. -MsgSaveDifferentVersions = 세이브 파일 버전이 일치하지 않습니다. -MsgSaveNumberInvalid = {0} 세이브 파일이 잘못되었습니다. -MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? -MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. -MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. +System.String MsgProgramRestart = 프로그램을 다시 시작해 주세요. +System.String MsgProgramIllegalModeBehave = 주의해 주세요. +System.String MsgProgramIllegalModeActive = 불법 모드를 사용합니다. +System.String MsgProgramUpdateAvailable = 새 업데이트가 있습니다! +System.String MsgProgramCloseUnsaved = 저장하지 않은 변경 사항은 손실됩니다. +System.String MsgProgramCloseConfirm = 정말 PKHeX를 종료하시겠습니까? +System.String MsgProgramSaveFileConfirm = Are you sure you want to load a new save file? +System.String MsgProgramError = 오류 +System.String MsgProgramErrorExpectedHex = 숫자(0-9)와 일부 알파벳(A-F)만 사용할 수 있습니다. +System.String MsgSettingsLoadFail = 설정을 불러올 수 없습니다. +System.String MsgSettingsResetCorrupt = 프로그램 설정이 잘못되었습니다. 설정을 초기화하시겠습니까? +System.String MsgSettingsResetPrompt = 예를 선택하면 프로그램 설정을 초기화합니다. 아니오를 선택하면 프로그램을 종료합니다. +System.String MsgSettingsResetSuccess = 프로그램 설정을 초기화했습니다. +System.String MsgAny = 모두 +System.String MsgAll = 모두 +System.String MsgYes = 예 +System.String MsgNo = 아니오 +System.String MsgContinue = 계속하시겠습니까? +System.String MsgGameColosseum = Colosseum +System.String MsgGameXD = XD +System.String MsgGameRSBOX = RS Box +System.String MsgFileDeleteCount = {0} 파일을 삭제했습니다. +System.String MsgFolderNotFound = 폴더를 찾을 수 없음: +System.String MsgWindowClose = 이 창이 곧 닫힙니다. +System.String MsgResearchRequired = 추가 연구가 필요합니다. +System.String MsgFileLoad = 파일 불러옴: +System.String MsgFileLoadFail = 파일을 불러올 수 없습니다. +System.String MsgFileLoadFailAuto = 세이브 파일을 자동으로 불러오는 중 오류가 발생했습니다. +System.String MsgFileLoadFailAutoAdvise = 폴더에서 이름이 잘못된 파일을 직접 제거하는 것이 좋습니다. +System.String MsgFileLoadFailAutoCause = 홈브류가 이름이 잘못된 파일을 만들었을 수 있습니다. +System.String MsgFileLoadVersionDetect = {0}세대 세이브 파일을 감지했습니다. +System.String MsgFileLoadEncrypted = PKHeX는 복호화된 세이브 파일만 지원합니다. +System.String MsgFileLoadEncryptedFail = 이 세이브 파일은 복호화되어 있지 않습니다. +System.String MsgFileLoadIncompatible = 바이너리가 세이브 파일과 호환되지 않습니다. +System.String MsgFileLoadSaveFail = 이 데이터 파일은 정상적인 세이브 파일이 아닙니다. +System.String MsgFileLoadSaveLoadFail = 잘못된 세이브 파일을 불러왔습니다. 작업을 중단합니다. +System.String MsgFileLoadSaveDetectReload = 다음 위치에서 세이브 파일을 여시겠습니까? +System.String MsgFileLoadSaveSelectVersion = 버전을 선택해 주세요. +System.String MsgFileLoadSaveSelectGame = 편집할 게임을 선택해 주세요. +System.String MsgFileLoadSaveMultiple = 여러 종류의 게임 감지됨 +System.String MsgFileGameCubeBad = 사용할 수 없거나 오류가 있는 GC 메모리 카드입니다. 작업을 중단합니다. +System.String MsgFileGameCubeDuplicate = 중복된 세이브 파일이 있는 GC 메모리 카드입니다. 작업을 중단합니다. +System.String MsgFileGameCubeNoGames = 포켓몬 세이브 파일이 없는 GC 메모리 카드입니다. 작업을 중단합니다. +System.String MsgFileSize = 파일 크기: {0} 바이트 +System.String MsgFileSizeLarge = 파일이 너무 큽니다. +System.String MsgFileSizeSmall = 파일이 너무 작습니다. +System.String MsgFileWriteFail = 파일을 저장할 수 없습니다. +System.String MsgFileWriteProtected = 파일을 다음 경로에 쓸 수 없습니다: +System.String MsgFileWriteProtectedAdvice = 파일이 이동식 저장소(SD 카드 등)에 있는 경우 쓰기 금지 스위치가 설정되어 있는지 확인하세요. +System.String MsgFileInUse = 파일을 불러올 수 없습니다. 다른 프로그램에서 파일을 사용 중일 수 있습니다. +System.String MsgFileUnsupported = 지원하지 않는 유형/크기의 파일을 불러오려고 시도했습니다. 세이브 파일이 잘못되었거나 PKHeX에서 지원하지 않는 세이브 파일일 수 있습니다. +System.String MsgPKMUnsupported = 지원하지 않는 유형/크기의 파일을 불러오려고 시도했습니다. 파일이 잘못되었거나 지원하지 않는 세대의 게임에서 다른 세대의 포켓몬 파일을 불러오려고 했을 수 있습니다. +System.String MsgPKMConvertSuccess = {0}에서 {1}로 변환했습니다. +System.String MsgPKMConvertFail = 변환에 실패했습니다. +System.String MsgPKMMysteryGiftFail = 이상한소포는 포켓몬이 아닙니다. +System.String MsgPKMConvertFailFormat = {0}에서 {1}로 변환할 수 없습니다. +System.String MsgPKMConvertFailBackwards = {0} 파일을 {1}세대 세이브 파일에 불러올 수 없습니다. +System.String MsgPKMConvertFailForm = 폼을 더 나중에 출시된 게임으로 옮길 수 없습니다. +System.String MsgPKMConvertFailNoMethod = 이 포맷을 요청한 포맷으로 옮길 수 없습니다. +System.String MsgPKMConvertIncompatible = Cannot load {0} {1}s to {2} saves. +System.String MsgPKMConvertInternational = 국제판 +System.String MsgPKMConvertJapanese = 일본판 +System.String MsgClipboardLegalityExport = 보고서를 클립보드로 복사하시겠습니까? +System.String MsgClipboardFailRead = 클립보드에 텍스트가 포함되어 있지 않습니다. +System.String MsgClipboardFailWrite = 클립보드로 텍스트를 복사할 수 없습니다. +System.String MsgSimulatorFailClipboard = 클립보드에서 세트 데이터를 찾을 수 없습니다. +System.String MsgSimulatorLoad = 이 세트를 가져오시겠습니까? +System.String MsgSimulatorInvalid = 잘못된 줄 감지됨: +System.String MsgSimulatorExportBadFields = 내보내기 전에 먼저 잘못된 데이터를 수정하세요. +System.String MsgSimulatorExportFail = 다시 내보내 보세요. +System.String MsgSimulatorExportSuccess = 쇼다운 세트를 클립보드로 내보냈습니다: +System.String MsgSimulatorExportParty = 쇼다운 팀(파티)를 클립보드로 내보냈습니다. +System.String MsgSimulatorExportBattleBox = 쇼다운 팀(배틀 박스)를 클립보드로 내보냈습니다. +System.String MsgSimulatorExportList = 쇼다운 세트를 클립보드에서 가져왔습니다. +System.String MsgBackupCreateLocation = PKHeX 응용 프로그램과 같은 폴더에 이름이 '{0}'인 폴더를 만들면 세이브 파일을 자동으로 백업할 수 있습니다. +System.String MsgBackupCreateQuestion = 지금 백업 폴더를 만드시겠습니까? +System.String MsgBackupDelete = 세이브 파일 자동 백업을 원치 않는 경우 '{0}' 폴더를 삭제하세요. +System.String MsgBackupUnable = 백업 폴더를 만들 수 없음 +System.String MsgBackupSuccess = 백업 폴더를 만들었습니다! +System.String MsgDatabase = PKHeX 데이터베이스를 찾을 수 없습니다. +System.String MsgDatabaseAdvice = 세이브 파일의 모든 박스를 덤프하고 '{0}' 폴더가 있는지 확인하세요. +System.String MsgDatabaseExport = PKHeX 데이터베이스에 저장하시겠습니까? +System.String MsgDatabaseLoad = PKHeX 데이터베이스에서 불러오시겠습니까? +System.String MsgPKMLoadNull = null 파일을 불러오려고 시도했습니다. +System.String MsgPKMSuggestionFormat = 이 PKM 포맷에는 제안을 사용할 수 없습니다. +System.String MsgPKMSuggestionMoves = 현재 기술에 대한 제안을 적용하시겠습니까? +System.String MsgPKMSuggestionRelearn = 떠올리기 기술에 대한 제안을 적용하시겠습니까? +System.String MsgPKMSuggestionNone = 제안을 사용할 수 없습니다. +System.String MsgPKMSuggestionStart = 제안: +System.String MsgPKMSuggestionMetLocation = 만난 위치: +System.String MsgPKMSuggestionMetLevel = 만난 레벨: +System.String MsgPKMSuggestionLevel = 현재 레벨: +System.String MsgSaveExportSuccessPath = 세이브 파일을 다음 위치로 내보냄: +System.String MsgSaveExportContinue = 저장을 계속하시겠습니까? +System.String MsgSaveSlotEmpty = 비어 있거나 알만 있는 파티는 존재할 수 없습니다. +System.String MsgSaveSlotLocked = 잠긴 슬롯은 수정할 수 없습니다. +System.String MsgSaveSlotBadData = 이 슬롯에는 놓을 수 없습니다. +System.String MsgSaveBackup = 현재 세이브 파일의 백업을 만들었습니다: +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = 현재 세이브 파일 세대: {0} +System.String MsgSaveBoxCloneFromTabs = 탭에 불러온 포켓몬을 {0}의 모든 슬롯에 복제하시겠습니까? +System.String MsgSaveBoxSortCurrent = 현재 박스를 정렬하시겠습니까? +System.String MsgSaveBoxSortCurrentFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스를 정렬할 수 없습니다. +System.String MsgSaveBoxSortCurrentSuccess = 현재 박스를 정렬했습니다! +System.String MsgSaveBoxSortAll = 모든 박스를 정렬하시겠습니까?! +System.String MsgSaveBoxSortAllFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 모든 박스를 정렬할 수 없습니다. +System.String MsgSaveBoxSortAllSuccess = 모든 박스를 정렬했습니다! +System.String MsgSaveBoxClearCurrent = 현재 박스를 비우시겠습니까? +System.String MsgSaveBoxClearCurrentFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스를 비울 수 없습니다. +System.String MsgSaveBoxClearCurrentSuccess = 현재 박스를 비웠습니다. +System.String MsgSaveBoxClearAll = 모든 박스를 비우시겠습니까?! +System.String MsgSaveBoxClearAllFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 모든 박스를 비울 수 없습니다. +System.String MsgSaveBoxClearAllSuccess = 모든 박스를 비웠습니다! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = 이 세이브 파일에는 박스가 없습니다! +System.String MsgSaveBoxExportYes = 예: 모든 박스 내보내기 +System.String MsgSaveBoxExportNo = 아니오: {0} (박스 {1}) 내보내기 +System.String MsgSaveBoxExportCancel = 취소: 중단 +System.String MsgSaveBoxExportInvalid = 박스 데이터가 잘못되어 덤프할 수 없습니다. +System.String MsgSaveBoxExportPathCount = 박스({0} 포켓몬)를 다음 위치에 덤프했습니다: +System.String MsgSaveBoxExportPathInvalid = 잘못된 경로를 지정했습니다. +System.String MsgSaveBoxImportModifyIntro = PKM Loading overrides: +System.String MsgSaveBoxImportModifyYes = 예: 세이브 파일에 포켓몬을 놓을 때 .pk* 수정 +System.String MsgSaveBoxImportModifyCurrent = 취소: 현재 설정 사용 ({0}) +System.String MsgSaveBoxImportModifyNo = 아니오: .pk* 수정 안 함 +System.String MsgSaveBoxImportNoFiles = 파일을 불러오지 않았습니다. +System.String MsgSaveBoxImportSuccess = 박스에 {0} 파일을 불러왔습니다. +System.String MsgSaveBoxImportClear = 데이터를 가져올 때 박스를 비우시겠습니까? +System.String MsgSaveBoxImportClearNo = 아니오를 선택하면 새로운 데이터만 덮어씁니다. +System.String MsgSaveBoxImportPCBinary = PC 바이너리를 불러왔습니다. +System.String MsgSaveBoxImportPCFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 PC 데이터를 불러올 수 없습니다. +System.String MsgSaveBoxImportBoxBinary = 박스 바이너리를 불러왔습니다. +System.String MsgSaveBoxImportBoxFailBattle = 배틀 박스 슬롯에 포켓몬이 있어 박스 데이터를 불러올 수 없습니다. +System.String MsgSaveBoxImportGroup = Load Pokémon data from the file to the current box ({0})? +System.String MsgSaveBoxImportGroupSuccess = Pokémon data from the file was loaded to box slots. +System.String MsgSaveBoxImportOverwrite = 현재 박스가 덮어쓰기됩니다. +System.String MsgSaveBoxImportSkippedLocked = 잠긴 {0} 슬롯을 건너뛰었습니다. +System.String MsgSaveSwitchDaycareView = Would you like to switch the view to the other Daycare? +System.String MsgSaveSwitchDaycareCurrent = Currently viewing daycare {0}. +System.String MsgSaveGen6Passerby = Export Passerby Info to Clipboard? +System.String MsgSaveGen6FriendSafari = 프렌드사파리는 수정을 지원하지 않습니다 :( +System.String MsgSaveGen6FriendSafariCheatDesc = 각 친구마다 3개 슬롯을 모두 해금하시겠습니까? +System.String MsgSaveGen2RTCResetPassword = RTC 초기화 비밀번호: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = RTC를 초기화하시겠습니까? +System.String MsgSaveJPEGExportFail = 세이브 파일에서 사진 데이터를 찾을 수 없습니다! +System.String MsgSaveChecksumFailEdited = 세이브가 수정되었습니다. 무결성 검사를 할 수 없습니다. +System.String MsgSaveChecksumValid = 체크섬 검증에 성공했습니다. +System.String MsgSaveChecksumFailExport = 체크섬 정보를 클립보드로 복사하시겠습니까? +System.String MsgIndexItemRange = 아이템 인덱스가 범위를 벗어남: +System.String MsgIndexItemGame = 게임에서 얻을 수 없는 아이템: +System.String MsgIndexItemHeld = 게임에서 가질 수 없는 아이템: +System.String MsgIndexSpeciesRange = 종류 인덱스가 범위를 벗어남: +System.String MsgIndexSpeciesGame = 게임에서 얻을 수 없는 포켓몬: +System.String MsgIndexMoveRange = 기술 인덱스가 범위를 벗어남: +System.String MsgIndexMoveGame = 게임에서 얻을 수 없는 기술: +System.String MsgIndexAbilityRange = 특성 인덱스가 범위를 벗어남: +System.String MsgIndexAbilityGame = 특성 인덱스가 범위를 벗어남: +System.String MsgQRDecodeFail = 해독한 데이터가 사용 가능한 포켓몬/소포가 아닙니다. +System.String MsgQRDecodeSize = QR 데이터 크기: {0} 바이트 +System.String MsgQRDeprecated = QR 코드는 다른 방법들이 나옴에 따라 더이상 사용되지 않습니다. +System.String MsgQRAlternative = 홈브류 또는 RAM 편집을 지원하는 커스텀 펌웨어 (PKMN-NTR)를 사용하세요. +System.String MsgQRClipboardUrl = QR URL을 클립보드로 복사하시겠습니까? +System.String MsgQRClipboardImage = QR 이미지를 클립보드로 복사하시겠습니까? +System.String MsgQRClipboardFail = 이미지를 클립보드로 복사하는 데 실패했습니다. +System.String MsgQRUrlFailPath = 클립보드에서 사용 가능한 URL을 찾을 수 없습니다: +System.String MsgQRUrlFailImage = 이미지에서 QR 데이터를 찾을 수 없습니다. +System.String MsgQRUrlFailType = 입력한 URL이 잘못되었습니다. 이미지 파일 (jpg/png)이 맞는지 다시 확인하세요. +System.String MsgQRUrlFailConnection = QR 코드를 해독하기 위해 인터넷에 접속하는 데 실패했습니다. +System.String MsgQRUrlFailConvert = QR 스트링을 데이터로 변환하는 데 실패했습니다. +System.String MsgDBDeleteFailBackup = 백업 세이브에서는 제거할 수 없습니다. +System.String MsgDBDeleteFailModified = 데이터베이스 슬롯 데이터가 세이브 데이터와 일치하지 않습니다! +System.String MsgDBDeleteFailWarning = 데이터베이스 초기 구성 후 포켓몬을 옮기지 말고, 데이터베이스 뷰어를 다시 여세요. +System.String MsgDBAddFailExistsFile = 이미 데이터베이스에 있는 파일입니다! +System.String MsgDBAddFailExistsPKM = 이미 데이터베이스에 있는 포켓몬입니다. +System.String MsgDBAddFromTabsSuccess = 탭에 불러온 포켓몬을 데이터베이스에 추가했습니다. +System.String MsgDBCreateReportPrompt = 모든 데이터에 대한 보고서를 생성하시겠습니까? +System.String MsgDBCreateReportWarning = 시간이 조금 걸릴 수 있습니다... +System.String MsgDBCreateReportFail = 내보낼 결과가 없습니다. +System.String MsgDBExportResultsPrompt = 결과를 폴더로 내보내시겠습니까? +System.String MsgDBSearchLegalityWordfilter = Check wordfilter legality? +System.String MsgDBSearchFail = 검색할 데이터 소스가 없습니다! +System.String MsgDBSearchNone = 검색 결과가 없습니다! +System.String MsgDBDeleteCloneWarning = 데이터베이스에서 복제된 포켓몬을 제거하면 되돌릴 수 없습니다. +System.String MsgDBDeleteCloneAdvice = 복제된 포켓몬은 가장 최신 파일 (수정한 날짜 기준)만 남겨집니다. +System.String MsgDBDeleteCloneFail = 복제된 포켓몬을 삭제할 수 없음: +System.String MsgDBDeleteCloneNone = 복제된 포켓몬이 없으므로 삭제할 수 없습니다. +System.String MsgExportWC3DataFail = WC3 데이터를 저장할 수 없습니다. 저장할 데이터가 없습니다! +System.String MsgBEToolTipPropName = Property of a given PKM to modify. +System.String MsgBEToolTipPropType = PropertyType of the currently loaded PKM in the main window. +System.String MsgBEToolTipPropValue = PropertyValue of the currently loaded PKM in the main window. +System.String MsgBEFilterEmpty = 빈 필터 값이 감지되었습니다. +System.String MsgBEPropertyEmpty = 빈 속성 값이 감지되었습니다: +System.String MsgBEPropertyInvalid = 잘못된 속성을 선택했습니다. +System.String MsgBEInstructionInvalid = Line length error in instruction list. +System.String MsgBEInstructionNone = No instructions defined for a modification set. +System.String MsgBEModifySuccess = {0}{1}/{2} 파일을 수정했습니다. +System.String MsgBEModifyFailBlocked = Skipped a file due to disallowed value: +System.String MsgBEModifyFailError = 내부 오류로 {0} 파일을 무시했습니다. +System.String MsgBEModifyFail = Unable to modify {0} to {1}. +System.String MsgBEModifyFailCompare = Unable to compare {0} to {1}. +System.String MsgExportFolder = 파일을 저장할 폴더를 선택해 주세요. +System.String MsgExportFolderAdvice = PKM 파일과 같은 폴더로 지정할 수도 있습니다. +System.String MsgReportExportTable = 형식화된 표 형태로 복사하시겠습니까? +System.String MsgReportExportCSV = 모든 데이터를 CSV 파일로 저장하시겠습니까? +System.String MsgReportColumnHide = 열 숨기기 +System.String MsgReportColumnRestore = 열 복원 +System.String MsgReportColumnHideFail = 셀/열을 선택하지 않았습니다. +System.String MsgReportColumnRestoreSuccess = 열 보기 속성을 복원했습니다. +System.String MsgMsyteryGiftUsedAlert = 이상한소포의 사용함 플래그가 켜져 있어 게임 내에서 소포를 받을 수 없습니다. +System.String MsgMysteryGiftUsedFix = 사용함 플래그를 제거하여 사용하지 않은 소포로 만드시겠습니까? +System.String MsgMysteryGiftInvalid = 이상한소포 파일이 아닙니다: +System.String MsgMysteryGiftTypeUnexpected = 예상된 이상한소포 유형: +System.String MsgMysteryGiftTypeDetails = 이상한소포 상세 정보가 세이브 파일과 호환되지 않습니다. +System.String MsgMysteryGiftTypeIncompatible = 이상한소포 유형이 세이브 파일과 호환되지 않습니다. +System.String MsgMysteryGiftParseFail = 이상한소포 설명을 생성할 수 없습니다. +System.String MsgMysteryGiftParseTypeUnknown = 이상한소포 유형을 알 수 없습니다! +System.String MsgMysteryGiftSlotEmpty = 슬롯이 비어 있어 데이터가 없습니다! +System.String MsgMysteryGiftSlotFail = 이상한소포를 추가할 수 없습니다. +System.String MsgMysteryGiftSlotNone = 불러온 슬롯에서 이상한소포 데이터를 찾을 수 없습니다! +System.String MsgMysteryGiftSlotSpecialReject = 정말 이 게임에 맞는 이상한소포가 맞습니까? +System.String MsgMysteryGiftSlotAlternate = {0} 소포를 {1} 슬롯으로 바꾸어 지정했습니다. +System.String MsgMysteryGiftSlotFailSwap = Can't swap a {0} with a {1}. +System.String MsgMysteryGiftQRTypeLength = 해독한 데이터 길이가 이 세이브 파일과 호환되지 않습니다. +System.String MsgMysteryGiftQRReceived = QR 선물 유형: +System.String MsgMysteryGiftQREonTicket = 무한티켓이 담긴 이상한소포는 QR로 받았을 때 정상적으로 불러올 수 없습니다. +System.String MsgMysteryGiftQREonTicketAdvice = 무한티켓이 담긴 이상한소포를 세이브 파일에 직접 추가하세요. +System.String MsgItemPouchUnknown = 알 수 없는 아이템을 발견했습니다. +System.String MsgItemPouchCountUpdated = 아이템 개수를 변경했습니다. +System.String MsgItemCleared = 아이템을 삭제했습니다. +System.String MsgItemPouchSizeSmall = 모든 아이템을 받기에는 가방이 너무 작습니다. +System.String MsgItemPouchRandom = 예: ID를 사용하여 아이템 받기{0}아니오: 무작위로 받기 +System.String MsgItemPouchWarning = 변경 사항을 저장하면 아이템을 가방에서 제거합니다. +System.String MsgItemPouchRemoved = 다음 아이템을 가방에서 제거했습니다. +System.String MsgSaveDifferentTypes = 세이브 파일 유형이 서로 다릅니다. +System.String MsgSaveDifferentVersions = 세이브 파일 버전이 일치하지 않습니다. +System.String MsgSaveNumberInvalid = {0} 세이브 파일이 잘못되었습니다. +System.String MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? +System.String MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. +System.String MsgPluginFailLoad = Plugins failed to load. Please refer to the error message to identify the faulty plugin. A plugin may be out of date / incompatible with this build of the program. diff --git a/PKHeX.Core/Resources/text/program/MessageStrings_zh.txt b/PKHeX.Core/Resources/text/program/MessageStrings_zh.txt index 0866f3d79..729622f96 100644 --- a/PKHeX.Core/Resources/text/program/MessageStrings_zh.txt +++ b/PKHeX.Core/Resources/text/program/MessageStrings_zh.txt @@ -1,239 +1,239 @@ -MsgProgramRestart = 请重启程序。 -MsgProgramIllegalModeBehave = 请自重。 -MsgProgramIllegalModeActive = 不合法模式启动。 -MsgProgramUpdateAvailable = 有新版本! -MsgProgramCloseUnsaved = 未保存的更改将会丢失。 -MsgProgramCloseConfirm = 你确定要关闭 PKHeX 吗? -MsgProgramSaveFileConfirm = 确定要加载新的存档文件吗? -MsgProgramError = 错误 -MsgProgramErrorExpectedHex = 文本仅能包含以下字符(0-9, A-F)。 -MsgSettingsLoadFail = 无法加载设置。 -MsgSettingsResetCorrupt = 程序设置已损坏。你要重设吗? -MsgSettingsResetPrompt = 按"是"删除程序设置,或按"否"关闭程序。 -MsgSettingsResetSuccess = 程序设置已被删除。 -MsgAny = 任意 -MsgAll = 全部 -MsgYes = 是 -MsgNo = 否 -MsgContinue = 继续? -MsgGameColosseum = 圆形竞技场 -MsgGameXD = 宝可梦XD -MsgGameRSBOX = 红/蓝宝石整理箱 -MsgFileDeleteCount = 已删除 {0} 个文件。 -MsgFolderNotFound = 未找到文件夹: -MsgWindowClose = 当前窗口将要关闭。 -MsgResearchRequired = 需要更多研究。 -MsgFileLoad = 文件已加载: -MsgFileLoadFail = 无法读取文件。 -MsgFileLoadFailAuto = 在自动读取存档文件时发生错误。 -MsgFileLoadFailAutoAdvise = 建议从文件夹中手动删除错误的文件名。 -MsgFileLoadFailAutoCause = 这可能是由于Homebrew创建无效的文件名引起的。 -MsgFileLoadVersionDetect = 检测到第 {0} 世代的存档文件。 -MsgFileLoadEncrypted = PKHeX 只能编辑解码后的存档文件。 -MsgFileLoadEncryptedFail = 该存档文件未解码。 -MsgFileLoadIncompatible = 二进制文件与存档不兼容。 -MsgFileLoadSaveFail = 该文件不是一个有效的存档文件。 -MsgFileLoadSaveLoadFail = 加载了无效的存档文件。退出中。 -MsgFileLoadSaveDetectReload = 从下列路径打开存档? -MsgFileLoadSaveSelectVersion = 选择版本。 -MsgFileLoadSaveSelectGame = 选择一个游戏编辑。 -MsgFileLoadSaveMultiple = 检测到多个游戏。 -MsgFileGameCubeBad = 无效或损坏的 NGC 内存卡。退出中。 -MsgFileGameCubeDuplicate = NGC 内存卡包含重复的游戏存档。退出中。 -MsgFileGameCubeNoGames = NGC 内存卡内无宝可梦的游戏存档。退出中。 -MsgFileSize = 文件大小: {0} 字节 -MsgFileSizeLarge = 导入的文件太大。 -MsgFileSizeSmall = 导入的文件太小。 -MsgFileWriteFail = 无法保存文件。 -MsgFileWriteProtected = 文件路径有写入保护: -MsgFileWriteProtectedAdvice = 如果文件在移动硬盘(SD卡)上,请确认没有打开写入保护。 -MsgFileInUse = 无法加载文件。可能被其他程序占用中。 -MsgFileUnsupported = 无法加载一个不支持的类型或大小的文件。 -MsgPKMUnsupported = 尝试加载不支持的文件类型/大小。这可能是由于在不支持的世代上加载了其他世代Pokemon文件引起的,或者您的文件已损坏。 -MsgPKMConvertSuccess = 成功从 {0} 转换到 {1} 。 -MsgPKMConvertFail = 格式转换失败。 -MsgPKMMysteryGiftFail = 神秘礼物不是一个宝可梦。 -MsgPKMConvertFailFormat = 从 {0} 转换到 {1} 失败 -MsgPKMConvertFailBackwards = 无法加载 {0}s 到 {1} 世代存档。 -MsgPKMConvertFailForm = 此形态无法转移到后续的游戏中 -MsgPKMConvertFailNoMethod = 无法将此格式转换为请求的格式。 -MsgPKMConvertIncompatible = 无法加载 {0} {1}s 到 {2} 存档。 -MsgPKMConvertInternational = 国际版 -MsgPKMConvertJapanese = 日版 -MsgClipboardLegalityExport = 复制报告到剪贴板? -MsgClipboardFailRead = 剪贴板不包含文本。 -MsgClipboardFailWrite = 无法复制到剪贴板。 -MsgSimulatorFailClipboard = 在剪贴板内没有可以设置的数据。 -MsgSimulatorLoad = 导入当前配置? -MsgSimulatorInvalid = 发现无效行: -MsgSimulatorExportBadFields = 在导出前修复数据。 -MsgSimulatorExportFail = 尝试再一次导出。 -MsgSimulatorExportSuccess = 已导出 Showdown 配置到剪贴板: -MsgSimulatorExportParty = Showdown 队伍(同行)已复制到剪贴板。 -MsgSimulatorExportBattleBox = Showdown 队伍(对战盒子)已复制到剪贴板。 -MsgSimulatorExportList = Showdown 已配置到剪贴板. -MsgBackupCreateLocation = 如果你在 PKHeX 可执行文件的相同目录下建一个名为" {0} "的文件夹,PKHeX可以帮助你自动备份数据。 -MsgBackupCreateQuestion = 要现在建立备份文件夹吗? -MsgBackupDelete = 如果你不再需要自动备份数据,删除名为" {0} "文件夹。 -MsgBackupUnable = 无法创建备份文件夹 -MsgBackupSuccess = 备份文件夹已创建! -MsgDatabase = 未找到 PKHeX 的数据库。 -MsgDatabaseAdvice = 请导出存档文件的所有盒子, 确保" {0} "文件夹存在。 -MsgDatabaseExport = 保存到 PKHeX 的数据库? -MsgDatabaseLoad = 从 PKHeX 的数据库导入? -MsgPKMLoadNull = 试图加载了一个空文件。 -MsgPKMSuggestionFormat = 对该宝可梦文件格式,建议模式未启用。 -MsgPKMSuggestionMoves = 设为下列推荐的招式? -MsgPKMSuggestionRelearn = 设为下列推荐的回忆招式? -MsgPKMSuggestionNone = 无法提供建议。 -MsgPKMSuggestionStart = 建议为: -MsgPKMSuggestionMetLocation = 遇见地点: -MsgPKMSuggestionMetLevel = 遇见等级: -MsgPKMSuggestionLevel = 当前等级: -MsgSaveExportSuccessPath = SAV 存档已导出到: -MsgSaveExportContinue = 继续保存? -MsgSaveSlotEmpty = 同行队伍不能为空或只有蛋。 -MsgSaveSlotLocked = 无法编辑已锁定的格子。 -MsgSaveSlotBadData = 无法设置此格子。 -MsgSaveBackup = 保存当前存档的备份至: -MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. -MsgSaveCurrentGeneration = 当前存档的世代: {0} -MsgSaveBoxCloneFromTabs = 将当前编辑的宝可梦复制到 {0} 的所有格子里? -MsgSaveBoxSortCurrent = 对当前盒子排序? -MsgSaveBoxSortCurrentFailBattle = 对战盒子的格子导致无法对盒子排序。 -MsgSaveBoxSortCurrentSuccess = 当前盒子排序成功! -MsgSaveBoxSortAll = 对所有盒子排序?! -MsgSaveBoxSortAllFailBattle = 对战盒子的格子导致无法对所有盒子排序。 -MsgSaveBoxSortAllSuccess = 所有盒子排序成功! -MsgSaveBoxClearCurrent = 清空当前盒子? -MsgSaveBoxClearCurrentFailBattle = 对战盒子的格子导致无法清空当前盒子。 -MsgSaveBoxClearCurrentSuccess = 当前盒子清空成功! -MsgSaveBoxClearAll = 清空所有盒子?! -MsgSaveBoxClearAllFailBattle = 对战盒子的格子导致无法清空所有盒子。 -MsgSaveBoxClearAllSuccess = 所有盒子清空成功! -MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} -MsgSaveBoxFailNone = 当前加载的存档文件不含有盒子! -MsgSaveBoxExportYes = 是: 导出所有盒子 -MsgSaveBoxExportNo = 否: 导出 {0} (盒子 {1}) -MsgSaveBoxExportCancel = 取消: 退出 -MsgSaveBoxExportInvalid = 无效盒子数据,无法导出。 -MsgSaveBoxExportPathCount = 导出盒子 ({0} 宝可梦) 到路径: -MsgSaveBoxExportPathInvalid = 无效文件路径。 -MsgSaveBoxImportModifyIntro = 导入宝可梦覆盖了: -MsgSaveBoxImportModifyYes = 是 - 修改 .pk* 当导入到存档 -MsgSaveBoxImportModifyCurrent = 取消 - 使用当前设置 ({0}) -MsgSaveBoxImportModifyNo = 否 - 不要编辑 .pk* -MsgSaveBoxImportNoFiles = 没有文件被加载 -MsgSaveBoxImportSuccess = 导入 {0} 个文件到盒子里。 -MsgSaveBoxImportClear = 在导入数据时清空后续的盒子? -MsgSaveBoxImportClearNo = 如果你只想覆盖成新数据,请按否。 -MsgSaveBoxImportPCBinary = 已导入电脑的二进制数据。 -MsgSaveBoxImportPCFailBattle = 对战盒子的格子导致无法导入电脑数据。 -MsgSaveBoxImportBoxBinary = 已导入盒子的二进制数据。 -MsgSaveBoxImportBoxFailBattle = 对战盒子的格子导致无法导入盒子数据。 -MsgSaveBoxImportGroup = 将宝可梦数据从文件加载到当前盒子 ({0})? -MsgSaveBoxImportGroupSuccess = 来自文件的宝可梦数据已加载到盒子中 -MsgSaveBoxImportOverwrite = 当前盒子将会被覆盖。 -MsgSaveBoxImportSkippedLocked = 跳过 {0} 锁定的格子。 -MsgSaveSwitchDaycareView = 查看另一个培育屋? -MsgSaveSwitchDaycareCurrent = 正在查看培育屋 {0}。 -MsgSaveGen6Passerby = 导出路人信息到剪贴板? -MsgSaveGen6FriendSafari = 不支持朋友狩猎的编辑 :( -MsgSaveGen6FriendSafariCheatDesc = 解锁所有朋友狩猎的三个格子? -MsgSaveGen2RTCResetPassword = 时钟重设密码: {0:00000} -MsgSaveGen2RTCResetBitflag = 你想重置RTC吗? -MsgSaveJPEGExportFail = 无法在存档文件中找到图片数据! -MsgSaveChecksumFailEdited = 存档已被编辑。无法进行完整性检查。 -MsgSaveChecksumValid = 检验值正确。 -MsgSaveChecksumFailExport = 导出校验值信息到剪贴板? -MsgIndexItemRange = 道具的编号超过范围: -MsgIndexItemGame = 当前游戏不能获得道具: -MsgIndexItemHeld = 当前游戏不能持有道具: -MsgIndexSpeciesRange = 种类的图鉴编号超过范围: -MsgIndexSpeciesGame = 当前游戏不能获得种类: -MsgIndexMoveRange = 招式的编号超过范围: -MsgIndexMoveGame = 当前游戏不能获得招式: -MsgIndexAbilityRange = 特性的编号超过范围: -MsgIndexAbilityGame = 当前游戏不能获得特性: -MsgQRDecodeFail = 解码后的数据不是一个有效的宝可梦或神秘礼物 -MsgQRDecodeSize = QR 数据大小: {0} 字节 -MsgQRDeprecated = QR 码已因其他方式而被弃用。 -MsgQRAlternative = 请使用 homebrew 或 其他实时内存编辑的自制系统软件 (PKMN-NTR). -MsgQRClipboardUrl = 复制 QR 链接到剪贴板? -MsgQRClipboardImage = 复制 QR 图片到剪贴板? -MsgQRClipboardFail = 复制图片到剪贴板失败 -MsgQRUrlFailPath = 剪贴板文本为无效链接: -MsgQRUrlFailImage = 无法读取图片中的 QR 码。 -MsgQRUrlFailType = 无效链接。请确认复制的地址是图片文件(jpg/png)。 -MsgQRUrlFailConnection = 无法通过网络解码 QR 码。 -MsgQRUrlFailConvert = QR 字符串无法转换成数据。 -MsgDBDeleteFailBackup = 无法从备份存档中删除。 -MsgDBDeleteFailModified = 数据库数据与存档数据不匹配! -MsgDBDeleteFailWarning = 在初始化数据库后不要移动宝可梦文件,请重新打开数据库。 -MsgDBAddFailExistsFile = 文件已存在于数据库! -MsgDBAddFailExistsPKM = 宝可梦已存在于数据库。 -MsgDBAddFromTabsSuccess = 已将标签页的宝可梦导出到数据库。 -MsgDBCreateReportPrompt = 对所有数据生成报告? -MsgDBCreateReportWarning = 这可能会花一段时间... -MsgDBCreateReportFail = 没有可以导出的结果。 -MsgDBExportResultsPrompt = 导出结果到文件夹? -MsgDBSearchLegalityWordfilter = 使用关键词过滤器检查合法性? -MsgDBSearchFail = 没有可以检索的数据源! -MsgDBSearchNone = 没有结果! -MsgDBDeleteCloneWarning = 从数据库删除的重复文件无法恢复。 -MsgDBDeleteCloneAdvice = 如果一个宝可梦被判定为复制,仅保留最近(被修改)的文件。 -MsgDBDeleteCloneFail = 删除复制文件失败: -MsgDBDeleteCloneNone = 未检测到复制或未删除文件。 -MsgExportWC3DataFail = 无法保存 WC3 数据。没有保存文件! -MsgBEToolTipPropName = 将修改宝可梦的数据属性名。 -MsgBEToolTipPropType = 主窗的宝可梦的属性类型。 -MsgBEToolTipPropValue = 主窗的宝可梦的属性值。 -MsgBEFilterEmpty = 检测到空过滤器值。 -MsgBEPropertyEmpty = 检测到空的属性值: -MsgBEPropertyInvalid = 选择了无效属性。 -MsgBEInstructionInvalid = 指令列表的行长度错误。 -MsgBEInstructionNone = 没有设定修改指令。 -MsgBEModifySuccess = 修改 {0}{1}/{2} 文件成功。 -MsgBEModifyFailBlocked = 跳过了一个文件由于下列的无效值: -MsgBEModifyFailError = 由于内部错误忽略了 {0} 个文件。 -MsgBEModifyFail = 无法修改 {0} 为 {1} 。 -MsgBEModifyFailCompare = 无法将 {0} 与 {1} 比较。 -MsgExportFolder = 请选择保存的目标文件夹。 -MsgExportFolderAdvice = 可以与宝可梦文件所在文件夹相同。 -MsgReportExportTable = 复制为带格式的表格? -MsgReportExportCSV = 保存所有数据到 CSV? -MsgReportColumnHide = 隐藏列 -MsgReportColumnRestore = 恢复列 -MsgReportColumnHideFail = 未选择单元格/列。 -MsgReportColumnRestoreSuccess = 列的可见性已恢复。 -MsgMsyteryGiftUsedAlert = 神秘礼物被标为"已使用",故无法在游戏内被领取。 -MsgMysteryGiftUsedFix = 去掉"已使用"的标记,使其能在被领取? -MsgMysteryGiftInvalid = 文件不是一个神秘礼物: -MsgMysteryGiftTypeUnexpected = 神秘礼物类型应为: -MsgMysteryGiftTypeDetails = 礼物具体内容与存档文件不兼容。 -MsgMysteryGiftTypeIncompatible = 礼物类型与存档文件不符。 -MsgMysteryGiftParseFail = 无法创建礼物描述。 -MsgMysteryGiftParseTypeUnknown = 未知的神秘礼物类型! -MsgMysteryGiftSlotEmpty = 空的格子。无数据! -MsgMysteryGiftSlotFail = 无法导入神秘礼物。 -MsgMysteryGiftSlotNone = 未在加载的格子里找到神秘礼物! -MsgMysteryGiftSlotSpecialReject = 当前神秘礼物真的属于该游戏吗? -MsgMysteryGiftSlotAlternate = {0} 礼物已另被设置到格子 {1} 。 -MsgMysteryGiftSlotFailSwap = 无法将 {0} 与 {1} 交换。 -MsgMysteryGiftQRTypeLength = 解码后的数据大小对于当前存档不兼容。 -MsgMysteryGiftQRReceived = QR 礼物类型: -MsgMysteryGiftQREonTicket = 无限船票的神秘礼物无法从QR导入。 -MsgMysteryGiftQREonTicketAdvice = 注入无限船票的神秘礼物至存档文件? -MsgItemPouchUnknown = 检测到未知道具。 -MsgItemPouchCountUpdated = 道具数量已修改。 -MsgItemCleared = 道具已清空。 -MsgItemPouchSizeSmall = 包包对于所有道具太小。 -MsgItemPouchRandom = 是: 获得道具ID {0} 否: 随机组合 -MsgItemPouchWarning = 如果你保存更改,道具将从包包里移除。 -MsgItemPouchRemoved = 下列道具已从 {0} 物品栏删除。 -MsgSaveDifferentTypes = 存档文件类型不同。 -MsgSaveDifferentVersions = 存档文件版本不同。 -MsgSaveNumberInvalid = 存档文件 {0} 无效。 -MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? -MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. -MsgPluginFailLoad = 插件加载失败。请根据错误信息找到出错的插件。插件可能已经失效或与本程序的版本不兼容。 +System.String MsgProgramRestart = 请重启程序。 +System.String MsgProgramIllegalModeBehave = 请自重。 +System.String MsgProgramIllegalModeActive = 不合法模式启动。 +System.String MsgProgramUpdateAvailable = 有新版本! +System.String MsgProgramCloseUnsaved = 未保存的更改将会丢失。 +System.String MsgProgramCloseConfirm = 你确定要关闭 PKHeX 吗? +System.String MsgProgramSaveFileConfirm = 确定要加载新的存档文件吗? +System.String MsgProgramError = 错误 +System.String MsgProgramErrorExpectedHex = 文本仅能包含以下字符(0-9, A-F)。 +System.String MsgSettingsLoadFail = 无法加载设置。 +System.String MsgSettingsResetCorrupt = 程序设置已损坏。你要重设吗? +System.String MsgSettingsResetPrompt = 按"是"删除程序设置,或按"否"关闭程序。 +System.String MsgSettingsResetSuccess = 程序设置已被删除。 +System.String MsgAny = 任意 +System.String MsgAll = 全部 +System.String MsgYes = 是 +System.String MsgNo = 否 +System.String MsgContinue = 继续? +System.String MsgGameColosseum = 圆形竞技场 +System.String MsgGameXD = 宝可梦XD +System.String MsgGameRSBOX = 红/蓝宝石整理箱 +System.String MsgFileDeleteCount = 已删除 {0} 个文件。 +System.String MsgFolderNotFound = 未找到文件夹: +System.String MsgWindowClose = 当前窗口将要关闭。 +System.String MsgResearchRequired = 需要更多研究。 +System.String MsgFileLoad = 文件已加载: +System.String MsgFileLoadFail = 无法读取文件。 +System.String MsgFileLoadFailAuto = 在自动读取存档文件时发生错误。 +System.String MsgFileLoadFailAutoAdvise = 建议从文件夹中手动删除错误的文件名。 +System.String MsgFileLoadFailAutoCause = 这可能是由于Homebrew创建无效的文件名引起的。 +System.String MsgFileLoadVersionDetect = 检测到第 {0} 世代的存档文件。 +System.String MsgFileLoadEncrypted = PKHeX 只能编辑解码后的存档文件。 +System.String MsgFileLoadEncryptedFail = 该存档文件未解码。 +System.String MsgFileLoadIncompatible = 二进制文件与存档不兼容。 +System.String MsgFileLoadSaveFail = 该文件不是一个有效的存档文件。 +System.String MsgFileLoadSaveLoadFail = 加载了无效的存档文件。退出中。 +System.String MsgFileLoadSaveDetectReload = 从下列路径打开存档? +System.String MsgFileLoadSaveSelectVersion = 选择版本。 +System.String MsgFileLoadSaveSelectGame = 选择一个游戏编辑。 +System.String MsgFileLoadSaveMultiple = 检测到多个游戏。 +System.String MsgFileGameCubeBad = 无效或损坏的 NGC 内存卡。退出中。 +System.String MsgFileGameCubeDuplicate = NGC 内存卡包含重复的游戏存档。退出中。 +System.String MsgFileGameCubeNoGames = NGC 内存卡内无宝可梦的游戏存档。退出中。 +System.String MsgFileSize = 文件大小: {0} 字节 +System.String MsgFileSizeLarge = 导入的文件太大。 +System.String MsgFileSizeSmall = 导入的文件太小。 +System.String MsgFileWriteFail = 无法保存文件。 +System.String MsgFileWriteProtected = 文件路径有写入保护: +System.String MsgFileWriteProtectedAdvice = 如果文件在移动硬盘(SD卡)上,请确认没有打开写入保护。 +System.String MsgFileInUse = 无法加载文件。可能被其他程序占用中。 +System.String MsgFileUnsupported = 无法加载一个不支持的类型或大小的文件。 +System.String MsgPKMUnsupported = 尝试加载不支持的文件类型/大小。这可能是由于在不支持的世代上加载了其他世代Pokemon文件引起的,或者您的文件已损坏。 +System.String MsgPKMConvertSuccess = 成功从 {0} 转换到 {1} 。 +System.String MsgPKMConvertFail = 格式转换失败。 +System.String MsgPKMMysteryGiftFail = 神秘礼物不是一个宝可梦。 +System.String MsgPKMConvertFailFormat = 从 {0} 转换到 {1} 失败 +System.String MsgPKMConvertFailBackwards = 无法加载 {0}s 到 {1} 世代存档。 +System.String MsgPKMConvertFailForm = 此形态无法转移到后续的游戏中 +System.String MsgPKMConvertFailNoMethod = 无法将此格式转换为请求的格式。 +System.String MsgPKMConvertIncompatible = 无法加载 {0} {1}s 到 {2} 存档。 +System.String MsgPKMConvertInternational = 国际版 +System.String MsgPKMConvertJapanese = 日版 +System.String MsgClipboardLegalityExport = 复制报告到剪贴板? +System.String MsgClipboardFailRead = 剪贴板不包含文本。 +System.String MsgClipboardFailWrite = 无法复制到剪贴板。 +System.String MsgSimulatorFailClipboard = 在剪贴板内没有可以设置的数据。 +System.String MsgSimulatorLoad = 导入当前配置? +System.String MsgSimulatorInvalid = 发现无效行: +System.String MsgSimulatorExportBadFields = 在导出前修复数据。 +System.String MsgSimulatorExportFail = 尝试再一次导出。 +System.String MsgSimulatorExportSuccess = 已导出 Showdown 配置到剪贴板: +System.String MsgSimulatorExportParty = Showdown 队伍(同行)已复制到剪贴板。 +System.String MsgSimulatorExportBattleBox = Showdown 队伍(对战盒子)已复制到剪贴板。 +System.String MsgSimulatorExportList = Showdown 已配置到剪贴板. +System.String MsgBackupCreateLocation = 如果你在 PKHeX 可执行文件的相同目录下建一个名为" {0} "的文件夹,PKHeX可以帮助你自动备份数据。 +System.String MsgBackupCreateQuestion = 要现在建立备份文件夹吗? +System.String MsgBackupDelete = 如果你不再需要自动备份数据,删除名为" {0} "文件夹。 +System.String MsgBackupUnable = 无法创建备份文件夹 +System.String MsgBackupSuccess = 备份文件夹已创建! +System.String MsgDatabase = 未找到 PKHeX 的数据库。 +System.String MsgDatabaseAdvice = 请导出存档文件的所有盒子, 确保" {0} "文件夹存在。 +System.String MsgDatabaseExport = 保存到 PKHeX 的数据库? +System.String MsgDatabaseLoad = 从 PKHeX 的数据库导入? +System.String MsgPKMLoadNull = 试图加载了一个空文件。 +System.String MsgPKMSuggestionFormat = 对该宝可梦文件格式,建议模式未启用。 +System.String MsgPKMSuggestionMoves = 设为下列推荐的招式? +System.String MsgPKMSuggestionRelearn = 设为下列推荐的回忆招式? +System.String MsgPKMSuggestionNone = 无法提供建议。 +System.String MsgPKMSuggestionStart = 建议为: +System.String MsgPKMSuggestionMetLocation = 遇见地点: +System.String MsgPKMSuggestionMetLevel = 遇见等级: +System.String MsgPKMSuggestionLevel = 当前等级: +System.String MsgSaveExportSuccessPath = SAV 存档已导出到: +System.String MsgSaveExportContinue = 继续保存? +System.String MsgSaveSlotEmpty = 同行队伍不能为空或只有蛋。 +System.String MsgSaveSlotLocked = 无法编辑已锁定的格子。 +System.String MsgSaveSlotBadData = 无法设置此格子。 +System.String MsgSaveBackup = 保存当前存档的备份至: +System.String MsgSaveBackupNotFound = Original file has been moved; unable to copy a backup. +System.String MsgSaveCurrentGeneration = 当前存档的世代: {0} +System.String MsgSaveBoxCloneFromTabs = 将当前编辑的宝可梦复制到 {0} 的所有格子里? +System.String MsgSaveBoxSortCurrent = 对当前盒子排序? +System.String MsgSaveBoxSortCurrentFailBattle = 对战盒子的格子导致无法对盒子排序。 +System.String MsgSaveBoxSortCurrentSuccess = 当前盒子排序成功! +System.String MsgSaveBoxSortAll = 对所有盒子排序?! +System.String MsgSaveBoxSortAllFailBattle = 对战盒子的格子导致无法对所有盒子排序。 +System.String MsgSaveBoxSortAllSuccess = 所有盒子排序成功! +System.String MsgSaveBoxClearCurrent = 清空当前盒子? +System.String MsgSaveBoxClearCurrentFailBattle = 对战盒子的格子导致无法清空当前盒子。 +System.String MsgSaveBoxClearCurrentSuccess = 当前盒子清空成功! +System.String MsgSaveBoxClearAll = 清空所有盒子?! +System.String MsgSaveBoxClearAllFailBattle = 对战盒子的格子导致无法清空所有盒子。 +System.String MsgSaveBoxClearAllSuccess = 所有盒子清空成功! +System.String MsgSaveBoxUseClipboard = Use this folder found in your clipboard? {0} +System.String MsgSaveBoxFailNone = 当前加载的存档文件不含有盒子! +System.String MsgSaveBoxExportYes = 是: 导出所有盒子 +System.String MsgSaveBoxExportNo = 否: 导出 {0} (盒子 {1}) +System.String MsgSaveBoxExportCancel = 取消: 退出 +System.String MsgSaveBoxExportInvalid = 无效盒子数据,无法导出。 +System.String MsgSaveBoxExportPathCount = 导出盒子 ({0} 宝可梦) 到路径: +System.String MsgSaveBoxExportPathInvalid = 无效文件路径。 +System.String MsgSaveBoxImportModifyIntro = 导入宝可梦覆盖了: +System.String MsgSaveBoxImportModifyYes = 是 - 修改 .pk* 当导入到存档 +System.String MsgSaveBoxImportModifyCurrent = 取消 - 使用当前设置 ({0}) +System.String MsgSaveBoxImportModifyNo = 否 - 不要编辑 .pk* +System.String MsgSaveBoxImportNoFiles = 没有文件被加载 +System.String MsgSaveBoxImportSuccess = 导入 {0} 个文件到盒子里。 +System.String MsgSaveBoxImportClear = 在导入数据时清空后续的盒子? +System.String MsgSaveBoxImportClearNo = 如果你只想覆盖成新数据,请按否。 +System.String MsgSaveBoxImportPCBinary = 已导入电脑的二进制数据。 +System.String MsgSaveBoxImportPCFailBattle = 对战盒子的格子导致无法导入电脑数据。 +System.String MsgSaveBoxImportBoxBinary = 已导入盒子的二进制数据。 +System.String MsgSaveBoxImportBoxFailBattle = 对战盒子的格子导致无法导入盒子数据。 +System.String MsgSaveBoxImportGroup = 将宝可梦数据从文件加载到当前盒子 ({0})? +System.String MsgSaveBoxImportGroupSuccess = 来自文件的宝可梦数据已加载到盒子中 +System.String MsgSaveBoxImportOverwrite = 当前盒子将会被覆盖。 +System.String MsgSaveBoxImportSkippedLocked = 跳过 {0} 锁定的格子。 +System.String MsgSaveSwitchDaycareView = 查看另一个培育屋? +System.String MsgSaveSwitchDaycareCurrent = 正在查看培育屋 {0}。 +System.String MsgSaveGen6Passerby = 导出路人信息到剪贴板? +System.String MsgSaveGen6FriendSafari = 不支持朋友狩猎的编辑 :( +System.String MsgSaveGen6FriendSafariCheatDesc = 解锁所有朋友狩猎的三个格子? +System.String MsgSaveGen2RTCResetPassword = 时钟重设密码: {0:00000} +System.String MsgSaveGen2RTCResetBitflag = 你想重置RTC吗? +System.String MsgSaveJPEGExportFail = 无法在存档文件中找到图片数据! +System.String MsgSaveChecksumFailEdited = 存档已被编辑。无法进行完整性检查。 +System.String MsgSaveChecksumValid = 检验值正确。 +System.String MsgSaveChecksumFailExport = 导出校验值信息到剪贴板? +System.String MsgIndexItemRange = 道具的编号超过范围: +System.String MsgIndexItemGame = 当前游戏不能获得道具: +System.String MsgIndexItemHeld = 当前游戏不能持有道具: +System.String MsgIndexSpeciesRange = 种类的图鉴编号超过范围: +System.String MsgIndexSpeciesGame = 当前游戏不能获得种类: +System.String MsgIndexMoveRange = 招式的编号超过范围: +System.String MsgIndexMoveGame = 当前游戏不能获得招式: +System.String MsgIndexAbilityRange = 特性的编号超过范围: +System.String MsgIndexAbilityGame = 当前游戏不能获得特性: +System.String MsgQRDecodeFail = 解码后的数据不是一个有效的宝可梦或神秘礼物 +System.String MsgQRDecodeSize = QR 数据大小: {0} 字节 +System.String MsgQRDeprecated = QR 码已因其他方式而被弃用。 +System.String MsgQRAlternative = 请使用 homebrew 或 其他实时内存编辑的自制系统软件 (PKMN-NTR). +System.String MsgQRClipboardUrl = 复制 QR 链接到剪贴板? +System.String MsgQRClipboardImage = 复制 QR 图片到剪贴板? +System.String MsgQRClipboardFail = 复制图片到剪贴板失败 +System.String MsgQRUrlFailPath = 剪贴板文本为无效链接: +System.String MsgQRUrlFailImage = 无法读取图片中的 QR 码。 +System.String MsgQRUrlFailType = 无效链接。请确认复制的地址是图片文件(jpg/png)。 +System.String MsgQRUrlFailConnection = 无法通过网络解码 QR 码。 +System.String MsgQRUrlFailConvert = QR 字符串无法转换成数据。 +System.String MsgDBDeleteFailBackup = 无法从备份存档中删除。 +System.String MsgDBDeleteFailModified = 数据库数据与存档数据不匹配! +System.String MsgDBDeleteFailWarning = 在初始化数据库后不要移动宝可梦文件,请重新打开数据库。 +System.String MsgDBAddFailExistsFile = 文件已存在于数据库! +System.String MsgDBAddFailExistsPKM = 宝可梦已存在于数据库。 +System.String MsgDBAddFromTabsSuccess = 已将标签页的宝可梦导出到数据库。 +System.String MsgDBCreateReportPrompt = 对所有数据生成报告? +System.String MsgDBCreateReportWarning = 这可能会花一段时间... +System.String MsgDBCreateReportFail = 没有可以导出的结果。 +System.String MsgDBExportResultsPrompt = 导出结果到文件夹? +System.String MsgDBSearchLegalityWordfilter = 使用关键词过滤器检查合法性? +System.String MsgDBSearchFail = 没有可以检索的数据源! +System.String MsgDBSearchNone = 没有结果! +System.String MsgDBDeleteCloneWarning = 从数据库删除的重复文件无法恢复。 +System.String MsgDBDeleteCloneAdvice = 如果一个宝可梦被判定为复制,仅保留最近(被修改)的文件。 +System.String MsgDBDeleteCloneFail = 删除复制文件失败: +System.String MsgDBDeleteCloneNone = 未检测到复制或未删除文件。 +System.String MsgExportWC3DataFail = 无法保存 WC3 数据。没有保存文件! +System.String MsgBEToolTipPropName = 将修改宝可梦的数据属性名。 +System.String MsgBEToolTipPropType = 主窗的宝可梦的属性类型。 +System.String MsgBEToolTipPropValue = 主窗的宝可梦的属性值。 +System.String MsgBEFilterEmpty = 检测到空过滤器值。 +System.String MsgBEPropertyEmpty = 检测到空的属性值: +System.String MsgBEPropertyInvalid = 选择了无效属性。 +System.String MsgBEInstructionInvalid = 指令列表的行长度错误。 +System.String MsgBEInstructionNone = 没有设定修改指令。 +System.String MsgBEModifySuccess = 修改 {0}{1}/{2} 文件成功。 +System.String MsgBEModifyFailBlocked = 跳过了一个文件由于下列的无效值: +System.String MsgBEModifyFailError = 由于内部错误忽略了 {0} 个文件。 +System.String MsgBEModifyFail = 无法修改 {0} 为 {1} 。 +System.String MsgBEModifyFailCompare = 无法将 {0} 与 {1} 比较。 +System.String MsgExportFolder = 请选择保存的目标文件夹。 +System.String MsgExportFolderAdvice = 可以与宝可梦文件所在文件夹相同。 +System.String MsgReportExportTable = 复制为带格式的表格? +System.String MsgReportExportCSV = 保存所有数据到 CSV? +System.String MsgReportColumnHide = 隐藏列 +System.String MsgReportColumnRestore = 恢复列 +System.String MsgReportColumnHideFail = 未选择单元格/列。 +System.String MsgReportColumnRestoreSuccess = 列的可见性已恢复。 +System.String MsgMsyteryGiftUsedAlert = 神秘礼物被标为"已使用",故无法在游戏内被领取。 +System.String MsgMysteryGiftUsedFix = 去掉"已使用"的标记,使其能在被领取? +System.String MsgMysteryGiftInvalid = 文件不是一个神秘礼物: +System.String MsgMysteryGiftTypeUnexpected = 神秘礼物类型应为: +System.String MsgMysteryGiftTypeDetails = 礼物具体内容与存档文件不兼容。 +System.String MsgMysteryGiftTypeIncompatible = 礼物类型与存档文件不符。 +System.String MsgMysteryGiftParseFail = 无法创建礼物描述。 +System.String MsgMysteryGiftParseTypeUnknown = 未知的神秘礼物类型! +System.String MsgMysteryGiftSlotEmpty = 空的格子。无数据! +System.String MsgMysteryGiftSlotFail = 无法导入神秘礼物。 +System.String MsgMysteryGiftSlotNone = 未在加载的格子里找到神秘礼物! +System.String MsgMysteryGiftSlotSpecialReject = 当前神秘礼物真的属于该游戏吗? +System.String MsgMysteryGiftSlotAlternate = {0} 礼物已另被设置到格子 {1} 。 +System.String MsgMysteryGiftSlotFailSwap = 无法将 {0} 与 {1} 交换。 +System.String MsgMysteryGiftQRTypeLength = 解码后的数据大小对于当前存档不兼容。 +System.String MsgMysteryGiftQRReceived = QR 礼物类型: +System.String MsgMysteryGiftQREonTicket = 无限船票的神秘礼物无法从QR导入。 +System.String MsgMysteryGiftQREonTicketAdvice = 注入无限船票的神秘礼物至存档文件? +System.String MsgItemPouchUnknown = 检测到未知道具。 +System.String MsgItemPouchCountUpdated = 道具数量已修改。 +System.String MsgItemCleared = 道具已清空。 +System.String MsgItemPouchSizeSmall = 包包对于所有道具太小。 +System.String MsgItemPouchRandom = 是: 获得道具ID {0} 否: 随机组合 +System.String MsgItemPouchWarning = 如果你保存更改,道具将从包包里移除。 +System.String MsgItemPouchRemoved = 下列道具已从 {0} 物品栏删除。 +System.String MsgSaveDifferentTypes = 存档文件类型不同。 +System.String MsgSaveDifferentVersions = 存档文件版本不同。 +System.String MsgSaveNumberInvalid = 存档文件 {0} 无效。 +System.String MsgSecretBaseDeleteConfirm = Delete {0}'s secret base (Entry {1:00}) from your records? +System.String MsgSecretBaseDeleteSelf = Cannot delete your Secret Base. +System.String MsgPluginFailLoad = 插件加载失败。请根据错误信息找到出错的插件。插件可能已经失效或与本程序的版本不兼容。 diff --git a/PKHeX.Core/Ribbons/IRibbonSetCommon8.cs b/PKHeX.Core/Ribbons/IRibbonSetCommon8.cs index 196fae0a5..764f7d0f7 100644 --- a/PKHeX.Core/Ribbons/IRibbonSetCommon8.cs +++ b/PKHeX.Core/Ribbons/IRibbonSetCommon8.cs @@ -7,7 +7,7 @@ public interface IRibbonSetCommon8 bool RibbonTowerMaster { get; set; } bool RibbonMasterRank { get; set; } bool RibbonTwinklingStar { get; set; } - bool RibbonPioneer { get; set; } + bool RibbonHisui { get; set; } } internal static partial class RibbonExtensions @@ -18,6 +18,6 @@ internal static void CopyRibbonSetCommon8(this IRibbonSetCommon8 set, IRibbonSet dest.RibbonTowerMaster = set.RibbonTowerMaster; dest.RibbonMasterRank = set.RibbonMasterRank; dest.RibbonTwinklingStar = set.RibbonTwinklingStar; - dest.RibbonPioneer = set.RibbonPioneer; + dest.RibbonHisui = set.RibbonHisui; } } diff --git a/PKHeX.Core/Ribbons/IRibbonSetCommon9.cs b/PKHeX.Core/Ribbons/IRibbonSetCommon9.cs new file mode 100644 index 000000000..0b941708a --- /dev/null +++ b/PKHeX.Core/Ribbons/IRibbonSetCommon9.cs @@ -0,0 +1,17 @@ +namespace PKHeX.Core; + +/// Common Ribbons introduced in Generation 9 +public interface IRibbonSetCommon9 +{ + bool RibbonChampionPaldea { get; set; } + bool RibbonOnceInALifetime { get; set; } +} + +internal static partial class RibbonExtensions +{ + internal static void CopyRibbonSetCommon9(this IRibbonSetCommon9 set, IRibbonSetCommon9 dest) + { + dest.RibbonChampionPaldea = set.RibbonChampionPaldea; + dest.RibbonOnceInALifetime = set.RibbonOnceInALifetime; + } +} diff --git a/PKHeX.Core/Ribbons/IRibbonSetMark9.cs b/PKHeX.Core/Ribbons/IRibbonSetMark9.cs new file mode 100644 index 000000000..4f4714d94 --- /dev/null +++ b/PKHeX.Core/Ribbons/IRibbonSetMark9.cs @@ -0,0 +1,60 @@ +namespace PKHeX.Core; + +/// Marks introduced in Generation 9 +public interface IRibbonSetMark9 +{ + bool RibbonMarkJumbo { get; set; } + bool RibbonMarkMini { get; set; } + bool RibbonMarkItemfinder { get; set; } + bool RibbonMarkPartner { get; set; } + bool RibbonMarkGourmand { get; set; } + bool RibbonMarkAlpha { get; set; } + bool RibbonMarkMightiest { get; set; } + bool RibbonMarkTitan { get; set; } + + bool HasMark(); +} + +internal static partial class RibbonExtensions +{ + private static readonly string[] RibbonSetNamesMark9 = + { + nameof(IRibbonSetMark9.RibbonMarkJumbo), + nameof(IRibbonSetMark9.RibbonMarkMini), + nameof(IRibbonSetMark9.RibbonMarkItemfinder), + nameof(IRibbonSetMark9.RibbonMarkPartner), + nameof(IRibbonSetMark9.RibbonMarkGourmand), + nameof(IRibbonSetMark9.RibbonMarkAlpha), + nameof(IRibbonSetMark9.RibbonMarkMightiest), + nameof(IRibbonSetMark9.RibbonMarkTitan), + }; + + internal static bool[] RibbonBits(this IRibbonSetMark9 set) + { + return new[] + { + set.RibbonMarkJumbo, + set.RibbonMarkMini, + set.RibbonMarkItemfinder, + set.RibbonMarkPartner, + set.RibbonMarkGourmand, + set.RibbonMarkAlpha, + set.RibbonMarkMightiest, + set.RibbonMarkTitan, + }; + } + + internal static string[] RibbonNames(this IRibbonSetMark9 _) => RibbonSetNamesMark9; + + internal static void CopyRibbonSetMark9(this IRibbonSetMark9 set, IRibbonSetMark9 dest) + { + dest.RibbonMarkJumbo = set.RibbonMarkJumbo; + dest.RibbonMarkMini = set.RibbonMarkMini; + dest.RibbonMarkItemfinder = set.RibbonMarkItemfinder; + dest.RibbonMarkPartner = set.RibbonMarkPartner; + dest.RibbonMarkGourmand = set.RibbonMarkGourmand; + dest.RibbonMarkAlpha = set.RibbonMarkAlpha; + dest.RibbonMarkMightiest = set.RibbonMarkMightiest; + dest.RibbonMarkTitan = set.RibbonMarkTitan; + } +} diff --git a/PKHeX.Core/Ribbons/RibbonIndex.cs b/PKHeX.Core/Ribbons/RibbonIndex.cs index 7477d4499..8bfa00874 100644 --- a/PKHeX.Core/Ribbons/RibbonIndex.cs +++ b/PKHeX.Core/Ribbons/RibbonIndex.cs @@ -108,9 +108,20 @@ public enum RibbonIndex : byte MarkVigor, MarkSlump, - Pioneer, + Hisui, TwinklingStar, + ChampionPaldea, + MarkJumbo, + MarkMini, + MarkItemfinder, + MarkPartner, + MarkGourmand, + OnceInALifetime, + MarkAlpha, + MarkMightiest, + MarkTitan, + MAX_COUNT, } @@ -145,6 +156,7 @@ private enum RibbonIndexGroup : byte Common6, Common7, Common8, + Common9, } private static RibbonIndexGroup GetGroup(this RibbonIndex r) @@ -213,8 +225,20 @@ private static RibbonIndexGroup GetGroup(this RibbonIndex r) ChampionGalar => RibbonIndexGroup.Common8, TowerMaster => RibbonIndexGroup.Common8, MasterRank => RibbonIndexGroup.Common8, - Pioneer => RibbonIndexGroup.Common8, + Hisui => RibbonIndexGroup.Common8, TwinklingStar => RibbonIndexGroup.Common8, + + ChampionPaldea => RibbonIndexGroup.Common9, + MarkJumbo => RibbonIndexGroup.Common9, + MarkMini => RibbonIndexGroup.Common9, + MarkItemfinder => RibbonIndexGroup.Common9, + MarkPartner => RibbonIndexGroup.Common9, + MarkGourmand => RibbonIndexGroup.Common9, + OnceInALifetime => RibbonIndexGroup.Common9, + MarkAlpha => RibbonIndexGroup.Common9, + MarkMightiest => RibbonIndexGroup.Common9, + MarkTitan => RibbonIndexGroup.Common9, + _ => RibbonIndexGroup.None, }; } @@ -315,9 +339,27 @@ public static void Fix(this RibbonIndex r, RibbonVerifierArguments args, bool st if (r == ChampionGalar) c8.RibbonChampionGalar = state; else if (r == TowerMaster) c8.RibbonTowerMaster = state; else if (r == MasterRank) c8.RibbonMasterRank = state; - else if (r == Pioneer) c8.RibbonPioneer = state; + else if (r == Hisui) c8.RibbonHisui = state; else if (r == TwinklingStar) c8.RibbonTwinklingStar = state; return; + case RibbonIndexGroup.Common9: + if (pk is IRibbonSetCommon9 c9) + { + if (r == ChampionPaldea) c9.RibbonChampionPaldea = state; + else if (r == OnceInALifetime) c9.RibbonOnceInALifetime = state; + } + else if (pk is IRibbonSetMark9 m9) + { + if (r == MarkJumbo) m9.RibbonMarkJumbo = state; + else if (r == MarkMini) m9.RibbonMarkMini = state; + else if (r == MarkItemfinder) m9.RibbonMarkItemfinder = state; + else if (r == MarkPartner) m9.RibbonMarkPartner = state; + else if (r == MarkGourmand) m9.RibbonMarkGourmand = state; + else if (r == MarkAlpha) m9.RibbonMarkAlpha = state; + else if (r == MarkMightiest) m9.RibbonMarkMightiest = state; + else if (r == MarkTitan) m9.RibbonMarkTitan = state; + } + return; default: throw new ArgumentOutOfRangeException(); } @@ -478,8 +520,18 @@ private static void FixMark(this RibbonIndex r, PKM pk, bool state) MarkThorny => nameof(IRibbonSetMark8.RibbonMarkThorny), MarkVigor => nameof(IRibbonSetMark8.RibbonMarkVigor), MarkSlump => nameof(IRibbonSetMark8.RibbonMarkSlump), - Pioneer => nameof(IRibbonSetCommon8.RibbonPioneer), + Hisui => nameof(IRibbonSetCommon8.RibbonHisui), TwinklingStar => nameof(IRibbonSetCommon8.RibbonTwinklingStar), + ChampionPaldea => nameof(IRibbonSetCommon9.RibbonChampionPaldea), + MarkJumbo => nameof(IRibbonSetMark9.RibbonMarkJumbo), + MarkMini => nameof(IRibbonSetMark9.RibbonMarkMini), + MarkItemfinder => nameof(IRibbonSetMark9.RibbonMarkItemfinder), + MarkPartner => nameof(IRibbonSetMark9.RibbonMarkPartner), + MarkGourmand => nameof(IRibbonSetMark9.RibbonMarkGourmand), + OnceInALifetime => nameof(IRibbonSetCommon9.RibbonOnceInALifetime), + MarkAlpha => nameof(IRibbonSetMark9.RibbonMarkAlpha), + MarkMightiest => nameof(IRibbonSetMark9.RibbonMarkMightiest), + MarkTitan => nameof(IRibbonSetMark9.RibbonMarkTitan), _ => throw new ArgumentOutOfRangeException(nameof(r), r, null), }; } diff --git a/PKHeX.Core/Saves/Access/ISaveBlock8LA.cs b/PKHeX.Core/Saves/Access/ISaveBlock8LA.cs index a827a1c07..5a18fb1e2 100644 --- a/PKHeX.Core/Saves/Access/ISaveBlock8LA.cs +++ b/PKHeX.Core/Saves/Access/ISaveBlock8LA.cs @@ -11,7 +11,7 @@ public interface ISaveBlock8LA PokedexSave8a PokedexSave { get; } BoxLayout8a BoxLayout { get; } MyItem8a Items { get; } - AdventureStart8a AdventureStart { get; } + Epoch1970Value AdventureStart { get; } LastSaved8a LastSaved { get; } PlayTime8a Played { get; } } diff --git a/PKHeX.Core/Saves/Access/ISaveBlock8Main.cs b/PKHeX.Core/Saves/Access/ISaveBlock8Main.cs index 8f240b36f..deffee8c6 100644 --- a/PKHeX.Core/Saves/Access/ISaveBlock8Main.cs +++ b/PKHeX.Core/Saves/Access/ISaveBlock8Main.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Core; +namespace PKHeX.Core; /// /// Interface for Accessing named blocks within a Generation 8 save file. @@ -7,7 +7,7 @@ public interface ISaveBlock8Main { Box8 BoxInfo { get; } Party8 PartyInfo { get; } - MyItem Items { get; } + MyItem8 Items { get; } MyStatus8 MyStatus { get; } Misc8 Misc { get; } Zukan8 Zukan { get; } diff --git a/PKHeX.Core/Saves/Access/ISaveBlock9Main.cs b/PKHeX.Core/Saves/Access/ISaveBlock9Main.cs new file mode 100644 index 000000000..b95f35ad6 --- /dev/null +++ b/PKHeX.Core/Saves/Access/ISaveBlock9Main.cs @@ -0,0 +1,22 @@ +namespace PKHeX.Core; + +/// +/// Interface for Accessing named blocks within a Generation 9 save file. +/// +public interface ISaveBlock9Main +{ + Box8 BoxInfo { get; } + Party9 PartyInfo { get; } + MyItem9 Items { get; } + MyStatus9 MyStatus { get; } + BoxLayout9 BoxLayout { get; } + PlayTime9 Played { get; } + Zukan9 Zukan { get; } + ConfigSave9 Config { get; } + TeamIndexes9 TeamIndexes { get; } + Epoch1970Value LastSaved { get; } + PlayerFashion9 PlayerFashion { get; } + PlayerAppearance9 PlayerAppearance { get; } + RaidSpawnList9 Raid { get; } + FixedSpawnList9 FixedSpawns { get; } +} diff --git a/PKHeX.Core/Saves/Access/SCBlockAccessor.cs b/PKHeX.Core/Saves/Access/SCBlockAccessor.cs index f66b749a1..51c4755f6 100644 --- a/PKHeX.Core/Saves/Access/SCBlockAccessor.cs +++ b/PKHeX.Core/Saves/Access/SCBlockAccessor.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; namespace PKHeX.Core; @@ -64,7 +64,7 @@ public abstract class SCBlockAccessor : ISaveBlockAccessor return default; var block = BlockInfo[index]; if (block.Type != SCTypeCode.None) // not fake block - return (T)BlockInfo[index].GetValue(); + return (T)block.GetValue(); return default; } diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor8LA.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor8LA.cs index 1c6fde717..b364f7909 100644 --- a/PKHeX.Core/Saves/Access/SaveBlockAccessor8LA.cs +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor8LA.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace PKHeX.Core; @@ -14,7 +14,7 @@ public sealed class SaveBlockAccessor8LA : SCBlockAccessor, ISaveBlock8LA public PokedexSave8a PokedexSave { get; } public BoxLayout8a BoxLayout { get; } public MyItem8a Items { get; } - public AdventureStart8a AdventureStart { get; } + public Epoch1970Value AdventureStart { get; } public Coordinates8a Coordinates { get; } public LastSaved8a LastSaved { get; } public PlayerFashion8a FashionPlayer { get; } @@ -29,7 +29,7 @@ public SaveBlockAccessor8LA(SAV8LA sav) PartyInfo = new Party8a(sav, GetBlock(KParty)); MyStatus = new MyStatus8a(sav, GetBlock(KMyStatus)); Items = new MyItem8a(sav, GetBlock(KItemRegular)); - AdventureStart = new AdventureStart8a(sav, GetBlock(KAdventureStart)); + AdventureStart = new Epoch1970Value(GetBlock(KAdventureStart)); LastSaved = new LastSaved8a(sav, GetBlock(KLastSaved)); Played = new PlayTime8a(sav, GetBlock(KPlayTime)); Coordinates = new Coordinates8a(sav, GetBlock(KCoordinates)); diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor8SWSH.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor8SWSH.cs index fa3f28fa8..c31f85898 100644 --- a/PKHeX.Core/Saves/Access/SaveBlockAccessor8SWSH.cs +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor8SWSH.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; // ReSharper disable UnusedMember.Local #pragma warning disable IDE0051 // Remove unused private members #pragma warning disable RCS1213 // Remove unused member declaration. @@ -13,7 +13,7 @@ public sealed class SaveBlockAccessor8SWSH : SCBlockAccessor, ISaveBlock8Main public override IReadOnlyList BlockInfo { get; } public Box8 BoxInfo { get; } public Party8 PartyInfo { get; } - public MyItem Items { get; } + public MyItem8 Items { get; } public MyStatus8 MyStatus { get; } public Misc8 Misc { get; } public Zukan8 Zukan { get; } diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor9SV.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor9SV.cs new file mode 100644 index 000000000..4ff59ebb7 --- /dev/null +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor9SV.cs @@ -0,0 +1,968 @@ +using System.Collections.Generic; +// ReSharper disable UnusedMember.Local +#pragma warning disable IDE0051 // Remove unused private members +#pragma warning disable RCS1213 // Remove unused member declaration. + +namespace PKHeX.Core; + +/// +/// Information for Accessing individual blocks within a . +/// +public sealed class SaveBlockAccessor9SV : SCBlockAccessor, ISaveBlock9Main +{ + public override IReadOnlyList BlockInfo { get; } + public Box8 BoxInfo { get; } + public Party9 PartyInfo { get; } + public MyItem9 Items { get; } + public MyStatus9 MyStatus { get; } + public BoxLayout9 BoxLayout { get; } + public PlayTime9 Played { get; } + public Zukan9 Zukan { get; } + public ConfigSave9 Config { get; } + public TeamIndexes9 TeamIndexes { get; } + public Epoch1970Value LastSaved { get; } + public PlayerFashion9 PlayerFashion { get; } + public PlayerAppearance9 PlayerAppearance { get; } + public RaidSpawnList9 Raid { get; } + public FixedSpawnList9 FixedSpawns { get; } + + public SaveBlockAccessor9SV(SAV9SV sav) + { + BlockInfo = sav.AllBlocks; + BoxInfo = new Box8(sav, GetBlock(KBox)); + PartyInfo = new Party9(sav, GetBlock(KParty)); + Items = new MyItem9(sav, GetBlock(KItem)); + BoxLayout = new BoxLayout9(sav, GetBlock(KBoxLayout)); + MyStatus = new MyStatus9(sav, GetBlock(KMyStatus)); + Played = new PlayTime9(sav, GetBlock(KPlayTime)); + Zukan = new Zukan9(sav, GetBlock(KZukan)); + Config = new ConfigSave9(sav, GetBlock(KConfig)); + TeamIndexes = new TeamIndexes9(sav, GetBlock(KTeamIndexes)); + LastSaved = new Epoch1970Value(GetBlock(KLastSaved)); + PlayerFashion = new PlayerFashion9(sav, GetBlock(KCurrentClothing)); + PlayerAppearance = new PlayerAppearance9(sav, GetBlock(KCurrentAppearance)); + Raid = new RaidSpawnList9(sav, GetBlock(KTeraRaids)); + FixedSpawns = new FixedSpawnList9(sav, GetBlock(KFixedSymbolRetainer)); + } + + // Arrays (Blocks) + private const uint KTeamIndexes = 0x33F39467; // Team Indexes for competition + private const uint KBoxLayout = 0x19722c89; // Box Names + public const uint KBoxWallpapers = 0x2EB1B190; // Box Wallpapers + + // Objects (Blocks) + private const uint KBox = 0x0d66012c; // Box Data + private const uint KParty = 0x3AA1A9AD; // Party Data + public const uint KCurrentBox = 0x017C3CBB; // U32 Box Index + public const uint KMoney = 0x4F35D0DD; // u32 + public const uint KLeaguePoints = 0xADB4FE17; // u32 + private const uint KMyStatus = 0xE3E89BD1; // Trainer Details + private const uint KConfig = 0xDF4F1875; // u32 bits + private const uint KItem = 0x21C9BD44; // Items + private const uint KPlayTime = 0xEDAFF794; // Time Played + private const uint KSessionLength = 0x1522C79C; // Milliseconds(?) elapsed + private const uint KOverworld = 0x173304D8; // [0x158+7C][20] overworld pokemon + private const uint KTeraRaids = 0xCAAC8800; + public const uint KBoxesUnlocked = 0x71825204; + public const uint KFusedCalyrex = 0x916BCA9E; // Calyrex + public const uint KCoordinates = 0x708D1511; + private const uint KZukan = 0x0DEAAEBD; + private const uint KMysteryGift = 0x99E1625E; + private const uint KLastSaved = 0x7495969E; // u64 time_t + private const uint KEnrollmentDate = 0xC7409C89; + private const uint KSandwiches = 0x29B4AED2; // [0xC][151] index, unlocked, times made + private const uint KCurrentClothing = 0x64235B3D; + private const uint KCurrentAppearance = 0x812FC3E3; + private const uint KCurrentRotomPhoneCase = 0x1433CED7; + private const uint KFashionUnlockedBag = 0x5D6F8110; + private const uint KFashionUnlockedEyewear = 0xCBA20ED5; + private const uint KFashionUnlockedFootwear = 0x0221A618; + private const uint KFashionUnlockedGloves = 0x581667B1; + private const uint KFashionUnlockedHeadwear = 0x860CD8FB; + private const uint KFashionUnlockedLegwear = 0xD186222E; + private const uint KFashionUnlockedPhoneCase = 0xED0AC675; + private const uint KPlayerPhoto1 = 0x14C5A101; + private const uint KPlayerPhoto2 = 0xF8B14C88; + private const uint KFixedSymbolRetainer = 0x74ABB9CC; + + private const uint KBCATFixedRewardItemArray = 0x7D6C2B82; // fixed_reward_item_array + private const uint KBCATLotteryRewardItemArray = 0xA52B4811; // lottery_reward_item_array + private const uint KBCATRaidEnemyArray = 0x0520A1B0; // raid_enemy_array + private const uint KBCATRaidPriorityArray = 0x095451E4; // raid_priority_array + + #region YMAP - Display & Fly Flags -- internal name Fnv1aHash32 + private const uint FSYS_YMAP_SCENARIO_DAN_AKU = 0x1EE90D7F; + private const uint FSYS_YMAP_SCENARIO_DAN_DOKU = 0x6D2CE931; + private const uint FSYS_YMAP_SCENARIO_DAN_FAIRY = 0xFDC82445; + private const uint FSYS_YMAP_SCENARIO_DAN_FINAL = 0xAC189200; + private const uint FSYS_YMAP_SCENARIO_DAN_FINAL_02 = 0xE52F230F; + private const uint FSYS_YMAP_SCENARIO_DAN_FINAL_03 = 0xE52F215C; + private const uint FSYS_YMAP_SCENARIO_DAN_HONOO = 0x6C3A6D77; + private const uint FSYS_YMAP_SCENARIO_DAN_KAKUTOU = 0x1D6BC8F8; + private const uint FSYS_YMAP_FLY_01 = 0xEB597C90; + private const uint FSYS_YMAP_FLY_03 = 0xEB597FF6; + private const uint FSYS_YMAP_FLY_12 = 0xEB5697B4; + private const uint FSYS_YMAP_FLY_02 = 0xEB5981A9; + private const uint FSYS_YMAP_FLY_22 = 0xEB537E2B; + private const uint FSYS_YMAP_FLY_04 = 0xEB59850F; + private const uint FSYS_YMAP_FLY_05 = 0xEB59835C; + private const uint FSYS_YMAP_FLY_23 = 0xEB537C78; + private const uint FSYS_YMAP_FLY_24 = 0xEB53885D; + private const uint FSYS_YMAP_FLY_14 = 0xEB56944E; + private const uint FSYS_YMAP_FLY_15 = 0xEB569601; + private const uint FSYS_YMAP_FLY_07 = 0xEB5986C2; + private const uint FSYS_YMAP_FLY_08 = 0xEB598BDB; + private const uint FSYS_YMAP_FLY_09 = 0xEB598A28; + private const uint FSYS_YMAP_FLY_25 = 0xEB5386AA; + private const uint FSYS_YMAP_FLY_10 = 0xEB569B1A; + private const uint FSYS_YMAP_FLY_11 = 0xEB569CCD; + private const uint FSYS_YMAP_FLY_26 = 0xEB5384F7; + private const uint FSYS_YMAP_FLY_18 = 0xEB568D82; + private const uint FSYS_YMAP_FLY_16 = 0xEB5690E8; + private const uint FSYS_YMAP_FLY_17 = 0xEB56929B; + private const uint FSYS_YMAP_FLY_19 = 0xEB568F35; + private const uint FSYS_YMAP_FLY_27 = 0xEB538344; + private const uint FSYS_YMAP_FLY_28 = 0xEB5373F9; + private const uint FSYS_YMAP_FLY_13 = 0xEB569967; + private const uint FSYS_YMAP_FLY_29 = 0xEB537246; + private const uint FSYS_YMAP_FLY_30 = 0xEB506808; + private const uint FSYS_YMAP_FLY_20 = 0xEB538191; + private const uint FSYS_YMAP_FLY_21 = 0xEB537FDE; + private const uint FSYS_YMAP_FLY_31 = 0xEB5069BB; + private const uint FSYS_YMAP_FLY_32 = 0xEB506B6E; + private const uint FSYS_YMAP_FLY_33 = 0xEB506D21; + private const uint FSYS_YMAP_FLY_34 = 0xEB506ED4; + private const uint FSYS_YMAP_FLY_35 = 0xEB507087; + private const uint FSYS_YMAP_FLY_MAGATAMA = 0x1530B53C; + private const uint FSYS_YMAP_FLY_MOKKAN = 0x4103198E; + private const uint FSYS_YMAP_FLY_TSURUGI = 0x9DDEC36C; + private const uint FSYS_YMAP_FLY_UTSUWA = 0x1EB92B72; + private const uint FSYS_YMAP_SCENARIO_GYM_DENKI = 0x82305257; + private const uint FSYS_YMAP_SCENARIO_GYM_DENKI_02 = 0x0D109FBE; + private const uint FSYS_YMAP_SCENARIO_GYM_DENKI_03 = 0x0D10A171; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_DENKI = 0x815F4601; + private const uint FSYS_YMAP_SCENARIO_GYM_ESPER = 0xB80A6CE3; + private const uint FSYS_YMAP_SCENARIO_GYM_ESPER_02 = 0x53F2E6DA; + private const uint FSYS_YMAP_SCENARIO_GYM_ESPER_03 = 0x53F2E88D; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_ESPER = 0xD0249A05; + private const uint FSYS_YMAP_SCENARIO_GYM_FINAL = 0xCCB617B0; + private const uint FSYS_YMAP_SCENARIO_GYM_FINAL_02 = 0xBE37FC3F; + private const uint FSYS_YMAP_SCENARIO_GYM_GHOST = 0xCF20EE67; + private const uint FSYS_YMAP_SCENARIO_GYM_GHOST_02 = 0xDBB4D1CE; + private const uint FSYS_YMAP_SCENARIO_GYM_GHOST_03 = 0xDBB4D381; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_GHOST = 0x1C5C88A5; + private const uint FSYS_YMAP_SCENARIO_GYM_KOORI = 0x9197F3C2; + private const uint FSYS_YMAP_SCENARIO_GYM_KOORI_02 = 0x4B6AC965; + private const uint FSYS_YMAP_SCENARIO_GYM_KOORI_03 = 0x4B6AC7B2; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_KOORI = 0x0A9299BC; + private const uint FSYS_YMAP_SCENARIO_GYM_KUSA = 0x0E554BFC; + private const uint FSYS_YMAP_SCENARIO_GYM_KUSA_02 = 0xFF8FF65B; + private const uint FSYS_YMAP_SCENARIO_GYM_KUSA_03 = 0xFF8FF4A8; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_KUSA = 0x26216312; + private const uint FSYS_YMAP_SCENARIO_GYM_MIZU = 0xCE698EA7; + private const uint FSYS_YMAP_SCENARIO_GYM_MIZU_02 = 0x7DF6B20E; + private const uint FSYS_YMAP_SCENARIO_GYM_MIZU_03 = 0x7DF6B3C1; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_MIZU = 0x16452421; + private const uint FSYS_YMAP_SCENARIO_GYM_MUSI = 0x9319C51A; + private const uint FSYS_YMAP_SCENARIO_GYM_MUSI_02 = 0xE8A9553D; + private const uint FSYS_YMAP_SCENARIO_GYM_MUSI_03 = 0xE8A9538A; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_MUSHI = 0x8485AC3A; + private const uint FSYS_YMAP_SCENARIO_GYM_NORMAL = 0xD78448EB; + private const uint FSYS_YMAP_SCENARIO_GYM_NORMAL_02 = 0xA019AFC2; + private const uint FSYS_YMAP_SCENARIO_GYM_NORMAL_03 = 0xA019B175; + private const uint FSYS_YMAP_SCENARIO_GYM_CLEAR_NORMAL = 0x9457390D; + private const uint FSYS_YMAP_MAGATAMA = 0x159DC19E; + private const uint FSYS_YMAP_MOKKAN = 0x22587DBC; + private const uint FSYS_YMAP_TSURUGI = 0x6BA41372; + private const uint FSYS_YMAP_UTSUWA = 0xDD041500; + private const uint FSYS_YMAP_SCENARIO_NUSI_DRAGON = 0x181058F9; + private const uint FSYS_YMAP_SCENARIO_NUSI_DRAGON_02 = 0xE0D86B9C; + private const uint FSYS_YMAP_SCENARIO_NUSHI_FINAL = 0x9F36BA1E; + private const uint FSYS_YMAP_SCENARIO_NUSHI_FINAL_02 = 0xBA776E51; + private const uint FSYS_YMAP_SCENARIO_NUSI_HAGANE = 0x259D1760; + private const uint FSYS_YMAP_SCENARIO_NUSI_HAGANE_02 = 0xF362822F; + private const uint FSYS_YMAP_SCENARIO_NUSI_HIKOU = 0xAC3EC55A; + private const uint FSYS_YMAP_SCENARIO_NUSI_IWA = 0xC593AD1D; + private const uint FSYS_YMAP_SCENARIO_NUSI_IWA_02 = 0xDDEBE5F0; + private const uint FSYS_YMAP_SCENARIO_NUSI_JIMEN = 0xD08966DD; + private const uint FSYS_YMAP_SCENARIO_NUSI_JIMEN_02 = 0x269C23B0; + private const uint FSYS_YMAP_POKECEN_02 = 0xB6119AE9; + private const uint FSYS_YMAP_POKECEN_03 = 0xB6119936; + private const uint FSYS_YMAP_POKECEN_04 = 0xB6119E4F; + private const uint FSYS_YMAP_POKECEN_05 = 0xB6119C9C; + private const uint FSYS_YMAP_POKECEN_06 = 0xB611A1B5; + private const uint FSYS_YMAP_POKECEN_07 = 0xB611A002; + private const uint FSYS_YMAP_POKECEN_08 = 0xB611A51B; + private const uint FSYS_YMAP_POKECEN_09 = 0xB611A368; + private const uint FSYS_YMAP_POKECEN_10 = 0xB60EB45A; + private const uint FSYS_YMAP_POKECEN_11 = 0xB60EB60D; + private const uint FSYS_YMAP_POKECEN_12 = 0xB60EB0F4; + private const uint FSYS_YMAP_POKECEN_13 = 0xB60EB2A7; + private const uint FSYS_YMAP_POKECEN_14 = 0xB60EAD8E; + private const uint FSYS_YMAP_POKECEN_15 = 0xB60EAF41; + private const uint FSYS_YMAP_POKECEN_16 = 0xB60EAA28; + private const uint FSYS_YMAP_POKECEN_17 = 0xB60EABDB; + private const uint FSYS_YMAP_POKECEN_18 = 0xB60EA6C2; + private const uint FSYS_YMAP_POKECEN_19 = 0xB60EA875; + private const uint FSYS_YMAP_POKECEN_20 = 0xB60B9AD1; + private const uint FSYS_YMAP_POKECEN_21 = 0xB60B991E; + private const uint FSYS_YMAP_POKECEN_22 = 0xB60B976B; + private const uint FSYS_YMAP_POKECEN_23 = 0xB60B95B8; + private const uint FSYS_YMAP_POKECEN_24 = 0xB60BA19D; + private const uint FSYS_YMAP_POKECEN_25 = 0xB60B9FEA; + private const uint FSYS_YMAP_POKECEN_26 = 0xB60B9E37; + private const uint FSYS_YMAP_POKECEN_27 = 0xB60B9C84; + private const uint FSYS_YMAP_POKECEN_28 = 0xB60B8D39; + private const uint FSYS_YMAP_POKECEN_29 = 0xB60B8B86; + private const uint FSYS_YMAP_POKECEN_30 = 0xB6088148; + private const uint FSYS_YMAP_POKECEN_31 = 0xB60882FB; + private const uint FSYS_YMAP_POKECEN_32 = 0xB60884AE; + private const uint FSYS_YMAP_POKECEN_33 = 0xB6088661; + private const uint FSYS_YMAP_POKECEN_34 = 0xB6088814; + private const uint FSYS_YMAP_POKECEN_35 = 0xB60889C7; + private const uint FSYS_YMAP_SCENARIO_00 = 0x4019CED4; + private const uint FSYS_YMAP_SCENARIO_01 = 0x4019D087; + private const uint FSYS_YMAP_SCENARIO_02 = 0x4019D23A; + private const uint FSYS_YMAP_SCENARIO_03 = 0x4019D3ED; + private const uint FSYS_YMAP_SCENARIO_04 = 0x4019C808; + private const uint FSYS_YMAP_SCENARIO_05 = 0x4019C9BB; + private const uint FSYS_YMAP_SCENARIO_06 = 0x4019CB6E; + private const uint FSYS_YMAP_SCENARIO_07 = 0x4019CD21; + private const uint FSYS_YMAP_SCENARIO_08 = 0x4019C13C; + private const uint FSYS_YMAP_SCENARIO_COMMON_0060 = 0x6CCF3E58; + private const uint FSYS_YMAP_SCENARIO_COMMON_0090 = 0x6CCCFE4F; + private const uint FSYS_YMAP_SCENARIO_COMMON_0095 = 0x6CCCF5D0; + private const uint FSYS_YMAP_SCENARIO_COMMON_0100 = 0x71C8FCB9; + private const uint FSYS_YMAP_SCENARIO_COMMON_0130 = 0x71CC1642; + private const uint FSYS_YMAP_SCENARIO_COMMON_0170 = 0x71D76C86; + private const uint FSYS_YMAP_SCENARIO_COMMON_0185 = 0x71DFE4BA; + private const uint FSYS_YMAP_SCENARIO_COMMON_0190 = 0x71DCC618; + private const uint FSYS_YMAP_SCENARIO_COMMON_0210 = 0x625B5001; + private const uint FSYS_YMAP_SCENARIO_COMMON_0220 = 0x625D900A; + private const uint FSYS_YMAP_SCENARIO_COMMON_0225 = 0x625D8AF1; + private const uint FSYS_YMAP_SCENARIO_COMMON_0990 = 0x49B67710; + private const uint FSYS_YMAP_SCENARIO_COMMON_1010 = 0x5FB71156; + private const uint FSYS_YMAP_SCENARIO_COMMON_2000 = 0x86D1D28C; + private const uint FSYS_YMAP_SCENARIO_COMMON_2030 = 0x86DB1F27; + private const uint FSYS_YMAP_SCENARIO_COMMON_2070 = 0x86CF9283; + private const uint FSYS_YMAP_SCENARIO_COMMON_2080 = 0x86BB2604; + #endregion + + #region BGM + private const uint KUnlockedMultiplayerBGM01 = 0x7276003E; // FSYS_BGM_VS_SELECT_01 + private const uint KUnlockedMultiplayerBGM02 = 0x7275FE8B; // FSYS_BGM_VS_SELECT_02 + private const uint KUnlockedMultiplayerBGM03 = 0x7275FCD8; // FSYS_BGM_VS_SELECT_03 + private const uint KUnlockedMultiplayerBGM04 = 0x727608BD; // FSYS_BGM_VS_SELECT_04 + private const uint KUnlockedMultiplayerBGM05 = 0x7276070A; // FSYS_BGM_VS_SELECT_05 + private const uint KUnlockedMultiplayerBGM06 = 0x72760557; // FSYS_BGM_VS_SELECT_06 + private const uint KUnlockedMultiplayerBGM07 = 0x727603A4; // FSYS_BGM_VS_SELECT_07 + private const uint KUnlockedMultiplayerBGM08 = 0x7275F459; // FSYS_BGM_VS_SELECT_08 + private const uint KUnlockedMultiplayerBGM09 = 0x7275F2A6; // FSYS_BGM_VS_SELECT_09 + private const uint KUnlockedMultiplayerBGM10 = 0x7273C1E8; // FSYS_BGM_VS_SELECT_10 + private const uint KUnlockedMultiplayerBGM11 = 0x7273C39B; // FSYS_BGM_VS_SELECT_11 + private const uint KUnlockedMultiplayerBGM12 = 0x7273C54E; // FSYS_BGM_VS_SELECT_12 + private const uint KUnlockedMultiplayerBGM13 = 0x7273C701; // FSYS_BGM_VS_SELECT_13 + private const uint KUnlockedMultiplayerBGM14 = 0x7273C8B4; // FSYS_BGM_VS_SELECT_14 + private const uint KUnlockedMultiplayerBGM15 = 0x7273CA67; // FSYS_BGM_VS_SELECT_15 + private const uint KUnlockedMultiplayerBGM16 = 0x7273CC1A; // FSYS_BGM_VS_SELECT_16 + private const uint KUnlockedMultiplayerBGM17 = 0x7273CDCD; // FSYS_BGM_VS_SELECT_17 + private const uint KUnlockedMultiplayerBGM18 = 0x7273B450; // FSYS_BGM_VS_SELECT_18 + private const uint KUnlockedMultiplayerBGM19 = 0x7273B603; // FSYS_BGM_VS_SELECT_19 + private const uint KUnlockedMultiplayerBGM20 = 0x727BFEA3; // FSYS_BGM_VS_SELECT_20 + private const uint KUnlockedMultiplayerBGM21 = 0x727BFCF0; // FSYS_BGM_VS_SELECT_21 + private const uint KUnlockedMultiplayerBGM22 = 0x727C0209; // FSYS_BGM_VS_SELECT_22 + private const uint KUnlockedMultiplayerBGM23 = 0x727C0056; // FSYS_BGM_VS_SELECT_23 + private const uint KUnlockedMultiplayerBGM24 = 0x727C056F; // FSYS_BGM_VS_SELECT_24 + private const uint KUnlockedMultiplayerBGM25 = 0x727C03BC; // FSYS_BGM_VS_SELECT_25 + #endregion + + #region Tips + private const uint FSYS_TIPS_NEW_HOWTO_01 = 0x8D0B961A; + private const uint FSYS_TIPS_NEW_YMAP_01 = 0xB6B855D0; + private const uint FSYS_TIPS_NEW_POKEDEX_01 = 0x1CF8C0C5; + private const uint FSYS_TIPS_NEW_POKEDEX_02 = 0x1CF8BBAC; + private const uint FSYS_TIPS_NEW_BOX_01 = 0xC075A4D0; + private const uint FSYS_TIPS_NEW_POKEGETTUTORIAL_01 = 0x06F21620; + private const uint FSYS_TIPS_NEW_POKEBATTLE_01 = 0xC255FC84; + private const uint FSYS_TIPS_NEW_LETSGO_01 = 0x1B768D79; + private const uint FSYS_TIPS_NEW_TREASUREHUNT_01 = 0x6E40A4E1; + private const uint FSYS_TIPS_NEW_DESTINATION_01 = 0xD23E6A57; + private const uint FSYS_TIPS_NEW_CROSSKEY_01 = 0x93E7F4A0; + private const uint FSYS_TIPS_NEW_LOCKON_01 = 0x81281903; + private const uint FSYS_TIPS_NEW_QUICKRECOVERY_01 = 0x7F53596B; + private const uint FSYS_TIPS_NEW_HIDEWALK_01 = 0x07F7526E; + private const uint FSYS_TIPS_NEW_WAZAREMEMBER_01 = 0xA74B89AB; + private const uint FSYS_TIPS_NEW_POKERUSH_01 = 0x950B300C; + private const uint FSYS_TIPS_NEW_UNIONCIRCLE_01 = 0xD087BBD6; + private const uint FSYS_TIPS_NEW_TTYPE_01 = 0x1D3E0B23; + private const uint FSYS_TIPS_NEW_PHOTOMODE_01 = 0x1756CFD2; + private const uint FSYS_TIPS_NEW_SHOPWAZAMACHINE_01 = 0x13EE2DB5; + private const uint FSYS_TIPS_NEW_POKEPICNIC_01 = 0x2C0929E0; + private const uint FSYS_TIPS_NEW_COOKING_01 = 0x56AF4A17; + private const uint FSYS_TIPS_NEW_POKEWASH_01 = 0xA14D9063; + private const uint FSYS_TIPS_NEW_LEAGUCARD_01 = 0x2BC75897; + private const uint FSYS_TIPS_NEW_RAIDSPOT_01 = 0x1803F741; + private const uint FSYS_TIPS_NEW_RAIDBATTLE_01 = 0xD864A863; + private const uint FSYS_TIPS_NEW_DANBATTLE_01 = 0x5839AFD8; + private const uint FSYS_TIPS_NEW_BATTLESTADIUM_02 = 0x36C706A1; + private const uint FSYS_TIPS_NEW_BATTLESTADIUM_03 = 0x36C704EE; + private const uint FSYS_TIPS_NEW_BATTLESTADIUM_04 = 0x36C70A07; + private const uint FSYS_TIPS_NEW_MYSTERY_01 = 0x709264C4; + private const uint FSYS_TIPS_NEW_RIDEON_01 = 0x43543908; + private const uint FSYS_TIPS_NEW_RIDEON_02 = 0x43543E21; + private const uint FSYS_TIPS_NEW_RIDEDASH_01 = 0x714A76A3; + private const uint FSYS_TIPS_NEW_RIDEJUMP_01 = 0xEEDD8AA3; + private const uint FSYS_TIPS_NEW_RIDECLIMB_01 = 0x4690A9A6; + private const uint FSYS_TIPS_NEW_RIDEGLID_01 = 0x2C808979; + private const uint FSYS_TIPS_NEW_RIDEFLOAT_01 = 0xDC51E1CB; + private const uint FSYS_TIPS_NEW_RIDEDASH_02 = 0x714A7856; + private const uint FSYS_TIPS_NEW_RIDEJUMP_02 = 0xEEDD8C56; + private const uint FSYS_TIPS_NEW_RIDECLIMB_02 = 0x4690A7F3; + private const uint FSYS_TIPS_NEW_RIDEGLID_02 = 0x2C808460; + private const uint FSYS_TIPS_NEW_RIDEFLOAT_02 = 0xDC51E37E; + private const uint FSYS_TIPS_NEW_RIDEFORM_01 = 0x54689EBD; + private const uint FSYS_TIPS_NEW_RIDEFORM_02 = 0x546899A4; + private const uint FSYS_TIPS_NEW_RENTALTEAM_01 = 0x4CDE35CC; + private const uint FSYS_TIPS_NEW_TSYMBOL_01 = 0x316CB3C3; + private const uint FSYS_TIPS_NEW_GSRULE_01 = 0xD89BDB81; + private const uint FSYS_TIPS_NEW_POKETRADE_01 = 0x0B85E5F8; + private const uint FSYS_TIPS_NEW_JUDGE_01 = 0x6E0C61B2; + private const uint FSYS_TIPS_NEW_RAIDBATTLE_02 = 0xD864AA16; + #endregion + + #region TM + private const uint KCanCraftTM001 = 0xF28D370B; // FSYS_UI_WAZA_MACHINE_RELEASE_001 + private const uint KCanCraftTM002 = 0xF28D38BE; // FSYS_UI_WAZA_MACHINE_RELEASE_002 + private const uint KCanCraftTM003 = 0xF28D3A71; // FSYS_UI_WAZA_MACHINE_RELEASE_003 + private const uint KCanCraftTM004 = 0xF28D3C24; // FSYS_UI_WAZA_MACHINE_RELEASE_004 + private const uint KCanCraftTM005 = 0xF28D3DD7; // FSYS_UI_WAZA_MACHINE_RELEASE_005 + private const uint KCanCraftTM006 = 0xF28D3F8A; // FSYS_UI_WAZA_MACHINE_RELEASE_006 + private const uint KCanCraftTM007 = 0xF28D413D; // FSYS_UI_WAZA_MACHINE_RELEASE_007 + private const uint KCanCraftTM008 = 0xF28D27C0; // FSYS_UI_WAZA_MACHINE_RELEASE_008 + private const uint KCanCraftTM009 = 0xF28D2973; // FSYS_UI_WAZA_MACHINE_RELEASE_009 + private const uint KCanCraftTM010 = 0xF2904EE1; // FSYS_UI_WAZA_MACHINE_RELEASE_010 + private const uint KCanCraftTM011 = 0xF2904D2E; // FSYS_UI_WAZA_MACHINE_RELEASE_011 + private const uint KCanCraftTM012 = 0xF2904B7B; // FSYS_UI_WAZA_MACHINE_RELEASE_012 + private const uint KCanCraftTM013 = 0xF29049C8; // FSYS_UI_WAZA_MACHINE_RELEASE_013 + private const uint KCanCraftTM014 = 0xF29055AD; // FSYS_UI_WAZA_MACHINE_RELEASE_014 + private const uint KCanCraftTM015 = 0xF29053FA; // FSYS_UI_WAZA_MACHINE_RELEASE_015 + private const uint KCanCraftTM016 = 0xF2905247; // FSYS_UI_WAZA_MACHINE_RELEASE_016 + private const uint KCanCraftTM017 = 0xF2905094; // FSYS_UI_WAZA_MACHINE_RELEASE_017 + private const uint KCanCraftTM018 = 0xF2904149; // FSYS_UI_WAZA_MACHINE_RELEASE_018 + private const uint KCanCraftTM019 = 0xF2903F96; // FSYS_UI_WAZA_MACHINE_RELEASE_019 + private const uint KCanCraftTM020 = 0xF293686A; // FSYS_UI_WAZA_MACHINE_RELEASE_020 + private const uint KCanCraftTM021 = 0xF2936A1D; // FSYS_UI_WAZA_MACHINE_RELEASE_021 + private const uint KCanCraftTM022 = 0xF2936504; // FSYS_UI_WAZA_MACHINE_RELEASE_022 + private const uint KCanCraftTM023 = 0xF29366B7; // FSYS_UI_WAZA_MACHINE_RELEASE_023 + private const uint KCanCraftTM024 = 0xF293619E; // FSYS_UI_WAZA_MACHINE_RELEASE_024 + private const uint KCanCraftTM025 = 0xF2936351; // FSYS_UI_WAZA_MACHINE_RELEASE_025 + private const uint KCanCraftTM026 = 0xF2935E38; // FSYS_UI_WAZA_MACHINE_RELEASE_026 + private const uint KCanCraftTM027 = 0xF2935FEB; // FSYS_UI_WAZA_MACHINE_RELEASE_027 + private const uint KCanCraftTM028 = 0xF2935AD2; // FSYS_UI_WAZA_MACHINE_RELEASE_028 + private const uint KCanCraftTM029 = 0xF2935C85; // FSYS_UI_WAZA_MACHINE_RELEASE_029 + private const uint KCanCraftTM030 = 0xF2964B93; // FSYS_UI_WAZA_MACHINE_RELEASE_030 + private const uint KCanCraftTM031 = 0xF29649E0; // FSYS_UI_WAZA_MACHINE_RELEASE_031 + private const uint KCanCraftTM032 = 0xF2964EF9; // FSYS_UI_WAZA_MACHINE_RELEASE_032 + private const uint KCanCraftTM033 = 0xF2964D46; // FSYS_UI_WAZA_MACHINE_RELEASE_033 + private const uint KCanCraftTM034 = 0xF296525F; // FSYS_UI_WAZA_MACHINE_RELEASE_034 + private const uint KCanCraftTM035 = 0xF29650AC; // FSYS_UI_WAZA_MACHINE_RELEASE_035 + private const uint KCanCraftTM036 = 0xF29655C5; // FSYS_UI_WAZA_MACHINE_RELEASE_036 + private const uint KCanCraftTM037 = 0xF2965412; // FSYS_UI_WAZA_MACHINE_RELEASE_037 + private const uint KCanCraftTM038 = 0xF296592B; // FSYS_UI_WAZA_MACHINE_RELEASE_038 + private const uint KCanCraftTM039 = 0xF2965778; // FSYS_UI_WAZA_MACHINE_RELEASE_039 + private const uint KCanCraftTM040 = 0xF299651C; // FSYS_UI_WAZA_MACHINE_RELEASE_040 + private const uint KCanCraftTM041 = 0xF29966CF; // FSYS_UI_WAZA_MACHINE_RELEASE_041 + private const uint KCanCraftTM042 = 0xF2996882; // FSYS_UI_WAZA_MACHINE_RELEASE_042 + private const uint KCanCraftTM043 = 0xF2996A35; // FSYS_UI_WAZA_MACHINE_RELEASE_043 + private const uint KCanCraftTM044 = 0xF2995E50; // FSYS_UI_WAZA_MACHINE_RELEASE_044 + private const uint KCanCraftTM045 = 0xF2996003; // FSYS_UI_WAZA_MACHINE_RELEASE_045 + private const uint KCanCraftTM046 = 0xF29961B6; // FSYS_UI_WAZA_MACHINE_RELEASE_046 + private const uint KCanCraftTM047 = 0xF2996369; // FSYS_UI_WAZA_MACHINE_RELEASE_047 + private const uint KCanCraftTM048 = 0xF29972B4; // FSYS_UI_WAZA_MACHINE_RELEASE_048 + private const uint KCanCraftTM049 = 0xF2997467; // FSYS_UI_WAZA_MACHINE_RELEASE_049 + private const uint KCanCraftTM050 = 0xF29BA525; // FSYS_UI_WAZA_MACHINE_RELEASE_050 + private const uint KCanCraftTM051 = 0xF29BA372; // FSYS_UI_WAZA_MACHINE_RELEASE_051 + private const uint KCanCraftTM052 = 0xF29BA1BF; // FSYS_UI_WAZA_MACHINE_RELEASE_052 + private const uint KCanCraftTM053 = 0xF29BA00C; // FSYS_UI_WAZA_MACHINE_RELEASE_053 + private const uint KCanCraftTM054 = 0xF29B9E59; // FSYS_UI_WAZA_MACHINE_RELEASE_054 + private const uint KCanCraftTM055 = 0xF29B9CA6; // FSYS_UI_WAZA_MACHINE_RELEASE_055 + private const uint KCanCraftTM056 = 0xF29B9AF3; // FSYS_UI_WAZA_MACHINE_RELEASE_056 + private const uint KCanCraftTM057 = 0xF29B9940; // FSYS_UI_WAZA_MACHINE_RELEASE_057 + private const uint KCanCraftTM058 = 0xF29BB2BD; // FSYS_UI_WAZA_MACHINE_RELEASE_058 + private const uint KCanCraftTM059 = 0xF29BB10A; // FSYS_UI_WAZA_MACHINE_RELEASE_059 + private const uint KCanCraftTM060 = 0xF29EBEAE; // FSYS_UI_WAZA_MACHINE_RELEASE_060 + private const uint KCanCraftTM061 = 0xF29EC061; // FSYS_UI_WAZA_MACHINE_RELEASE_061 + private const uint KCanCraftTM062 = 0xF29EBB48; // FSYS_UI_WAZA_MACHINE_RELEASE_062 + private const uint KCanCraftTM063 = 0xF29EBCFB; // FSYS_UI_WAZA_MACHINE_RELEASE_063 + private const uint KCanCraftTM064 = 0xF29EC57A; // FSYS_UI_WAZA_MACHINE_RELEASE_064 + private const uint KCanCraftTM065 = 0xF29EC72D; // FSYS_UI_WAZA_MACHINE_RELEASE_065 + private const uint KCanCraftTM066 = 0xF29EC214; // FSYS_UI_WAZA_MACHINE_RELEASE_066 + private const uint KCanCraftTM067 = 0xF29EC3C7; // FSYS_UI_WAZA_MACHINE_RELEASE_067 + private const uint KCanCraftTM068 = 0xF29EB116; // FSYS_UI_WAZA_MACHINE_RELEASE_068 + private const uint KCanCraftTM069 = 0xF29EB2C9; // FSYS_UI_WAZA_MACHINE_RELEASE_069 + private const uint KCanCraftTM070 = 0xF2A1D837; // FSYS_UI_WAZA_MACHINE_RELEASE_070 + private const uint KCanCraftTM071 = 0xF2A1D684; // FSYS_UI_WAZA_MACHINE_RELEASE_071 + private const uint KCanCraftTM072 = 0xF2A1DB9D; // FSYS_UI_WAZA_MACHINE_RELEASE_072 + private const uint KCanCraftTM073 = 0xF2A1D9EA; // FSYS_UI_WAZA_MACHINE_RELEASE_073 + private const uint KCanCraftTM074 = 0xF2A1D16B; // FSYS_UI_WAZA_MACHINE_RELEASE_074 + private const uint KCanCraftTM075 = 0xF2A1CFB8; // FSYS_UI_WAZA_MACHINE_RELEASE_075 + private const uint KCanCraftTM076 = 0xF2A1D4D1; // FSYS_UI_WAZA_MACHINE_RELEASE_076 + private const uint KCanCraftTM077 = 0xF2A1D31E; // FSYS_UI_WAZA_MACHINE_RELEASE_077 + private const uint KCanCraftTM078 = 0xF2A1CA9F; // FSYS_UI_WAZA_MACHINE_RELEASE_078 + private const uint KCanCraftTM079 = 0xF2A1C8EC; // FSYS_UI_WAZA_MACHINE_RELEASE_079 + private const uint KCanCraftTM080 = 0xF2765270; // FSYS_UI_WAZA_MACHINE_RELEASE_080 + private const uint KCanCraftTM081 = 0xF2765423; // FSYS_UI_WAZA_MACHINE_RELEASE_081 + private const uint KCanCraftTM082 = 0xF27655D6; // FSYS_UI_WAZA_MACHINE_RELEASE_082 + private const uint KCanCraftTM083 = 0xF2765789; // FSYS_UI_WAZA_MACHINE_RELEASE_083 + private const uint KCanCraftTM084 = 0xF276593C; // FSYS_UI_WAZA_MACHINE_RELEASE_084 + private const uint KCanCraftTM085 = 0xF2765AEF; // FSYS_UI_WAZA_MACHINE_RELEASE_085 + private const uint KCanCraftTM086 = 0xF2765CA2; // FSYS_UI_WAZA_MACHINE_RELEASE_086 + private const uint KCanCraftTM087 = 0xF2765E55; // FSYS_UI_WAZA_MACHINE_RELEASE_087 + private const uint KCanCraftTM088 = 0xF2766008; // FSYS_UI_WAZA_MACHINE_RELEASE_088 + private const uint KCanCraftTM089 = 0xF27661BB; // FSYS_UI_WAZA_MACHINE_RELEASE_089 + private const uint KCanCraftTM090 = 0xF2796BF9; // FSYS_UI_WAZA_MACHINE_RELEASE_090 + private const uint KCanCraftTM091 = 0xF2796A46; // FSYS_UI_WAZA_MACHINE_RELEASE_091 + private const uint KCanCraftTM092 = 0xF2796893; // FSYS_UI_WAZA_MACHINE_RELEASE_092 + private const uint KCanCraftTM093 = 0xF27966E0; // FSYS_UI_WAZA_MACHINE_RELEASE_093 + private const uint KCanCraftTM094 = 0xF27972C5; // FSYS_UI_WAZA_MACHINE_RELEASE_094 + private const uint KCanCraftTM095 = 0xF2797112; // FSYS_UI_WAZA_MACHINE_RELEASE_095 + private const uint KCanCraftTM096 = 0xF2796F5F; // FSYS_UI_WAZA_MACHINE_RELEASE_096 + private const uint KCanCraftTM097 = 0xF2796DAC; // FSYS_UI_WAZA_MACHINE_RELEASE_097 + private const uint KCanCraftTM098 = 0xF2797991; // FSYS_UI_WAZA_MACHINE_RELEASE_098 + private const uint KCanCraftTM099 = 0xF27977DE; // FSYS_UI_WAZA_MACHINE_RELEASE_099 + private const uint KCanCraftTM100 = 0xF7D23C43; // FSYS_UI_WAZA_MACHINE_RELEASE_100 + private const uint KCanCraftTM101 = 0xF7D23A90; // FSYS_UI_WAZA_MACHINE_RELEASE_101 + private const uint KCanCraftTM102 = 0xF7D23FA9; // FSYS_UI_WAZA_MACHINE_RELEASE_102 + private const uint KCanCraftTM103 = 0xF7D23DF6; // FSYS_UI_WAZA_MACHINE_RELEASE_103 + private const uint KCanCraftTM104 = 0xF7D2430F; // FSYS_UI_WAZA_MACHINE_RELEASE_104 + private const uint KCanCraftTM105 = 0xF7D2415C; // FSYS_UI_WAZA_MACHINE_RELEASE_105 + private const uint KCanCraftTM106 = 0xF7D24675; // FSYS_UI_WAZA_MACHINE_RELEASE_106 + private const uint KCanCraftTM107 = 0xF7D244C2; // FSYS_UI_WAZA_MACHINE_RELEASE_107 + private const uint KCanCraftTM108 = 0xF7D249DB; // FSYS_UI_WAZA_MACHINE_RELEASE_108 + private const uint KCanCraftTM109 = 0xF7D24828; // FSYS_UI_WAZA_MACHINE_RELEASE_109 + private const uint KCanCraftTM110 = 0xF7CF591A; // FSYS_UI_WAZA_MACHINE_RELEASE_110 + private const uint KCanCraftTM111 = 0xF7CF5ACD; // FSYS_UI_WAZA_MACHINE_RELEASE_111 + private const uint KCanCraftTM112 = 0xF7CF55B4; // FSYS_UI_WAZA_MACHINE_RELEASE_112 + private const uint KCanCraftTM113 = 0xF7CF5767; // FSYS_UI_WAZA_MACHINE_RELEASE_113 + private const uint KCanCraftTM114 = 0xF7CF524E; // FSYS_UI_WAZA_MACHINE_RELEASE_114 + private const uint KCanCraftTM115 = 0xF7CF5401; // FSYS_UI_WAZA_MACHINE_RELEASE_115 + private const uint KCanCraftTM116 = 0xF7CF4EE8; // FSYS_UI_WAZA_MACHINE_RELEASE_116 + private const uint KCanCraftTM117 = 0xF7CF509B; // FSYS_UI_WAZA_MACHINE_RELEASE_117 + private const uint KCanCraftTM118 = 0xF7CF4B82; // FSYS_UI_WAZA_MACHINE_RELEASE_118 + private const uint KCanCraftTM119 = 0xF7CF4D35; // FSYS_UI_WAZA_MACHINE_RELEASE_119 + private const uint KCanCraftTM120 = 0xF7CC3F91; // FSYS_UI_WAZA_MACHINE_RELEASE_120 + private const uint KCanCraftTM121 = 0xF7CC3DDE; // FSYS_UI_WAZA_MACHINE_RELEASE_121 + private const uint KCanCraftTM122 = 0xF7CC3C2B; // FSYS_UI_WAZA_MACHINE_RELEASE_122 + private const uint KCanCraftTM123 = 0xF7CC3A78; // FSYS_UI_WAZA_MACHINE_RELEASE_123 + private const uint KCanCraftTM124 = 0xF7CC465D; // FSYS_UI_WAZA_MACHINE_RELEASE_124 + private const uint KCanCraftTM125 = 0xF7CC44AA; // FSYS_UI_WAZA_MACHINE_RELEASE_125 + private const uint KCanCraftTM126 = 0xF7CC42F7; // FSYS_UI_WAZA_MACHINE_RELEASE_126 + private const uint KCanCraftTM127 = 0xF7CC4144; // FSYS_UI_WAZA_MACHINE_RELEASE_127 + private const uint KCanCraftTM128 = 0xF7CC31F9; // FSYS_UI_WAZA_MACHINE_RELEASE_128 + private const uint KCanCraftTM129 = 0xF7CC3046; // FSYS_UI_WAZA_MACHINE_RELEASE_129 + private const uint KCanCraftTM130 = 0xF7C92608; // FSYS_UI_WAZA_MACHINE_RELEASE_130 + private const uint KCanCraftTM131 = 0xF7C927BB; // FSYS_UI_WAZA_MACHINE_RELEASE_131 + private const uint KCanCraftTM132 = 0xF7C9296E; // FSYS_UI_WAZA_MACHINE_RELEASE_132 + private const uint KCanCraftTM133 = 0xF7C92B21; // FSYS_UI_WAZA_MACHINE_RELEASE_133 + private const uint KCanCraftTM134 = 0xF7C92CD4; // FSYS_UI_WAZA_MACHINE_RELEASE_134 + private const uint KCanCraftTM135 = 0xF7C92E87; // FSYS_UI_WAZA_MACHINE_RELEASE_135 + private const uint KCanCraftTM136 = 0xF7C9303A; // FSYS_UI_WAZA_MACHINE_RELEASE_136 + private const uint KCanCraftTM137 = 0xF7C931ED; // FSYS_UI_WAZA_MACHINE_RELEASE_137 + private const uint KCanCraftTM138 = 0xF7C91870; // FSYS_UI_WAZA_MACHINE_RELEASE_138 + private const uint KCanCraftTM139 = 0xF7C91A23; // FSYS_UI_WAZA_MACHINE_RELEASE_139 + private const uint KCanCraftTM140 = 0xF7DDC8E7; // FSYS_UI_WAZA_MACHINE_RELEASE_140 + private const uint KCanCraftTM141 = 0xF7DDC734; // FSYS_UI_WAZA_MACHINE_RELEASE_141 + private const uint KCanCraftTM142 = 0xF7DDCC4D; // FSYS_UI_WAZA_MACHINE_RELEASE_142 + private const uint KCanCraftTM143 = 0xF7DDCA9A; // FSYS_UI_WAZA_MACHINE_RELEASE_143 + private const uint KCanCraftTM144 = 0xF7DDC21B; // FSYS_UI_WAZA_MACHINE_RELEASE_144 + private const uint KCanCraftTM145 = 0xF7DDC068; // FSYS_UI_WAZA_MACHINE_RELEASE_145 + private const uint KCanCraftTM146 = 0xF7DDC581; // FSYS_UI_WAZA_MACHINE_RELEASE_146 + private const uint KCanCraftTM147 = 0xF7DDC3CE; // FSYS_UI_WAZA_MACHINE_RELEASE_147 + private const uint KCanCraftTM148 = 0xF7DDBB4F; // FSYS_UI_WAZA_MACHINE_RELEASE_148 + private const uint KCanCraftTM149 = 0xF7DDB99C; // FSYS_UI_WAZA_MACHINE_RELEASE_149 + private const uint KCanCraftTM150 = 0xF7DAAF5E; // FSYS_UI_WAZA_MACHINE_RELEASE_150 + private const uint KCanCraftTM151 = 0xF7DAB111; // FSYS_UI_WAZA_MACHINE_RELEASE_151 + private const uint KCanCraftTM152 = 0xF7DAABF8; // FSYS_UI_WAZA_MACHINE_RELEASE_152 + private const uint KCanCraftTM153 = 0xF7DAADAB; // FSYS_UI_WAZA_MACHINE_RELEASE_153 + private const uint KCanCraftTM154 = 0xF7DAB62A; // FSYS_UI_WAZA_MACHINE_RELEASE_154 + private const uint KCanCraftTM155 = 0xF7DAB7DD; // FSYS_UI_WAZA_MACHINE_RELEASE_155 + private const uint KCanCraftTM156 = 0xF7DAB2C4; // FSYS_UI_WAZA_MACHINE_RELEASE_156 + private const uint KCanCraftTM157 = 0xF7DAB477; // FSYS_UI_WAZA_MACHINE_RELEASE_157 + private const uint KCanCraftTM158 = 0xF7DAA1C6; // FSYS_UI_WAZA_MACHINE_RELEASE_158 + private const uint KCanCraftTM159 = 0xF7DAA379; // FSYS_UI_WAZA_MACHINE_RELEASE_159 + private const uint KCanCraftTM160 = 0xF7D795D5; // FSYS_UI_WAZA_MACHINE_RELEASE_160 + private const uint KCanCraftTM161 = 0xF7D79422; // FSYS_UI_WAZA_MACHINE_RELEASE_161 + private const uint KCanCraftTM162 = 0xF7D7926F; // FSYS_UI_WAZA_MACHINE_RELEASE_162 + private const uint KCanCraftTM163 = 0xF7D790BC; // FSYS_UI_WAZA_MACHINE_RELEASE_163 + private const uint KCanCraftTM164 = 0xF7D78F09; // FSYS_UI_WAZA_MACHINE_RELEASE_164 + private const uint KCanCraftTM165 = 0xF7D78D56; // FSYS_UI_WAZA_MACHINE_RELEASE_165 + private const uint KCanCraftTM166 = 0xF7D78BA3; // FSYS_UI_WAZA_MACHINE_RELEASE_166 + private const uint KCanCraftTM167 = 0xF7D789F0; // FSYS_UI_WAZA_MACHINE_RELEASE_167 + private const uint KCanCraftTM168 = 0xF7D7A36D; // FSYS_UI_WAZA_MACHINE_RELEASE_168 + private const uint KCanCraftTM169 = 0xF7D7A1BA; // FSYS_UI_WAZA_MACHINE_RELEASE_169 + private const uint KCanCraftTM170 = 0xF7D47C4C; // FSYS_UI_WAZA_MACHINE_RELEASE_170 + private const uint KCanCraftTM171 = 0xF7D47DFF; // FSYS_UI_WAZA_MACHINE_RELEASE_171 + #endregion + + #region Other System Flags (Humanized, Hash, Internal Name) + private const uint KUnlockedIVJudge = 0x7C6E7444; // FSYS_BOX_JUDGE + private const uint KUnlockedUpgradeHighJump = 0x54B8E8E1; // FSYS_RIDE_HIJUMP_ENABLE + private const uint KUnlockedUpgradeDash = 0x0D707154; // FSYS_RIDE_DASH_ENABLE + private const uint KUnlockedUpgradeClimb = 0x6ABB01F7; // FSYS_RIDE_CLIMB_ENABLE + private const uint KUnlockedUpgradeGlide = 0x9DDF953F; // FSYS_RIDE_GLIDE_ENABLE + private const uint KUnlockedUpgradeSwim = 0x76FF4AF0; // FSYS_RIDE_SWIM_ENABLE + private const uint KUnlockedRaidDifficulty3 = 0xEC95D8EF; // FSYS_RAID_DIFFICTLTY3_RELEASE + private const uint KUnlockedRaidDifficulty4 = 0xA9428DFE; // FSYS_RAID_DIFFICTLTY4_RELEASE + private const uint KUnlockedRaidDifficulty5 = 0x9535F471; // FSYS_RAID_DIFFICTLTY5_RELEASE + private const uint KUnlockedRaidDifficulty6 = 0x6E7F8220; // FSYS_RAID_DIFFICTLTY6_RELEASE + private const uint KUnlockedTeraRaidBattles = 0x27025EBF; // FSYS_RAID_SCENARIO_00 + private const uint KUnlockedLetsGo = 0xF4670B74; // FSYS_LETSGO_UNLOCK + private const uint KUnlockedMap = 0xC7B5D24A; // FSYS_YMAP_ENABLE + private const uint KUnlockedMassOutbreaks = 0x94D0D4DB; // FSYS_ENCOUNT_OUTBREAK + private const uint KUnlockedTeraTypeChanging = 0x13DB4C8F; // FSYS_GEM_CHANGE_ENABLE + private const uint KUnlockedYMapSubMenu = 0xE9F1D866; // FSYS_YMAP_TOPMENU_UNLOCK_01 + private const uint KSelectedBirthday = 0xB1AF24E4; // FSYS_IS_INPUT_BIRTHDAY + private const uint KUnlockedEmotes = 0xCB13D905; // FSYS_EMOTE_UNLOCK_EVENT + + private const uint KGameClear = 0x92CE2CF6; // FSYS_SCENARIO_GAME_CLEAR + private const uint KCanRideLegendary = 0xB9B1220D; // FSYS_RIDE_ENABLE + private const uint KFixedSpawnsOnly = 0x8BA58864; // FSYS_ENCOUNT_FIXEDSPAWN_ONLY + private const uint KWildSpawnsEnabled = 0xC812EDC7; // FSYS_ENCOUNT_ENABLE_SPAWN + private const uint KIsBirthdayToday = 0xB223D309; // FSYS_BIRTHDAY_EVENT + private const uint KClaimedPokedexDiploma = 0xF7900D11; // FSYS_POKEDEX_SYOUJOU_EVENT + private const uint KCanClaimPokedexDiploma = 0xF0D246CC; // FSYS_POKEDEX_SYOUJOU_ENABLE + private const uint KReceivedMasterRankRibbon = 0x44CA754B; // FSYS_GET_RIBBON_MASTERRANK + private const uint KIsFlyDisabled = 0xC1555927; // FSYS_FLY_DISABLE + + private const uint FSYS_REPORT_DISABLE = 0xFD2B3BCA; + private const uint FSYS_MISTER_TRAINER_START = 0x2EF38578; + private const uint FSYS_XMENU_POKELIST_RIDE = 0x091382AD; + private const uint FSYS_XMENU_FULLOPEN = 0xFE482E4A; + private const uint FSYS_CLIFF_RETURN_DISABLE = 0x77A4B321; + private const uint FSYS_YMAP_TOPMENU_UNLOCK_00 = 0xE9F1DA19; + private const uint FSYS_YMAP_TOPMENU_UNLOCK_EVENT_00 = 0x35B97ADC; + private const uint FSYS_YMAP_TOPMENU_UNLOCK_EVENT_01 = 0x35B97C8F; + private const uint FSYS_UI_BLUR_ENABLE = 0x68B12197; + private const uint FSYS_RIDEPOKEBATTLE = 0xC31D56D6; + private const uint FSYS_BATTLE_STUDIUM_BATTLE_TERMS = 0x788E0AC8; + private const uint FSYS_YMAP_MASS_TEST_01 = 0x8EE54640; + private const uint FSYS_YMAP_MASS_TEST_02 = 0x8EE54B59; + private const uint FSYS_YMAP_MASS_TEST_03 = 0x8EE549A6; + private const uint FSYS_YMAP_MASS_TEST_04 = 0x8EE54EBF; + private const uint FSYS_YMAP_MASS_TEST_05 = 0x8EE54D0C; + private const uint FSYS_YMAP_POK_02 = 0x30C57070; + private const uint FSYS_YMAP_RAID_TEST_01 = 0xE93B3430; + private const uint FSYS_YMAP_RAID_TEST_02 = 0xE93B3949; + private const uint FSYS_YMAP_RAID_TEST_03 = 0xE93B3796; + private const uint FSYS_YMAP_RAID_TEST_04 = 0xE93B3CAF; + private const uint FSYS_YMAP_RAID_TEST_05 = 0xE93B3AFC; + private const uint FSYS_RAID_DIFFICTLTY4_SURVEY = 0x2985A8E7; + private const uint FSYS_RAID_DIFFICTLTY5_SURVEY = 0x48A247BA; + private const uint FSYS_RAID_DIFFICTLTY6_SURVEY = 0xAD1DC231; + private const uint FSYS_NETCONTENTS_OFF = 0x9AB093F2; + + #endregion + + #region FEVT + private const uint FEVT_1ST_BATTLE_TOURNAMENT_LOST = 0x820A884D; + private const uint FEVT_AJITO_AKU_BOSS_CHALLENGED_TODAY = 0x2DAF633E; + private const uint FEVT_AJITO_DOKU_BOSS_CHALLENGED_TODAY = 0xCE233DCE; + private const uint FEVT_AJITO_FAIRY_BOSS_CHALLENGED_TODAY = 0x08EB6E34; + private const uint FEVT_AJITO_HONOO_BOSS_CHALLENGED_TODAY = 0x57A4FAC2; + private const uint FEVT_AJITO_KAKUTOU_BOSS_CHALLENGED_TODAY = 0xC0D96AD5; + private const uint FEVT_ATLANTIS_BASE_A1_EVENT_END = 0xED39BBAD; + private const uint FEVT_ATLANTIS_BASE_A2_EVENT_END = 0x3C0C05F0; + private const uint FEVT_ATLANTIS_BASE_A3_EVENT_END = 0x7F9FD74F; + private const uint FEVT_CHAMP_HAVE_FAILED_INTERVIEW = 0x10E3E483; + private const uint FEVT_CHAMP_PASS_1ST_INTERVIEW = 0x5F25E6E9; + private const uint FEVT_COMMON_0065_FORCE_WALK = 0x8F0BC4E2; + private const uint FEVT_COMMON_0140_NO_ENCOUNT = 0xF06488B7; + private const uint FEVT_GYM_ESPER_TEST_BATTLE_WIN = 0x1C661813; + private const uint FEVT_GYM_ESPER_TEST_TALKED = 0x883253B3; + private const uint FEVT_GYM_KUSA_SUB_EVENT_AGREE = 0x851FB75A; + private const uint FEVT_GYM_KUSA_TEST_AGREE = 0x92EE4167; + private const uint FEVT_GYM_KUSA_TEST_BATTLE01_WIN = 0x6FEB5F41; + private const uint FEVT_GYM_KUSA_TEST_BATTLE02_WIN = 0xE81273B4; + private const uint FEVT_GYM_KUSA_TEST_BATTLE03_WIN = 0x1245C70B; + private const uint FEVT_GYM_KUSA_TEST_BATTLE04_WIN = 0x358E0EBE; + private const uint FEVT_GYM_KUSA_TEST_BATTLE05_WIN = 0x063CE0F5; + private const uint FEVT_GYM_MUSHI_TEST_BATTLE01_WIN = 0x6C9FBBBB; + private const uint FEVT_GYM_MUSHI_TEST_BATTLE02_WIN = 0x4FB3E2AA; + private const uint FEVT_GYM_MUSHI_TEST_TALKED = 0xDF33CFF8; + private const uint FEVT_MOTHER_MASTER_RECIPE_ADD_END = 0xA796AC7C; + private const uint FEVT_MOTHER_NORMAL_RECIPE_ADD_END = 0x0629031F; + private const uint FEVT_NUSHI_DRAGON_EVENT_END = 0x3B815FEB; + private const uint FEVT_NUSHI_DRAGON_FOOD_GET = 0x813881DC; + private const uint FEVT_NUSHI_HAGANE_EVENT_END = 0x2F9F93C2; + private const uint FEVT_NUSHI_HAGANE_FOOD_GET = 0x373D95BB; + private const uint FEVT_NUSHI_HIKOU_EVENT_END = 0x375F553A; + private const uint FEVT_NUSHI_HIKOU_FOOD_GET = 0x0403FC03; + private const uint FEVT_NUSHI_IWA_EVENT_END = 0x571D5C39; + private const uint FEVT_NUSHI_IWA_FOOD_GET = 0xDE305802; + private const uint FEVT_NUSHI_JIMEN_EVENT_END = 0x6377C805; + private const uint FEVT_NUSHI_JIMEN_FOOD_GET = 0xAD1BA90E; + private const uint FEVT_SEAMLESS_TALK_BATTLE_LOSE = 0x924E346A; + private const uint FEVT_SERI_LEGEND_0112 = 0x8048F243; + private const uint FEVT_SERI_LEGEND_0135 = 0x804E5454; + private const uint FEVT_SERI_LEGEND_0136 = 0x804E596D; + private const uint FEVT_SERI_LEGEND_0298 = 0x8E874DC8; + private const uint FEVT_SERI_LEGEND_0299 = 0x8E874F7B; + private const uint FEVT_SERI_LEGEND_0300 = 0x895CD8D6; + private const uint FEVT_SERI_LEGEND_0301 = 0x895CDA89; + private const uint FEVT_SERI_LEGEND_0302 = 0x895CD570; + private const uint FEVT_SERI_LEGEND_0303 = 0x895CD723; + private const uint FEVT_SERI_LEGEND_0304 = 0x895CDFA2; + private const uint FEVT_SERI_LEGEND_0305 = 0x895CE155; + private const uint FEVT_SERI_LEGEND_0306 = 0x895CDC3C; + private const uint FEVT_SERI_LEGEND_0307 = 0x895CDDEF; + private const uint FEVT_SERI_LEGEND_0308 = 0x895CE66E; + private const uint FEVT_SERI_LEGEND_0309 = 0x895CE821; + private const uint FEVT_SERI_LEGEND_0310 = 0x895FF25F; + private const uint FEVT_SERI_LEGEND_0311 = 0x895FF0AC; + private const uint FEVT_SERI_LEGEND_0312 = 0x895FF5C5; + private const uint FEVT_SERI_LEGEND_0313 = 0x895FF412; + private const uint FEVT_SERI_LEGEND_0638 = 0xA1E7C2EE; + private const uint FEVT_SERI_LEGEND_0644 = 0xA1D94C55; + private const uint FEVT_SERI_LEGEND_0765 = 0x9CA69C5B; + private const uint FEVT_SERI_LEGEND_1103 = 0x32CAE86C; + private const uint FEVT_SERI_LEGEND_1104 = 0x32CAE6B9; + private const uint FEVT_SERI_LEGEND_1278 = 0x246C9C43; + private const uint FEVT_SERI_LEGEND_1590 = 0x1F3F28F8; + private const uint FEVT_SERI_LEGEND_1777 = 0x16729999; + private const uint FEVT_SERI_LEGEND_1778 = 0x1672A8E4; + private const uint FEVT_SERI_LEGEND_1857 = 0x06B12DD6; + private const uint FEVT_SERI_LEGEND_1858 = 0x06B14087; + private const uint FEVT_SUB_014_CHALLENGED_TODAY = 0x7E1AB823; + private const uint KRemovedStakeTingLu1 = 0x12AC859B; // FEVT_SUB_014_KUI_01_RELEASE + private const uint KRemovedStakeTingLu2 = 0x8DEDB4EE; // FEVT_SUB_014_KUI_02_RELEASE + private const uint KRemovedStakeTingLu3 = 0x8AD96AE1; // FEVT_SUB_014_KUI_03_RELEASE + private const uint KRemovedStakeTingLu4 = 0xDE563974; // FEVT_SUB_014_KUI_04_RELEASE + private const uint KRemovedStakeTingLu5 = 0xCD9991DF; // FEVT_SUB_014_KUI_05_RELEASE + private const uint KRemovedStakeTingLu6 = 0xAE72B792; // FEVT_SUB_014_KUI_06_RELEASE + private const uint KRemovedStakeTingLu7 = 0xAB74A785; // FEVT_SUB_014_KUI_07_RELEASE + private const uint KRemovedStakeTingLu8 = 0x32E24C38; // FEVT_SUB_014_KUI_08_RELEASE + private const uint FEVT_SUB_015_CHALLENGED_TODAY = 0xDC5B835A; + private const uint KRemovedStakeChienPao1 = 0xF1CFFA8E; // FEVT_SUB_015_KUI_01_RELEASE + private const uint KRemovedStakeChienPao2 = 0x4C7DC4BB; // FEVT_SUB_015_KUI_02_RELEASE + private const uint KRemovedStakeChienPao3 = 0xAE0F19B0; // FEVT_SUB_015_KUI_03_RELEASE + private const uint KRemovedStakeChienPao4 = 0x95414EA5; // FEVT_SUB_015_KUI_04_RELEASE + private const uint KRemovedStakeChienPao5 = 0x52F60D32; // FEVT_SUB_015_KUI_05_RELEASE + private const uint KRemovedStakeChienPao6 = 0x5C55EE7F; // FEVT_SUB_015_KUI_06_RELEASE + private const uint KRemovedStakeChienPao7 = 0xFFEB3B14; // FEVT_SUB_015_KUI_07_RELEASE + private const uint KRemovedStakeChienPao8 = 0xDAD07F09; // FEVT_SUB_015_KUI_08_RELEASE + private const uint FEVT_SUB_016_CHALLENGED_TODAY = 0x9C620E19; + private const uint KRemovedStakeWoChien1 = 0xA3B68F79; // FEVT_SUB_016_KUI_01_RELEASE + private const uint KRemovedStakeWoChien2 = 0x4CB308C8; // FEVT_SUB_016_KUI_02_RELEASE + private const uint KRemovedStakeWoChien3 = 0xF6FC8073; // FEVT_SUB_016_KUI_03_RELEASE + private const uint KRemovedStakeWoChien4 = 0x7E28078A; // FEVT_SUB_016_KUI_04_RELEASE + private const uint KRemovedStakeWoChien5 = 0xCD304EDD; // FEVT_SUB_016_KUI_05_RELEASE + private const uint KRemovedStakeWoChien6 = 0x27CB724C; // FEVT_SUB_016_KUI_06_RELEASE + private const uint KRemovedStakeWoChien7 = 0x0470BDF7; // FEVT_SUB_016_KUI_07_RELEASE + private const uint KRemovedStakeWoChien8 = 0x59A600BE; // FEVT_SUB_016_KUI_08_RELEASE + private const uint FEVT_SUB_017_CHALLENGED_TODAY = 0x33D68D98; + private const uint KRemovedStakeChiYu1 = 0x6F341C9C; // FEVT_SUB_017_KUI_01_RELEASE + private const uint KRemovedStakeChiYu2 = 0x7077C7AD; // FEVT_SUB_017_KUI_02_RELEASE + private const uint KRemovedStakeChiYu3 = 0xD9072D1A; // FEVT_SUB_017_KUI_03_RELEASE + private const uint KRemovedStakeChiYu4 = 0x97E33903; // FEVT_SUB_017_KUI_04_RELEASE + private const uint KRemovedStakeChiYu5 = 0xFC221F98; // FEVT_SUB_017_KUI_05_RELEASE + private const uint KRemovedStakeChiYu6 = 0x6714A749; // FEVT_SUB_017_KUI_06_RELEASE + private const uint KRemovedStakeChiYu7 = 0xC83DEFF6; // FEVT_SUB_017_KUI_07_RELEASE + private const uint KRemovedStakeChiYu8 = 0xCA415ABF; // FEVT_SUB_017_KUI_08_RELEASE + private const uint KCapturedBoxLegendary = 0x987B8A24; // FEVT_SUB_018_CAPTURED + private const uint FEVT_SUB_020_END = 0x711B3174; + private const uint FEVT_SUB_026_TALKED = 0x367A9A06; + private const uint KHasPlayRecordsLGPE = 0x2F9CC37D; // FEVT_SUB_028_HAVE_BELUGA_SAVE_DATA + private const uint KHasPlayRecordsBDSP = 0xC4B1323E; // FEVT_SUB_028_HAVE_DELPHIS_SAVE_DATA + private const uint KHasPlayRecordsLA = 0x592092B7; // FEVT_SUB_028_HAVE_HAYABUSA_SAVE_DATA + private const uint KHasPlayRecordsSWSH = 0xE454155A; // FEVT_SUB_028_HAVE_ORION_SAVE_DATA + private const uint FEVT_SUB_043_TALKED_01 = 0xF5A9841D; + private const uint FEVT_SUB_043_TALKED_02 = 0xF5A97F04; + private const uint FEVT_SUB_043_TALKED_03 = 0xF5A980B7; + private const uint FEVT_SUB_043_TALKED_04 = 0xF5A97B9E; + private const uint FEVT_SUB_043_TALKED_05 = 0xF5A97D51; + private const uint FEVT_SUB_043_TALKED_06 = 0xF5A97838; + private const uint FEVT_SUB_043_TALKED_07 = 0xF5A979EB; + private const uint KCompletedTradeSnom = 0xCEF6C179; // FEVT_SUB_044_TRADE_A + private const uint KCompletedTradeWooper = 0xCEF6BC60; // FEVT_SUB_044_TRADE_B + private const uint KCompletedTradeHaunter = 0xCEF6BE13; // FEVT_SUB_044_TRADE_C + private const uint FEVT_SUB_047_GAMECLEAR_TALKED = 0xF3711FD9; + private const uint FEVT_SUB_047_RACIPE_AMA_RELEASE = 0x6680756C; + private const uint FEVT_SUB_047_RACIPE_KARA_RELEASE = 0x1DE39DD2; + private const uint FEVT_SUB_047_RACIPE_NIGA_RELEASE = 0xD4424476; + private const uint FEVT_SUB_047_RACIPE_SIO_RELEASE = 0x48598E18; + private const uint FEVT_SUB_047_RACIPE_SPA_RELEASE = 0x483DB133; + private const uint FEVT_SUB_047_TALKED = 0x8E7E08F5; + private const uint FEVT_SUB_GYM_ESPER_ENDLESS_TRIED = 0xC00B5C3F; + private const uint FEVT_SUB_GYM_ESPER_TALKED = 0x517DC48F; + private const uint KClearedCourseBlizzard = 0xFD126E2B; // FEVT_SUB_GYM_KOORI_HARD_CLER + private const uint KClearedCoursePowderSnow = 0x8BEB3731; // FEVT_SUB_GYM_KOORI_NORMAL_CLER + private const uint KClearedCourseSheerCold = 0xC11CEE3A; // FEVT_SUB_GYM_KOORI_VERY_HARD_CLER + private const uint FEVT_SUB_GYM_MUSHI_REWARD_01 = 0x5EAAA944; + private const uint FEVT_SUB_GYM_MUSHI_REWARD_02 = 0x5EAAAE5D; + private const uint FEVT_SUB_GYM_MUSHI_REWARD_03 = 0x5EAAACAA; + private const uint FEVT_SUB_GYM_MUSHI_REWARD_04 = 0x5EAAA42B; + private const uint FEVT_TAKARA_CHANGE_TUTORIAL_CLEAR = 0x96124E87; + #endregion + + private const uint KBattledExTitanTatsugiri = 0xA3AD7A61; // NUSHI_DRAGON_AFTER + private const uint KBattledExTitanOrthworm = 0xA9B66964; // NUSHI_HAGANE_AFTER + private const uint KBattledExTitanBombirdier = 0xE5751F6B; // NUSHI_HIKO_AFTER + private const uint KBattledExTitanKlawf = 0x8753B93F; // NUSHI_IWA_AFTER + private const uint KBattledExTitanGreatTuskIronTreads = 0x9BDA0E57; // NUSHI_JIMEN_AFTER + private const uint KCapturedExTitanTatsugiri = 0x2D7B5238; // NUSHI_DRAGON_AFTER_PERMANENT + private const uint KCapturedExTitanOrthworm = 0x740065E9; // NUSHI_HAGANE_AFTER_PERMANENT + private const uint KCapturedExTitanBombirdier = 0x7C6F7BD2; // NUSHI_HIKO_AFTER_PERMANENT + private const uint KCapturedExTitanKlawf = 0x8CFF73AE; // NUSHI_IWA_AFTER_PERMANENT + private const uint KCapturedExTitanGreatTuskIronTreads = 0xDCFC1846; // NUSHI_JIMEN_AFTER_PERMANENT + private const uint SUSHI_DAMMY_00 = 0x1282B067; + private const uint SUSHI_DAMMY_01 = 0x1282AEB4; + private const uint SUSHI_DAMMY_02 = 0x1282B3CD; + private const uint SUSHI_DAMMY_03 = 0x1282B21A; + private const uint SUSHI_DAMMY_04 = 0x1282A99B; + private const uint SUSHI_DAMMY_05 = 0x1282A7E8; + private const uint SUSHI_DAMMY_06 = 0x1282AD01; + private const uint SUSHI_DAMMY_07 = 0x1282AB4E; + private const uint SUSHI_DAMMY_08 = 0x1282A2CF; + private const uint SUSHI_DAMMY_09 = 0x1282A11C; + private const uint SUSHI_DAMMY_10 = 0x127F96DE; + private const uint SUSHI_DAMMY_11 = 0x127F9891; + private const uint SUSHI_DAMMY_12 = 0x127F9378; + private const uint SUSHI_DAMMY_13 = 0x127F952B; + private const uint SUSHI_DAMMY_14 = 0x127F9DAA; + private const uint SUSHI_DAMMY_15 = 0x127F9F5D; + private const uint SUSHI_DAMMY_16 = 0x127F9A44; + private const uint SUSHI_DAMMY_17 = 0x127F9BF7; + private const uint SUSHI_DAMMY_18 = 0x127F8946; + private const uint SUSHI_DAMMY_19 = 0x127F8AF9; + + #region WEVT + private const uint WEVT_6TH_GYM_BATTLE_FIRST_POKEMON = 0xBF269C72; + private const uint WEVT_AJITO_AKU_AFTER_EVENT_LP_COUNT = 0x2639E91E; + private const uint WEVT_AJITO_DOKU_AFTER_EVENT_LP_COUNT = 0xC20DC520; + private const uint WEVT_AJITO_FAIRY_AFTER_EVENT_LP_COUNT = 0x65B48D54; + private const uint WEVT_AJITO_HONOO_AFTER_EVENT_LP_COUNT = 0x6377D0E6; + private const uint WEVT_AJITO_KAKUTOU_AFTER_EVENT_LP_COUNT = 0x1E55392F; + private const uint WEVT_COMMON_0080_FIRST_POKEMON = 0x908A0119; + private const uint WEVT_COMMON_0240_REPLY_TO_RIVAL = 0x7367C02E; + private const uint WEVT_COMMON_2050_1ST_REPLY = 0x492E5D15; + private const uint WEVT_COMMON_2050_2ND_REPLY = 0x9A721F29; + private const uint WEVT_COMMON_2050_3RD_REPLY = 0x0C089D22; + private const uint WEVT_COMMON_2050_4TH_REPLY = 0x2E790F65; + private const uint KIndexReceivedBadgeDark = 0x6C29ACC5; // WEVT_DAN_AKU_CLEAR + private const uint KIndexReceivedBadgePoison = 0x71DB2CEB; // WEVT_DAN_DOKU_CLEAR + private const uint KIndexReceivedBadgeFairy = 0xE1271327; // WEVT_DAN_FAIRY_CLEAR + private const uint WEVT_DAN_HONOO_BATTLE_FIRST_POKEMON = 0x9F8DB33D; + private const uint KIndexReceivedBadgeFire = 0x9C6FF7DD; // WEVT_DAN_HONOO_CLEAR + private const uint KIndexReceivedBadgeFighting = 0x2A3AC89A; // WEVT_DAN_KAKUTOU_CLEAR + private const uint WEVT_GYM_DENKI_ACTION_END = 0xA8BAB54C; + private const uint KIndexReceivedBadgeElectric = 0x8205ECAD; // WEVT_GYM_DENKI_CLEAR + private const uint WEVT_GYM_DENKI_EVOLUTION_SELECT_ITEM_ID = 0xCE509B58; + private const uint WEVT_GYM_DENKI_LOST_PROPERTY_PROGRESS = 0xF4AFE9C8; + private const uint WEVT_GYM_DENKI_TEST_NPC_01 = 0x044F4DCE; + private const uint WEVT_GYM_DENKI_TEST_NPC_02 = 0x044F4C1B; + private const uint KIndexReceivedBadgePsychic = 0x3B819021; // WEVT_GYM_ESPER_CLEAR + private const uint KHighScoreESPExercise = 0x287ED11F; // WEVT_SUB_GYM_ESPER_ENDLESS_HIGH_SCORE + private const uint WEVT_SUB_GYM_ESPER_EXERCISE_LEVEL = 0x4874E130; + private const uint KIndexReceivedBadgeGhost = 0xCDA61DED; // WEVT_GYM_GHOST_CLEAR + private const uint WEVT_GYM_GHOST_TALKED_TRAINER = 0x706D7FB5; + private const uint KSnowSlopeRunBestTime1 = 0x594C72A5; // WEVT_GYM_KOORI_BEST_RECORD_TIME_01 + private const uint KSnowSlopeRunBestTime2 = 0x594C6D8C; // WEVT_GYM_KOORI_BEST_RECORD_TIME_02 + private const uint KSnowSlopeRunBestTime3 = 0x594C6F3F; // WEVT_GYM_KOORI_BEST_RECORD_TIME_03 + private const uint KIndexReceivedBadgeIce = 0x46B6CB30; // WEVT_GYM_KOORI_CLEAR + private const uint WEVT_GYM_KOORI_TALKED = 0x664A20D4; + private const uint WEVT_SUB_GYM_KOORI_COURSE_LEVEL = 0xDF3E258C; + private const uint WEVT_SUB_GYM_KOORI_TALKED = 0xB04D088F; + private const uint KIndexReceivedBadgeGrass = 0xB4C3AFE6; // WEVT_GYM_KUSA_CLEAR + + #region Artazon Gym Challenge Sunflora (Four blocks each: State, X coordinate, Y coordinate, Z coordinate) + private const uint WEVT_GYM_KUSA_FIND_POKE_001 = 0xFF1D78E2; + private const uint WEVT_GYM_KUSA_FIND_POKE_001_X = 0xEF4282CD; + private const uint WEVT_GYM_KUSA_FIND_POKE_001_Y = 0xEF42811A; + private const uint WEVT_GYM_KUSA_FIND_POKE_001_Z = 0xEF427F67; + private const uint WEVT_GYM_KUSA_FIND_POKE_002 = 0xFF1D772F; + private const uint WEVT_GYM_KUSA_FIND_POKE_002_X = 0xEB7FF698; + private const uint WEVT_GYM_KUSA_FIND_POKE_002_Y = 0xEB7FF84B; + private const uint WEVT_GYM_KUSA_FIND_POKE_002_Z = 0xEB7FF9FE; + private const uint WEVT_GYM_KUSA_FIND_POKE_003 = 0xFF1D757C; + private const uint WEVT_GYM_KUSA_FIND_POKE_003_X = 0xE4DB3613; + private const uint WEVT_GYM_KUSA_FIND_POKE_003_Y = 0xE4DB3460; + private const uint WEVT_GYM_KUSA_FIND_POKE_003_Z = 0xE4DB3979; + private const uint WEVT_GYM_KUSA_FIND_POKE_004 = 0xFF1D73C9; + private const uint WEVT_GYM_KUSA_FIND_POKE_004_X = 0xE061410E; + private const uint WEVT_GYM_KUSA_FIND_POKE_004_Y = 0xE06142C1; + private const uint WEVT_GYM_KUSA_FIND_POKE_004_Z = 0xE0613DA8; + private const uint WEVT_GYM_KUSA_FIND_POKE_005 = 0xFF1D7216; + private const uint WEVT_GYM_KUSA_FIND_POKE_005_X = 0xDCA08309; + private const uint WEVT_GYM_KUSA_FIND_POKE_005_Y = 0xDCA08156; + private const uint WEVT_GYM_KUSA_FIND_POKE_005_Z = 0xDCA07FA3; + private const uint WEVT_GYM_KUSA_FIND_POKE_006 = 0xFF1D7063; + private const uint WEVT_GYM_KUSA_FIND_POKE_006_X = 0xD6B3B344; + private const uint WEVT_GYM_KUSA_FIND_POKE_006_Y = 0xD6B3B4F7; + private const uint WEVT_GYM_KUSA_FIND_POKE_006_Z = 0xD6B3B6AA; + private const uint WEVT_GYM_KUSA_FIND_POKE_007 = 0xFF1D6EB0; + private const uint WEVT_GYM_KUSA_FIND_POKE_007_X = 0xD2F2F53F; + private const uint WEVT_GYM_KUSA_FIND_POKE_007_Y = 0xD2F2F38C; + private const uint WEVT_GYM_KUSA_FIND_POKE_007_Z = 0xD2F2F8A5; + private const uint WEVT_GYM_KUSA_FIND_POKE_008 = 0xFF1D882D; + private const uint WEVT_GYM_KUSA_FIND_POKE_008_X = 0x1C9C4F6A; + private const uint WEVT_GYM_KUSA_FIND_POKE_008_Y = 0x1C9C511D; + private const uint WEVT_GYM_KUSA_FIND_POKE_008_Z = 0x1C9C4C04; + private const uint WEVT_GYM_KUSA_FIND_POKE_009 = 0xFF1D867A; + private const uint WEVT_GYM_KUSA_FIND_POKE_009_X = 0x15F6B565; + private const uint WEVT_GYM_KUSA_FIND_POKE_009_Y = 0x15F6B3B2; + private const uint WEVT_GYM_KUSA_FIND_POKE_009_Z = 0x15F6B1FF; + private const uint WEVT_GYM_KUSA_FIND_POKE_010 = 0xFF1A610C; + private const uint WEVT_GYM_KUSA_FIND_POKE_010_X = 0x022CA9A3; + private const uint WEVT_GYM_KUSA_FIND_POKE_010_Y = 0x022CA7F0; + private const uint WEVT_GYM_KUSA_FIND_POKE_010_Z = 0x022CAD09; + private const uint WEVT_GYM_KUSA_FIND_POKE_011 = 0xFF1A62BF; + private const uint WEVT_GYM_KUSA_FIND_POKE_011_X = 0x06A70B68; + private const uint WEVT_GYM_KUSA_FIND_POKE_011_Y = 0x06A70D1B; + private const uint WEVT_GYM_KUSA_FIND_POKE_011_Z = 0x06A70ECE; + private const uint WEVT_GYM_KUSA_FIND_POKE_012 = 0xFF1A6472; + private const uint WEVT_GYM_KUSA_FIND_POKE_012_X = 0x0A6777DD; + private const uint WEVT_GYM_KUSA_FIND_POKE_012_Y = 0x0A67762A; + private const uint WEVT_GYM_KUSA_FIND_POKE_012_Z = 0x0A677477; + private const uint WEVT_GYM_KUSA_FIND_POKE_013 = 0xFF1A6625; + private const uint WEVT_GYM_KUSA_FIND_POKE_013_X = 0x110C3862; + private const uint WEVT_GYM_KUSA_FIND_POKE_013_Y = 0x110C3A15; + private const uint WEVT_GYM_KUSA_FIND_POKE_013_Z = 0x110C34FC; + private const uint WEVT_GYM_KUSA_FIND_POKE_014 = 0xFF1A5A40; + private const uint WEVT_GYM_KUSA_FIND_POKE_014_X = 0xED60664F; + private const uint WEVT_GYM_KUSA_FIND_POKE_014_Y = 0xED60649C; + private const uint WEVT_GYM_KUSA_FIND_POKE_014_Z = 0xED6069B5; + private const uint WEVT_GYM_KUSA_FIND_POKE_015 = 0xFF1A5BF3; + private const uint WEVT_GYM_KUSA_FIND_POKE_015_X = 0xF1D9EE94; + private const uint WEVT_GYM_KUSA_FIND_POKE_015_Y = 0xF1D9F047; + private const uint WEVT_GYM_KUSA_FIND_POKE_015_Z = 0xF1D9F1FA; + private const uint WEVT_GYM_KUSA_FIND_POKE_016 = 0xFF1A5DA6; + private const uint WEVT_GYM_KUSA_FIND_POKE_016_X = 0xF87F1BD9; + private const uint WEVT_GYM_KUSA_FIND_POKE_016_Y = 0xF87F1A26; + private const uint WEVT_GYM_KUSA_FIND_POKE_016_Z = 0xF87F1873; + private const uint WEVT_GYM_KUSA_FIND_POKE_017 = 0xFF1A5F59; + private const uint WEVT_GYM_KUSA_FIND_POKE_017_X = 0xFB87E91E; + private const uint WEVT_GYM_KUSA_FIND_POKE_017_Y = 0xFB87EAD1; + private const uint WEVT_GYM_KUSA_FIND_POKE_017_Z = 0xFB87E5B8; + private const uint WEVT_GYM_KUSA_FIND_POKE_018 = 0xFF1A6EA4; + private const uint WEVT_GYM_KUSA_FIND_POKE_018_X = 0x299AECBB; + private const uint WEVT_GYM_KUSA_FIND_POKE_018_Y = 0x299AEB08; + private const uint WEVT_GYM_KUSA_FIND_POKE_018_Z = 0x299AF021; + private const uint WEVT_GYM_KUSA_FIND_POKE_019 = 0xFF1A7057; + private const uint WEVT_GYM_KUSA_FIND_POKE_019_X = 0x2CA34D40; + private const uint WEVT_GYM_KUSA_FIND_POKE_019_Y = 0x2CA34EF3; + private const uint WEVT_GYM_KUSA_FIND_POKE_019_Z = 0x2CA350A6; + private const uint WEVT_GYM_KUSA_FIND_POKE_020 = 0xFF23ADA7; + private const uint WEVT_GYM_KUSA_FIND_POKE_020_X = 0xDBE96590; + private const uint WEVT_GYM_KUSA_FIND_POKE_020_Y = 0xDBE96743; + private const uint WEVT_GYM_KUSA_FIND_POKE_020_Z = 0xDBE968F6; + private const uint WEVT_GYM_KUSA_FIND_POKE_021 = 0xFF23ABF4; + private const uint WEVT_GYM_KUSA_FIND_POKE_021_X = 0xD5457E8B; + private const uint WEVT_GYM_KUSA_FIND_POKE_021_Y = 0xD5457CD8; + private const uint WEVT_GYM_KUSA_FIND_POKE_021_Z = 0xD54581F1; + private const uint WEVT_GYM_KUSA_FIND_POKE_022 = 0xFF23B10D; + private const uint WEVT_GYM_KUSA_FIND_POKE_022_X = 0xE596A1CA; + private const uint WEVT_GYM_KUSA_FIND_POKE_022_Y = 0xE596A37D; + private const uint WEVT_GYM_KUSA_FIND_POKE_022_Z = 0xE5969E64; + private const uint WEVT_GYM_KUSA_FIND_POKE_023 = 0xFF23AF5A; + private const uint WEVT_GYM_KUSA_FIND_POKE_023_X = 0xDEF1E145; + private const uint WEVT_GYM_KUSA_FIND_POKE_023_Y = 0xDEF1DF92; + private const uint WEVT_GYM_KUSA_FIND_POKE_023_Z = 0xDEF1DDDF; + private const uint WEVT_GYM_KUSA_FIND_POKE_024 = 0xFF23A6DB; + private const uint WEVT_GYM_KUSA_FIND_POKE_024_X = 0xC66457FC; + private const uint WEVT_GYM_KUSA_FIND_POKE_024_Y = 0xC66459AF; + private const uint WEVT_GYM_KUSA_FIND_POKE_024_Z = 0xC6645B62; + private const uint WEVT_GYM_KUSA_FIND_POKE_025 = 0xFF23A528; + private const uint WEVT_GYM_KUSA_FIND_POKE_025_X = 0xC35C6437; + private const uint WEVT_GYM_KUSA_FIND_POKE_025_Y = 0xC35C6284; + private const uint WEVT_GYM_KUSA_FIND_POKE_025_Z = 0xC35C679D; + private const uint WEVT_GYM_KUSA_FIND_POKE_026 = 0xFF23AA41; + private const uint WEVT_GYM_KUSA_FIND_POKE_026_X = 0xD0CA4346; + private const uint WEVT_GYM_KUSA_FIND_POKE_026_Y = 0xD0CA44F9; + private const uint WEVT_GYM_KUSA_FIND_POKE_026_Z = 0xD0CA3FE0; + private const uint WEVT_GYM_KUSA_FIND_POKE_027 = 0xFF23A88E; + private const uint WEVT_GYM_KUSA_FIND_POKE_027_X = 0xCD09F201; + private const uint WEVT_GYM_KUSA_FIND_POKE_027_Y = 0xCD09F04E; + private const uint WEVT_GYM_KUSA_FIND_POKE_027_Z = 0xCD09EE9B; + private const uint WEVT_GYM_KUSA_FIND_POKE_028 = 0xFF23A00F; + private const uint WEVT_GYM_KUSA_FIND_POKE_028_X = 0xB47B2278; + private const uint WEVT_GYM_KUSA_FIND_POKE_028_Y = 0xB47B242B; + private const uint WEVT_GYM_KUSA_FIND_POKE_028_Z = 0xB47B25DE; + private const uint WEVT_GYM_KUSA_FIND_POKE_029 = 0xFF239E5C; + private const uint WEVT_GYM_KUSA_FIND_POKE_029_X = 0xADD73B73; + private const uint WEVT_GYM_KUSA_FIND_POKE_029_Y = 0xADD739C0; + private const uint WEVT_GYM_KUSA_FIND_POKE_029_Z = 0xADD73ED9; + private const uint WEVT_GYM_KUSA_FIND_POKE_030 = 0xFF20941E; + private const uint WEVT_GYM_KUSA_FIND_POKE_030_X = 0xE82EE711; + private const uint WEVT_GYM_KUSA_FIND_POKE_030_Y = 0xE82EE55E; + private const uint WEVT_GYM_KUSA_FIND_POKE_030_Z = 0xE82EE3AB; + #endregion + + private const uint WEVT_GYM_KUSA_SUB_EVENT_REWARD_COUNT = 0x71FB8B10; + private const uint WEVT_GYM_KUSA_TALKED = 0x8E3B5E0A; + private const uint KIndexReceivedBadgeWater = 0xA803FAAD; // WEVT_GYM_MIZU_CLEAR + private const uint WEVT_GYM_MIZU_SERI_RAFFLE = 0xDC31EB08; + private const uint KPortoMarinadaAuctioneer1Item = 0x3D837AB6; // WEVT_GYM_MIZU_SERI_VENUE1_ITEM_ID + private const uint KPortoMarinadaAuctioneer1Quantity = 0x93DB9439; // WEVT_GYM_MIZU_SERI_VENUE1_ITEM_NUM + private const uint WEVT_GYM_MIZU_SERI_VENUE1_NPC_ID1 = 0x9A78757B; + private const uint WEVT_GYM_MIZU_SERI_VENUE1_NPC_ID2 = 0x9A78772E; + private const uint WEVT_GYM_MIZU_SERI_VENUE1_PROGRESS = 0x50531CE6; + private const uint KPortoMarinadaAuctioneer2Item = 0xC65EB057; // WEVT_GYM_MIZU_SERI_VENUE2_ITEM_ID + private const uint KPortoMarinadaAuctioneer2Quantity = 0x178AC492; // WEVT_GYM_MIZU_SERI_VENUE2_ITEM_NUM + private const uint WEVT_GYM_MIZU_SERI_VENUE2_NPC_ID1 = 0x13AF53B6; + private const uint WEVT_GYM_MIZU_SERI_VENUE2_NPC_ID2 = 0x13AF5203; + private const uint WEVT_GYM_MIZU_SERI_VENUE2_PROGRESS = 0x549187F5; + private const uint KPortoMarinadaAuctioneer3Item = 0x26F510C4; // WEVT_GYM_MIZU_SERI_VENUE3_ITEM_ID + private const uint KPortoMarinadaAuctioneer3Quantity = 0x54D737FF; // WEVT_GYM_MIZU_SERI_VENUE3_ITEM_NUM + private const uint WEVT_GYM_MIZU_SERI_VENUE3_NPC_ID1 = 0x96FD9641; + private const uint WEVT_GYM_MIZU_SERI_VENUE3_NPC_ID2 = 0x96FD9128; + private const uint WEVT_GYM_MIZU_SERI_VENUE3_PROGRESS = 0x702C68EC; + private const uint KPortoMarinadaAuctioneer4Item = 0x8EF22D95; // WEVT_GYM_MIZU_SERI_VENUE4_ITEM_ID + private const uint KPortoMarinadaAuctioneer4Quantity = 0xFDDFB678; + private const uint WEVT_GYM_MIZU_SERI_VENUE4_NPC_ID1 = 0x3275F474; + private const uint WEVT_GYM_MIZU_SERI_VENUE4_NPC_ID2 = 0x3275F98D; + private const uint WEVT_GYM_MIZU_SERI_VENUE4_PROGRESS = 0x6D418A8B; + private const uint KIndexReceivedBadgeBug = 0x89306FE6; // WEVT_GYM_MUSHI_CLEAR + private const uint WEVT_GYM_MUSHI_COURSE_TYPE = 0x3D5FE4C1; + private const uint KBestTimeOliveRoll = 0x120A3884; // WEVT_SUB_GYM_MUSHI_BEST_RECORD_TIME + private const uint KIndexReceivedBadgeNormal = 0xF90EFD79; // WEVT_GYM_NORMAL_CLEAR + private const uint KIndexReceivedBadgeDragon = 0xEC7361B7; // WEVT_NUSHI_DRAGON_CLEAR + private const uint KIndexReceivedBadgeSteel = 0x0D0602DE; // WEVT_NUSHI_HAGANE_CLEAR + private const uint KIndexReceivedBadgeFlying = 0x9C16DA94; // WEVT_NUSHI_HIKOU_CLEAR + private const uint KIndexReceivedBadgeRock = 0xA6CDE603; // WEVT_NUSHI_IWA_CLEAR + private const uint KIndexReceivedBadgeGround = 0xBDAC74B3; // WEVT_NUSHI_JIMEN_CLEAR + private const uint WEVT_RIDE_HAPPINESS = 0xD9DF9254; + private const uint WEVT_SUB_047_RACIPE_BADGE_RELEASE = 0x8A3575A5; + + // 0 = sealed, 1 = seal lifted, 2 = captured + private const uint KShrineStateTingLu = 0xA3B2E1E8; // WEVT_SUB_014_EVENT_STATE_UTHUWA + private const uint KShrineStateChienPao = 0xB6D28884; // WEVT_SUB_015_EVENT_STATE_TSURUGI + private const uint KShrineStateWoChien = 0x8FC1AFF5; // WEVT_SUB_016_EVENT_STATE_MOKKAN + private const uint KShrineStateChiYu = 0x0FD2F9E2; // WEVT_SUB_017_EVENT_STATE_MAGATAMA + #endregion + #region WSYS + private const uint WSYS_AIBOUNOAKASI_WALK_COUNT = 0x9C677EC6; + private const uint KBagSortingOption = 0xEEAEB167; // WSYS_BAG_SORT + private const uint WSYS_BIRTHDAY_EVENT_TIME = 0x77B3D1BE; + private const uint KGimmighoulCoinOverflow = 0x0265ECEB; // WSYS_COIN_OVERFLOW_NUM + private const uint WSYS_EGG_WALK_COUNT = 0xC1946E9B; + private const uint WSYS_FRIEND_SHIP_WALK_COUNT = 0xC7CC9EBD; + private const uint WSYS_GEM_CHANGE_POINT = 0xE1B947F5; + private const uint WSYS_GEM_CHANGE_POINT_MAX = 0x6C1169C0; + private const uint WSYS_GOZONJI_HINT_COUNT = 0x42579CF4; + private const uint KGameLanguage = 0x25839373; // WSYS_LANGUAGE_SELECT + private const uint WSYS_LEAGUE_CARD_SELECT_CARD = 0xB5284E7C; + private const uint WSYS_LEAGUE_CARD_SELECT_ICON = 0x45AEB78B; + private const uint WSYS_NET_BATTLE_BGM_ID = 0x603562B5; + private const uint WSYS_PARTNER_WALK_COUNT = 0x0CB2BF62; + private const uint WSYS_PARTNER_WALK_COUNT_TEMP = 0x2523D6E1; + private const uint KSkinTone = 0xEDBB0C80; // WSYS_PLAYER_SKIN_SELECT + private const uint KLastPokedexVolumeRewardThreshold = 0x359436C5; // WSYS_POKEDX_REWARD_CHIHOUA_VALUE + private const uint KRaidsWonDifficulty4 = 0x6A0F66E2; // WSYS_RAID_DIFFICTLTY4_WIN_COUNT + private const uint KRaidsWonDifficulty6 = 0xF97AC8A4; // WSYS_RAID_DIFFICTLTY6_WIN_COUNT + private const uint WSYS_RAID_PENALTY_COUNT = 0xD9D557BE; + private const uint WSYS_SCHOOL_MAP_DESTINATION_FLAG_VALUE = 0x612E2777; + private const uint WSYS_SCHOOL_MAP_NEW_FLAG_VALUE = 0xEF63CAB5; + private const uint WSYS_XMENU_RELEASE = 0x5452A1B1; + private const uint WSYS_YMAP_CLEAR_EFFECT_DONE = 0x2F532744; + #endregion +} diff --git a/PKHeX.Core/Saves/Encryption/SwishCrypto/SCBlockCompare.cs b/PKHeX.Core/Saves/Encryption/SwishCrypto/SCBlockCompare.cs index e7780b586..d6b5d587c 100644 --- a/PKHeX.Core/Saves/Encryption/SwishCrypto/SCBlockCompare.cs +++ b/PKHeX.Core/Saves/Encryption/SwishCrypto/SCBlockCompare.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; namespace PKHeX.Core; @@ -72,7 +72,7 @@ private void LoadChanged(SCBlockAccessor s1, SCBlockAccessor s2, IEnumerable Summary() AddIfPresent(result, AddedKeys, "Blocks Added:"); AddIfPresent(result, RemovedKeys, "Blocks Removed:"); AddIfPresent(result, TypesChanged, "BlockType Changed:"); - AddIfPresent(result, ValueChanged, "Value Changed:"); + AddIfPresent(result, ValueChanged, "Value Changed:", true); return result; - static void AddIfPresent(List result, ICollection list, string hdr) + static void AddIfPresent(List result, ICollection list, string hdr, bool sort = false) { if (list.Count == 0) return; result.Add(hdr); - result.AddRange(list); + if (!sort) + result.AddRange(list); + else + result.AddRange(list.OrderBy(z => z)); result.Add(string.Empty); } } diff --git a/PKHeX.Core/Saves/SAV1.cs b/PKHeX.Core/Saves/SAV1.cs index 9d645007a..f5621918b 100644 --- a/PKHeX.Core/Saves/SAV1.cs +++ b/PKHeX.Core/Saves/SAV1.cs @@ -229,8 +229,8 @@ private int GetBoxRawDataOffset(int box) public override int Generation => 1; public override EntityContext Context => EntityContext.Gen1; protected override int GiftCountMax => 0; - public override int OTLength => Japanese ? 5 : 7; - public override int NickLength => Japanese ? 5 : 10; + public override int MaxStringLengthOT => Japanese ? 5 : 7; + public override int MaxStringLengthNickname => Japanese ? 5 : 10; public override int BoxSlotCount => Japanese ? 30 : 20; public override bool HasParty => true; @@ -257,8 +257,8 @@ private byte GetRBYChecksum(int start, int end) public override string OT { - get => GetString(Offsets.OT, OTLength); - set => SetString(Data.AsSpan(Offsets.OT, OTLength + 1), value.AsSpan(), OTLength, StringConverterOption.ClearZero); + get => GetString(Offsets.OT, MaxStringLengthOT); + set => SetString(Data.AsSpan(Offsets.OT, MaxStringLengthOT + 1), value.AsSpan(), MaxStringLengthOT, StringConverterOption.ClearZero); } public Span OT_Trash { get => Data.AsSpan(Offsets.OT, StringLength); set { if (value.Length == StringLength) value.CopyTo(Data.AsSpan(Offsets.OT)); } } @@ -279,8 +279,8 @@ public override int TID public string Rival { - get => GetString(Offsets.Rival, OTLength); - set => SetString(Data.AsSpan(Offsets.Rival, OTLength), value.AsSpan(), OTLength, StringConverterOption.Clear50); + get => GetString(Offsets.Rival, MaxStringLengthOT); + set => SetString(Data.AsSpan(Offsets.Rival, MaxStringLengthOT), value.AsSpan(), MaxStringLengthOT, StringConverterOption.Clear50); } public Span Rival_Trash { get => Data.AsSpan(Offsets.Rival, StringLength); set { if (value.Length == StringLength) value.CopyTo(Data.AsSpan(Offsets.Rival)); } } @@ -344,7 +344,7 @@ public int PlayedFrames public int Badges { get => Data[Offsets.Badges]; - set { if (value < 0) return; Data[Offsets.Badges] = (byte)value; } + set => Data[Offsets.Badges] = (byte)value; } private byte Options diff --git a/PKHeX.Core/Saves/SAV1Stadium.cs b/PKHeX.Core/Saves/SAV1Stadium.cs index 5eafc679d..11058e767 100644 --- a/PKHeX.Core/Saves/SAV1Stadium.cs +++ b/PKHeX.Core/Saves/SAV1Stadium.cs @@ -24,8 +24,8 @@ public sealed class SAV1Stadium : SAV_STADIUM private int StringLength => Japanese ? StringLengthJ : StringLengthU; private const int StringLengthJ = 6; private const int StringLengthU = 11; - public override int OTLength => StringLength; - public override int NickLength => StringLength; + public override int MaxStringLengthOT => StringLength; + public override int MaxStringLengthNickname => StringLength; public override int BoxCount => Japanese ? 8 : 12; public override int BoxSlotCount => Japanese ? 30 : 20; diff --git a/PKHeX.Core/Saves/SAV1StadiumJ.cs b/PKHeX.Core/Saves/SAV1StadiumJ.cs index 7a8ffef90..e9e82f8b2 100644 --- a/PKHeX.Core/Saves/SAV1StadiumJ.cs +++ b/PKHeX.Core/Saves/SAV1StadiumJ.cs @@ -23,8 +23,8 @@ public sealed class SAV1StadiumJ : SAV_STADIUM public override int Generation => 1; public override EntityContext Context => EntityContext.Gen1; private const int StringLength = 6; // Japanese Only - public override int OTLength => StringLength; - public override int NickLength => StringLength; + public override int MaxStringLengthOT => StringLength; + public override int MaxStringLengthNickname => StringLength; public override int BoxCount => 4; // 8 boxes stored sequentially; latter 4 are backups public override int BoxSlotCount => 30; diff --git a/PKHeX.Core/Saves/SAV2.cs b/PKHeX.Core/Saves/SAV2.cs index 1f5f2353a..f7bc5252f 100644 --- a/PKHeX.Core/Saves/SAV2.cs +++ b/PKHeX.Core/Saves/SAV2.cs @@ -282,8 +282,8 @@ protected override byte[] GetFinalData() public override int Generation => 2; public override EntityContext Context => EntityContext.Gen2; protected override int GiftCountMax => 0; - public override int OTLength => Japanese || Korean ? 5 : 7; - public override int NickLength => Japanese || Korean ? 5 : 10; + public override int MaxStringLengthOT => Japanese || Korean ? 5 : 7; + public override int MaxStringLengthNickname => Japanese || Korean ? 5 : 10; public override int BoxSlotCount => Japanese ? 30 : 20; public override bool HasParty => true; @@ -323,8 +323,8 @@ public override bool ChecksumsValid public override string OT { - get => GetString(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * OTLength); - set => SetString(Data.AsSpan(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * OTLength), value.AsSpan(), 8, StringConverterOption.Clear50); + get => GetString(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * MaxStringLengthOT); + set => SetString(Data.AsSpan(Offsets.Trainer1 + 2, (Korean ? 2 : 1) * MaxStringLengthOT), value.AsSpan(), 8, StringConverterOption.Clear50); } public Span OT_Trash @@ -335,8 +335,8 @@ public Span OT_Trash public string Rival { - get => GetString(Offsets.Rival, (Korean ? 2 : 1) * OTLength); - set => SetString(Data.AsSpan(Offsets.Rival, (Korean ? 2 : 1) * OTLength), value.AsSpan(), 8, StringConverterOption.Clear50); + get => GetString(Offsets.Rival, (Korean ? 2 : 1) * MaxStringLengthOT); + set => SetString(Data.AsSpan(Offsets.Rival, (Korean ? 2 : 1) * MaxStringLengthOT), value.AsSpan(), 8, StringConverterOption.Clear50); } public Span Rival_Trash diff --git a/PKHeX.Core/Saves/SAV2Stadium.cs b/PKHeX.Core/Saves/SAV2Stadium.cs index 69e0bf410..f7ea5f26c 100644 --- a/PKHeX.Core/Saves/SAV2Stadium.cs +++ b/PKHeX.Core/Saves/SAV2Stadium.cs @@ -22,8 +22,8 @@ public sealed class SAV2Stadium : SAV_STADIUM public override int Generation => 2; public override EntityContext Context => EntityContext.Gen2; private const int StringLength = 12; - public override int OTLength => StringLength; - public override int NickLength => StringLength; + public override int MaxStringLengthOT => StringLength; + public override int MaxStringLengthNickname => StringLength; public override int BoxCount => Japanese ? 9 : 14; public override int BoxSlotCount => Japanese ? 30 : 20; diff --git a/PKHeX.Core/Saves/SAV3.cs b/PKHeX.Core/Saves/SAV3.cs index 6d48999b8..58e77ff6e 100644 --- a/PKHeX.Core/Saves/SAV3.cs +++ b/PKHeX.Core/Saves/SAV3.cs @@ -190,8 +190,8 @@ public void WriteBothSaveSlots(Span data) public sealed override int Generation => 3; public sealed override EntityContext Context => EntityContext.Gen3; protected sealed override int GiftCountMax => 1; - public sealed override int OTLength => 7; - public sealed override int NickLength => 10; + public sealed override int MaxStringLengthOT => 7; + public sealed override int MaxStringLengthNickname => 10; public sealed override int MaxMoney => 999999; public sealed override bool HasParty => true; @@ -305,7 +305,7 @@ public sealed override string OT get => GetString(Small.AsSpan(0, 8)); set { - int len = Japanese ? 5 : OTLength; + int len = Japanese ? 5 : MaxStringLengthOT; SetString(Small.AsSpan(0, len), value.AsSpan(), len, StringConverterOption.ClearFF); } } diff --git a/PKHeX.Core/Saves/SAV3Colosseum.cs b/PKHeX.Core/Saves/SAV3Colosseum.cs index f23a4344f..f7c45905d 100644 --- a/PKHeX.Core/Saves/SAV3Colosseum.cs +++ b/PKHeX.Core/Saves/SAV3Colosseum.cs @@ -149,8 +149,8 @@ protected override SaveFile CloneInternal() public override int Generation => 3; public override EntityContext Context => EntityContext.Gen3; protected override int GiftCountMax => 1; - public override int OTLength => 10; // as evident by Mattle Ho-Oh - public override int NickLength => 10; + public override int MaxStringLengthOT => 10; // as evident by Mattle Ho-Oh + public override int MaxStringLengthNickname => 10; public override int MaxMoney => 9999999; public override int BoxCount => 3; diff --git a/PKHeX.Core/Saves/SAV3RSBox.cs b/PKHeX.Core/Saves/SAV3RSBox.cs index c396d9cbc..3bd305074 100644 --- a/PKHeX.Core/Saves/SAV3RSBox.cs +++ b/PKHeX.Core/Saves/SAV3RSBox.cs @@ -118,8 +118,8 @@ protected override SaveFile CloneInternal() public override int Generation => 3; public override EntityContext Context => EntityContext.Gen3; protected override int GiftCountMax => 1; - public override int OTLength => 7; - public override int NickLength => 10; + public override int MaxStringLengthOT => 7; + public override int MaxStringLengthNickname => 10; public override int MaxMoney => 999999; public override bool HasBoxWallpapers => false; diff --git a/PKHeX.Core/Saves/SAV3XD.cs b/PKHeX.Core/Saves/SAV3XD.cs index 4e4ef590f..105eec704 100644 --- a/PKHeX.Core/Saves/SAV3XD.cs +++ b/PKHeX.Core/Saves/SAV3XD.cs @@ -194,8 +194,8 @@ protected override SaveFile CloneInternal() public override int Generation => 3; public override EntityContext Context => EntityContext.Gen3; protected override int GiftCountMax => 1; - public override int OTLength => 7; - public override int NickLength => 10; + public override int MaxStringLengthOT => 7; + public override int MaxStringLengthNickname => 10; public override int MaxMoney => 9999999; public override int BoxCount => 8; diff --git a/PKHeX.Core/Saves/SAV4.cs b/PKHeX.Core/Saves/SAV4.cs index aec380127..bd3310b83 100644 --- a/PKHeX.Core/Saves/SAV4.cs +++ b/PKHeX.Core/Saves/SAV4.cs @@ -83,8 +83,8 @@ public sealed override void CopyChangesFrom(SaveFile sav) public int EventFlagCount => 0xB60; // 2912 public int EventWorkCount => (EventFlag - EventWork) >> 1; protected sealed override int GiftCountMax => 11; - public sealed override int OTLength => 7; - public sealed override int NickLength => 10; + public sealed override int MaxStringLengthOT => 7; + public sealed override int MaxStringLengthNickname => 10; public sealed override int MaxMoney => 999999; public sealed override int MaxCoins => 50_000; @@ -163,7 +163,7 @@ public override int PartyCount public override string OT { get => GetString(General.AsSpan(Trainer1, 16)); - set => SetString(General.AsSpan(Trainer1, 16), value.AsSpan(), OTLength, StringConverterOption.ClearZero); + set => SetString(General.AsSpan(Trainer1, 16), value.AsSpan(), MaxStringLengthOT, StringConverterOption.ClearZero); } public override int TID @@ -239,7 +239,7 @@ public override int PlayedSeconds public string Rival { get => GetString(Rival_Trash); - set => SetString(Rival_Trash, value.AsSpan(), OTLength, StringConverterOption.ClearZero); + set => SetString(Rival_Trash, value.AsSpan(), MaxStringLengthOT, StringConverterOption.ClearZero); } public abstract Span Rival_Trash { get; set; } diff --git a/PKHeX.Core/Saves/SAV4BR.cs b/PKHeX.Core/Saves/SAV4BR.cs index 104ec9b31..eeb0b054a 100644 --- a/PKHeX.Core/Saves/SAV4BR.cs +++ b/PKHeX.Core/Saves/SAV4BR.cs @@ -108,8 +108,8 @@ public int CurrentSlot public override int Generation => 4; public override EntityContext Context => EntityContext.Gen4; protected override int GiftCountMax => 1; - public override int OTLength => 7; - public override int NickLength => 10; + public override int MaxStringLengthOT => 7; + public override int MaxStringLengthNickname => 10; public override int MaxMoney => 999999; public override int Language => (int)LanguageID.English; // prevent KOR from inhabiting diff --git a/PKHeX.Core/Saves/SAV4DP.cs b/PKHeX.Core/Saves/SAV4DP.cs index 9dfabcc4a..77b7adc92 100644 --- a/PKHeX.Core/Saves/SAV4DP.cs +++ b/PKHeX.Core/Saves/SAV4DP.cs @@ -147,8 +147,8 @@ private void SetActiveGiftFlags(IReadOnlyList gifts) public override Span Rival_Trash { - get => General.AsSpan(0x25A8, OTLength * 2); - set { if (value.Length == OTLength * 2) value.CopyTo(General.AsSpan(0x25A8)); } + get => General.AsSpan(0x25A8, MaxStringLengthOT * 2); + set { if (value.Length == MaxStringLengthOT * 2) value.CopyTo(General.AsSpan(0x25A8)); } } public override int X2 { get => ReadUInt16LittleEndian(General.AsSpan(0x25FA)); set => WriteUInt16LittleEndian(General.AsSpan(0x25FA), (ushort)value); } diff --git a/PKHeX.Core/Saves/SAV4HGSS.cs b/PKHeX.Core/Saves/SAV4HGSS.cs index 9b35c7afb..757f68756 100644 --- a/PKHeX.Core/Saves/SAV4HGSS.cs +++ b/PKHeX.Core/Saves/SAV4HGSS.cs @@ -165,8 +165,8 @@ public override IReadOnlyList Inventory public override Span Rival_Trash { - get => General.AsSpan(0x22D4, OTLength * 2); - set { if (value.Length == OTLength * 2) value.CopyTo(General.AsSpan(0x22D4)); } + get => General.AsSpan(0x22D4, MaxStringLengthOT * 2); + set { if (value.Length == MaxStringLengthOT * 2) value.CopyTo(General.AsSpan(0x22D4)); } } public override int X2 { get => ReadUInt16LittleEndian(General.AsSpan(0x236E)); set => WriteUInt16LittleEndian(General.AsSpan(0x236E), (ushort)value); } diff --git a/PKHeX.Core/Saves/SAV4Pt.cs b/PKHeX.Core/Saves/SAV4Pt.cs index ae010264f..ef1d519db 100644 --- a/PKHeX.Core/Saves/SAV4Pt.cs +++ b/PKHeX.Core/Saves/SAV4Pt.cs @@ -116,8 +116,8 @@ public override IReadOnlyList Inventory public override Span Rival_Trash { - get => General.AsSpan(0x27E8, OTLength * 2); - set { if (value.Length == OTLength * 2) value.CopyTo(General.AsSpan(0x27E8)); } + get => General.AsSpan(0x27E8, MaxStringLengthOT * 2); + set { if (value.Length == MaxStringLengthOT * 2) value.CopyTo(General.AsSpan(0x27E8)); } } public override int X2 { get => ReadUInt16LittleEndian(General.AsSpan(0x287E)); set => WriteUInt16LittleEndian(General.AsSpan(0x287E), (ushort)value); } diff --git a/PKHeX.Core/Saves/SAV5.cs b/PKHeX.Core/Saves/SAV5.cs index 07dca4338..b758cb127 100644 --- a/PKHeX.Core/Saves/SAV5.cs +++ b/PKHeX.Core/Saves/SAV5.cs @@ -25,8 +25,8 @@ public abstract class SAV5 : SaveFile, ISaveBlock5BW, IEventFlag37 public override int MaxEV => 255; public override int Generation => 5; public override EntityContext Context => EntityContext.Gen5; - public override int OTLength => 7; - public override int NickLength => 10; + public override int MaxStringLengthOT => 7; + public override int MaxStringLengthNickname => 10; protected override int GiftCountMax => 12; public abstract int EventFlagCount { get; } public abstract int EventWorkCount { get; } diff --git a/PKHeX.Core/Saves/SAV5B2W2.cs b/PKHeX.Core/Saves/SAV5B2W2.cs index d8b169597..cf5a8be5c 100644 --- a/PKHeX.Core/Saves/SAV5B2W2.cs +++ b/PKHeX.Core/Saves/SAV5B2W2.cs @@ -61,13 +61,13 @@ private void Initialize() public string Rival { get => GetString(Rival_Trash); - set => SetString(Rival_Trash, value.AsSpan(), OTLength, StringConverterOption.ClearZero); + set => SetString(Rival_Trash, value.AsSpan(), MaxStringLengthOT, StringConverterOption.ClearZero); } public Span Rival_Trash { - get => Data.AsSpan(0x23BA4, OTLength * 2); - set { if (value.Length == OTLength * 2) value.CopyTo(Data.AsSpan(0x23BA4)); } + get => Data.AsSpan(0x23BA4, MaxStringLengthOT * 2); + set { if (value.Length == MaxStringLengthOT * 2) value.CopyTo(Data.AsSpan(0x23BA4)); } } public override string GetDaycareRNGSeed(int loc) => $"{Daycare.GetSeed()!:X16}"; diff --git a/PKHeX.Core/Saves/SAV6.cs b/PKHeX.Core/Saves/SAV6.cs index 5dcec4c7b..1d976c441 100644 --- a/PKHeX.Core/Saves/SAV6.cs +++ b/PKHeX.Core/Saves/SAV6.cs @@ -32,8 +32,8 @@ public abstract class SAV6 : SAV_BEEF, ITrainerStatRecord, ISaveBlock6Core, IReg public int EventWorkCount => (EventFlag - EventWork) / sizeof(ushort); protected abstract int EventFlag { get; } protected abstract int EventWork { get; } - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override ushort MaxSpeciesID => Legal.MaxSpeciesID_6; public override int MaxBallID => Legal.MaxBallID_6; diff --git a/PKHeX.Core/Saves/SAV7.cs b/PKHeX.Core/Saves/SAV7.cs index 740441293..ed2cb0095 100644 --- a/PKHeX.Core/Saves/SAV7.cs +++ b/PKHeX.Core/Saves/SAV7.cs @@ -80,8 +80,8 @@ protected void ReloadBattleTeams() public int EventWorkCount => 1000; private int EventWork => AllBlocks[05].Offset; private int EventFlag => EventWork + (EventWorkCount * 2); // After Event Const (u16)*n - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override int MaxBallID => Legal.MaxBallID_7; // 26 public override int MaxGameID => Legal.MaxGameID_7; diff --git a/PKHeX.Core/Saves/SAV7b.cs b/PKHeX.Core/Saves/SAV7b.cs index 08dd3fc93..cf998a429 100644 --- a/PKHeX.Core/Saves/SAV7b.cs +++ b/PKHeX.Core/Saves/SAV7b.cs @@ -75,8 +75,8 @@ private void Initialize() public override int MaxIV => 31; public override int MaxEV => 252; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; protected override int GiftCountMax => 48; protected override int GiftFlagMax => 0x100 * 8; public int EventFlagCount => 4160; // 0xDC0 (true max may be up to 0x7F less. 23A8 starts u64 hashvals) diff --git a/PKHeX.Core/Saves/SAV8BS.cs b/PKHeX.Core/Saves/SAV8BS.cs index a3c641755..f8a0e469a 100644 --- a/PKHeX.Core/Saves/SAV8BS.cs +++ b/PKHeX.Core/Saves/SAV8BS.cs @@ -111,8 +111,8 @@ private void Initialize() public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8b; public override IPersonalTable Personal => PersonalTable.BDSP; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override ushort MaxMoveID => Legal.MaxMoveID_8b; public override ushort MaxSpeciesID => Legal.MaxSpeciesID_8b; public override int MaxItemID => Legal.MaxItemID_8b; @@ -285,7 +285,7 @@ public override int SetString(Span destBuffer, ReadOnlySpan value, i public string Rival { get => GetString(0x55F4, 0x1A); - set => SetString(Data.AsSpan(0x55F4, 0x1A), value.AsSpan(), OTLength, StringConverterOption.ClearZero); + set => SetString(Data.AsSpan(0x55F4, 0x1A), value.AsSpan(), MaxStringLengthOT, StringConverterOption.ClearZero); } public short ZoneID // map diff --git a/PKHeX.Core/Saves/SAV8LA.cs b/PKHeX.Core/Saves/SAV8LA.cs index 9c541749d..f96f4c444 100644 --- a/PKHeX.Core/Saves/SAV8LA.cs +++ b/PKHeX.Core/Saves/SAV8LA.cs @@ -63,8 +63,8 @@ public override void CopyChangesFrom(SaveFile sav) public override int MaxEV => 252; public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8a; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; public override bool ChecksumsValid => true; public override string ChecksumInfo => string.Empty; @@ -115,7 +115,7 @@ protected override SaveFile CloneInternal() public PokedexSave8a PokedexSave => Blocks.PokedexSave; public BoxLayout8a BoxLayout => Blocks.BoxLayout; public MyItem8a Items => Blocks.Items; - public AdventureStart8a AdventureStart => Blocks.AdventureStart; + public Epoch1970Value AdventureStart => Blocks.AdventureStart; public LastSaved8a LastSaved => Blocks.LastSaved; public PlayTime8a Played => Blocks.Played; public AreaSpawnerSet8a AreaSpawners => new(Blocks.GetBlock(SaveBlockAccessor8LA.KSpawners)); diff --git a/PKHeX.Core/Saves/SAV8SWSH.cs b/PKHeX.Core/Saves/SAV8SWSH.cs index c8bc11ea3..3d8945d39 100644 --- a/PKHeX.Core/Saves/SAV8SWSH.cs +++ b/PKHeX.Core/Saves/SAV8SWSH.cs @@ -64,7 +64,7 @@ public override void CopyChangesFrom(SaveFile sav) public void SetValue(uint key, T value) where T : struct => Blocks.SetBlockValueSafe(key, value); public Box8 BoxInfo => Blocks.BoxInfo; public Party8 PartyInfo => Blocks.PartyInfo; - public MyItem Items => Blocks.Items; + public MyItem8 Items => Blocks.Items; public MyStatus8 MyStatus => Blocks.MyStatus; public Misc8 Misc => Blocks.Misc; public Zukan8 Zukan => Blocks.Zukan; @@ -149,8 +149,8 @@ private void Initialize() public override int MaxEV => 252; public override int Generation => 8; public override EntityContext Context => EntityContext.Gen8; - public override int OTLength => 12; - public override int NickLength => 12; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; protected override PKM GetPKM(byte[] data) => new PK8(data); protected override byte[] DecryptPKM(byte[] data) => PokeCrypto.DecryptArray8(data); diff --git a/PKHeX.Core/Saves/SAV9SV.cs b/PKHeX.Core/Saves/SAV9SV.cs new file mode 100644 index 000000000..3325d4202 --- /dev/null +++ b/PKHeX.Core/Saves/SAV9SV.cs @@ -0,0 +1,277 @@ +using System; +using System.Collections.Generic; + +namespace PKHeX.Core; + +/// +/// Generation 9 object for games. +/// +public sealed class SAV9SV : SaveFile, ISaveBlock9Main, ISCBlockArray, ISaveFileRevision +{ + protected internal override string ShortSummary => $"{OT} ({Version}) - {LastSaved.DisplayValue}"; + public override string Extension => string.Empty; + + public SAV9SV(byte[] data) : this(SwishCrypto.Decrypt(data)) { } + + private SAV9SV(IReadOnlyList blocks) : base(Array.Empty()) + { + AllBlocks = blocks; + Blocks = new SaveBlockAccessor9SV(this); + Initialize(); + } + + public SAV9SV() + { + AllBlocks = Meta9.GetBlankDataSV(); + Blocks = new SaveBlockAccessor9SV(this); + Initialize(); + ClearBoxes(); + } + + public override void CopyChangesFrom(SaveFile sav) + { + // Absorb changes from all blocks + var z = (SAV9SV)sav; + var mine = AllBlocks; + var newB = z.AllBlocks; + for (int i = 0; i < mine.Count; i++) + mine[i].CopyFrom(newB[i]); + State.Edited = true; + } + + public int SaveRevision => 0; // No DLC (yet?) + + public string SaveRevisionString => SaveRevision switch + { + 0 => "-Base", // Vanilla + _ => throw new ArgumentOutOfRangeException(nameof(SaveRevision)), + }; + + public override bool ChecksumsValid => true; + public override string ChecksumInfo => string.Empty; + protected override void SetChecksums() { } // None! + protected override byte[] GetFinalData() => SwishCrypto.Encrypt(AllBlocks); + + public override IPersonalTable Personal => PersonalTable.SV; + public override IReadOnlyList HeldItems => Legal.HeldItems_SV; + + #region Blocks + public SCBlockAccessor Accessor => Blocks; + public SaveBlockAccessor9SV Blocks { get; } + public IReadOnlyList AllBlocks { get; } + public T GetValue(uint key) where T : struct => Blocks.GetBlockValueSafe(key); + public void SetValue(uint key, T value) where T : struct => Blocks.SetBlockValueSafe(key, value); + public Box8 BoxInfo => Blocks.BoxInfo; + public Party9 PartyInfo => Blocks.PartyInfo; + public MyItem9 Items => Blocks.Items; + public MyStatus9 MyStatus => Blocks.MyStatus; + public Zukan9 Zukan => Blocks.Zukan; + public BoxLayout9 BoxLayout => Blocks.BoxLayout; + public PlayTime9 Played => Blocks.Played; + public ConfigSave9 Config => Blocks.Config; + public TeamIndexes9 TeamIndexes => Blocks.TeamIndexes; + public Epoch1970Value LastSaved => Blocks.LastSaved; + public PlayerFashion9 PlayerFashion => Blocks.PlayerFashion; + public PlayerAppearance9 PlayerAppearance => Blocks.PlayerAppearance; + public RaidSpawnList9 Raid => Blocks.Raid; + public FixedSpawnList9 FixedSpawns => Blocks.FixedSpawns; + #endregion + + protected override SaveFile CloneInternal() + { + var blockCopy = new SCBlock[AllBlocks.Count]; + for (int i = 0; i < AllBlocks.Count; i++) + blockCopy[i] = AllBlocks[i].Clone(); + return new SAV9SV(blockCopy); + } + + public override ushort MaxMoveID => Legal.MaxMoveID_9; + public override ushort MaxSpeciesID => Legal.MaxSpeciesID_9; + public override int MaxItemID => Legal.MaxItemID_9; + public override int MaxBallID => Legal.MaxBallID_9; + public override int MaxGameID => Legal.MaxGameID_9; + public override int MaxAbilityID => Legal.MaxAbilityID_9; + + private void Initialize() + { + Box = 0; + Party = 0; + PokeDex = 0; + TeamIndexes.LoadBattleTeams(); + } + + public override IReadOnlyList PKMExtensions => Array.FindAll(PKM.Extensions, f => + { + int gen = f[^1] - 0x30; + return gen == 9; + }); + + // Configuration + protected override int SIZE_STORED => PokeCrypto.SIZE_9STORED; + protected override int SIZE_PARTY => PokeCrypto.SIZE_9PARTY; + public override int SIZE_BOXSLOT => PokeCrypto.SIZE_9PARTY; + public override PKM BlankPKM => new PK9(); + public override Type PKMType => typeof(PK9); + + public override int BoxCount => BoxLayout9.BoxCount; + public override int MaxEV => 252; + public override int Generation => 9; + public override EntityContext Context => EntityContext.Gen9; + public override int MaxStringLengthOT => 12; + public override int MaxStringLengthNickname => 12; + protected override PKM GetPKM(byte[] data) => new PK9(data); + protected override byte[] DecryptPKM(byte[] data) => PokeCrypto.DecryptArray9(data); + + public override GameVersion Version => Game switch + { + (int)GameVersion.SL => GameVersion.SL, + (int)GameVersion.VL => GameVersion.VL, + _ => GameVersion.Invalid, + }; + + public override string GetString(ReadOnlySpan data) => StringConverter8.GetString(data); + public override int SetString(Span destBuffer, ReadOnlySpan value, int maxLength, StringConverterOption option) + => StringConverter8.SetString(destBuffer, value, maxLength, option); + + // Player Information + public override int TID { get => MyStatus.TID; set => MyStatus.TID = value; } + public override int SID { get => MyStatus.SID; set => MyStatus.SID = value; } + public override int Game { get => MyStatus.Game; set => MyStatus.Game = value; } + public override int Gender { get => MyStatus.Gender; set => MyStatus.Gender = value; } + public override int Language { get => MyStatus.Language; set => MyStatus.Language = value; } + public override string OT { get => MyStatus.OT; set => MyStatus.OT = value; } + public override uint Money { get => (uint)Blocks.GetBlockValue(SaveBlockAccessor9SV.KMoney); set => Blocks.SetBlockValue(SaveBlockAccessor9SV.KMoney, value); } + public uint LeaguePoints { get => (uint)Blocks.GetBlockValue(SaveBlockAccessor9SV.KLeaguePoints); set => Blocks.SetBlockValue(SaveBlockAccessor9SV.KLeaguePoints, value); } + + public override int PlayedHours { get => Played.PlayedHours; set => Played.PlayedHours = value; } + public override int PlayedMinutes { get => Played.PlayedMinutes; set => Played.PlayedMinutes = value; } + public override int PlayedSeconds { get => Played.PlayedSeconds; set => Played.PlayedSeconds = value; } + + // Inventory + public override IReadOnlyList Inventory { get => Items.Inventory; set => Items.Inventory = value; } + + // Storage + public override int GetPartyOffset(int slot) => Party + (SIZE_PARTY * slot); + public override int GetBoxOffset(int box) => Box + (SIZE_PARTY * box * 30); + public override string GetBoxName(int box) => BoxLayout[box]; + public override void SetBoxName(int box, string value) => BoxLayout[box] = value; + public override byte[] GetDataForBox(PKM pk) => pk.EncryptedPartyData; + + protected override void SetPKM(PKM pk, bool isParty = false) + { + PK9 pk9 = (PK9)pk; + // Apply to this Save File + DateTime Date = DateTime.Now; + pk9.Trade(this, Date.Day, Date.Month, Date.Year); + + if (FormArgumentUtil.IsFormArgumentTypeDatePair(pk9.Species, pk9.Form)) + { + pk9.FormArgumentElapsed = pk9.FormArgumentMaximum = 0; + pk9.FormArgumentRemain = (byte)GetFormArgument(pk9); + } + + pk9.RefreshChecksum(); + AddCountAcquired(pk9); + } + + private static uint GetFormArgument(PKM pk) + { + if (pk.Form == 0) + return 0; + return pk.Species switch + { + (int)Species.Furfrou => 5u, // Furfrou + (int)Species.Hoopa => 3u, // Hoopa + _ => 0u, + }; + } + + private void AddCountAcquired(PKM pk) + { + if (pk.WasEgg) + { + //Records.AddRecord(00); + } + else // capture, assume wild + { + //Records.AddRecord(01); // wild capture + //Records.AddRecord(06); // total captured + //Records.AddRecord(16); // wild encountered + //Records.AddRecord(23); // total battled + } + if (pk.CurrentHandler == 1) + { + //Records.AddRecord(17, 2); // trade * 2 -- these games count 1 trade as 2 for some reason. + } + } + + protected override void SetDex(PKM pk) => Zukan.SetDex(pk); + public override bool GetCaught(ushort species) => Zukan.GetCaught(species); + public override bool GetSeen(ushort species) => Zukan.GetSeen(species); + + public override int PartyCount + { + get => PartyInfo.PartyCount; + protected set => PartyInfo.PartyCount = value; + } + + protected override byte[] BoxBuffer => BoxInfo.Data; + protected override byte[] PartyBuffer => PartyInfo.Data; + public override PKM GetDecryptedPKM(byte[] data) => GetPKM(DecryptPKM(data)); + public override PKM GetBoxSlot(int offset) => GetDecryptedPKM(GetData(BoxInfo.Data, offset, SIZE_PARTY)); // party format in boxes! + + //public int GetRecord(int recordID) => Records.GetRecord(recordID); + //public void SetRecord(int recordID, int value) => Records.SetRecord(recordID, value); + //public int GetRecordMax(int recordID) => Records.GetRecordMax(recordID); + //public int GetRecordOffset(int recordID) => Records.GetRecordOffset(recordID); + //public int RecordCount => Record9.RecordCount; + + public override StorageSlotSource GetSlotFlags(int index) + { + int team = Array.IndexOf(TeamIndexes.TeamSlots, index); + if (team < 0) + return StorageSlotSource.None; + + team /= 6; + var result = (StorageSlotSource)((int)StorageSlotSource.BattleTeam1 << team); + if (TeamIndexes.GetIsTeamLocked(team)) + result |= StorageSlotSource.Locked; + return result; + } + + public override int CurrentBox { get => BoxLayout.CurrentBox; set => BoxLayout.CurrentBox = value; } + public override int BoxesUnlocked { get => (byte)Blocks.GetBlockValue(SaveBlockAccessor9SV.KBoxesUnlocked); set => Blocks.SetBlockValue(SaveBlockAccessor9SV.KBoxesUnlocked, (byte)value); } + public override bool HasBoxWallpapers => true; + public override bool HasNamableBoxes => true; + public Span Coordinates => Blocks.GetBlock(SaveBlockAccessor9SV.KCoordinates).Data; + public float X { get => ReadSingleLittleEndian(Coordinates); set => WriteSingleLittleEndian(Coordinates, value); } + public float Y { get => ReadSingleLittleEndian(Coordinates[4..]); set => WriteSingleLittleEndian(Coordinates[4..], value); } + public float Z { get => ReadSingleLittleEndian(Coordinates[8..]); set => WriteSingleLittleEndian(Coordinates[8..], value); } + + public void SetCoordinates(float x, float y, float z) + { + // Only set coordinates if epsilon is different enough + const float epsilon = 0.0001f; + if (Math.Abs(X - x) < epsilon && Math.Abs(Y - y) < epsilon && Math.Abs(Z - z) < epsilon) + return; + X = x; + Y = y; + Z = z; + } + + public override int GetBoxWallpaper(int box) + { + if ((uint)box >= BoxCount) + return box; + var b = Blocks.GetBlock(SaveBlockAccessor9SV.KBoxWallpapers); + return b.Data[box]; + } + + public override void SetBoxWallpaper(int box, int value) + { + if ((uint)box >= BoxCount) + return; + var b = Blocks.GetBlock(SaveBlockAccessor9SV.KBoxWallpapers); + b.Data[box] = (byte)value; + } +} diff --git a/PKHeX.Core/Saves/SaveFile.cs b/PKHeX.Core/Saves/SaveFile.cs index dc575e689..44ae13f23 100644 --- a/PKHeX.Core/Saves/SaveFile.cs +++ b/PKHeX.Core/Saves/SaveFile.cs @@ -88,8 +88,8 @@ public void SetData(Span dest, Span input, int offset) #region Stored PKM Limits public abstract IPersonalTable Personal { get; } - public abstract int OTLength { get; } - public abstract int NickLength { get; } + public abstract int MaxStringLengthOT { get; } + public abstract int MaxStringLengthNickname { get; } public abstract ushort MaxMoveID { get; } public abstract ushort MaxSpeciesID { get; } public abstract int MaxAbilityID { get; } diff --git a/PKHeX.Core/Saves/Storage/BulkStorage.cs b/PKHeX.Core/Saves/Storage/BulkStorage.cs index 23bb2d8b9..620fa5d64 100644 --- a/PKHeX.Core/Saves/Storage/BulkStorage.cs +++ b/PKHeX.Core/Saves/Storage/BulkStorage.cs @@ -42,8 +42,8 @@ protected BulkStorage(byte[] data, Type t, int start, int slotsPerBox = 30) : ba public sealed override int MaxItemID => blank.MaxItemID; public sealed override int MaxBallID => blank.MaxBallID; public sealed override int MaxGameID => blank.MaxGameID; - public sealed override int OTLength => blank.OTLength; - public sealed override int NickLength => blank.NickLength; + public sealed override int MaxStringLengthOT => blank.MaxStringLengthOT; + public sealed override int MaxStringLengthNickname => blank.MaxStringLengthNickname; public bool IsBigEndian => blank is BK4 or XK3 or CK3; public override int BoxCount { get; } diff --git a/PKHeX.Core/Saves/Substructures/Gen3/Roamer3.cs b/PKHeX.Core/Saves/Substructures/Gen3/Roamer3.cs index a54d47cda..31ec9bd11 100644 --- a/PKHeX.Core/Saves/Substructures/Gen3/Roamer3.cs +++ b/PKHeX.Core/Saves/Substructures/Gen3/Roamer3.cs @@ -3,7 +3,7 @@ namespace PKHeX.Core; -public sealed class Roamer3 : IContestStats, IContestStatsMutable +public sealed class Roamer3 : IContestStats { private readonly int Offset; public bool IsGlitched { get; } diff --git a/PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs b/PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs index 12b8af2f6..5c6959652 100644 --- a/PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs +++ b/PKHeX.Core/Saves/Substructures/Gen3/StrategyMemo.cs @@ -105,7 +105,8 @@ public bool Seen { get { - if (XD) return !Flag1; + if (XD) + return !Flag1; return Species != 0; } set @@ -113,7 +114,7 @@ public bool Seen if (XD) Flag1 = !value; else if (!value) - new byte[StrategyMemo.SIZE_ENTRY].CopyTo(Data, 0); + Data.AsSpan(0, StrategyMemo.SIZE_ENTRY).Clear(); } } @@ -121,12 +122,14 @@ public bool Owned { get { - if (XD) return false; + if (XD) + return false; return Flag0 || !Flag1; } set { - if (XD) return; + if (XD) + return; if (!value) Flag1 = true; } diff --git a/PKHeX.Core/Saves/Substructures/Gen5/PlayerData5.cs b/PKHeX.Core/Saves/Substructures/Gen5/PlayerData5.cs index 40d151ef8..ab42e9776 100644 --- a/PKHeX.Core/Saves/Substructures/Gen5/PlayerData5.cs +++ b/PKHeX.Core/Saves/Substructures/Gen5/PlayerData5.cs @@ -16,7 +16,7 @@ public sealed class PlayerData5 : SaveBlock public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } public int TID diff --git a/PKHeX.Core/Saves/Substructures/Gen6/MyStatus6.cs b/PKHeX.Core/Saves/Substructures/Gen6/MyStatus6.cs index dd6464b92..5a21e3973 100644 --- a/PKHeX.Core/Saves/Substructures/Gen6/MyStatus6.cs +++ b/PKHeX.Core/Saves/Substructures/Gen6/MyStatus6.cs @@ -99,7 +99,7 @@ public int Language public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } private Span GetSayingSpan(int say) => Data.AsSpan(GetSayingOffset(say), SAV6.LongStringLength); diff --git a/PKHeX.Core/Saves/Substructures/Gen7/FieldMenu7.cs b/PKHeX.Core/Saves/Substructures/Gen7/FieldMenu7.cs index c94977fbd..4b7f1bffe 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/FieldMenu7.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/FieldMenu7.cs @@ -21,6 +21,6 @@ public ushort RotomAffection public string RotomOT { get => SAV.GetString(Offset + 0x30, 0x1A); - set => SAV.SetString(Data.AsSpan(Offset + 0x30, 0x1A), value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(Data.AsSpan(Offset + 0x30, 0x1A), value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } } diff --git a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/GP1.cs b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/GP1.cs index e7ac27c79..7c3bc5c15 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/GP1.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/GP1.cs @@ -8,7 +8,7 @@ namespace PKHeX.Core; /// /// Go Park Entity transferred from to . /// -public sealed class GP1 : IEncounterInfo, IFixedAbilityNumber +public sealed class GP1 : IEncounterInfo, IFixedAbilityNumber, IScaledSizeReadOnly { public const int SIZE = 0x1B0; public readonly byte[] Data; diff --git a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/Misc7b.cs b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/Misc7b.cs index 4a03844dd..b056cfbbe 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/Misc7b.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/Misc7b.cs @@ -18,6 +18,6 @@ public uint Money public string Rival { get => SAV.GetString(Rival_Trash); - set => SAV.SetString(Rival_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(Rival_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } } diff --git a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/MyStatus7b.cs b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/MyStatus7b.cs index 3d583df21..e3bad6912 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/LGPE/MyStatus7b.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/LGPE/MyStatus7b.cs @@ -61,7 +61,7 @@ public int Language public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } // The value here corresponds to a Trainer Class string (ranging from 000 to 383, use pkNX to get a full list). diff --git a/PKHeX.Core/Saves/Substructures/Gen7/MyStatus7.cs b/PKHeX.Core/Saves/Substructures/Gen7/MyStatus7.cs index 7826639e6..d5601f04a 100644 --- a/PKHeX.Core/Saves/Substructures/Gen7/MyStatus7.cs +++ b/PKHeX.Core/Saves/Substructures/Gen7/MyStatus7.cs @@ -95,7 +95,7 @@ public int Language public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } public int DressUpSkinColor diff --git a/PKHeX.Core/Saves/Substructures/Gen8/BS/MyStatus8b.cs b/PKHeX.Core/Saves/Substructures/Gen8/BS/MyStatus8b.cs index 60f43c09e..1790ed3ba 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/BS/MyStatus8b.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/BS/MyStatus8b.cs @@ -21,7 +21,7 @@ public sealed class MyStatus8b : SaveBlock public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } public int TID diff --git a/PKHeX.Core/Saves/Substructures/Gen8/LA/AdventureStart8a.cs b/PKHeX.Core/Saves/Substructures/Gen8/LA/AdventureStart8a.cs deleted file mode 100644 index 9d0f71209..000000000 --- a/PKHeX.Core/Saves/Substructures/Gen8/LA/AdventureStart8a.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.ComponentModel; -using static System.Buffers.Binary.BinaryPrimitives; - -namespace PKHeX.Core; - -/// -/// Stores the when the player created their save data. -/// -[TypeConverter(typeof(ExpandableObjectConverter))] -public sealed class AdventureStart8a : SaveBlock -{ - public AdventureStart8a(SAV8LA sav, SCBlock block) : base(sav, block.Data) { } - - /// - /// time_t (seconds since 1970 Epoch) - /// - public ulong Seconds - { - get => ReadUInt64LittleEndian(Data.AsSpan(Offset)); - set => WriteUInt64LittleEndian(Data.AsSpan(Offset), value); - } - - private static DateTime Epoch => new(1970, 1, 1); - - public string AdventureStartTime => $"{Timestamp.Year:0000}-{Timestamp.Month:00}-{Timestamp.Day:00} {Timestamp.Hour:00}ː{Timestamp.Minute:00}ː{Timestamp.Second:00}"; // not : - - public DateTime Timestamp - { - get => Epoch.AddSeconds(Seconds); - set => Seconds = (ulong)value.Subtract(Epoch).TotalSeconds; - } -} diff --git a/PKHeX.Core/Saves/Substructures/Gen8/LA/Epoch1970Value.cs b/PKHeX.Core/Saves/Substructures/Gen8/LA/Epoch1970Value.cs new file mode 100644 index 000000000..43cebd960 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen8/LA/Epoch1970Value.cs @@ -0,0 +1,37 @@ +using System; +using System.ComponentModel; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// Stores the to indicate the seconds since 1970 that an event occurred. +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public sealed class Epoch1970Value +{ + private readonly Memory Data; + private Span Span => Data.Span; + + public Epoch1970Value(SCBlock block) : this(block.Data) { } + public Epoch1970Value(Memory data) => Data = data; + + /// + /// time_t (seconds since 1970 Epoch) + /// + public ulong Seconds + { + get => ReadUInt64LittleEndian(Span); + set => WriteUInt64LittleEndian(Span, value); + } + + private static DateTime Epoch => new(1970, 1, 1); + + public string DisplayValue => $"{Timestamp.Year:0000}-{Timestamp.Month:00}-{Timestamp.Day:00} {Timestamp.Hour:00}ː{Timestamp.Minute:00}ː{Timestamp.Second:00}"; // not : + + public DateTime Timestamp + { + get => Epoch.AddSeconds(Seconds); + set => Seconds = (ulong)value.Subtract(Epoch).TotalSeconds; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen8/LA/MyStatus8a.cs b/PKHeX.Core/Saves/Substructures/Gen8/LA/MyStatus8a.cs index 7bf1b642d..93ad8d029 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/LA/MyStatus8a.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/LA/MyStatus8a.cs @@ -58,7 +58,7 @@ public int Language public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } public byte Unk_0x50 diff --git a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/MyStatus8.cs b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/MyStatus8.cs index 54d945e24..87903999a 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/MyStatus8.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/MyStatus8.cs @@ -167,7 +167,7 @@ public int Language public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } // D0 diff --git a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/PlayTime8.cs b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/PlayTime8.cs index e179522a2..bac808170 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/PlayTime8.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/PlayTime8.cs @@ -25,7 +25,6 @@ public int PlayedSeconds set => Data[Offset + 3] = (byte)value; } - // TODO private uint LastSaved { get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x4)); set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x4), value); } private int LastSavedYear { get => (int)(LastSaved & 0xFFF) + 1900; set => LastSaved = (LastSaved & 0xFFFFF000) | (uint)(value - 1900); } private int LastSavedMonth { get => (int)((LastSaved >> 12) & 0xF) + 1; set => LastSaved = (LastSaved & 0xFFFF0FFF) | (((uint)(value - 1) & 0xF) << 12); } diff --git a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/RentalTeam8.cs b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/RentalTeam8.cs index 3619f0c33..f6627d25b 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/RentalTeam8.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/RentalTeam8.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// -/// Container block for Generation 8 saved Rental Teams +/// Container block for a single Generation 8 saved Rental Team /// public sealed class RentalTeam8 : IRentalTeam, IPokeGroup { diff --git a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/TrainerCard8.cs b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/TrainerCard8.cs index 64db9b1f5..8e0f99977 100644 --- a/PKHeX.Core/Saves/Substructures/Gen8/SWSH/TrainerCard8.cs +++ b/PKHeX.Core/Saves/Substructures/Gen8/SWSH/TrainerCard8.cs @@ -14,7 +14,7 @@ public sealed class TrainerCard8 : SaveBlock public string OT { get => SAV.GetString(OT_Trash); - set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.OTLength, StringConverterOption.ClearZero); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); } public byte Language diff --git a/PKHeX.Core/Saves/Substructures/Gen9/BoxLayout9.cs b/PKHeX.Core/Saves/Substructures/Gen9/BoxLayout9.cs new file mode 100644 index 000000000..772df1ba1 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/BoxLayout9.cs @@ -0,0 +1,41 @@ +using System; + +namespace PKHeX.Core; + +public sealed class BoxLayout9 : SaveBlock, IBoxDetailName +{ + public const int BoxCount = 32; + + private const int StringMaxLength = SAV6.LongStringLength / 2; + + public BoxLayout9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + private static int GetBoxNameOffset(int box) => SAV6.LongStringLength * box; + private Span GetBoxNameSpan(int box) => Data.AsSpan(GetBoxNameOffset(box), SAV6.LongStringLength); + + public string GetBoxName(int box) + { + var span = GetBoxNameSpan(box); + if (System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(span) == 0) + return $"Box {box + 1}"; + return SAV.GetString(span); + } + + public void SetBoxName(int box, string value) + { + var span = GetBoxNameSpan(box); + SAV.SetString(span, value.AsSpan(), StringMaxLength, StringConverterOption.ClearZero); + } + + public string this[int i] + { + get => GetBoxName(i); + set => SetBoxName(i, value); + } + + public int CurrentBox + { + get => SAV.GetValue(SaveBlockAccessor9SV.KCurrentBox); + set => SAV.SetValue(SaveBlockAccessor9SV.KCurrentBox, (byte)value); + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/ConfigSave9.cs b/PKHeX.Core/Saves/Substructures/Gen9/ConfigSave9.cs new file mode 100644 index 000000000..c5634f70e --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/ConfigSave9.cs @@ -0,0 +1,63 @@ +using System; +using System.Buffers.Binary; + +namespace PKHeX.Core; + +public sealed class ConfigSave9 : SaveBlock +{ + public ConfigSave9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + // Structure: u32 + /* TalkingSpeed:2 + * SkipMoveLearning:1 | On = 0, Off = 1 + * SendToBoxes:1 | Manual = 0, Automatic = 1 + * + * GiveNicknames:1 | On = 0, Off = 1 + * InvertCameraVertical:1 | Regular = 0, Inverted = 1 + * InvertCameraHorizontal:1 | Regular = 0, Inverted = 1 + * AutoSave:1 | On = 0, Off = 1 + * + * ShowNicknames:1 | Show = 0, Don't = 1 + * SkipCutscenes:1 | On = 0, Off = 1 + * VolumeBGM:4 + * VolumeSE:4 + * VolumeCry:4 + * + * Rumble | On = 0, Off = 1 + * Helping Functions | On = 0, Off = 1 + * + * Last 8 bits unused? + */ + + + public int ConfigValue + { + get => BinaryPrimitives.ReadInt32LittleEndian(Data.AsSpan(Offset)); + set => BinaryPrimitives.WriteInt32LittleEndian(Data.AsSpan(Offset), value); + } + + private const int DefaultValue = 0x002AAA05; + + public void Reset() => ConfigValue = DefaultValue; + + public int TalkingSpeed { get => ConfigValue & 0b11; set => ConfigValue = (ConfigValue & ~0b11) | (value & 0b11); } + public ConfigOption9 SkipMoveLearning { get => (ConfigOption9)((ConfigValue >> 02) & 1); set => ConfigValue = (ConfigValue & ~(1 << 02)) | ((((int)value) & 1) << 02); } + public ConfigOption9 PromptSendToBox { get => (ConfigOption9)((ConfigValue >> 03) & 1); set => ConfigValue = (ConfigValue & ~(1 << 03)) | ((((int)value) & 1) << 03); } + public ConfigOption9 PromptGiveNickname { get => (ConfigOption9)((ConfigValue >> 04) & 1); set => ConfigValue = (ConfigValue & ~(1 << 04)) | ((((int)value) & 1) << 04); } + public ConfigOption9 InvertCameraVertical { get => (ConfigOption9)((ConfigValue >> 05) & 1); set => ConfigValue = (ConfigValue & ~(1 << 05)) | ((((int)value) & 1) << 05); } + public ConfigOption9 InvertCameraHorizontal { get => (ConfigOption9)((ConfigValue >> 06) & 1); set => ConfigValue = (ConfigValue & ~(1 << 06)) | ((((int)value) & 1) << 06); } + public ConfigOption9 EnableAutoSave { get => (ConfigOption9)((ConfigValue >> 07) & 1); set => ConfigValue = (ConfigValue & ~(1 << 07)) | ((((int)value) & 1) << 07); } + public ConfigOption9 ShowNicknames { get => (ConfigOption9)((ConfigValue >> 08) & 1); set => ConfigValue = (ConfigValue & ~(1 << 08)) | ((((int)value) & 1) << 08); } + public ConfigOption9 SkipCutscenes { get => (ConfigOption9)((ConfigValue >> 09) & 1); set => ConfigValue = (ConfigValue & ~(1 << 09)) | ((((int)value) & 1) << 09); } + public int VolumeBGM { get => (ConfigValue >> 10) & 0b1111; set => ConfigValue = (ConfigValue & ~(0b1111 << 10)) | ((value & 0b1111) << 10); } + public int VolumeSE { get => (ConfigValue >> 14) & 0b1111; set => ConfigValue = (ConfigValue & ~(0b1111 << 14)) | ((value & 0b1111) << 14); } + public int VolumeCry { get => (ConfigValue >> 18) & 0b1111; set => ConfigValue = (ConfigValue & ~(0b1111 << 18)) | ((value & 0b1111) << 18); } + public ConfigOption9 EnableRumble { get => (ConfigOption9)((ConfigValue >> 22) & 1); set => ConfigValue = (ConfigValue & ~(1 << 22)) | ((((int)value) & 1) << 22); } + public ConfigOption9 EnableHelp { get => (ConfigOption9)((ConfigValue >> 23) & 1); set => ConfigValue = (ConfigValue & ~(1 << 23)) | ((((int)value) & 1) << 23); } +} + +public enum ConfigOption9 : byte +{ + On = 0, + off = 1, +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/FixedSpawnList9.cs b/PKHeX.Core/Saves/Substructures/Gen9/FixedSpawnList9.cs new file mode 100644 index 000000000..2e9e646ec --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/FixedSpawnList9.cs @@ -0,0 +1,103 @@ +using System; +using System.ComponentModel; +using static System.Buffers.Binary.BinaryPrimitives; +// ReSharper disable UnusedMember.Global + +namespace PKHeX.Core; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public sealed class FixedSpawnList9 : SaveBlock +{ + public readonly int CountAll; + + public FixedSpawnList9(SAV9SV sav, SCBlock block) : base(sav, block.Data) + { + CountAll = block.Data.Length / FixedSpawnDetail.SIZE; + } + + public FixedSpawnDetail GetSpawn(int entry) => new(Data, entry * FixedSpawnDetail.SIZE); + + public FixedSpawnDetail[] Spawns => GetAllSpawns(); + + public FixedSpawnDetail[] GetAllSpawns() + { + var result = new FixedSpawnDetail[CountAll]; + for (int i = 0; i < result.Length; i++) + result[i] = GetSpawn(i); + return result; + } + + public PK9[] Entities + { + get => GetAllEntities(); + set + { + if (value.Length != CountAll) + throw new ArgumentException(nameof(value)); + for (int i = 0; i < value.Length; i++) + GetSpawn(i).Entity = value[i]; + } + } + + public PK9[] GetAllEntities() + { + var result = new PK9[CountAll]; + for (int i = 0; i < result.Length; i++) + result[i] = GetSpawn(i).Entity; + return result; + } +} + +public sealed class FixedSpawnDetail +{ + public const int SIZE = 0x170; + + private readonly byte[] Data; + private readonly int Offset; + + public FixedSpawnDetail(byte[] data, int ofs) + { + Data = data; + Offset = ofs; + } + + private const string General = nameof(General); + private const string Misc = nameof(Misc); + + [Category(Misc), Description("Unknown Hash.")] + public ulong Hash + { + get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x00)); + set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x00), value); + } + + [Category(General), Description("Indicates if this entry is available on the overworld.")] + public bool IsEnabled + { + get => Data[Offset + 0x08] == 1; + set => Data[Offset + 0x08] = value ? (byte)1 : (byte)0; + } + + [Category(General), Description("Encrypted Entity data.")] + public PK9 Entity + { + get => new(Data.Slice(Offset + 0x09, PokeCrypto.SIZE_9PARTY)); + set => value.EncryptedPartyData.CopyTo(Data, Offset + 0x09); + } + + // 7 bytes of padding, for alignment of next field. + [Category(Misc), Description("time_t (64 bit) of when the encounter was last regenerated. Usually just a date (no time component).")] + public ulong Seconds + { + get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x168)); + set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x168), value); + } + + public override string ToString() + { + var pk = Entity; + var timestamp = new Epoch1970Value(Data.AsMemory(Offset + 0x168)).DisplayValue; + var state = IsEnabled ? "X" : " "; + return $"{timestamp} {state} {Hash:X16} {pk.Species:000} - {pk.Nickname} ({pk.CurrentLevel})"; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/Meta9.cs b/PKHeX.Core/Saves/Substructures/Gen9/Meta9.cs new file mode 100644 index 000000000..e63443975 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/Meta9.cs @@ -0,0 +1,1421 @@ +using System.Collections.Generic; + +namespace PKHeX.Core; + +public static class Meta9 +{ + public static SCBlock[] GetBlankDataSV() => GetBlankBlockArray(DefaultChunkSizesSV); + + /// + /// Create a blank block array using the provided definition. + /// + /// Block specification tuples (key, size) + /// List of blocks + private static SCBlock[] GetBlankBlockArray(IReadOnlyList arr) + { + var blocks = new SCBlock[arr.Count / 2]; + for (int i = 0; i < blocks.Length; i++) + { + int index = i * 2; + var key = arr[index]; + var length = (int) arr[index + 1]; + var dummy = new byte[length]; + blocks[i] = new SCBlock(key, SCTypeCode.None, dummy); + } + return blocks; + } + +#if DEBUG + public static IEnumerable RipSizes(IReadOnlyCollection blocks) + { + int ctr = 0; + foreach (var block in blocks) + { + if (block.Data.Length == 0) + continue; + if (ctr == 4) + { + yield return System.Environment.NewLine; + ctr = 0; + } + yield return $"0x{block.Key:X8}, 0x{block.Data.Length:X5}, "; + ctr++; + } + } +#endif + + private static readonly uint[] DefaultChunkSizesSV = + { + 0x0018E0B9, 0x00008, 0x001FD42F, 0x00008, 0x0022B5C9, 0x00008, 0x003096FA, 0x00008, + 0x0031E2C7, 0x00008, 0x003D333A, 0x00020, 0x0044E726, 0x00008, 0x00475C1C, 0x00008, + 0x004E50A7, 0x00008, 0x00521A8B, 0x00020, 0x005A9661, 0x00008, 0x005AD5F7, 0x00008, + 0x00687E41, 0x00008, 0x006D638F, 0x00008, 0x00791FDC, 0x00020, 0x0080C4A6, 0x00008, + 0x00826C0A, 0x00008, 0x0098E1A4, 0x00008, 0x00B2D187, 0x00008, 0x00B99514, 0x00008, + 0x00D3699F, 0x00008, 0x00DD626B, 0x00008, 0x00DF8696, 0x00008, 0x00EAEA74, 0x00008, + 0x00F86D1D, 0x00008, 0x01023CEB, 0x00020, 0x013F5292, 0x00008, 0x01658728, 0x00008, + 0x0167DC7F, 0x00008, 0x0177BF12, 0x00008, 0x017C3CBB, 0x00001, 0x0190AF1A, 0x00008, + 0x019EBB76, 0x00008, 0x019EC85B, 0x00008, 0x01AD6330, 0x00008, 0x01C07200, 0x00008, + 0x01C2A473, 0x00008, 0x01C8146A, 0x00020, 0x01CDC3CA, 0x00008, 0x01D494D2, 0x00008, + 0x01D4FE7C, 0x00008, 0x01D79540, 0x00008, 0x01DDAE77, 0x00020, 0x01E0C844, 0x00008, + 0x01FD031F, 0x40000, 0x020D5517, 0x00008, 0x02108C87, 0x00008, 0x0213DEBB, 0x00008, + 0x0221A618, 0x00960, 0x022CA7F0, 0x00004, 0x022CA9A3, 0x00004, 0x022CAD09, 0x00004, + 0x023FA46D, 0x00008, 0x024869E0, 0x00020, 0x024C08BC, 0x00008, 0x025C4E64, 0x00008, + 0x0265ECEB, 0x00004, 0x026E5B04, 0x00008, 0x027DB93D, 0x00020, 0x028331BC, 0x00008, + 0x028BB9A2, 0x00008, 0x0291F0CA, 0x00008, 0x0298413C, 0x00008, 0x02BE68BB, 0x00008, + 0x02C1764B, 0x00008, 0x02C57A0D, 0x00008, 0x02D7C3E7, 0x00020, 0x02DA26F4, 0x00008, + 0x02E6EF03, 0x00008, 0x02F570A4, 0x00020, 0x02FD4938, 0x00008, 0x02FFE3EC, 0x00008, + 0x030A70D0, 0x00008, 0x031CA0D1, 0x00008, 0x03242435, 0x00008, 0x032EA187, 0x00008, + 0x033557DB, 0x00008, 0x03363D54, 0x00008, 0x033D9947, 0x00008, 0x0354F067, 0x00008, + 0x035A3BA5, 0x00008, 0x035D5309, 0x00008, 0x0365ECEC, 0x00008, 0x0367D708, 0x00008, + 0x036D323F, 0x00008, 0x037335A7, 0x00008, 0x037C6781, 0x00008, 0x03859DC7, 0x00008, + 0x0389F30E, 0x00008, 0x039D4D07, 0x00020, 0x03AACBE9, 0x00008, 0x03B745DB, 0x00008, + 0x03C34962, 0x00008, 0x03CAB80B, 0x00008, 0x03E22B4E, 0x00008, 0x03E5639F, 0x00008, + 0x03E90244, 0x00008, 0x03EEBE93, 0x00008, 0x03F391EE, 0x00008, 0x03FA24DD, 0x00008, + 0x041A1449, 0x00008, 0x04377DDC, 0x00008, 0x043E0405, 0x00008, 0x044D4A8C, 0x00008, + 0x044F4C1B, 0x00004, 0x044F4DCE, 0x00004, 0x04509187, 0x00008, 0x046EFA49, 0x00008, + 0x04739B59, 0x00008, 0x04969EB2, 0x00008, 0x04A466A4, 0x00008, 0x04B49662, 0x00008, + 0x04B555C0, 0x00008, 0x04B808FE, 0x00008, 0x04C05BB1, 0x00008, 0x04C5EF28, 0x00008, + 0x04CBD0EF, 0x00008, 0x04D0F5E4, 0x00008, 0x04D54F37, 0x00008, 0x04E2422B, 0x00008, + 0x04E40003, 0x00008, 0x04F14AF3, 0x00008, 0x04FA8777, 0x00008, 0x05172425, 0x00008, + 0x05177392, 0x00020, 0x0518E17B, 0x00008, 0x0520A1B0, 0x07530, 0x05312277, 0x00008, + 0x0549005E, 0x00008, 0x055545E3, 0x00008, 0x055F436E, 0x00008, 0x0576E1B2, 0x00008, + 0x05779CAF, 0x00008, 0x057E109F, 0x00020, 0x058364D5, 0x00008, 0x0584B164, 0x00008, + 0x058BD107, 0x00020, 0x0597D206, 0x00008, 0x05C89B9E, 0x00008, 0x05E585C0, 0x00008, + 0x05EC6C5A, 0x00008, 0x05FB7FC6, 0x00008, 0x063302EB, 0x00008, 0x06352B52, 0x00008, + 0x0650CCD3, 0x00008, 0x0653F423, 0x00008, 0x06567C83, 0x00008, 0x06596EF9, 0x00008, + 0x0664AFDA, 0x00008, 0x0687D2F7, 0x00008, 0x06939EEA, 0x00008, 0x06A70B68, 0x00004, + 0x06A70D1B, 0x00004, 0x06A70ECE, 0x00004, 0x06BD805C, 0x00008, 0x06C6A170, 0x00008, + 0x06CB933F, 0x00020, 0x06CE0BAB, 0x00008, 0x06E581B3, 0x00008, 0x06E88477, 0x00008, + 0x06EB433C, 0x00008, 0x070DA4E4, 0x00008, 0x075C57C1, 0x00008, 0x076B34DF, 0x00008, + 0x0772AA4C, 0x00020, 0x07948924, 0x00008, 0x07ACD4E4, 0x00008, 0x07B3D85F, 0x00008, + 0x07C061C9, 0x00020, 0x07EF27B1, 0x00008, 0x081BF386, 0x00008, 0x0821704D, 0x00008, + 0x08264130, 0x00008, 0x0837600A, 0x00008, 0x0850305E, 0x00008, 0x0888BC95, 0x00008, + 0x088F24D4, 0x00008, 0x089A4B94, 0x00008, 0x08A95250, 0x00008, 0x08D2F52A, 0x00008, + 0x08FE24AE, 0x00008, 0x090728DF, 0x00008, 0x0939EC2C, 0x00008, 0x095451E4, 0x00058, + 0x09741C5D, 0x00008, 0x09757D18, 0x00008, 0x09773F4D, 0x00008, 0x0983D6FA, 0x00008, + 0x0992D4EF, 0x00008, 0x099346A9, 0x00008, 0x09961BC6, 0x00008, 0x09979550, 0x00008, + 0x099FCD79, 0x00008, 0x09DA310A, 0x00008, 0x09E13C3C, 0x00008, 0x09F3B1EF, 0x00008, + 0x0A01F535, 0x00008, 0x0A03138C, 0x00008, 0x0A0F4A00, 0x00008, 0x0A2F60E1, 0x00008, + 0x0A422998, 0x00008, 0x0A4CF085, 0x00008, 0x0A4E1478, 0x00008, 0x0A52B776, 0x00008, + 0x0A677477, 0x00004, 0x0A67762A, 0x00004, 0x0A6777DD, 0x00004, 0x0A6E92F3, 0x00020, + 0x0A803DC0, 0x00008, 0x0A81ADC0, 0x00400, 0x0A84416B, 0x00008, 0x0A845901, 0x00008, + 0x0A8FF43E, 0x00008, 0x0AAFBE2F, 0x00008, 0x0AB733F4, 0x00008, 0x0AC086B6, 0x00008, + 0x0AC18A97, 0x00008, 0x0ACADC10, 0x00008, 0x0AE17B36, 0x00020, 0x0AFF274C, 0x00008, + 0x0B07ECD3, 0x00008, 0x0B124A70, 0x00008, 0x0B2EF8AC, 0x00008, 0x0B30B64A, 0x00008, + 0x0B384C24, 0x00004, 0x0B4B110D, 0x00020, 0x0B4D8845, 0x00008, 0x0B5EDCAB, 0x00008, + 0x0B5F0F01, 0x00008, 0x0B81AF53, 0x00400, 0x0B82AC02, 0x00008, 0x0B82C5D9, 0x00008, + 0x0B844D4E, 0x00008, 0x0B9832F4, 0x00008, 0x0BAE549F, 0x00008, 0x0BB057C9, 0x00008, + 0x0BE532C8, 0x00008, 0x0BEB3455, 0x00008, 0x0BF74359, 0x00008, 0x0C089D22, 0x00004, + 0x0C0B17EF, 0x00008, 0x0C0E10BC, 0x00008, 0x0C102F77, 0x00008, 0x0C25B6AC, 0x00008, + 0x0C2ED496, 0x00008, 0x0C3DEC41, 0x00008, 0x0C4A4CAC, 0x00020, 0x0C5BD9D8, 0x00008, + 0x0C62D416, 0x01000, 0x0C6824A6, 0x00008, 0x0C6ABC07, 0x00008, 0x0C707C4E, 0x00020, + 0x0C7A95B3, 0x00008, 0x0C7C81E9, 0x00020, 0x0C7C956C, 0x00008, 0x0C81B0E6, 0x00400, + 0x0C8659ED, 0x00041, 0x0C865CA8, 0x00008, 0x0C88F5B8, 0x00041, 0x0C8B2B8F, 0x00041, + 0x0C8EAE72, 0x00041, 0x0C90E449, 0x00041, 0x0C932C69, 0x00008, 0x0C94C654, 0x00041, + 0x0C95C4F9, 0x00020, 0x0C9768EB, 0x00041, 0x0C99A58E, 0x00041, 0x0C9D21A5, 0x00041, + 0x0C9F50B0, 0x00041, 0x0CB2BF62, 0x00004, 0x0CB86917, 0x00008, 0x0CC3161A, 0x00020, + 0x0CCC19FC, 0x00008, 0x0CD452DA, 0x00008, 0x0CF51824, 0x00008, 0x0D0602DE, 0x00004, + 0x0D0A5B2C, 0x00008, 0x0D0C386E, 0x00008, 0x0D237267, 0x00008, 0x0D27BDFE, 0x00008, + 0x0D3FE6DF, 0x00008, 0x0D51B488, 0x00008, 0x0D51D700, 0x00008, 0x0D569ACE, 0x00008, + 0x0D56FE46, 0x04000, 0x0D66012C, 0x53250, 0x0D81B279, 0x00400, 0x0D8D82E3, 0x00008, + 0x0D948F85, 0x00008, 0x0DA0B83F, 0x00008, 0x0DAD3C09, 0x00008, 0x0DC28E42, 0x00008, + 0x0DD24538, 0x00008, 0x0DD654C7, 0x00008, 0x0DEAAEBD, 0x0BD24, 0x0DF2881B, 0x00008, + 0x0DF5349A, 0x00008, 0x0E030B3E, 0x00008, 0x0E1DAC77, 0x00008, 0x0E1E8A1B, 0x00008, + 0x0E415A14, 0x00008, 0x0E49BCA0, 0x00008, 0x0E4A1B2D, 0x00008, 0x0E5A7B91, 0x00008, + 0x0E5BF605, 0x00020, 0x0E649DBC, 0x00008, 0x0E658369, 0x00008, 0x0E6962B7, 0x00008, + 0x0E7E4A83, 0x00008, 0x0E81B40C, 0x00400, 0x0E867A21, 0x00008, 0x0E8D6153, 0x00008, + 0x0E8EB446, 0x00008, 0x0EAA3E9E, 0x00008, 0x0EAB8C8A, 0x00020, 0x0EB7ECD6, 0x00008, + 0x0EC3F8E4, 0x00008, 0x0EDE86F4, 0x00008, 0x0EF06EC9, 0x00008, 0x0EF411F0, 0x00008, + 0x0F1BA3A2, 0x00008, 0x0F2E1041, 0x00008, 0x0F5050F6, 0x00008, 0x0F594F10, 0x00008, + 0x0F5C78A1, 0x00008, 0x0F6466AB, 0x00008, 0x0F6941C3, 0x00008, 0x0F6BF9D2, 0x00008, + 0x0F6E6B96, 0x00020, 0x0F6ED4CD, 0x00008, 0x0F75F76A, 0x00008, 0x0F81B59F, 0x00400, + 0x0FA8CEF9, 0x00008, 0x0FAC669B, 0x00008, 0x0FAD0B61, 0x00008, 0x0FB76169, 0x00008, + 0x0FBC33F6, 0x00008, 0x0FBEDD7A, 0x00008, 0x0FC86C60, 0x00008, 0x0FCEDE55, 0x00020, + 0x0FCEEDD9, 0x00008, 0x0FD2F9E2, 0x00004, 0x0FD99C8A, 0x00008, 0x0FE1FE02, 0x00008, + 0x0FF78FD2, 0x00020, 0x1006090F, 0x00008, 0x100A6FA6, 0x00020, 0x101E5747, 0x00020, + 0x10271297, 0x00008, 0x104C7680, 0x00020, 0x1057215E, 0x00008, 0x105BB58C, 0x00008, + 0x106EE5D9, 0x00008, 0x107226B7, 0x0000C, 0x107742B9, 0x00020, 0x1079ADA2, 0x00008, + 0x107DA279, 0x00008, 0x1081B732, 0x00400, 0x10855E57, 0x00008, 0x108E9317, 0x00008, + 0x10991527, 0x00008, 0x109CB764, 0x00008, 0x10AE8ACC, 0x00008, 0x10C15328, 0x00008, + 0x10CBCF05, 0x00008, 0x10D87AA9, 0x00008, 0x10DCF9E3, 0x00008, 0x10ED4884, 0x00008, + 0x10FE6B94, 0x00008, 0x10FFB1B8, 0x00008, 0x1105011A, 0x00008, 0x11070F4B, 0x00008, + 0x110C34FC, 0x00004, 0x110C3862, 0x00004, 0x110C3A15, 0x00004, 0x110CD523, 0x00008, + 0x110D6E02, 0x00020, 0x111C394C, 0x00008, 0x111DAFA3, 0x00008, 0x1181B8C5, 0x00400, + 0x118869D9, 0x00008, 0x11DE0B94, 0x00008, 0x11E838D0, 0x00008, 0x11FDB775, 0x00008, + 0x1207851D, 0x00008, 0x120A3884, 0x00004, 0x12116038, 0x00008, 0x12354A29, 0x00008, + 0x123983E9, 0x00020, 0x12435F28, 0x00020, 0x124D98DF, 0x00008, 0x12529F13, 0x00008, + 0x12650736, 0x00008, 0x1279E10E, 0x00008, 0x127B5E4A, 0x00008, 0x128191FC, 0x00008, + 0x1281BA58, 0x00400, 0x12990A84, 0x00008, 0x12BFC6A6, 0x00008, 0x12C0A7A0, 0x00020, + 0x12D6B33E, 0x00008, 0x12E9590E, 0x00008, 0x12F02849, 0x00008, 0x130321A3, 0x00008, + 0x130D09E1, 0x00008, 0x1312FAB3, 0x00008, 0x1315D3DA, 0x00008, 0x13224001, 0x00008, + 0x133308B5, 0x00008, 0x1372A27E, 0x00008, 0x13762343, 0x00008, 0x1381BBEB, 0x00400, + 0x138723BD, 0x00008, 0x13AF5203, 0x00004, 0x13AF53B6, 0x00004, 0x13B20625, 0x00008, + 0x13BCF7F0, 0x00020, 0x13D9313F, 0x00008, 0x13F59CF1, 0x00008, 0x140536BD, 0x00008, + 0x14274922, 0x00020, 0x142A49B3, 0x00008, 0x1433CED7, 0x00008, 0x144A48F0, 0x00008, + 0x145666E6, 0x00008, 0x145DAE33, 0x00008, 0x146383CE, 0x00008, 0x146ADF16, 0x00008, + 0x14719D73, 0x00008, 0x1474181B, 0x00008, 0x1477BAAA, 0x00020, 0x1478F200, 0x00008, + 0x147F7393, 0x00008, 0x148C4CF6, 0x00008, 0x14BBF956, 0x00008, 0x14C5A101, 0x97E00, + 0x150BFB74, 0x00008, 0x15154DA2, 0x00008, 0x151930CC, 0x00008, 0x151A741C, 0x00008, + 0x1522C79C, 0x00008, 0x15333B6E, 0x00008, 0x1541D7B5, 0x00008, 0x154498E8, 0x00020, + 0x15560500, 0x00008, 0x1559DB4A, 0x00008, 0x155F2427, 0x00020, 0x15704101, 0x00008, + 0x15833665, 0x00008, 0x1588FE7E, 0x00008, 0x15AA2FC6, 0x00008, 0x15AA57F4, 0x00008, + 0x15C0CDCA, 0x00008, 0x15EB565B, 0x00008, 0x15F6B1FF, 0x00004, 0x15F6B3B2, 0x00004, + 0x15F6B565, 0x00004, 0x15F708E9, 0x00008, 0x160C8D4E, 0x00008, 0x160D5B75, 0x00008, + 0x160EC11D, 0x00008, 0x162C4F4D, 0x00008, 0x162CA44F, 0x00020, 0x1643B734, 0x00008, + 0x1657BE40, 0x00008, 0x167956C0, 0x00008, 0x168BAF4C, 0x00008, 0x16A091A0, 0x00008, + 0x16A2E93A, 0x00008, 0x16A30C49, 0x00008, 0x16A80D11, 0x00020, 0x16B310CB, 0x00008, + 0x16B4146D, 0x00008, 0x16BCFC19, 0x00020, 0x16C4700C, 0x00008, 0x16CF35ED, 0x00008, + 0x16D0E186, 0x00008, 0x16E49E31, 0x00020, 0x16EA1721, 0x00008, 0x17054FA5, 0x00008, + 0x1718A332, 0x00008, 0x171DE3C1, 0x00020, 0x1720A5E0, 0x00400, 0x1722834C, 0x00008, + 0x172FAAB1, 0x00008, 0x1730757E, 0x00008, 0x173304D8, 0x02490, 0x173D4CFF, 0x00008, + 0x1740343B, 0x00008, 0x17415C8C, 0x00020, 0x17421A4C, 0x00008, 0x175B9879, 0x00008, + 0x1761A7F2, 0x00008, 0x1779F070, 0x00040, 0x177FA023, 0x00020, 0x1788A578, 0x00008, + 0x178AC492, 0x00004, 0x17CB2782, 0x00008, 0x17D03820, 0x00008, 0x17DC0476, 0x00020, + 0x17DD843C, 0x00008, 0x17E01A9C, 0x00008, 0x17F6A3B0, 0x00008, 0x17F79C77, 0x00008, + 0x180A33EA, 0x00008, 0x18194261, 0x00008, 0x181E86A9, 0x00008, 0x18347902, 0x00008, + 0x18364DC5, 0x00008, 0x18492964, 0x00008, 0x1862ED90, 0x00008, 0x186ADBC8, 0x00008, + 0x187595F7, 0x00008, 0x1879B293, 0x00008, 0x1890D8FC, 0x00008, 0x189BF0B1, 0x00008, + 0x18A192B4, 0x00008, 0x18A3DC7A, 0x00008, 0x18A4463D, 0x00020, 0x18A6BFCD, 0x00008, + 0x18A6D576, 0x00008, 0x18A6EB39, 0x00008, 0x18A8561B, 0x00008, 0x18BD8F3F, 0x00008, + 0x18F52DBE, 0x00008, 0x190D74C3, 0x00020, 0x190FBB0C, 0x00008, 0x1920C1E4, 0x00084, + 0x1922E91A, 0x00008, 0x19379DB5, 0x00008, 0x195E394F, 0x00008, 0x19722C89, 0x00462, + 0x1975360B, 0x00008, 0x197CD299, 0x00008, 0x19807465, 0x00008, 0x19889A2B, 0x00008, + 0x19A17F27, 0x00008, 0x19A32D08, 0x00008, 0x19A50F62, 0x00008, 0x19BAD6EA, 0x00008, + 0x19CB0339, 0x02954, 0x19CD85B9, 0x00020, 0x19E10B8E, 0x00008, 0x19E69BAB, 0x00008, + 0x19FAA0FA, 0x00008, 0x19FC5B7B, 0x00004, 0x1A0AA12F, 0x00008, 0x1A0BAD73, 0x00008, + 0x1A1B60E5, 0x00008, 0x1A216D24, 0x00008, 0x1A8743EC, 0x00008, 0x1A8E58F6, 0x00008, + 0x1A8FC37C, 0x00008, 0x1A900120, 0x00008, 0x1A929F85, 0x00008, 0x1AA9D98D, 0x00008, + 0x1AB8884E, 0x00008, 0x1ACF397E, 0x00008, 0x1AD3C1B2, 0x00008, 0x1AD6BCA9, 0x00008, + 0x1ADA07D9, 0x00008, 0x1ADAA8B4, 0x00008, 0x1ADE28A4, 0x00020, 0x1AFF5524, 0x00008, + 0x1B1FB3AE, 0x00008, 0x1B2500ED, 0x00008, 0x1B4BB6FD, 0x00008, 0x1B568119, 0x00020, + 0x1B67EAA0, 0x00008, 0x1B6B6A1B, 0x00008, 0x1B92F121, 0x00008, 0x1B94F443, 0x00008, + 0x1B9C1163, 0x00008, 0x1BA02914, 0x00008, 0x1BAB5460, 0x00008, 0x1BAC534E, 0x00020, + 0x1BAE436F, 0x00008, 0x1BB0D042, 0x00008, 0x1BB0E031, 0x00008, 0x1BC53003, 0x00008, + 0x1BC782D6, 0x00008, 0x1BCA1DAB, 0x00008, 0x1C05E914, 0x00008, 0x1C1CB898, 0x00008, + 0x1C2150F9, 0x00008, 0x1C29D6BA, 0x00008, 0x1C4E80D2, 0x00008, 0x1C55FB65, 0x00008, + 0x1C6D1383, 0x00020, 0x1C8DCDAA, 0x00008, 0x1C9C4C04, 0x00004, 0x1C9C4F6A, 0x00004, + 0x1C9C511D, 0x00004, 0x1CA68D9C, 0x00008, 0x1CC094C9, 0x00008, 0x1D21A729, 0x00008, + 0x1D2DCD47, 0x00008, 0x1D34A397, 0x00008, 0x1D36DF97, 0x00008, 0x1D3F56C4, 0x00008, + 0x1D42D9D1, 0x00008, 0x1D4AFD6D, 0x00008, 0x1D4D3781, 0x00008, 0x1D543E96, 0x00008, + 0x1D560DB7, 0x00008, 0x1D56B5BE, 0x00008, 0x1D699440, 0x00008, 0x1D7F8D12, 0x00400, + 0x1D82CF63, 0x00008, 0x1D8755CB, 0x00008, 0x1DAA0886, 0x00008, 0x1DB00CFF, 0x00008, + 0x1DB6EAAC, 0x00008, 0x1DBA2751, 0x00008, 0x1DBADEDD, 0x00008, 0x1DCC4C9A, 0x00020, + 0x1DD61DBC, 0x00008, 0x1DD91549, 0x00008, 0x1DE28D7C, 0x00008, 0x1DE64533, 0x00020, + 0x1DEB4F34, 0x00008, 0x1DEC793C, 0x00020, 0x1DF3E454, 0x00008, 0x1E0C0EFA, 0x00008, + 0x1E1F01D3, 0x00008, 0x1E439C36, 0x00008, 0x1E49DD4F, 0x00008, 0x1E505002, 0x00004, + 0x1E55392F, 0x00004, 0x1E5A557D, 0x00008, 0x1E61564F, 0x00008, 0x1E768AF9, 0x00008, + 0x1E7F8EA5, 0x00400, 0x1E839529, 0x00008, 0x1EA72AA6, 0x00008, 0x1EB3FAA3, 0x00008, + 0x1EBD71BD, 0x00008, 0x1ECB89CA, 0x00008, 0x1ED1ACAC, 0x00008, 0x1ED4A273, 0x00008, + 0x1EE8B38C, 0x00008, 0x1EF84639, 0x00020, 0x1F02C746, 0x00020, 0x1F0E9221, 0x00020, + 0x1F23133C, 0x00008, 0x1F433765, 0x00008, 0x1F43AA3C, 0x00008, 0x1F6479E6, 0x00080, + 0x1F65DA15, 0x00008, 0x1F7F9038, 0x00400, 0x1FB1F0F0, 0x00008, 0x1FEB3379, 0x00008, + 0x1FF70D7E, 0x00008, 0x2018985D, 0x00008, 0x202A2BA9, 0x00020, 0x202B3295, 0x00008, + 0x203844D9, 0x00020, 0x204D5E8F, 0x00008, 0x205789B7, 0x00008, 0x205904D0, 0x00008, + 0x20647B79, 0x00080, 0x207078E7, 0x00008, 0x207F91CB, 0x00400, 0x20800D98, 0x00008, + 0x208C75FE, 0x00008, 0x20924F53, 0x00008, 0x20A47A57, 0x00008, 0x20AB0002, 0x00008, + 0x20ACB1AA, 0x00008, 0x20B66113, 0x00008, 0x20CDECA8, 0x00008, 0x20D9ACE4, 0x00008, + 0x20F21276, 0x00008, 0x20FA32EA, 0x00008, 0x2117634A, 0x00008, 0x211D6D46, 0x00008, + 0x21273822, 0x00008, 0x213D0617, 0x00020, 0x21404EC1, 0x00008, 0x2153AB61, 0x00008, + 0x21552FF5, 0x00008, 0x2160110F, 0x00020, 0x216C3E06, 0x00008, 0x216C534D, 0x00008, + 0x217A7851, 0x00008, 0x217F935E, 0x00400, 0x2182F460, 0x00008, 0x21874826, 0x00008, + 0x21963501, 0x00008, 0x21965D68, 0x00008, 0x219ABABB, 0x00008, 0x21A69071, 0x00008, + 0x21B7FD10, 0x00008, 0x21BEA6CE, 0x00008, 0x21C9BD44, 0x0BB80, 0x21CB6184, 0x00008, + 0x21E3F60B, 0x00008, 0x21E69CF1, 0x00008, 0x2225A14D, 0x00008, 0x2230F1CE, 0x00008, + 0x2244B65A, 0x00008, 0x224E327B, 0x00008, 0x22563E68, 0x00020, 0x225C3FF1, 0x00008, + 0x2269588D, 0x00008, 0x22724367, 0x00008, 0x227292E3, 0x00008, 0x22783D58, 0x00008, + 0x227F94F1, 0x00400, 0x228DE42B, 0x00008, 0x229E786B, 0x00008, 0x229F4DFB, 0x00008, + 0x22A3AB30, 0x00008, 0x22AA2346, 0x00020, 0x22AE0BCC, 0x00008, 0x22AEF5B5, 0x00020, + 0x22B854B6, 0x00008, 0x22B88EAB, 0x00008, 0x22C1A911, 0x00008, 0x22D4FB96, 0x00008, + 0x22DA774A, 0x00008, 0x22E47B73, 0x00008, 0x22EB0273, 0x00008, 0x22FB0931, 0x00008, + 0x23131D6B, 0x00020, 0x23263B29, 0x00008, 0x2336A560, 0x00008, 0x23483246, 0x00008, + 0x2350E045, 0x00008, 0x23570152, 0x00008, 0x23779FA3, 0x00008, 0x237F9684, 0x00400, + 0x2389A955, 0x00008, 0x23927FB1, 0x00008, 0x239D03FA, 0x00008, 0x23A2F8A4, 0x00008, + 0x23BB834B, 0x00008, 0x23E394D1, 0x00020, 0x2401AC9C, 0x00008, 0x240EA068, 0x00008, + 0x2416813E, 0x00008, 0x24194490, 0x00008, 0x243EF17F, 0x00008, 0x244B73C0, 0x00020, + 0x245978C2, 0x00008, 0x245CFF50, 0x00008, 0x245FDFE1, 0x00008, 0x2470B851, 0x00008, + 0x247F9817, 0x00400, 0x2482AD60, 0x3A980, 0x248F3CD0, 0x00008, 0x2495EDAE, 0x00020, + 0x24A1EC33, 0x00008, 0x24B36B08, 0x00008, 0x24BCE26F, 0x00008, 0x24C08FE1, 0x00008, + 0x24E1B545, 0x00008, 0x24F1F7BD, 0x00008, 0x24FBF83D, 0x00020, 0x24FED684, 0x00008, + 0x2503E583, 0x00008, 0x2516DAE4, 0x00008, 0x251A52DD, 0x00008, 0x2523D6E1, 0x00004, + 0x25255573, 0x00008, 0x2544FA8B, 0x00008, 0x2545B554, 0x00008, 0x2545F62B, 0x00008, + 0x25648358, 0x00080, 0x256878DF, 0x00008, 0x2574A0AE, 0x00020, 0x257C5E20, 0x00008, + 0x257F99AA, 0x00400, 0x25839373, 0x00004, 0x2591447B, 0x00020, 0x2591928A, 0x00008, + 0x25A0F1BF, 0x00008, 0x25A71ADC, 0x00008, 0x25A9FFBD, 0x00020, 0x25AEF104, 0x00020, + 0x25B306FC, 0x00008, 0x25BBFA82, 0x00008, 0x25C24E2D, 0x00020, 0x25C2668B, 0x00008, + 0x25C35A74, 0x00008, 0x25E0523D, 0x00008, 0x25E19BE5, 0x00008, 0x25E30834, 0x00008, + 0x25E34223, 0x00008, 0x25E58005, 0x00008, 0x25EDCDB8, 0x00008, 0x25EE1323, 0x00008, + 0x2607C93E, 0x00020, 0x261D4C23, 0x00008, 0x26239944, 0x00008, 0x26297547, 0x00020, + 0x2639E91E, 0x00004, 0x2646B0BE, 0x00008, 0x2648E717, 0x00008, 0x264CECCE, 0x00020, + 0x264F6D14, 0x00008, 0x2657EBBF, 0x00020, 0x265887B8, 0x00008, 0x266484EB, 0x00080, + 0x267F49FB, 0x00008, 0x267F9B3D, 0x00400, 0x26865BCD, 0x00008, 0x268A1BE8, 0x00008, + 0x268B9E5F, 0x00008, 0x268CEBA3, 0x00008, 0x26B40D4C, 0x00008, 0x26D11416, 0x00008, + 0x26DAAFBF, 0x00020, 0x26DF819E, 0x00020, 0x26E69AA9, 0x00004, 0x26F510C4, 0x00004, + 0x2709B172, 0x00008, 0x2715BC96, 0x00020, 0x272395A8, 0x00020, 0x2727DD4E, 0x00008, + 0x2732987D, 0x00008, 0x273C80A7, 0x00008, 0x27435101, 0x00008, 0x274EB68A, 0x00008, + 0x27526396, 0x0000C, 0x2764867E, 0x00080, 0x276B1847, 0x00008, 0x277F40AA, 0x00008, + 0x2783B4F1, 0x00008, 0x279D7314, 0x00008, 0x279D73DC, 0x00008, 0x27B37AA3, 0x00008, + 0x27C875A0, 0x00008, 0x27D1AA7A, 0x00020, 0x27D4F8D1, 0x00008, 0x27DBF575, 0x00008, + 0x27E6020B, 0x00008, 0x27EA5DBB, 0x00020, 0x27F16BDB, 0x00008, 0x27F506E7, 0x00008, + 0x28087519, 0x00008, 0x28209B9B, 0x00020, 0x28226644, 0x00008, 0x2828808B, 0x00008, + 0x28385CF1, 0x00008, 0x283A4922, 0x00008, 0x2858EC6E, 0x00008, 0x28648811, 0x00080, + 0x28709FC6, 0x00008, 0x287ED11F, 0x00004, 0x2887BCFA, 0x00008, 0x28891822, 0x00008, + 0x289F0E65, 0x00008, 0x28BDC616, 0x00008, 0x28E4A528, 0x00008, 0x28E8C72E, 0x00008, + 0x28F4F0FA, 0x00008, 0x2903D070, 0x00008, 0x291C81BC, 0x00008, 0x292B0E45, 0x00190, + 0x296489A4, 0x00080, 0x2985AE32, 0x00008, 0x299AEB08, 0x00004, 0x299AECBB, 0x00004, + 0x299AF021, 0x00004, 0x29A344C7, 0x00001, 0x29A4E691, 0x00008, 0x29A4F57C, 0x00008, + 0x29A5EE2A, 0x00001, 0x29A9D701, 0x00001, 0x29AB994C, 0x00001, 0x29AF8223, 0x00001, + 0x29B22B86, 0x00001, 0x29B4615D, 0x00001, 0x29B4AED2, 0x00718, 0x29B84368, 0x00001, + 0x29BCA684, 0x00008, 0x29DA68C1, 0x00008, 0x29F24002, 0x00008, 0x29F46734, 0x00008, + 0x29F4EB6E, 0x00008, 0x29F9736A, 0x00008, 0x2A01E108, 0x00008, 0x2A070BB8, 0x00008, + 0x2A0D38BB, 0x00008, 0x2A0DF99D, 0x00008, 0x2A1767B5, 0x00008, 0x2A1F009B, 0x00008, + 0x2A26DC6D, 0x00008, 0x2A3AC89A, 0x00004, 0x2A4231C2, 0x00020, 0x2A54FAE6, 0x00008, + 0x2A648B37, 0x00080, 0x2A71E6B0, 0x00008, 0x2A95DFE7, 0x00008, 0x2A9942DB, 0x00008, + 0x2A9CCE3C, 0x00008, 0x2AA2FB92, 0x00008, 0x2AB3AEE6, 0x00008, 0x2AB42C7B, 0x00008, + 0x2AC14C12, 0x00008, 0x2ACABCC8, 0x00008, 0x2B054DF2, 0x00020, 0x2B08967F, 0x00008, + 0x2B1BD36E, 0x00008, 0x2B3D672F, 0x00008, 0x2B4982E1, 0x00008, 0x2B4EC817, 0x00008, + 0x2B53974F, 0x00008, 0x2B5508E5, 0x00008, 0x2B648CCA, 0x00080, 0x2B7EFC7F, 0x00008, + 0x2B971B2B, 0x00008, 0x2BA38A70, 0x00008, 0x2BBA966F, 0x00008, 0x2BC05667, 0x00008, + 0x2BC79FD3, 0x00008, 0x2BC82B3B, 0x00008, 0x2BCC63C1, 0x00008, 0x2BCEFC32, 0x00008, + 0x2BD8C433, 0x00008, 0x2BFE5A55, 0x00020, 0x2C237D27, 0x00020, 0x2C2CED4C, 0x00008, + 0x2C2F6A5B, 0x00008, 0x2C3457FB, 0x00008, 0x2C39E7F3, 0x00008, 0x2C3EDA7A, 0x00008, + 0x2C42BAE4, 0x00008, 0x2C49EF1A, 0x00008, 0x2C51FF26, 0x00008, 0x2C5909EF, 0x00008, + 0x2C648E5D, 0x00080, 0x2C64CBED, 0x00008, 0x2C7084E3, 0x00008, 0x2C84DE5E, 0x00008, + 0x2C96CF44, 0x00008, 0x2CA34D40, 0x00004, 0x2CA34EF3, 0x00004, 0x2CA350A6, 0x00004, + 0x2CB00691, 0x00008, 0x2CB5E57E, 0x00008, 0x2CB5E7E4, 0x00008, 0x2CBA337F, 0x00008, + 0x2CD1D95C, 0x00020, 0x2CDABF3D, 0x00008, 0x2CE99281, 0x00008, 0x2CF10BDA, 0x00020, + 0x2D05D7F9, 0x00008, 0x2D05F1FF, 0x00008, 0x2D1A5CCB, 0x00008, 0x2D262377, 0x00020, + 0x2D3A3C5C, 0x00008, 0x2D4707CA, 0x00008, 0x2D5004EF, 0x00008, 0x2D54FB3C, 0x00008, + 0x2D5734DF, 0x00020, 0x2D63DCFD, 0x00008, 0x2D64A4A9, 0x00020, 0x2D78B7E5, 0x00008, + 0x2D88C497, 0x00008, 0x2D94D732, 0x00008, 0x2D98E9E3, 0x00008, 0x2DA64436, 0x00008, + 0x2DA7805A, 0x00008, 0x2DAC8879, 0x00008, 0x2DC5B48A, 0x00008, 0x2DE976B6, 0x00008, + 0x2DF3EA1D, 0x00008, 0x2DFEC315, 0x00008, 0x2E1CEB78, 0x00008, 0x2E1CF9AD, 0x00008, + 0x2E20E59D, 0x00008, 0x2E2214E8, 0x00020, 0x2E25FBE5, 0x00008, 0x2E281D1A, 0x00008, + 0x2E367F4A, 0x00008, 0x2E60E444, 0x00008, 0x2E65F40A, 0x00008, 0x2E790F65, 0x00004, + 0x2E7B3668, 0x00020, 0x2E8B0AE6, 0x00008, 0x2E90CF53, 0x00008, 0x2E97F5B9, 0x00008, + 0x2EA3DE0B, 0x00008, 0x2EAAAB4E, 0x00008, 0x2EB1B190, 0x00021, 0x2EC1CC77, 0x0000C, + 0x2EC5BC1A, 0x0000C, 0x2EC78531, 0x0000C, 0x2ECB673C, 0x0000C, 0x2ECE09D3, 0x0000C, + 0x2ED04676, 0x0000C, 0x2ED42F4D, 0x0000C, 0x2ED5F198, 0x0000C, 0x2EE2C482, 0x00008, + 0x2EE3E797, 0x00008, 0x2EF42B8A, 0x00020, 0x2EF6EE63, 0x00008, 0x2F0AFED6, 0x00008, + 0x2F0EE608, 0x00008, 0x2F1DB158, 0x00008, 0x2F288563, 0x00008, 0x2F37EA60, 0x00008, + 0x2F455DEB, 0x00008, 0x2F532744, 0x00004, 0x2F59A5F5, 0x00008, 0x2F5F0597, 0x00008, + 0x2F705F70, 0x00008, 0x2F77B50F, 0x00008, 0x2F83F088, 0x00008, 0x2F840DF2, 0x00008, + 0x2FA7057B, 0x00008, 0x2FAF3426, 0x00008, 0x2FB0E02A, 0x00008, 0x2FB6E9D1, 0x00008, + 0x2FBDA24B, 0x00020, 0x2FD5ED43, 0x00008, 0x2FF2254B, 0x00008, 0x2FFC9057, 0x00008, + 0x300CB0FF, 0x00008, 0x301CD04A, 0x00008, 0x301DB3BB, 0x00008, 0x302AACAA, 0x00008, + 0x30418AF8, 0x00008, 0x3047A41F, 0x00008, 0x3049337E, 0x00008, 0x3054BC90, 0x00008, + 0x305928F6, 0x00008, 0x3065B8E0, 0x00008, 0x3071218A, 0x00008, 0x3078A6E9, 0x00008, + 0x3082DA5A, 0x00008, 0x308B067D, 0x00008, 0x30933810, 0x00008, 0x30B64C2C, 0x00008, + 0x30BFDE14, 0x00008, 0x30C24642, 0x00008, 0x30D4461E, 0x00008, 0x30E0760D, 0x00008, + 0x30E73FB2, 0x00008, 0x30E7493E, 0x00008, 0x3105F5D4, 0x00008, 0x310E4BA6, 0x00008, + 0x310F3354, 0x00020, 0x312220C5, 0x00008, 0x3122E18D, 0x00008, 0x3129555B, 0x00008, + 0x314695AE, 0x00008, 0x31670005, 0x00008, 0x317051B5, 0x00008, 0x317D3A34, 0x00020, + 0x318DE493, 0x00008, 0x318F1132, 0x00008, 0x31A721BD, 0x00008, 0x31B9C301, 0x00010, + 0x31BB1180, 0x00008, 0x31BEF78C, 0x00020, 0x31C097B3, 0x00008, 0x31CD1DC0, 0x00008, + 0x31D1F16F, 0x00008, 0x31DE21F6, 0x00008, 0x31EF132C, 0x00010, 0x31F52833, 0x00008, + 0x31F5B652, 0x00008, 0x320794F8, 0x00008, 0x320862ED, 0x00008, 0x320BE700, 0x00008, + 0x32163707, 0x00008, 0x3222AFC0, 0x00008, 0x32232AA4, 0x00008, 0x322F945D, 0x00008, + 0x323556DF, 0x00008, 0x323E1F97, 0x00008, 0x32566908, 0x00008, 0x3256A957, 0x00008, + 0x32632399, 0x00008, 0x32691778, 0x00008, 0x3275F474, 0x00004, 0x3275F98D, 0x00004, + 0x3286B31C, 0x00008, 0x329C9262, 0x00001, 0x329F6783, 0x00008, 0x32A7FBD0, 0x00008, + 0x32CB90F2, 0x00008, 0x33003B2F, 0x00008, 0x330260C0, 0x00008, 0x3320F1D5, 0x00008, + 0x334171AA, 0x00008, 0x3351FB51, 0x00008, 0x33525688, 0x00008, 0x3353E3E4, 0x00008, + 0x33690FBB, 0x00008, 0x33881DA4, 0x00008, 0x33891317, 0x00008, 0x33943650, 0x00008, + 0x339F6564, 0x00001, 0x33B5678F, 0x00008, 0x33CE9300, 0x00008, 0x33DBC464, 0x00020, + 0x33EA01A6, 0x00008, 0x33F11BA3, 0x00008, 0x33F39467, 0x00048, 0x33F593F3, 0x00008, + 0x340E29BF, 0x00008, 0x342CFC48, 0x00008, 0x342FD51A, 0x00008, 0x34367A44, 0x00008, + 0x344168C2, 0x00008, 0x344D89A3, 0x00008, 0x345782E6, 0x00008, 0x345C52AD, 0x00008, + 0x348B973A, 0x00008, 0x3490380A, 0x00008, 0x349AD021, 0x00008, 0x349C9CFB, 0x00008, + 0x34A0B628, 0x00020, 0x34A5282A, 0x00008, 0x34AA63B8, 0x00008, 0x34B6FE87, 0x00008, + 0x34B8F08C, 0x00008, 0x34BD65DA, 0x00008, 0x34CA7B84, 0x00008, 0x34E5B009, 0x00008, + 0x34EA04EA, 0x00008, 0x34EF7EA6, 0x00008, 0x34F2E9EC, 0x00008, 0x34F68ED1, 0x00008, + 0x34F7C44C, 0x00008, 0x34FD5227, 0x00008, 0x352A48EB, 0x00008, 0x3534F275, 0x00008, + 0x355492F4, 0x00008, 0x356359F1, 0x00008, 0x356A3B89, 0x00008, 0x356B8D9D, 0x00008, + 0x356DB638, 0x00008, 0x359436C5, 0x00004, 0x359BC3BC, 0x00008, 0x35D58AFE, 0x00008, + 0x35E1731C, 0x00008, 0x35E8729B, 0x00008, 0x35F6931C, 0x00008, 0x36052284, 0x00008, + 0x361C3948, 0x00008, 0x361FB5C2, 0x00008, 0x362DC4A5, 0x00008, 0x364943DC, 0x00020, + 0x36534FBB, 0x00008, 0x3656BB9B, 0x00008, 0x366984C9, 0x00008, 0x368A7CA6, 0x00008, + 0x368F098F, 0x00008, 0x369960EE, 0x00008, 0x36AD3AAA, 0x00020, 0x36E2369D, 0x00008, + 0x36E62171, 0x00008, 0x36F24B2D, 0x00008, 0x36F3BD04, 0x00008, 0x370EAB9E, 0x00008, + 0x3734072D, 0x00008, 0x374E5703, 0x00008, 0x374FA43C, 0x00008, 0x3762B9FD, 0x00020, + 0x3764B457, 0x00008, 0x37657881, 0x00008, 0x376FA0DA, 0x00008, 0x37748C14, 0x00008, + 0x377A72F4, 0x00008, 0x3793D5FE, 0x00008, 0x3796AABC, 0x00008, 0x3799E219, 0x00008, + 0x37A14EAC, 0x00008, 0x37A35B6C, 0x00008, 0x37A8F32A, 0x00008, 0x37AA8939, 0x00008, + 0x37AF0454, 0x00021, 0x37B99B4D, 0x00004, 0x37BC7B27, 0x00020, 0x37D9C035, 0x00008, + 0x37E0F453, 0x00008, 0x37ED0CDA, 0x00008, 0x3820225E, 0x00020, 0x3824A376, 0x00020, + 0x384084CA, 0x00008, 0x3846AF3C, 0x00008, 0x38529CAA, 0x00008, 0x3856EF1D, 0x00008, + 0x38598EF0, 0x00008, 0x387362BE, 0x00008, 0x3880C14B, 0x00008, 0x3887421C, 0x00020, + 0x38874DA2, 0x00008, 0x38892B1E, 0x00008, 0x388FC464, 0x00008, 0x389C8706, 0x00008, + 0x38A6C21F, 0x00008, 0x38DEE97B, 0x00008, 0x38EFFD3B, 0x00008, 0x39003A5D, 0x00008, + 0x391477B2, 0x00008, 0x392E2B92, 0x00020, 0x39359144, 0x00008, 0x394A237A, 0x00008, + 0x395212DD, 0x00008, 0x39549185, 0x00008, 0x395965DB, 0x00008, 0x395E5278, 0x00020, + 0x395F3794, 0x00020, 0x39818F36, 0x00008, 0x398EA437, 0x00008, 0x399492F0, 0x00008, + 0x399D1450, 0x00008, 0x39A56B34, 0x00008, 0x39B4C161, 0x00008, 0x39B68158, 0x00008, + 0x39B8E3FD, 0x00008, 0x39C0F042, 0x00008, 0x39EE2798, 0x00008, 0x3A038B88, 0x00008, + 0x3A0A0A7B, 0x00008, 0x3A0D2606, 0x00008, 0x3A0E8A79, 0x00008, 0x3A0FC689, 0x00008, + 0x3A0FDE7C, 0x00008, 0x3A2233AF, 0x00008, 0x3A2885EA, 0x00008, 0x3A2C639E, 0x00008, + 0x3A3239A8, 0x00008, 0x3A3327AF, 0x00020, 0x3A3F2CCA, 0x00008, 0x3A3F521B, 0x00008, + 0x3A6C43AE, 0x00008, 0x3A84E9C1, 0x00008, 0x3A881EE6, 0x00008, 0x3A9B594E, 0x00020, + 0x3AA1A9AD, 0x00814, 0x3AAA95BB, 0x00008, 0x3AB4AF85, 0x00020, 0x3AD7C5C2, 0x00008, + 0x3AE1883E, 0x00008, 0x3B11F7A8, 0x00008, 0x3B286434, 0x00008, 0x3B307C63, 0x00020, + 0x3B41AE00, 0x00008, 0x3B52C7BE, 0x00008, 0x3B52E4A6, 0x00020, 0x3B55FD37, 0x00008, + 0x3B801B79, 0x00008, 0x3B819021, 0x00004, 0x3B87146E, 0x00008, 0x3B8E2597, 0x00008, + 0x3B98346F, 0x00008, 0x3BBAB762, 0x00008, 0x3BDBD6FC, 0x00008, 0x3BDFCD8E, 0x00008, + 0x3BE45B9F, 0x00008, 0x3BF8BCF4, 0x00020, 0x3C1AE61D, 0x00008, 0x3C438092, 0x00008, + 0x3C4B6531, 0x00008, 0x3C677251, 0x00008, 0x3C6C7E5D, 0x00020, 0x3C7BF670, 0x00008, + 0x3C818D32, 0x00008, 0x3C97B277, 0x00008, 0x3CB27F62, 0x00008, 0x3CBD8FAC, 0x00008, + 0x3CDE9A98, 0x00008, 0x3CE81C5D, 0x00008, 0x3CE842D9, 0x00008, 0x3CF29BAE, 0x00008, + 0x3CF58577, 0x00008, 0x3CF5A164, 0x00008, 0x3CFE63A4, 0x00008, 0x3D08B4B4, 0x00008, + 0x3D10B75B, 0x00008, 0x3D113C88, 0x00008, 0x3D17A490, 0x00020, 0x3D46C02F, 0x00008, + 0x3D489FA4, 0x00008, 0x3D578AC7, 0x00008, 0x3D5FE4C1, 0x00004, 0x3D6AB458, 0x00008, + 0x3D6C0764, 0x00008, 0x3D74DDBD, 0x00008, 0x3D837AB6, 0x00004, 0x3D870597, 0x00008, + 0x3D9A7246, 0x00008, 0x3DA837F7, 0x00008, 0x3DBC7598, 0x00008, 0x3DC11E5B, 0x00008, + 0x3DDFB19C, 0x00008, 0x3DF03D2F, 0x00008, 0x3DF9C532, 0x00008, 0x3DFA33DC, 0x00008, + 0x3E05FDAE, 0x00008, 0x3E0799B5, 0x00008, 0x3E30F241, 0x00008, 0x3E31138E, 0x00008, + 0x3E32467E, 0x00008, 0x3E36AE3E, 0x00008, 0x3E3C33C3, 0x00008, 0x3E4F65DF, 0x00008, + 0x3E5568A5, 0x00020, 0x3E5BB0B9, 0x00008, 0x3E5CB8EE, 0x00008, 0x3E6E5A84, 0x00008, + 0x3E7033F4, 0x00008, 0x3E721546, 0x00008, 0x3E734830, 0x00008, 0x3E760CCD, 0x00008, + 0x3E7C1B42, 0x00008, 0x3E84D7AC, 0x00008, 0x3E8D481A, 0x00008, 0x3E8F94DD, 0x00020, + 0x3E93643E, 0x00008, 0x3E9FF198, 0x00008, 0x3EBA53DB, 0x00008, 0x3ED4CDDB, 0x00008, + 0x3EDFEBD4, 0x00008, 0x3EE068F1, 0x00020, 0x3EEB8F15, 0x00008, 0x3EEE5D61, 0x00008, + 0x3EF8E721, 0x00008, 0x3EFB7B20, 0x00008, 0x3EFBA005, 0x00008, 0x3F00D0D2, 0x00008, + 0x3F093B8D, 0x00008, 0x3F1D53BC, 0x00008, 0x3F2EF900, 0x00008, 0x3F4672BC, 0x00020, + 0x3F4AFAEC, 0x00008, 0x3F660414, 0x00008, 0x3F6865D2, 0x00008, 0x3F8B5E39, 0x00008, + 0x3F8D0C74, 0x00008, 0x3F9883A5, 0x00008, 0x3FB4D7F2, 0x00008, 0x3FBA9DE1, 0x00008, + 0x3FBB303C, 0x00008, 0x3FCE81BE, 0x00008, 0x3FDAECA7, 0x00008, 0x3FDCFBE2, 0x00008, + 0x3FE36C96, 0x00008, 0x3FED780B, 0x00008, 0x3FF6BFB3, 0x00008, 0x4006F07B, 0x00008, + 0x400A98FA, 0x00008, 0x400C4AE2, 0x00008, 0x4014B2CB, 0x00020, 0x401EA1AD, 0x00008, + 0x4020269E, 0x00008, 0x40220942, 0x00008, 0x4034AC29, 0x00008, 0x403DAA3A, 0x00020, + 0x403EB6F3, 0x00020, 0x405D2EF4, 0x00008, 0x405F8AE6, 0x00020, 0x4060E981, 0x00008, + 0x40689A92, 0x00008, 0x407AA3D1, 0x00020, 0x40858C1D, 0x00008, 0x409A9F0C, 0x00008, + 0x40A8E2E1, 0x00008, 0x40BCA687, 0x00008, 0x40C3936D, 0x00008, 0x40C3A9D5, 0x00008, + 0x40C58F58, 0x00008, 0x40CC5A21, 0x00002, 0x40CF3F98, 0x00008, 0x40E50659, 0x00008, + 0x40EB5809, 0x00008, 0x40EECC82, 0x00002, 0x40F35031, 0x00008, 0x40F48D35, 0x00008, + 0x40F59D09, 0x00008, 0x41157C1D, 0x00008, 0x41309084, 0x00001, 0x413A67AF, 0x00020, + 0x41406077, 0x00008, 0x4141D887, 0x00008, 0x41448F5D, 0x00008, 0x4149092E, 0x00008, + 0x41808537, 0x00008, 0x4185576E, 0x00008, 0x4185E3A2, 0x00008, 0x418AF208, 0x00008, + 0x41927293, 0x00008, 0x419B5937, 0x00008, 0x41B9A564, 0x00008, 0x41C0ED32, 0x00008, + 0x41D23846, 0x00008, 0x41D94454, 0x00008, 0x41DC0A87, 0x00008, 0x41E4E28A, 0x00008, + 0x41E806E8, 0x00008, 0x41EDEFBC, 0x00008, 0x42024C90, 0x00008, 0x420CDC4A, 0x00008, + 0x420DD5B1, 0x00008, 0x4212EF76, 0x00008, 0x421C85DA, 0x00008, 0x42283DD7, 0x00008, + 0x423E8403, 0x00008, 0x424249C5, 0x00008, 0x424CA9C3, 0x00008, 0x42579CF4, 0x00004, + 0x42634ED6, 0x00008, 0x4263C428, 0x00008, 0x428170FE, 0x00008, 0x42943F78, 0x00008, + 0x42A16856, 0x00008, 0x42BBE255, 0x00008, 0x42BFA0A8, 0x00008, 0x42D585E9, 0x00008, + 0x42E82811, 0x00008, 0x42F6222D, 0x00008, 0x43053CFC, 0x00008, 0x432025F0, 0x00020, + 0x4325A27E, 0x00008, 0x43283926, 0x00008, 0x435726B6, 0x00008, 0x43666083, 0x00008, + 0x43702400, 0x00008, 0x437CBA77, 0x00008, 0x439CC6E6, 0x00008, 0x439DD54A, 0x00008, + 0x439EBC8C, 0x00008, 0x43A451A2, 0x00008, 0x43A9EDBD, 0x00008, 0x43ADFE05, 0x00008, + 0x43AEF55A, 0x00008, 0x43AF3518, 0x00008, 0x43BD8F2A, 0x00008, 0x43C5EA18, 0x00008, + 0x43C628AE, 0x00008, 0x43D389DE, 0x00020, 0x43D7A754, 0x00008, 0x43DF3653, 0x00008, + 0x43F6041F, 0x00008, 0x440CD7FC, 0x00008, 0x4417210D, 0x00008, 0x441902A4, 0x00008, + 0x442320AE, 0x00008, 0x4427ECBB, 0x00008, 0x442C1A05, 0x00020, 0x443D0EC8, 0x00008, + 0x443E47C5, 0x00008, 0x444439AF, 0x00008, 0x44632C67, 0x00008, 0x4467F4F5, 0x00020, + 0x44697044, 0x00008, 0x4472943A, 0x00008, 0x44827E06, 0x00008, 0x448B7EA3, 0x00008, + 0x449200AE, 0x00008, 0x4495280C, 0x00008, 0x449E8C24, 0x00008, 0x44A3AF74, 0x00008, + 0x44AA080A, 0x00008, 0x44B863AE, 0x00008, 0x44E511B5, 0x00008, 0x4543B966, 0x00008, + 0x45496E61, 0x00008, 0x454A81EC, 0x00008, 0x4557397F, 0x00008, 0x455D6917, 0x00008, + 0x455E5247, 0x00008, 0x456FACDA, 0x00008, 0x4585185C, 0x00008, 0x45A94F60, 0x00008, + 0x45AD450C, 0x00008, 0x45AEB78B, 0x00004, 0x45BE4C88, 0x00008, 0x45D15A90, 0x00008, + 0x45D220CD, 0x00008, 0x45D457AA, 0x00020, 0x45F782F9, 0x00008, 0x45F895C9, 0x00008, + 0x460314AA, 0x00008, 0x4607CE1E, 0x00008, 0x46082D8C, 0x00008, 0x46169D71, 0x00020, + 0x4616A617, 0x00008, 0x461F1698, 0x00008, 0x4643D0F3, 0x00008, 0x46563014, 0x00008, + 0x46651969, 0x00008, 0x46705521, 0x00008, 0x467998B9, 0x00008, 0x467A32C3, 0x00008, + 0x467C7615, 0x00008, 0x4686FBE4, 0x00008, 0x46A6ED11, 0x00008, 0x46ACC737, 0x00008, + 0x46B6CB30, 0x00004, 0x46CF12FA, 0x00008, 0x46D3B493, 0x00008, 0x46DDABC1, 0x00008, + 0x46DE57E4, 0x00008, 0x46EDBE62, 0x00008, 0x46F07A32, 0x00020, 0x4725FA11, 0x00008, + 0x4738BA3C, 0x00008, 0x47420643, 0x00008, 0x474BAE62, 0x00008, 0x47677996, 0x00008, + 0x4779D56C, 0x00008, 0x478C107E, 0x00008, 0x47A7F62C, 0x00008, 0x47B4B21A, 0x00008, + 0x47C8CD1E, 0x00020, 0x47C9BB06, 0x00008, 0x47DB87C7, 0x00008, 0x47DF4A83, 0x00008, + 0x480977C0, 0x00008, 0x480B12A6, 0x00008, 0x480CE128, 0x00020, 0x481DE0A8, 0x00008, + 0x482AFAA6, 0x00008, 0x4836FBC6, 0x00020, 0x484CC5DF, 0x00020, 0x4854A2D4, 0x00008, + 0x4863CB2F, 0x00008, 0x4874E130, 0x00004, 0x48772C29, 0x00008, 0x487D63AD, 0x00008, + 0x488215D6, 0x00020, 0x48939357, 0x00008, 0x489A2657, 0x00008, 0x48CBFDFD, 0x00020, + 0x48CEA634, 0x00008, 0x48DB5468, 0x00008, 0x48DE97A3, 0x00008, 0x48E81E57, 0x00008, + 0x48EF9F93, 0x00008, 0x48FC23B1, 0x00008, 0x49012BE7, 0x00008, 0x490D644F, 0x00008, + 0x49105C7D, 0x00008, 0x4913CF7E, 0x00008, 0x49188137, 0x00008, 0x491B5EF8, 0x00008, + 0x49216ED2, 0x00008, 0x492E5D15, 0x00004, 0x493052FF, 0x00008, 0x494283D5, 0x00008, + 0x49449131, 0x00008, 0x494AFD8F, 0x00008, 0x495B4D61, 0x00008, 0x49626753, 0x00008, + 0x49705184, 0x00008, 0x497B5CDF, 0x00008, 0x497C652D, 0x00008, 0x498079F0, 0x00008, + 0x4985820E, 0x00008, 0x4988AA5E, 0x00008, 0x49898575, 0x00008, 0x499815D5, 0x00008, + 0x499E025E, 0x00008, 0x49A6CB14, 0x00008, 0x49BB2B00, 0x00008, 0x49CAE541, 0x00008, + 0x49CAEC26, 0x00008, 0x49D261D9, 0x00008, 0x49E90B80, 0x00008, 0x49ECFD46, 0x00008, + 0x49EF7B5A, 0x00008, 0x4A05A723, 0x00008, 0x4A0BD6B7, 0x0000C, 0x4A0E135A, 0x0000C, + 0x4A10B562, 0x00008, 0x4A118F71, 0x0000C, 0x4A13BE7C, 0x0000C, 0x4A166113, 0x0000C, + 0x4A16CB22, 0x00008, 0x4A1A50B6, 0x0000C, 0x4A1C868D, 0x0000C, 0x4A1FFBD8, 0x0000C, + 0x4A2D65B2, 0x00008, 0x4A32020D, 0x00008, 0x4A388AC5, 0x00008, 0x4A51B734, 0x00008, + 0x4A58ED02, 0x00008, 0x4A5A5011, 0x00008, 0x4A62E903, 0x00008, 0x4A6C4E12, 0x00008, + 0x4A7D761C, 0x00008, 0x4A81A1E7, 0x00008, 0x4A83EAE0, 0x00008, 0x4A86ACEB, 0x00008, + 0x4A884FA8, 0x00004, 0x4A9E97F8, 0x00008, 0x4AC229D8, 0x00008, 0x4AC2518B, 0x00008, + 0x4AD309FE, 0x00008, 0x4AF64A8D, 0x00008, 0x4AF9B6A8, 0x00008, 0x4AFC811E, 0x00020, + 0x4B022E2C, 0x00008, 0x4B027000, 0x00008, 0x4B0D7DAE, 0x00008, 0x4B14BF1F, 0x00004, + 0x4B15DD3C, 0x00008, 0x4B16FBC2, 0x00004, 0x4B18B731, 0x00008, 0x4B1A77D9, 0x00004, + 0x4B1CA6E4, 0x00004, 0x4B208FBB, 0x00004, 0x4B21806E, 0x00008, 0x4B23391E, 0x00004, + 0x4B256EF5, 0x00004, 0x4B28E440, 0x00004, 0x4B48DE65, 0x00008, 0x4B4C8401, 0x00008, + 0x4B5C022E, 0x00008, 0x4B6E8575, 0x00008, 0x4B70688A, 0x00008, 0x4B779A90, 0x00040, + 0x4B830D6E, 0x00008, 0x4B8D5914, 0x00008, 0x4B911AD7, 0x00020, 0x4BB5E43D, 0x00008, + 0x4BBB5ACC, 0x00020, 0x4BD1700F, 0x00020, 0x4BE02689, 0x00008, 0x4BE03A19, 0x00008, + 0x4BE67CCF, 0x00008, 0x4BEF3569, 0x00008, 0x4BF44A18, 0x00008, 0x4BF7F373, 0x00008, + 0x4C131634, 0x00008, 0x4C1E2C97, 0x00020, 0x4C26F032, 0x00020, 0x4C437D2C, 0x00020, + 0x4C509439, 0x00008, 0x4C557953, 0x00008, 0x4C5B86DD, 0x00008, 0x4C63958C, 0x00008, + 0x4C6BEDAB, 0x00020, 0x4C6C1C27, 0x00020, 0x4C760505, 0x00008, 0x4C7714E6, 0x00008, + 0x4C824E8E, 0x00008, 0x4C86A56B, 0x00008, 0x4C8943F4, 0x00008, 0x4C8C01F4, 0x00008, + 0x4C91C664, 0x00008, 0x4C989716, 0x00008, 0x4CA69037, 0x00008, 0x4CA9ADD3, 0x00008, + 0x4CB89536, 0x00008, 0x4CB943F3, 0x00008, 0x4CBB2346, 0x00008, 0x4CCF6832, 0x00008, + 0x4CEB65AE, 0x00008, 0x4CF5F66D, 0x00008, 0x4D01E608, 0x00008, 0x4D03239C, 0x00008, + 0x4D0577EB, 0x00008, 0x4D0F438A, 0x00008, 0x4D0FBA92, 0x00008, 0x4D2A95F5, 0x00008, + 0x4D373799, 0x00008, 0x4D536865, 0x00008, 0x4D584727, 0x00008, 0x4D6AA86A, 0x00008, + 0x4D89617D, 0x00008, 0x4D91498C, 0x00008, 0x4D99B98A, 0x00008, 0x4D9E5A60, 0x00008, + 0x4DADCF65, 0x00020, 0x4DB8FC90, 0x00008, 0x4DC3A44B, 0x00008, 0x4DD3DB3B, 0x00008, + 0x4DD4E235, 0x00020, 0x4DDC73C8, 0x00008, 0x4DDE5A07, 0x00008, 0x4DE0F67C, 0x00008, + 0x4DF27E30, 0x00008, 0x4DFD8539, 0x00020, 0x4E042DA6, 0x00008, 0x4E049E31, 0x00008, + 0x4E08F805, 0x00008, 0x4E11DA91, 0x00008, 0x4E157432, 0x00020, 0x4E1A7D00, 0x00008, + 0x4E220010, 0x00008, 0x4E2412B3, 0x00008, 0x4E3A56D6, 0x00008, 0x4E45FED1, 0x00008, + 0x4E64AEFD, 0x00008, 0x4E6CE964, 0x00020, 0x4E6E0D22, 0x00008, 0x4E7B3EF4, 0x00008, + 0x4E80BD47, 0x00008, 0x4E8BAAD0, 0x00008, 0x4E9E19B1, 0x00008, 0x4EAF78E1, 0x00008, + 0x4EC69E92, 0x00008, 0x4ECB997A, 0x00008, 0x4EDDC8C4, 0x00004, 0x4EE2A670, 0x00008, + 0x4EEFD259, 0x00008, 0x4EF99C5A, 0x00008, 0x4F062F24, 0x00020, 0x4F15EE3A, 0x00008, + 0x4F16D5F9, 0x00008, 0x4F1B7345, 0x00008, 0x4F1D2880, 0x00008, 0x4F20840B, 0x00008, + 0x4F27AD58, 0x00008, 0x4F31DB28, 0x00020, 0x4F35D0DD, 0x00004, 0x4F4F4F77, 0x00008, + 0x4F53634D, 0x00008, 0x4F5A428F, 0x00008, 0x4F84AA55, 0x00008, 0x4FABB1AB, 0x00008, + 0x4FABE60D, 0x00008, 0x4FE7710E, 0x00008, 0x4FF4EF94, 0x00008, 0x4FF68239, 0x00008, + 0x4FFE3B4D, 0x00008, 0x502566AD, 0x00008, 0x50306E18, 0x00008, 0x504131C1, 0x00008, + 0x50531CE6, 0x00004, 0x50540575, 0x0000C, 0x5057A201, 0x00008, 0x50619052, 0x00008, + 0x506EA818, 0x00008, 0x508769E0, 0x00008, 0x509126A3, 0x00008, 0x50994239, 0x00008, + 0x5099926D, 0x00008, 0x50A52D9B, 0x00008, 0x50AA6405, 0x00008, 0x50AFF3F3, 0x00008, + 0x50B2123C, 0x0000C, 0x50C7B530, 0x00008, 0x50D1E320, 0x00008, 0x50DC0A19, 0x00008, + 0x5133B91A, 0x00008, 0x5136A610, 0x00020, 0x513CBE4E, 0x00008, 0x513DDC1D, 0x00008, + 0x51407BF0, 0x00008, 0x5146CE90, 0x00008, 0x514B9DEA, 0x00008, 0x514F6CB6, 0x00008, + 0x5160D2B4, 0x00008, 0x5163DFDC, 0x00008, 0x5170181E, 0x00008, 0x51702602, 0x00008, + 0x5175B9DF, 0x00020, 0x518E9066, 0x00008, 0x51A4F94B, 0x00008, 0x51A5B20F, 0x00008, + 0x51A90256, 0x00008, 0x51C3683E, 0x00008, 0x51D4038A, 0x00008, 0x51D9DE18, 0x00008, + 0x520032F6, 0x00008, 0x5210B562, 0x00008, 0x52114CEF, 0x00020, 0x52166C29, 0x00008, + 0x521D2239, 0x00008, 0x522541E2, 0x00008, 0x52281656, 0x00008, 0x522C21F3, 0x00008, + 0x5231527B, 0x00008, 0x5241E354, 0x00008, 0x52934631, 0x00008, 0x52A2380B, 0x00008, + 0x52A689FF, 0x00008, 0x52B267E3, 0x00008, 0x52C030AC, 0x00008, 0x52C1E399, 0x00008, + 0x52C3546F, 0x00008, 0x52D3A7E6, 0x00008, 0x52EC3C43, 0x00008, 0x52EED3A2, 0x00008, + 0x52F0F77B, 0x00008, 0x531FC011, 0x00008, 0x532C8F61, 0x00008, 0x5336AD3A, 0x00008, + 0x5340C672, 0x00008, 0x53431DE8, 0x00008, 0x534C4E48, 0x00008, 0x5351C78A, 0x00008, + 0x53523716, 0x00008, 0x535291B3, 0x00008, 0x5361CEB5, 0x00004, 0x5362405B, 0x00008, + 0x5365AF5F, 0x00020, 0x53772213, 0x00008, 0x5389D686, 0x00008, 0x538F799D, 0x00008, + 0x539661D2, 0x00008, 0x5396B014, 0x00008, 0x539EFA6D, 0x00008, 0x53B9DDA7, 0x00008, + 0x53C3104F, 0x00008, 0x53CF0AF6, 0x00008, 0x53DC955C, 0x03E90, 0x53F44298, 0x00008, + 0x53FDCACD, 0x00008, 0x54014790, 0x00008, 0x54032467, 0x00008, 0x542A20DC, 0x00020, + 0x542AF8DF, 0x00008, 0x5435AC58, 0x00008, 0x54434512, 0x00008, 0x544A287A, 0x00008, + 0x544A4452, 0x00020, 0x5452A1B1, 0x00004, 0x545E36A6, 0x00008, 0x54682D35, 0x00008, + 0x54742EF8, 0x00008, 0x54877EB5, 0x00008, 0x549187F5, 0x00004, 0x54A2DD1C, 0x00008, + 0x54A9115C, 0x00020, 0x54D20A60, 0x00008, 0x54D645C0, 0x00008, 0x54D737FF, 0x00004, + 0x54E18686, 0x00008, 0x54E1C8AA, 0x00008, 0x54E481A2, 0x00008, 0x54ED4A27, 0x00008, + 0x54F285A2, 0x00008, 0x54FA4FE9, 0x00008, 0x550D2DBD, 0x00020, 0x55121F04, 0x00020, + 0x551C9D14, 0x00008, 0x55251787, 0x00008, 0x55352312, 0x00008, 0x554F9E61, 0x00008, + 0x5551E60E, 0x00020, 0x555E5847, 0x00008, 0x55685EF0, 0x00008, 0x55924488, 0x00008, + 0x559AD100, 0x00008, 0x559D7C4B, 0x00008, 0x55B399EC, 0x00008, 0x55D41408, 0x00008, + 0x55D9F68F, 0x00008, 0x55DD0D39, 0x00008, 0x56189D44, 0x00008, 0x5628A778, 0x00008, + 0x56295787, 0x00008, 0x562F82C2, 0x00008, 0x56491939, 0x00008, 0x566492A5, 0x00008, + 0x567179CA, 0x00020, 0x56823B48, 0x00008, 0x568AC6EA, 0x00008, 0x569DA2A3, 0x00008, + 0x56A19D8F, 0x00008, 0x56D0F50E, 0x00008, 0x56D47B52, 0x00008, 0x56D7E4C8, 0x00008, + 0x56DB0501, 0x00008, 0x56E0FAEF, 0x00008, 0x56E6EE12, 0x00020, 0x56F35AC5, 0x00008, + 0x570F0AEE, 0x00008, 0x570F73B8, 0x00008, 0x571AE74A, 0x00008, 0x57255F3F, 0x00008, + 0x5728A2BE, 0x00008, 0x573313D3, 0x00008, 0x57420ADE, 0x00008, 0x574CB3E1, 0x00008, + 0x574D6EBA, 0x00008, 0x57568332, 0x00008, 0x576E8626, 0x00008, 0x57763BE8, 0x00008, + 0x577EAD15, 0x00008, 0x57B251DC, 0x00008, 0x57C5BA69, 0x00008, 0x57C6673E, 0x00008, + 0x57C74287, 0x00008, 0x57DA3BA5, 0x00008, 0x57F317BF, 0x00008, 0x57FEE0EA, 0x00008, + 0x580010DC, 0x00008, 0x580C7F6E, 0x00008, 0x581667B1, 0x00640, 0x5819E3FD, 0x00008, + 0x581E924C, 0x00008, 0x58285A1D, 0x00008, 0x58320CC2, 0x00008, 0x583DB57A, 0x00020, + 0x583F61D2, 0x00008, 0x584541F4, 0x00008, 0x5857115E, 0x00008, 0x585DC8AA, 0x00008, + 0x5863CDA5, 0x00008, 0x58713DC7, 0x00008, 0x5875ADE5, 0x00008, 0x5875DE97, 0x00020, + 0x587BB609, 0x00008, 0x5886274D, 0x00008, 0x588C5A49, 0x00008, 0x58A44C54, 0x00008, + 0x58A7295E, 0x00008, 0x58A9CA4E, 0x00008, 0x58AED758, 0x00008, 0x58B03A4E, 0x00008, + 0x58C2D756, 0x00008, 0x58CF1A42, 0x00008, 0x58D25FD5, 0x00008, 0x58D7E2ED, 0x00008, + 0x58D9FCBD, 0x00008, 0x58DAD458, 0x00008, 0x58DBF466, 0x00008, 0x58F0B983, 0x00020, + 0x58FCD8E1, 0x00008, 0x58FDB139, 0x00008, 0x590932BB, 0x00008, 0x590F3B29, 0x00008, + 0x592B186A, 0x00008, 0x5933B869, 0x00008, 0x5938AADF, 0x00008, 0x594394F9, 0x00008, + 0x5946EB5D, 0x00008, 0x594732F0, 0x00008, 0x594B504B, 0x00020, 0x594C6D8C, 0x00004, + 0x594C6F3F, 0x00004, 0x594C72A5, 0x00004, 0x59524DB8, 0x00008, 0x5963ADA6, 0x00008, + 0x5969A7C2, 0x00008, 0x5992C4F2, 0x00008, 0x5997EBD6, 0x00008, 0x59AA37A3, 0x00020, + 0x59AC86BE, 0x00008, 0x59B1CD3A, 0x00008, 0x59B6E04D, 0x00008, 0x59BA5242, 0x00008, + 0x59BEA186, 0x00008, 0x59DEFD81, 0x00008, 0x59E176A5, 0x00008, 0x59FACF14, 0x00008, + 0x5A14F7A3, 0x00008, 0x5A17DE56, 0x00008, 0x5A1B6E58, 0x00008, 0x5A1C3AFB, 0x00008, + 0x5A208523, 0x00008, 0x5A24F68B, 0x00008, 0x5A4C3994, 0x00008, 0x5A531C5B, 0x00020, + 0x5A542B55, 0x00008, 0x5A5EACD2, 0x00008, 0x5A69987E, 0x00020, 0x5A69A910, 0x00008, + 0x5A70A03C, 0x00008, 0x5A754C8A, 0x00008, 0x5A8E531F, 0x00008, 0x5A9EBD4F, 0x00020, + 0x5AAB99E4, 0x00008, 0x5ABD8A47, 0x00040, 0x5ABFFA7F, 0x00008, 0x5AC8BE26, 0x00008, + 0x5AE9CE79, 0x00008, 0x5B02A16E, 0x00008, 0x5B2AFD11, 0x00008, 0x5B33BAA9, 0x00008, + 0x5B3980C9, 0x00008, 0x5B3D42E0, 0x00020, 0x5B4737CC, 0x00020, 0x5B4AAB94, 0x00008, + 0x5B6142D4, 0x00008, 0x5B8DD68C, 0x00008, 0x5B97E224, 0x00008, 0x5BA7512D, 0x00008, + 0x5BAF2C7F, 0x00020, 0x5BBAA3EE, 0x00008, 0x5BBC27F7, 0x00020, 0x5BC26BAC, 0x00008, + 0x5BCB582A, 0x00008, 0x5BE8AE7F, 0x00008, 0x5BF7C73A, 0x00020, 0x5C0123A2, 0x00008, + 0x5C1F3C1C, 0x00008, 0x5C2330A2, 0x00008, 0x5C26BCC4, 0x00008, 0x5C3764C3, 0x00008, + 0x5C6F8291, 0x0000C, 0x5CA4C4DC, 0x00008, 0x5CB19C60, 0x00008, 0x5CB20356, 0x00008, + 0x5CCC1F5D, 0x00008, 0x5CDBE4EA, 0x00008, 0x5D6DBDC1, 0x00008, 0x5D6F8110, 0x00640, + 0x5D76889B, 0x00008, 0x5DB01150, 0x00008, 0x5DB3986C, 0x00020, 0x5DB4AA68, 0x00008, + 0x5DB9BB7B, 0x00008, 0x5DBF9074, 0x00008, 0x5DC32CCB, 0x00008, 0x5DD72D06, 0x00008, + 0x5DEAEEFE, 0x00008, 0x5DF03DE6, 0x00008, 0x5DF216DB, 0x00008, 0x5DF9D303, 0x00008, + 0x5E0516CC, 0x00008, 0x5E1F93F3, 0x00020, 0x5E23723C, 0x00008, 0x5E2CE5CD, 0x00008, + 0x5E3FDCE1, 0x00008, 0x5E499B07, 0x00008, 0x5E5F2199, 0x00008, 0x5E8994F4, 0x00008, + 0x5E8E569F, 0x00008, 0x5E8EFB10, 0x00008, 0x5EA81CFD, 0x00008, 0x5EAF6E44, 0x00008, + 0x5EC3D137, 0x00008, 0x5EE04B40, 0x00008, 0x5EE429BF, 0x00008, 0x5EE49FC5, 0x00008, + 0x5EFCCB5A, 0x00008, 0x5F288510, 0x00020, 0x5F2B2C30, 0x00008, 0x5F58B203, 0x00008, + 0x5F737808, 0x00008, 0x5F759CBB, 0x00008, 0x5F7AC792, 0x00008, 0x5F92EE58, 0x00008, + 0x5F9FCE0B, 0x00008, 0x5FAC9091, 0x00008, 0x5FB116E3, 0x00002, 0x5FB63760, 0x00008, + 0x5FB9A124, 0x00008, 0x5FC075F0, 0x00008, 0x5FC2685D, 0x00008, 0x5FCFBC58, 0x00008, + 0x5FE0DDC0, 0x00008, 0x5FE19577, 0x00008, 0x5FEB7433, 0x00008, 0x5FFC6C29, 0x00008, + 0x60009AD2, 0x00008, 0x600A0B94, 0x00020, 0x60120880, 0x00008, 0x6018AF16, 0x00020, + 0x60217D99, 0x00008, 0x60273B38, 0x00008, 0x603562B5, 0x00004, 0x60356D43, 0x00008, + 0x603A6271, 0x00020, 0x603A6513, 0x00008, 0x605195BC, 0x00008, 0x60593EB7, 0x00041, + 0x605ADE4D, 0x00008, 0x605B7B5A, 0x00041, 0x605EBC30, 0x00001, 0x605EF771, 0x00041, + 0x6061267C, 0x00041, 0x6063C913, 0x00041, 0x6067B8B6, 0x00041, 0x6069EE8D, 0x00041, + 0x606D63D8, 0x00041, 0x606F99AF, 0x00041, 0x60724312, 0x00041, 0x608028DD, 0x00008, + 0x609BBC0C, 0x00008, 0x60A11A96, 0x00008, 0x60A3796E, 0x00008, 0x60C184CF, 0x00008, + 0x60E0C20E, 0x00008, 0x60E356E6, 0x00008, 0x60E4F4BE, 0x00008, 0x60E874DE, 0x00020, + 0x60FA25B2, 0x00008, 0x6121DDD3, 0x00008, 0x612732BE, 0x00008, 0x612E2777, 0x00004, + 0x612F8344, 0x00008, 0x613A33E0, 0x00008, 0x613DF464, 0x00008, 0x61415070, 0x00008, + 0x61504EF5, 0x00008, 0x615EF179, 0x00008, 0x6167C482, 0x00008, 0x6190CAD5, 0x00008, + 0x61989411, 0x00008, 0x61A35EA4, 0x00008, 0x61A3A659, 0x00008, 0x61B30C12, 0x00008, + 0x61B78621, 0x00008, 0x61D7D034, 0x00008, 0x61DE3A50, 0x00008, 0x61F73649, 0x00008, + 0x620CF705, 0x00020, 0x6218B769, 0x00008, 0x6234D3D8, 0x00008, 0x625EE211, 0x00008, + 0x6274721F, 0x00008, 0x627A40BC, 0x00008, 0x6291A0A6, 0x00008, 0x62A30604, 0x00008, + 0x62B54318, 0x00008, 0x62BB864C, 0x00008, 0x62BC02A0, 0x00008, 0x62C993FD, 0x00008, + 0x62CD8062, 0x00008, 0x62E66C12, 0x00008, 0x62F01DE6, 0x00008, 0x62FFE7B8, 0x00008, + 0x6306186B, 0x00008, 0x63212DD7, 0x00008, 0x63281A99, 0x00008, 0x63319609, 0x00008, + 0x633807DA, 0x00008, 0x634670F7, 0x00008, 0x634BCBA2, 0x00008, 0x635DFC75, 0x00008, + 0x6370F3EB, 0x00008, 0x63757EF0, 0x00008, 0x6377D0E6, 0x00004, 0x637C1E5C, 0x00008, + 0x63815DA2, 0x00008, 0x63855488, 0x00008, 0x63B431A1, 0x00008, 0x63B7C4D5, 0x00008, + 0x63D29D62, 0x00008, 0x63F31174, 0x00008, 0x63F3E968, 0x00008, 0x63FDBF59, 0x00008, + 0x640FB6F3, 0x00021, 0x6411F396, 0x00021, 0x64194880, 0x00008, 0x641AAE0F, 0x00021, + 0x641B09C3, 0x00008, 0x641E30F2, 0x00021, 0x642066C9, 0x00021, 0x6421C613, 0x00008, + 0x64235B3D, 0x00058, 0x642448D4, 0x00021, 0x6426EB6B, 0x00021, 0x6429280E, 0x00021, + 0x642CA425, 0x00021, 0x642ED330, 0x00021, 0x644A5EB1, 0x00008, 0x646ADC95, 0x00008, + 0x646B4D09, 0x00008, 0x646B8A9B, 0x00008, 0x646FF730, 0x00008, 0x647183A6, 0x00020, + 0x6474AA27, 0x00008, 0x6479A878, 0x00020, 0x6489CF90, 0x00008, 0x648E6043, 0x00008, + 0x649F5195, 0x00008, 0x64A6BCF9, 0x00008, 0x64AA29E4, 0x00008, 0x64AB2220, 0x00400, + 0x64C49179, 0x00008, 0x64CBDC5A, 0x00008, 0x64DDD0A9, 0x00008, 0x64E6629E, 0x00008, + 0x64ED0C9B, 0x00008, 0x64F508A7, 0x00008, 0x64F73DC2, 0x00008, 0x64F9ACB8, 0x00020, + 0x65179821, 0x00008, 0x6527F898, 0x00008, 0x6539A33C, 0x00008, 0x6563CDAC, 0x00008, + 0x6579271C, 0x00008, 0x6594709B, 0x00008, 0x659D18C8, 0x00008, 0x65AB23B3, 0x00400, + 0x65AB9885, 0x00008, 0x65B48D54, 0x00004, 0x65CB24AE, 0x00008, 0x65DF5AD7, 0x00008, + 0x65ED2C00, 0x00008, 0x65F243B2, 0x00008, 0x65F377C8, 0x00008, 0x65FBF6E8, 0x00020, + 0x65FD783E, 0x00008, 0x662A012F, 0x00008, 0x662D26BD, 0x00008, 0x6640CACA, 0x00008, + 0x6647BCDD, 0x00020, 0x664A20D4, 0x00004, 0x6671E3CF, 0x00008, 0x667C435C, 0x00008, + 0x667CBD49, 0x00008, 0x6686BAE9, 0x00008, 0x668CB063, 0x00008, 0x66991D3F, 0x00008, + 0x66CE6868, 0x00008, 0x66D51994, 0x00008, 0x66EAC2E7, 0x00001, 0x66F36CD9, 0x00020, + 0x6702DC9E, 0x00008, 0x6710B6A8, 0x00008, 0x6711BA82, 0x00008, 0x6719CC73, 0x00008, + 0x673CF11E, 0x00008, 0x6740E7FB, 0x00008, 0x6742AA62, 0x00008, 0x674E2418, 0x00020, + 0x676A9935, 0x00008, 0x676D543E, 0x00008, 0x677AE58C, 0x00008, 0x67869030, 0x00008, + 0x6791D58B, 0x00008, 0x6798E81E, 0x00008, 0x67AA1D5E, 0x00008, 0x67B96645, 0x00008, + 0x67CEB9DD, 0x00008, 0x67E0FE5C, 0x00008, 0x67E15292, 0x00008, 0x67EAE9F7, 0x00008, + 0x67FFAC48, 0x00020, 0x68068175, 0x00008, 0x6818CE6E, 0x00008, 0x682ACC6F, 0x00008, + 0x6849A429, 0x00020, 0x684FB2D2, 0x00008, 0x6850A672, 0x00004, 0x68521A16, 0x00008, + 0x6864BB13, 0x00008, 0x68ACFE70, 0x00020, 0x68BDD152, 0x00008, 0x68CDDD7E, 0x00008, + 0x68D8A74B, 0x00020, 0x68DAE7B4, 0x00008, 0x68E026A1, 0x00008, 0x68E08661, 0x00008, + 0x68E2A7E7, 0x00008, 0x68F4150C, 0x00020, 0x69055E76, 0x00020, 0x692DE3B0, 0x00008, + 0x6936C3A9, 0x00008, 0x6941EC97, 0x00008, 0x69578737, 0x00008, 0x69679C1E, 0x00008, + 0x697176A8, 0x00008, 0x69871AE3, 0x00008, 0x699744E7, 0x00008, 0x69A7C393, 0x00020, + 0x69B6415E, 0x00008, 0x69BB4E50, 0x00008, 0x69BBCB0C, 0x00008, 0x69CD8E8D, 0x00008, + 0x69D0D19C, 0x00008, 0x69E1E8EC, 0x00008, 0x6A092B15, 0x00008, 0x6A0F66E2, 0x00004, + 0x6A107500, 0x00008, 0x6A30BF9F, 0x00008, 0x6A397CB4, 0x00008, 0x6A420602, 0x00008, + 0x6A5F66EF, 0x00020, 0x6A745041, 0x00008, 0x6A74D5B8, 0x00008, 0x6A801D63, 0x00008, + 0x6A95096B, 0x00008, 0x6A9F4F39, 0x00008, 0x6AA8CF0B, 0x00008, 0x6AADFAAF, 0x00008, + 0x6ABAB94A, 0x00008, 0x6ABFA454, 0x00008, 0x6AD730D1, 0x00008, 0x6ADA6FDD, 0x00008, + 0x6AE3E671, 0x00008, 0x6AF6A2E7, 0x00020, 0x6B08BA41, 0x00008, 0x6B376129, 0x00008, + 0x6B52EA5D, 0x00004, 0x6B56CC68, 0x00004, 0x6B58957F, 0x00004, 0x6B5A0CF3, 0x00020, + 0x6B5C8522, 0x00004, 0x6B5F27B9, 0x00004, 0x6B6156C4, 0x00004, 0x6B653F9B, 0x00004, + 0x6B670F7E, 0x00004, 0x6B6AF855, 0x00004, 0x6B6D9420, 0x00004, 0x6B76E8B3, 0x00008, + 0x6B7D538C, 0x00008, 0x6B8D5273, 0x00008, 0x6BA39A8B, 0x00008, 0x6BADC729, 0x00008, + 0x6BBCAF10, 0x00008, 0x6BC692F1, 0x00008, 0x6BC8D8F1, 0x00008, 0x6BD09754, 0x00008, + 0x6BE018AA, 0x00008, 0x6BE4BE03, 0x00008, 0x6BE6362A, 0x00008, 0x6BEC014E, 0x00008, + 0x6BF8B760, 0x00008, 0x6BFB51F1, 0x00008, 0x6C0CC574, 0x00008, 0x6C1169C0, 0x00004, + 0x6C1E5E1C, 0x00008, 0x6C29ACC5, 0x00004, 0x6C330A1A, 0x00020, 0x6C375C8A, 0x00001, + 0x6C44ACAB, 0x00008, 0x6C4D7836, 0x00008, 0x6C503603, 0x00008, 0x6C66C760, 0x00008, + 0x6C6EF4F7, 0x00008, 0x6C8B716C, 0x00008, 0x6C9384AD, 0x00008, 0x6C9784F7, 0x00020, + 0x6C9D1C12, 0x00008, 0x6CA6CDE0, 0x00020, 0x6CAB2EB8, 0x00400, 0x6CAE394A, 0x00008, + 0x6CBA570D, 0x00008, 0x6CBDC78D, 0x00008, 0x6CC301EB, 0x00008, 0x6CD15CB1, 0x00008, + 0x6CD4D0C9, 0x00008, 0x6CF40001, 0x00008, 0x6D1741C5, 0x00008, 0x6D19CB28, 0x00008, + 0x6D418A8B, 0x00004, 0x6D903148, 0x00008, 0x6D96B169, 0x00008, 0x6D970567, 0x00008, + 0x6DAB304B, 0x00400, 0x6DC259E9, 0x00020, 0x6DCAE67B, 0x00020, 0x6DE66A4F, 0x00008, + 0x6DF76A43, 0x00008, 0x6E176D02, 0x00008, 0x6E1C2AC9, 0x00008, 0x6E234AAA, 0x00008, + 0x6E50EF0C, 0x00008, 0x6E51B24B, 0x00008, 0x6E5207DB, 0x00008, 0x6E54EB95, 0x00008, + 0x6E851A8F, 0x00008, 0x6E914C72, 0x00008, 0x6E918DBF, 0x00020, 0x6E9743D3, 0x00020, + 0x6E9FF904, 0x00008, 0x6EAB31DE, 0x00400, 0x6EB0A1E7, 0x00008, 0x6ED9F037, 0x00008, + 0x6EE28489, 0x00008, 0x6EEDA160, 0x00008, 0x6F12A829, 0x00008, 0x6F193367, 0x00008, + 0x6F30B61F, 0x00008, 0x6F5B8421, 0x00008, 0x6F5C8ABF, 0x00008, 0x6F7E77EE, 0x00008, + 0x6F8290DC, 0x00008, 0x6F973047, 0x00008, 0x6F9D9F81, 0x00008, 0x6FAA2F7C, 0x00020, + 0x6FAB3371, 0x00400, 0x6FB050D4, 0x00008, 0x6FC2241C, 0x00008, 0x6FCFEE60, 0x00008, + 0x6FEE761A, 0x00008, 0x6FF5D1B3, 0x00008, 0x70025DB4, 0x00008, 0x7009758D, 0x00008, + 0x700B1422, 0x00008, 0x70193A4B, 0x00008, 0x7029D2D0, 0x00008, 0x702B054E, 0x00008, + 0x702B84AA, 0x00008, 0x702C68EC, 0x00004, 0x702F1795, 0x00008, 0x703378A7, 0x00008, + 0x703D7A9C, 0x00008, 0x706D7FB5, 0x00004, 0x7078A660, 0x00008, 0x7079631A, 0x00008, + 0x707AE04B, 0x00008, 0x70836703, 0x00008, 0x708D1511, 0x0000C, 0x708EEAC2, 0x00008, + 0x7091DCA5, 0x00008, 0x70A324B7, 0x00008, 0x70AA4E77, 0x00008, 0x70AB3504, 0x00400, + 0x70AC8943, 0x00008, 0x70B1339F, 0x00008, 0x70C4F81B, 0x00008, 0x70DE2CD7, 0x00008, + 0x71149ADA, 0x00008, 0x7121DE2F, 0x00008, 0x71372182, 0x00008, 0x7140A44E, 0x00008, + 0x714FD8AA, 0x00008, 0x7159C353, 0x00008, 0x715D70FA, 0x00008, 0x7165D808, 0x00008, + 0x71782535, 0x00008, 0x717F7CAB, 0x00008, 0x71825204, 0x00001, 0x718A1662, 0x00008, + 0x71AB3697, 0x00400, 0x71B0664F, 0x00008, 0x71C42033, 0x00008, 0x71D23AB6, 0x00008, + 0x71D35ADD, 0x00008, 0x71DB2CEB, 0x00004, 0x71F25CA5, 0x00008, 0x71FAEFFF, 0x00008, + 0x71FB8B10, 0x00004, 0x71FE1893, 0x00008, 0x72060FF7, 0x00008, 0x720B1A16, 0x00008, + 0x7222A602, 0x00008, 0x722C4F32, 0x00008, 0x7234D057, 0x00008, 0x72426487, 0x00008, + 0x727137E4, 0x00008, 0x727D5516, 0x00008, 0x7287D46E, 0x00008, 0x729A89BD, 0x00008, + 0x72AB382A, 0x00400, 0x72AD941B, 0x00008, 0x72CDB9DA, 0x00008, 0x72E42AB1, 0x00008, + 0x72F634A4, 0x00008, 0x72FF09DD, 0x00008, 0x730D4421, 0x00008, 0x730D72D1, 0x00008, + 0x7318BC16, 0x00020, 0x731ED901, 0x00008, 0x732E5EFD, 0x00008, 0x7332C30E, 0x00020, + 0x7353D3D3, 0x00008, 0x7367C02E, 0x00004, 0x73752AF1, 0x00008, 0x737B1E36, 0x00008, + 0x73AB39BD, 0x00400, 0x73B2E9EE, 0x00020, 0x73CA5CF9, 0x00008, 0x73CF9FD2, 0x00008, + 0x73D6393F, 0x00008, 0x73E303A6, 0x00008, 0x73E86852, 0x00008, 0x73F6DCD4, 0x00008, + 0x74037B2B, 0x00008, 0x74077ECD, 0x00004, 0x7419163F, 0x00008, 0x742CCAE5, 0x00008, + 0x7449A9DF, 0x00008, 0x7449B40B, 0x00008, 0x744FF2D9, 0x00008, 0x74696729, 0x00008, + 0x7481104A, 0x00008, 0x74916213, 0x00008, 0x7495969E, 0x00008, 0x74ABB300, 0x0B800, + 0x74ABB4B3, 0x0B800, 0x74ABB666, 0x0B800, 0x74ABB819, 0x0B800, 0x74ABB9CC, 0x0B800, + 0x74ABBB7F, 0x0B800, 0x74ABBD32, 0x0B800, 0x74ABBEE5, 0x0B800, 0x74ABCACA, 0x0B800, + 0x74ABCC7D, 0x0B800, 0x74AC2D60, 0x00008, 0x74BA04C7, 0x00008, 0x74C0686D, 0x00008, + 0x74CFDE2E, 0x00008, 0x74D57BF3, 0x00008, 0x74D81D68, 0x00008, 0x74F1D57C, 0x00008, + 0x74F330D5, 0x00008, 0x74F4C43A, 0x00008, 0x75174070, 0x00008, 0x7538BA21, 0x00008, + 0x753E3B78, 0x00008, 0x7545115E, 0x00008, 0x75526117, 0x00020, 0x7559BCA3, 0x00008, + 0x756717AB, 0x00008, 0x756E63F6, 0x00008, 0x757C0AC0, 0x00020, 0x75A1A04A, 0x00008, + 0x75B88510, 0x00008, 0x75B97092, 0x00008, 0x75BA6205, 0x00008, 0x75E022CE, 0x00020, + 0x75EC33B7, 0x00008, 0x75F275DF, 0x00008, 0x760179CB, 0x00008, 0x760A6CEF, 0x00008, + 0x7613CA43, 0x00008, 0x761402AB, 0x00008, 0x76152994, 0x00020, 0x7617CD2C, 0x00008, + 0x761B1732, 0x00008, 0x76248E3A, 0x00008, 0x7639C329, 0x00008, 0x7641DCCF, 0x00008, + 0x76435920, 0x00008, 0x764A56CB, 0x00008, 0x764BEF03, 0x00020, 0x76696702, 0x00008, + 0x76947F97, 0x00004, 0x76958F9E, 0x00008, 0x76986F3A, 0x00004, 0x769B11D1, 0x00004, + 0x769D40DC, 0x00004, 0x76A0BCF3, 0x00004, 0x76A2F996, 0x00004, 0x76A6E26D, 0x00004, + 0x76A97E38, 0x00004, 0x76AB3CB7, 0x00008, 0x76C7B2F6, 0x00020, 0x76C86F55, 0x00008, + 0x76E017DD, 0x00008, 0x76E274FD, 0x00008, 0x76E2E035, 0x00008, 0x76F35821, 0x00008, + 0x76FC150F, 0x00008, 0x77009BB4, 0x00020, 0x7703004D, 0x00008, 0x77371420, 0x00008, + 0x774E0F7E, 0x00008, 0x774F9B79, 0x00020, 0x775CF19E, 0x00008, 0x776A189D, 0x00008, + 0x776E1DB6, 0x00008, 0x77770386, 0x00002, 0x77770539, 0x00002, 0x777706EC, 0x00002, + 0x7777089F, 0x00002, 0x77770A52, 0x00002, 0x777A46C5, 0x00008, 0x77A2C6A6, 0x00008, + 0x77B3D1BE, 0x00004, 0x77C6E411, 0x00008, 0x77DF1C4A, 0x00008, 0x77E08CE1, 0x00008, + 0x77FA09C2, 0x00008, 0x781517AD, 0x00008, 0x7823D62F, 0x00008, 0x783266FF, 0x00008, + 0x784365EB, 0x00008, 0x7844A461, 0x00008, 0x786606D6, 0x00008, 0x7893A89B, 0x00008, + 0x78BF39AD, 0x00008, 0x78BFDB19, 0x00008, 0x78D3E78B, 0x00008, 0x78D93161, 0x00008, + 0x78DFFCFB, 0x00008, 0x78E2574D, 0x00020, 0x78ED7955, 0x00008, 0x78EEC886, 0x00008, + 0x78FF2CB2, 0x00C80, 0x79032376, 0x00008, 0x7927BD3A, 0x00008, 0x792C6FB5, 0x00008, + 0x7936C2E9, 0x00008, 0x79433756, 0x00008, 0x79542978, 0x00008, 0x796B5E2F, 0x00020, + 0x79827B13, 0x00008, 0x798B5F92, 0x00008, 0x79A2726E, 0x00020, 0x79CF2078, 0x00008, + 0x79D945C6, 0x00008, 0x79E1ED02, 0x00008, 0x79EAACE3, 0x00008, 0x79F45BE9, 0x00008, + 0x79F63F4E, 0x00008, 0x7A00BD27, 0x00008, 0x7A3AA959, 0x00008, 0x7A4725E0, 0x00008, + 0x7A5F06BD, 0x00008, 0x7A61B8AB, 0x00008, 0x7A7E5233, 0x00008, 0x7A859D98, 0x00008, + 0x7A880EF1, 0x00008, 0x7A9A063D, 0x00020, 0x7A9EF784, 0x00020, 0x7A9FD4EA, 0x00008, + 0x7AA50635, 0x00008, 0x7AC9F258, 0x00008, 0x7ACCF1A8, 0x00008, 0x7AE98F70, 0x00008, + 0x7B0027DF, 0x00008, 0x7B0BB2CD, 0x00008, 0x7B122AB7, 0x00008, 0x7B18E37B, 0x00008, + 0x7B1DAE73, 0x00008, 0x7B1F456F, 0x00008, 0x7B2DB25F, 0x00008, 0x7B4D83FD, 0x00008, + 0x7B5D2947, 0x00021, 0x7B5FD2AA, 0x00021, 0x7B63BB81, 0x00021, 0x7B657DCC, 0x00021, + 0x7B6966A3, 0x00021, 0x7B6C1006, 0x00021, 0x7B6E45DD, 0x00021, 0x7B7227E8, 0x00021, + 0x7B72931C, 0x00008, 0x7B85E1E0, 0x00020, 0x7B8653D5, 0x00021, 0x7B8838DC, 0x00008, + 0x7B88EFA0, 0x00021, 0x7B935E21, 0x00008, 0x7BAB171A, 0x00020, 0x7BB6CAC9, 0x00020, + 0x7BB8CFA6, 0x00008, 0x7BC599C0, 0x00040, 0x7BEA7200, 0x00008, 0x7C044474, 0x00008, + 0x7C305146, 0x00008, 0x7C3249D2, 0x00008, 0x7C57168C, 0x00020, 0x7C5E3AB6, 0x00008, + 0x7C63660E, 0x00008, 0x7C7DE502, 0x00008, 0x7C9AB348, 0x00008, 0x7CA626B0, 0x00008, + 0x7CC2CEA2, 0x00008, 0x7CD44136, 0x00008, 0x7CF35650, 0x00040, 0x7CF67C8C, 0x00008, + 0x7CF93DC0, 0x00008, 0x7D02EA3E, 0x00008, 0x7D0638B2, 0x00020, 0x7D0E845F, 0x00008, + 0x7D159761, 0x00020, 0x7D186E1F, 0x00008, 0x7D29604E, 0x00008, 0x7D498361, 0x00008, + 0x7D4ED264, 0x00008, 0x7D5AA063, 0x00008, 0x7D6C2B82, 0x06B40, 0x7D77138B, 0x00008, + 0x7DA4DAA2, 0x00008, 0x7DA5EAFC, 0x00008, 0x7DBAC6AE, 0x00008, 0x7DBE6796, 0x00008, + 0x7DCCBD4A, 0x00008, 0x7DF4E116, 0x00008, 0x7E0A7D15, 0x00008, 0x7E0BEA87, 0x00008, + 0x7E2EE0C7, 0x00008, 0x7E42147A, 0x00008, 0x7E6E6D9A, 0x00008, 0x7E7C71A0, 0x00008, + 0x7E837AC2, 0x00008, 0x7E8511F6, 0x00008, 0x7E8C3007, 0x00008, 0x7E8EC545, 0x00008, + 0x7E981EB8, 0x00008, 0x7EB7272D, 0x00020, 0x7EBCF1D9, 0x00008, 0x7EC4911D, 0x00020, + 0x7EC9B9E7, 0x00008, 0x7EEFB355, 0x00008, 0x7EF47927, 0x00008, 0x7EF71B84, 0x00008, + 0x7EF88D0A, 0x00008, 0x7F145109, 0x00008, 0x7F243C91, 0x00020, 0x7F2C609E, 0x00008, + 0x7F5F1FBC, 0x00008, 0x7F5F746E, 0x00020, 0x7F69D620, 0x00008, 0x7F772F95, 0x00020, + 0x7F7FF580, 0x00008, 0x7FA9C037, 0x00008, 0x7FB870FE, 0x00008, 0x7FCC1B29, 0x00008, + 0x7FCD4A6E, 0x00008, 0x8000078B, 0x00008, 0x801F3F87, 0x00008, 0x803FC376, 0x00008, + 0x8069E14D, 0x00008, 0x806E3B54, 0x00008, 0x8071C446, 0x00008, 0x8076F22D, 0x00008, + 0x808529D9, 0x00008, 0x8086CF93, 0x00008, 0x8088C1EA, 0x00008, 0x808F1749, 0x00020, + 0x808F361C, 0x00008, 0x809BC657, 0x00008, 0x809F3F71, 0x00021, 0x80A16E7C, 0x00021, + 0x80ABC3AA, 0x00008, 0x80AFE1AF, 0x00021, 0x80B28B12, 0x00021, 0x80B673E9, 0x00021, + 0x80B8A2F4, 0x00021, 0x80BC1F0B, 0x00021, 0x80BE5BAE, 0x00021, 0x80C0FE45, 0x00021, + 0x80C4E050, 0x00021, 0x80D1904D, 0x00008, 0x80EFC2CF, 0x00008, 0x80F83806, 0x00008, + 0x80FE89AD, 0x00008, 0x810A4C4C, 0x00008, 0x81283E33, 0x00008, 0x812A4D1F, 0x00008, + 0x812B43F7, 0x0000C, 0x812F339A, 0x0000C, 0x812FC3E3, 0x00070, 0x8130FCB1, 0x0000C, + 0x8134DEBC, 0x0000C, 0x813DA6CD, 0x0000C, 0x814D3AA3, 0x00008, 0x8157A48F, 0x00008, + 0x8164AF70, 0x00008, 0x817A9619, 0x00008, 0x817F884A, 0x00008, 0x8185CFE5, 0x00020, + 0x81B209B6, 0x00008, 0x81CF9A83, 0x00008, 0x81D1AFD6, 0x00008, 0x81D48972, 0x00008, + 0x81E11DD7, 0x00008, 0x81E63751, 0x00008, 0x81FBC9E4, 0x00008, 0x8205ECAD, 0x00004, + 0x8205FB2C, 0x00008, 0x821CA809, 0x00008, 0x821EE9B5, 0x00020, 0x8225F816, 0x00008, + 0x82295604, 0x00008, 0x823D447C, 0x00008, 0x8269FB0B, 0x00020, 0x82959297, 0x00008, + 0x82A968D2, 0x00008, 0x82C7DA8F, 0x00008, 0x82DB132C, 0x00008, 0x82E393CD, 0x00008, + 0x82FD146B, 0x00008, 0x830DA4B9, 0x00008, 0x830F5E46, 0x00008, 0x8313D306, 0x00008, + 0x831E2511, 0x00008, 0x83214552, 0x00008, 0x83355C54, 0x00008, 0x833B2716, 0x00008, + 0x833D2EE4, 0x00020, 0x835EF710, 0x00008, 0x837B64AA, 0x00008, 0x838DCE5A, 0x00008, + 0x83A50616, 0x00008, 0x83B3B839, 0x00008, 0x83BACB6A, 0x00020, 0x83BCC2F3, 0x00008, + 0x83C3BFAA, 0x00008, 0x83CABE32, 0x00008, 0x83DE9C4F, 0x00008, 0x83F595A8, 0x00008, + 0x83FB0875, 0x00008, 0x83FC126A, 0x00004, 0x83FDB25B, 0x00008, 0x840A83B2, 0x00008, + 0x841BFF83, 0x00008, 0x84253830, 0x00008, 0x84384B49, 0x00008, 0x844388BE, 0x00008, + 0x84472067, 0x00008, 0x8456B132, 0x00008, 0x84576C6E, 0x00008, 0x8469DB19, 0x00008, + 0x846E4535, 0x00008, 0x847B04F2, 0x00008, 0x84802456, 0x00020, 0x8486D4A5, 0x00008, + 0x8492AD08, 0x00008, 0x849CFD75, 0x00008, 0x84A5D42D, 0x00008, 0x84AB5CE9, 0x00008, + 0x84B0EBCE, 0x00008, 0x84BFEAA6, 0x00008, 0x84C78F23, 0x00008, 0x84C81C7D, 0x00008, + 0x84C92372, 0x00008, 0x84D2BC07, 0x00008, 0x84D9970C, 0x00008, 0x84D9ECF3, 0x00008, + 0x8510091C, 0x00008, 0x8526EF5D, 0x00008, 0x85405E1E, 0x00008, 0x8540DC58, 0x00008, + 0x854709FC, 0x00008, 0x85627BA3, 0x00008, 0x85630DC9, 0x00008, 0x8568F6B4, 0x00008, + 0x857C3106, 0x00008, 0x85997A19, 0x00008, 0x85A9CA20, 0x00008, 0x85BE21E3, 0x00008, + 0x85C09B4E, 0x00008, 0x85C3FC08, 0x00020, 0x85C524F3, 0x00008, 0x85C6B25C, 0x00020, + 0x85D42E62, 0x00008, 0x85D4421C, 0x00008, 0x85DBDF95, 0x00008, 0x85DDFE8C, 0x00008, + 0x86024877, 0x00008, 0x860CD8FB, 0x01C20, 0x860ED74F, 0x00008, 0x861031E3, 0x00008, + 0x8611B187, 0x0000C, 0x86324B37, 0x00008, 0x8652298C, 0x00008, 0x865D678A, 0x00008, + 0x867B4461, 0x00020, 0x867F27E6, 0x00008, 0x86A2BDF0, 0x00008, 0x86B7FA67, 0x00008, + 0x86C2CBD8, 0x00008, 0x86CDBDB3, 0x00008, 0x86D34E2D, 0x00020, 0x86E01E0D, 0x00008, + 0x86E25699, 0x00008, 0x86E425D3, 0x00008, 0x86FF6AD2, 0x00008, 0x870668DE, 0x00008, + 0x8706756A, 0x00008, 0x870A5315, 0x00008, 0x871BF7BF, 0x00008, 0x87220CCF, 0x00020, + 0x872B3B56, 0x00008, 0x872E6067, 0x00008, 0x874283F0, 0x00008, 0x87485C7C, 0x00008, + 0x876832D6, 0x00008, 0x877BB396, 0x00008, 0x877E8807, 0x00020, 0x877F1BB1, 0x00008, + 0x879985FB, 0x00008, 0x879D7591, 0x00020, 0x87B14334, 0x00008, 0x87C029BB, 0x00008, + 0x87CCF329, 0x00008, 0x87D40294, 0x00002, 0x88067C50, 0x00008, 0x880A3143, 0x00008, + 0x881B95D2, 0x00008, 0x881F3BFA, 0x00008, 0x88556223, 0x00008, 0x885B44DA, 0x00020, + 0x886B1D8D, 0x00020, 0x8870ED15, 0x00008, 0x887DCCEA, 0x00008, 0x8886231A, 0x00020, + 0x8894C8CF, 0x00020, 0x88B642A8, 0x00008, 0x88BEC1DC, 0x00008, 0x88C47C31, 0x00008, + 0x88CD4E7E, 0x00008, 0x88E4DDCF, 0x00008, 0x88F5485F, 0x00008, 0x88F5FD69, 0x00008, + 0x88F8B7FA, 0x00008, 0x88FEBEAF, 0x00008, 0x89096375, 0x00008, 0x89306FE6, 0x00004, + 0x8942628C, 0x00008, 0x89669F30, 0x00400, 0x896919BB, 0x00008, 0x897E933C, 0x00008, + 0x89831B4C, 0x00008, 0x8995D448, 0x00008, 0x89B23641, 0x00008, 0x89BC2F4F, 0x00008, + 0x89C559D9, 0x00020, 0x89F85D07, 0x00020, 0x8A2A29D7, 0x00008, 0x8A2B67FA, 0x00008, + 0x8A2FD172, 0x00020, 0x8A347F98, 0x00008, 0x8A3575A5, 0x00004, 0x8A357828, 0x00020, + 0x8A3739FE, 0x00008, 0x8A414994, 0x00008, 0x8A5313A4, 0x00008, 0x8A5FB4F5, 0x00008, + 0x8A64913A, 0x00008, 0x8A66A0C3, 0x00400, 0x8A6757BD, 0x00008, 0x8A6C218B, 0x00008, + 0x8A7959E5, 0x00008, 0x8A7A8398, 0x00020, 0x8A7EDCEB, 0x00008, 0x8A8A7802, 0x00008, + 0x8A93A63A, 0x00008, 0x8A95082E, 0x00008, 0x8A987BF5, 0x00008, 0x8A992D8A, 0x00008, + 0x8AA88D18, 0x00008, 0x8AB489F3, 0x00008, 0x8AB620AC, 0x00008, 0x8ABDFA89, 0x00008, + 0x8AC05EF5, 0x00008, 0x8AE1EBAF, 0x00008, 0x8AEA32C0, 0x00008, 0x8AF6F74D, 0x00008, + 0x8AF9C4D4, 0x00008, 0x8AFECF9B, 0x00008, 0x8B04BC2A, 0x00008, 0x8B09ED5E, 0x00008, + 0x8B14392F, 0x05DC0, 0x8B1638AF, 0x00008, 0x8B3A236F, 0x00008, 0x8B3F1309, 0x00008, + 0x8B421302, 0x00008, 0x8B46905C, 0x00008, 0x8B48AFB6, 0x00008, 0x8B542A42, 0x00008, + 0x8B5697D1, 0x00008, 0x8B64BCDA, 0x00008, 0x8B651FAA, 0x00008, 0x8B66A256, 0x00400, + 0x8B67713C, 0x00008, 0x8B68B164, 0x00008, 0x8B86E869, 0x00008, 0x8BA03B56, 0x00008, + 0x8BB8AB31, 0x00008, 0x8BD98CB5, 0x00008, 0x8BE1CB32, 0x00008, 0x8BE25800, 0x00008, + 0x8BE695B2, 0x00008, 0x8C13AB1D, 0x00008, 0x8C22E8CC, 0x00008, 0x8C406429, 0x00008, + 0x8C66A3E9, 0x00400, 0x8C6898A6, 0x00008, 0x8C68E280, 0x00400, 0x8C6A5E40, 0x00008, + 0x8C74B0C0, 0x00008, 0x8C9B3845, 0x00008, 0x8CA4522C, 0x00008, 0x8CB28DCA, 0x00008, + 0x8CC98CD6, 0x00008, 0x8CDA7812, 0x00008, 0x8CE248CA, 0x00008, 0x8CF2E01E, 0x00008, + 0x8CFBC730, 0x00008, 0x8D3C15D4, 0x00008, 0x8D446558, 0x00008, 0x8D4539E3, 0x00008, + 0x8D513D27, 0x00020, 0x8D53E15E, 0x00008, 0x8D66A57C, 0x00400, 0x8D68E413, 0x00400, + 0x8D69590A, 0x00008, 0x8D7546E5, 0x00008, 0x8D79A2F4, 0x00008, 0x8D84BA90, 0x00400, + 0x8DA42D76, 0x00008, 0x8DA7A61A, 0x00008, 0x8DADC34E, 0x00008, 0x8DCEDF6C, 0x00008, + 0x8DD126BF, 0x00008, 0x8DEDFDCA, 0x00008, 0x8DFDDFE9, 0x00008, 0x8E02698A, 0x00008, + 0x8E0FA5F1, 0x00008, 0x8E172E6D, 0x00008, 0x8E353C30, 0x00008, 0x8E3B5E0A, 0x00004, + 0x8E50E47F, 0x00008, 0x8E50F2A4, 0x00008, 0x8E66A70F, 0x00400, 0x8E68E5A6, 0x00400, + 0x8E84BC23, 0x00400, 0x8E87ED62, 0x00008, 0x8E921B5A, 0x00008, 0x8EA04E50, 0x00020, + 0x8EAB1DB9, 0x00008, 0x8EC51FB9, 0x00008, 0x8ECFCBA5, 0x00008, 0x8ED4575E, 0x00008, + 0x8ED652CE, 0x00008, 0x8EE692FC, 0x00008, 0x8EED754D, 0x00020, 0x8EF1589C, 0x00008, + 0x8EF22D95, 0x00004, 0x8EF4F147, 0x00008, 0x8F037DC4, 0x00008, 0x8F13648B, 0x00008, + 0x8F4907E6, 0x00008, 0x8F4B9AAA, 0x00008, 0x8F4BB76B, 0x00008, 0x8F66A8A2, 0x00400, + 0x8F68E739, 0x00400, 0x8F70A40D, 0x00008, 0x8F7306E1, 0x00008, 0x8F826E95, 0x00008, + 0x8F84BDB6, 0x00400, 0x8F93AB9F, 0x00008, 0x8F95592F, 0x00020, 0x8F967DE2, 0x00008, + 0x8FA62F45, 0x00008, 0x8FA8A500, 0x00008, 0x8FAB2C4D, 0x00004, 0x8FAC480F, 0x00008, + 0x8FB0F26D, 0x00008, 0x8FB3A98C, 0x00008, 0x8FB62140, 0x00008, 0x8FBEFA6E, 0x00008, + 0x8FBF6DE6, 0x00008, 0x8FC1AFF5, 0x00004, 0x8FC52EBD, 0x00008, 0x8FC79973, 0x00008, + 0x8FCB4328, 0x00008, 0x8FE1BFBF, 0x00020, 0x901EEFD7, 0x00008, 0x902B64DB, 0x00004, + 0x90317F7A, 0x00008, 0x9066AA35, 0x00400, 0x9068E8CC, 0x00400, 0x907EE971, 0x00008, + 0x9084BF49, 0x00400, 0x9086FDE0, 0x00400, 0x908A0119, 0x00004, 0x9090BC45, 0x00008, + 0x90936CA7, 0x00008, 0x90B6AD59, 0x00008, 0x90BFF009, 0x00008, 0x90C6CB8D, 0x00008, + 0x90C904B6, 0x00008, 0x90CECB72, 0x00008, 0x90D10B08, 0x00008, 0x90D6073D, 0x00008, + 0x90DABA45, 0x00008, 0x90E11085, 0x00008, 0x910824B4, 0x00008, 0x912119C1, 0x00008, + 0x913931B0, 0x00008, 0x9141DC0E, 0x00008, 0x91451B65, 0x00008, 0x914B6879, 0x00008, + 0x9151FC80, 0x00020, 0x9166ABC8, 0x00400, 0x9168EA5F, 0x00400, 0x916BCA9E, 0x00158, + 0x91759F0F, 0x00008, 0x91795526, 0x00008, 0x917A3380, 0x00400, 0x9184C0DC, 0x00400, + 0x9186FF73, 0x00400, 0x918A526C, 0x00008, 0x918AA6D6, 0x00008, 0x918B98EC, 0x00020, + 0x9196F6B5, 0x00020, 0x919D8A05, 0x00008, 0x919EE3C7, 0x00008, 0x91A6A37B, 0x00008, + 0x91B235ED, 0x00008, 0x91C372B5, 0x00008, 0x91CB899B, 0x00008, 0x91CD5108, 0x00008, + 0x91E285C2, 0x00008, 0x91E8060B, 0x00008, 0x920185F2, 0x00008, 0x921D220A, 0x00008, + 0x922784D0, 0x00008, 0x922BBE18, 0x00008, 0x92304677, 0x00008, 0x92450FD0, 0x00008, + 0x9252D27E, 0x00020, 0x9266AD5B, 0x00400, 0x9268EBF2, 0x00400, 0x9276EC2F, 0x00008, + 0x927A3513, 0x00400, 0x927B4F58, 0x00008, 0x9284C26F, 0x00400, 0x92870106, 0x00400, + 0x92886B27, 0x00008, 0x92C81558, 0x00008, 0x92CA4BB0, 0x00008, 0x92D90E0D, 0x00008, + 0x92DB61B7, 0x00008, 0x92EBEF8B, 0x00008, 0x92EEE2EC, 0x00008, 0x92F65429, 0x00008, + 0x92F98410, 0x00008, 0x93065B65, 0x00008, 0x9308A164, 0x00008, 0x9314F6BC, 0x00008, + 0x9315FA21, 0x00008, 0x93353727, 0x00008, 0x934ACED1, 0x00008, 0x93575F29, 0x00008, + 0x9358DA31, 0x00008, 0x9358F80D, 0x00020, 0x935D5D40, 0x00008, 0x9368ED85, 0x00400, + 0x9384C402, 0x00400, 0x938571B2, 0x00008, 0x93870299, 0x00400, 0x9391E93A, 0x00008, + 0x939FBB3A, 0x00008, 0x93AEDD7B, 0x00008, 0x93C3B809, 0x00008, 0x93D22693, 0x00008, + 0x93DA2D64, 0x00008, 0x93DB9439, 0x00004, 0x93DBC231, 0x00020, 0x93E6B5E0, 0x00008, + 0x93F5C708, 0x00008, 0x93F883F9, 0x00008, 0x93FA4484, 0x00008, 0x93FCCF1F, 0x00008, + 0x94064791, 0x00020, 0x940AA823, 0x00008, 0x9420A4D5, 0x00008, 0x9425E29C, 0x00040, + 0x942B103B, 0x00008, 0x9430FEBA, 0x00008, 0x943183B2, 0x00008, 0x9443DFFD, 0x00008, + 0x9444FF88, 0x00020, 0x947683E5, 0x00008, 0x947A85E5, 0x00008, 0x9484C595, 0x00400, + 0x9485F3A1, 0x00008, 0x948647E0, 0x00008, 0x9487042C, 0x00400, 0x9490BC0C, 0x00008, + 0x94C844C2, 0x00008, 0x94CA6E2A, 0x00008, 0x94CAC464, 0x00008, 0x94D67F20, 0x00008, + 0x94ED95F4, 0x00020, 0x95032FBD, 0x00008, 0x950C5FF1, 0x00008, 0x95126226, 0x00008, + 0x951608E4, 0x00008, 0x95239933, 0x00008, 0x952F7131, 0x00008, 0x9532A9EF, 0x00008, + 0x9532B7A0, 0x00020, 0x953663DB, 0x00020, 0x953FDCB2, 0x00008, 0x9541AFB1, 0x00008, + 0x9563BB2B, 0x00008, 0x956CF741, 0x00008, 0x9579FFA8, 0x00008, 0x958705BF, 0x00400, + 0x95894456, 0x00400, 0x9589FD05, 0x00008, 0x958AC530, 0x00008, 0x958F6429, 0x00008, + 0x958F756E, 0x00008, 0x95A86B4D, 0x00008, 0x95BC36BE, 0x00021, 0x95BFD11E, 0x00008, + 0x95C5297A, 0x00008, 0x95C6143B, 0x00008, 0x95C98702, 0x00008, 0x95CD8AB9, 0x00008, + 0x95DE6664, 0x00008, 0x95DF1831, 0x00020, 0x9601FE44, 0x00008, 0x9602AB1E, 0x00020, + 0x96153929, 0x00008, 0x9648CE86, 0x00008, 0x965B06DB, 0x00020, 0x9668F23E, 0x00400, + 0x96696C05, 0x00008, 0x9669EC37, 0x00008, 0x966B2027, 0x00008, 0x9679B5A4, 0x00008, + 0x967D9C49, 0x00008, 0x9681217F, 0x00008, 0x96870752, 0x00400, 0x968945E9, 0x00400, + 0x968F205F, 0x00008, 0x968FE7A6, 0x00008, 0x96CC0B26, 0x00008, 0x96CFAADB, 0x00008, + 0x96DA2675, 0x00008, 0x96F8BABA, 0x00008, 0x96FD9128, 0x00004, 0x96FD9641, 0x00004, + 0x96FF8C94, 0x00008, 0x97221AEB, 0x00008, 0x973250D2, 0x00008, 0x97342A01, 0x00008, + 0x97391632, 0x00008, 0x975B25E0, 0x00040, 0x9768F3D1, 0x00400, 0x976EABE3, 0x00008, + 0x978708E5, 0x00400, 0x978C9F8B, 0x00008, 0x978F5F85, 0x00008, 0x97A5E356, 0x00008, + 0x97C94E21, 0x00020, 0x97EDDD0F, 0x00008, 0x97FF5966, 0x00008, 0x9800466A, 0x00008, + 0x9806A9F6, 0x00008, 0x980702AA, 0x00008, 0x98194D83, 0x00008, 0x983A4559, 0x00008, + 0x983B6728, 0x00008, 0x9852B202, 0x00020, 0x98547C22, 0x00008, 0x98552E00, 0x00020, + 0x985663D5, 0x00008, 0x98603FF7, 0x00008, 0x9872B3E9, 0x00008, 0x98863306, 0x00008, + 0x9890AD37, 0x00008, 0x98943AAF, 0x00008, 0x98A745F8, 0x00008, 0x98B39418, 0x00008, + 0x98B84725, 0x00008, 0x98D8D1A0, 0x00008, 0x98D951AA, 0x00008, 0x98DC8FE0, 0x00008, + 0x98E8A22F, 0x00008, 0x99029502, 0x00008, 0x99081711, 0x00008, 0x990DB68F, 0x00008, + 0x9913AAA7, 0x00008, 0x9945DC36, 0x00008, 0x996BFF5F, 0x00008, 0x996F9905, 0x00008, + 0x997235AD, 0x00008, 0x997A4018, 0x00400, 0x9984CD74, 0x00400, 0x9987E876, 0x00008, + 0x998A143A, 0x00008, 0x998C1C09, 0x00008, 0x99930965, 0x00008, 0x999561F1, 0x00008, + 0x99977254, 0x00008, 0x999A3A5E, 0x00008, 0x999B3202, 0x00008, 0x999B4A6A, 0x00008, + 0x999C4142, 0x00020, 0x99B0ADDC, 0x00008, 0x99B7470B, 0x00008, 0x99BC0A45, 0x00008, + 0x99BCE212, 0x00008, 0x99C71A23, 0x00020, 0x99CDD400, 0x00008, 0x99E1625E, 0x07EB0, + 0x99FAAF67, 0x00008, 0x9A021FEF, 0x00008, 0x9A07BCDA, 0x00008, 0x9A4657B3, 0x00008, + 0x9A48E81D, 0x00008, 0x9A4D1907, 0x0000C, 0x9A4FC26A, 0x0000C, 0x9A51F841, 0x0000C, + 0x9A556D8C, 0x0000C, 0x9A57A363, 0x0000C, 0x9A57B0E7, 0x00008, 0x9A5A4CC6, 0x0000C, + 0x9A5E359D, 0x0000C, 0x9A6064A8, 0x0000C, 0x9A621EFF, 0x00008, 0x9A63E0BF, 0x0000C, + 0x9A656468, 0x00020, 0x9A661D62, 0x0000C, 0x9A6767D6, 0x00020, 0x9A6DC060, 0x00008, + 0x9A71AA74, 0x00008, 0x9A721F29, 0x00004, 0x9A78757B, 0x00004, 0x9A78772E, 0x00004, + 0x9A7A41AB, 0x00400, 0x9A7FF990, 0x00020, 0x9A810142, 0x00020, 0x9A84CF07, 0x00400, + 0x9A86B4F5, 0x00008, 0x9A8B8ACC, 0x00400, 0x9A9B4634, 0x00008, 0x9ABA6CF6, 0x00040, + 0x9ABCC707, 0x00008, 0x9AC85AC1, 0x00008, 0x9ACE72D5, 0x00008, 0x9ACF91D0, 0x00008, + 0x9AD10882, 0x00008, 0x9AED2367, 0x00008, 0x9AFE7606, 0x00008, 0x9B002BC3, 0x00020, + 0x9B0AE40B, 0x00020, 0x9B3432D5, 0x00008, 0x9B371FA3, 0x00008, 0x9B3A8477, 0x00008, + 0x9B406552, 0x00020, 0x9B6315A5, 0x00008, 0x9B739590, 0x00008, 0x9B7A433E, 0x00400, + 0x9B894DC8, 0x00400, 0x9B8B8C5F, 0x00400, 0x9BAD167F, 0x00008, 0x9BD3E8F9, 0x00008, + 0x9BD6A195, 0x00008, 0x9BF53C26, 0x00008, 0x9BFA87D8, 0x00008, 0x9C001AC1, 0x00020, + 0x9C070D3D, 0x00008, 0x9C07A8B1, 0x00008, 0x9C092815, 0x00008, 0x9C155817, 0x00008, + 0x9C16DA94, 0x00004, 0x9C237EE3, 0x00008, 0x9C33BEC9, 0x00008, 0x9C3B877E, 0x00008, + 0x9C43E7F9, 0x00008, 0x9C4C8AB2, 0x00008, 0x9C5AC6BB, 0x00008, 0x9C62404B, 0x00008, + 0x9C663E3B, 0x00008, 0x9C677EC6, 0x00004, 0x9C6FF7DD, 0x00004, 0x9C76D72F, 0x00008, + 0x9C7A44D1, 0x00400, 0x9C7D6B7B, 0x00008, 0x9C852637, 0x00008, 0x9C87DF6E, 0x00008, + 0x9C894F5B, 0x00400, 0x9C93701C, 0x00008, 0x9C99F75B, 0x00008, 0x9CA1DDDE, 0x00020, + 0x9CB090C1, 0x00008, 0x9CB665D3, 0x00008, 0x9CB67124, 0x00008, 0x9CBB5BF6, 0x00008, + 0x9CC890A4, 0x00008, 0x9CCB839C, 0x00008, 0x9CEF7AB6, 0x00008, 0x9CF3F725, 0x00008, + 0x9CF41C0F, 0x00008, 0x9CFFF7F0, 0x00008, 0x9D012A25, 0x00008, 0x9D0C8718, 0x00008, + 0x9D1FF1B9, 0x00008, 0x9D213FDD, 0x00008, 0x9D46B526, 0x00008, 0x9D4B64D1, 0x00008, + 0x9D623CBB, 0x00008, 0x9D7156D1, 0x00008, 0x9D7786D2, 0x00008, 0x9D7A4664, 0x00400, + 0x9D8950EE, 0x00400, 0x9D8C3158, 0x00008, 0x9D8D5619, 0x00008, 0x9DAEF537, 0x00008, + 0x9DB2D8B8, 0x00008, 0x9DC193F0, 0x00008, 0x9DC50567, 0x00008, 0x9DE2392E, 0x00008, + 0x9DE5DDC0, 0x00008, 0x9DE716E6, 0x00008, 0x9DEA7EE8, 0x00008, 0x9E1EA62A, 0x00008, + 0x9E23FF7E, 0x00008, 0x9E3C84DB, 0x00008, 0x9E509678, 0x00008, 0x9E5244DE, 0x00008, + 0x9E525EA1, 0x00008, 0x9E58DFA0, 0x00008, 0x9E5CAEF6, 0x00008, 0x9E70ABC3, 0x00008, + 0x9E7A47F7, 0x00400, 0x9E8713EA, 0x00400, 0x9E895281, 0x00400, 0x9E8B9118, 0x00400, + 0x9E91D795, 0x00008, 0x9EA55E51, 0x00008, 0x9EB19107, 0x00008, 0x9EB1E06E, 0x00008, + 0x9EBD5F78, 0x00008, 0x9EC08B44, 0x00020, 0x9EC54DA5, 0x00008, 0x9ED72910, 0x00008, + 0x9EDB506C, 0x00008, 0x9EE3800C, 0x00008, 0x9EF3E7E7, 0x00008, 0x9EFFC62D, 0x00020, + 0x9F1ABF26, 0x00021, 0x9F208BBB, 0x00008, 0x9F288ADA, 0x00020, 0x9F36F82B, 0x00008, + 0x9F491A17, 0x00008, 0x9F772C19, 0x00008, 0x9F7A498A, 0x00400, 0x9F7D2E3C, 0x00008, + 0x9F8305D8, 0x00020, 0x9F87157D, 0x00400, 0x9F895414, 0x00400, 0x9F8B9106, 0x00008, + 0x9F8B92AB, 0x00400, 0x9F8DB33D, 0x00004, 0x9F93DCE7, 0x00008, 0x9F964C20, 0x00008, + 0x9FACC887, 0x00008, 0x9FBC51FB, 0x00008, 0x9FBEF98F, 0x00008, 0x9FCD0B25, 0x00008, + 0x9FCE5608, 0x00008, 0xA00C2EAF, 0x00008, 0xA032B31E, 0x00008, 0xA039FA5B, 0x00008, + 0xA0473810, 0x00008, 0xA04BD190, 0x00008, 0xA071644C, 0x00008, 0xA0743125, 0x00008, + 0xA07A4B1D, 0x00400, 0xA07D5884, 0x00008, 0xA0835E48, 0x00008, 0xA084C6AE, 0x00008, + 0xA08955A7, 0x00400, 0xA08B943E, 0x00400, 0xA0A7AEF3, 0x00008, 0xA0AD44A0, 0x00008, + 0xA0ADA430, 0x00001, 0xA0C15BCE, 0x00008, 0xA0C3027C, 0x00008, 0xA0EC3036, 0x00008, + 0xA0EF6499, 0x00008, 0xA0EFCA29, 0x00008, 0xA0F782F4, 0x00008, 0xA1124524, 0x00008, + 0xA11C2491, 0x00008, 0xA137D117, 0x00008, 0xA13D2585, 0x00020, 0xA13F5770, 0x00008, + 0xA14FFCBC, 0x00008, 0xA1575EF9, 0x00008, 0xA15D325A, 0x00008, 0xA17BF8EF, 0x00008, + 0xA189573A, 0x00400, 0xA18B95D1, 0x00400, 0xA198196A, 0x00008, 0xA1BCB3DA, 0x00008, + 0xA1C1380A, 0x00008, 0xA1D2763B, 0x00020, 0xA1D39449, 0x00008, 0xA1E0242C, 0x00008, + 0xA1EB2641, 0x00008, 0xA1ED9145, 0x00008, 0xA1FE2727, 0x0001D, 0xA20AE4AA, 0x00008, + 0xA20E95EF, 0x00008, 0xA2173721, 0x00008, 0xA22CB00A, 0x00008, 0xA232DA37, 0x00008, + 0xA2585C20, 0x00008, 0xA2686488, 0x00008, 0xA285EEF4, 0x00008, 0xA2861C2F, 0x00008, + 0xA28958CD, 0x00400, 0xA28B693E, 0x00020, 0xA28B9764, 0x00400, 0xA2943F9C, 0x00008, + 0xA29D4738, 0x00008, 0xA2B189ED, 0x00008, 0xA2BD0203, 0x00008, 0xA2BFB506, 0x00008, + 0xA2ECB5B3, 0x00008, 0xA2F56893, 0x00008, 0xA2F9AFBA, 0x00008, 0xA2FBC3D1, 0x00008, + 0xA3074160, 0x00008, 0xA319A006, 0x00008, 0xA328BF8C, 0x00008, 0xA328EFF9, 0x00008, + 0xA335704F, 0x00008, 0xA33C46A0, 0x00008, 0xA35BDF2F, 0x00008, 0xA35F23A1, 0x00008, + 0xA36E0EFA, 0x00008, 0xA3766B1D, 0x00008, 0xA38B98F7, 0x00400, 0xA38D4E8E, 0x00008, + 0xA3A50F32, 0x00008, 0xA3AF28BD, 0x00008, 0xA3B2E1E8, 0x00004, 0xA3B80C20, 0x00008, + 0xA3CC6284, 0x00008, 0xA3CEDF9A, 0x00008, 0xA3F99567, 0x00020, 0xA411DA8A, 0x00008, + 0xA4217B4F, 0x00008, 0xA42689CA, 0x00008, 0xA43E5CD5, 0x00008, 0xA43FE1EA, 0x00008, + 0xA442AAEB, 0x00020, 0xA455C38C, 0x00020, 0xA460708C, 0x00008, 0xA4659113, 0x00008, + 0xA46F28D8, 0x00008, 0xA47E37B8, 0x00008, 0xA48B9A8A, 0x00400, 0xA48DFBC8, 0x00020, + 0xA4B78973, 0x00008, 0xA4C18902, 0x00008, 0xA4C4F036, 0x00008, 0xA511952F, 0x00008, + 0xA523EF1E, 0x00008, 0xA528AF6E, 0x00008, 0xA5293FAE, 0x00008, 0xA52B4811, 0x0D0D8, + 0xA540EF41, 0x00008, 0xA54EF8AD, 0x00008, 0xA55DD4EF, 0x00008, 0xA576DCCD, 0x00008, + 0xA58B9C1D, 0x00400, 0xA58D6394, 0x00008, 0xA5980A47, 0x00008, 0xA5C7BB7F, 0x00008, + 0xA5C9F909, 0x00008, 0xA5CB924C, 0x00008, 0xA5DDE5F1, 0x00008, 0xA5E67433, 0x00008, + 0xA5E866A7, 0x00008, 0xA5F3139D, 0x00008, 0xA5F3F342, 0x00020, 0xA6016CF7, 0x00008, + 0xA603FD1B, 0x00008, 0xA60A8890, 0x00008, 0xA614AAE5, 0x00008, 0xA6290453, 0x00008, + 0xA6361281, 0x00008, 0xA6371A5C, 0x00008, 0xA6373E0E, 0x00008, 0xA64A7841, 0x00008, + 0xA64D1154, 0x00008, 0xA6512482, 0x00008, 0xA66A6B33, 0x00008, 0xA679F6B6, 0x00008, + 0xA68B3325, 0x00008, 0xA68B44EF, 0x00008, 0xA68D1CA4, 0x00008, 0xA6982108, 0x00001, + 0xA6B5B5B6, 0x00008, 0xA6BE3590, 0x00020, 0xA6C274BE, 0x00008, 0xA6C7C049, 0x00008, + 0xA6CB359F, 0x00008, 0xA6CDE603, 0x00004, 0xA6CF7715, 0x00020, 0xA6D1E484, 0x00008, + 0xA6EB766A, 0x00008, 0xA6EDDDC9, 0x00008, 0xA70D4F3E, 0x00020, 0xA712A4D7, 0x00008, + 0xA71CC556, 0x00020, 0xA74639EA, 0x00008, 0xA747187B, 0x00008, 0xA7544FC0, 0x00020, + 0xA75DA505, 0x00008, 0xA7646D6D, 0x00008, 0xA7774232, 0x00008, 0xA778D5A2, 0x00008, + 0xA77F691C, 0x00008, 0xA790E1CB, 0x00008, 0xA793EEE8, 0x00008, 0xA797E44D, 0x00008, + 0xA79EC520, 0x00008, 0xA7A6D381, 0x00008, 0xA7AFF377, 0x00021, 0xA7B3E31A, 0x00021, + 0xA7B5AC31, 0x00021, 0xA7B98E3C, 0x00021, 0xA7BC30D3, 0x00021, 0xA7C87802, 0x00008, + 0xA7D83FB8, 0x00008, 0xA7E29D1E, 0x00008, 0xA803FAAD, 0x00004, 0xA80A51FD, 0x00008, + 0xA814CA76, 0x00008, 0xA81AB16F, 0x00008, 0xA8251047, 0x00004, 0xA8264645, 0x00008, + 0xA8278469, 0x00008, 0xA827B9AA, 0x00004, 0xA82BA281, 0x00004, 0xA82D64CC, 0x00004, + 0xA8314DA3, 0x00004, 0xA833F706, 0x00004, 0xA8362CDD, 0x00004, 0xA83A0EE8, 0x00004, + 0xA83A4BE7, 0x00008, 0xA847A367, 0x00008, 0xA84D3382, 0x00008, 0xA84E3AD5, 0x00004, + 0xA850D6A0, 0x00004, 0xA8526506, 0x00008, 0xA860EFFA, 0x00008, 0xA86B3D35, 0x00008, + 0xA86E2C64, 0x00008, 0xA8854C0E, 0x00008, 0xA88955B0, 0x00008, 0xA88F1A10, 0x00008, + 0xA8BA3399, 0x00008, 0xA8BAB54C, 0x00004, 0xA8C39CF8, 0x00008, 0xA8DFD0AD, 0x00008, + 0xA8ED672E, 0x00008, 0xA913FD54, 0x00020, 0xA91627E7, 0x00008, 0xA9172147, 0x00008, + 0xA918C38F, 0x00008, 0xA91DA978, 0x00008, 0xA92D40FA, 0x00008, 0xA946F9C1, 0x00001, + 0xA952FF8C, 0x00008, 0xA955970E, 0x00008, 0xA9581FE8, 0x00008, 0xA95A292D, 0x00008, + 0xA9628563, 0x00008, 0xA9668DF6, 0x00008, 0xA97E243D, 0x00008, 0xA981A92D, 0x00008, + 0xA98260E3, 0x00008, 0xA98F5C42, 0x00008, 0xA992A405, 0x00008, 0xA9961CA4, 0x00008, + 0xA9968C66, 0x00008, 0xA99941F1, 0x00008, 0xA9B1AD43, 0x00008, 0xA9B8F90C, 0x00008, + 0xA9C02A13, 0x00008, 0xA9C40D2B, 0x00008, 0xA9CBDEAD, 0x0000C, 0xA9D761BB, 0x00008, + 0xA9DD5A62, 0x00020, 0xA9DD6A0B, 0x00008, 0xA9E9A930, 0x00008, 0xA9EB7A18, 0x00008, + 0xA9FD58EE, 0x00008, 0xAA013FA5, 0x00008, 0xAA04C1AA, 0x00008, 0xAA04D383, 0x00008, + 0xAA0943A9, 0x00008, 0xAA0D0377, 0x00008, 0xAA19B989, 0x00020, 0xAA1A576D, 0x00008, + 0xAA1E3E77, 0x00008, 0xAA203A2E, 0x00008, 0xAA35BBB7, 0x00008, 0xAA416255, 0x00008, + 0xAA561403, 0x00008, 0xAA7735EE, 0x00008, 0xAA79CAF0, 0x00008, 0xAA7A6E5B, 0x00008, + 0xAA7E8D62, 0x00008, 0xAA8BAEEB, 0x00008, 0xAA9303AB, 0x00008, 0xAAB1729E, 0x00008, + 0xAAB80D09, 0x00008, 0xAAB85A18, 0x00008, 0xAABE2DBE, 0x00008, 0xAACFC8F8, 0x00008, + 0xAAD907D1, 0x00020, 0xAADCF891, 0x00008, 0xAAF45835, 0x00008, 0xAAFEA37D, 0x00008, + 0xAAFF80B0, 0x00008, 0xAB0FE8A3, 0x00008, 0xAB1ECDDD, 0x00008, 0xAB1F6946, 0x00008, + 0xAB2CABA6, 0x00020, 0xAB32B54D, 0x00008, 0xAB3CA02B, 0x00008, 0xAB4874D1, 0x00020, + 0xAB5818EA, 0x00008, 0xAB5F5D5F, 0x00008, 0xAB75AFC9, 0x00008, 0xAB77E1DC, 0x00008, + 0xAB863965, 0x00008, 0xAB881F46, 0x00008, 0xABB4C756, 0x00008, 0xABCDEEDC, 0x00008, + 0xABD872C3, 0x00008, 0xABDB26D8, 0x00008, 0xABE4FF59, 0x00008, 0xABFFDEAE, 0x00008, + 0xAC164E61, 0x00008, 0xAC1BFCAC, 0x00008, 0xAC33A808, 0x00008, 0xAC445880, 0x00008, + 0xAC516CFF, 0x00008, 0xAC614EA2, 0x00020, 0xAC7DB285, 0x00008, 0xAC83886C, 0x00008, + 0xAC899DCE, 0x00008, 0xAC8F65A1, 0x00008, 0xACA9F9F0, 0x00008, 0xACAAD8C7, 0x00008, + 0xACAEF0E1, 0x00008, 0xACBE625E, 0x00008, 0xACD179A1, 0x00008, 0xACD5ABCC, 0x00008, + 0xACE5D6AD, 0x00008, 0xACEA86FF, 0x00008, 0xACEDA7F7, 0x00020, 0xACF34B7C, 0x00008, + 0xACF7148B, 0x00008, 0xAD096F55, 0x00008, 0xAD20946E, 0x00008, 0xAD22EF11, 0x00008, + 0xAD259959, 0x00008, 0xAD56FA99, 0x00008, 0xAD588B29, 0x00008, 0xAD5BBC39, 0x00008, + 0xAD6BF0C0, 0x00008, 0xAD7EAAF3, 0x00008, 0xAD8BC930, 0x00020, 0xAD8D3F15, 0x00008, + 0xAD95171D, 0x00008, 0xADAC97EA, 0x00008, 0xADAD0F65, 0x00008, 0xADAE6463, 0x00008, + 0xADB4FE17, 0x00004, 0xADC3FA93, 0x00008, 0xADC5F660, 0x00008, 0xADCC3716, 0x00008, + 0xADCEFFD2, 0x00008, 0xADD739C0, 0x00004, 0xADD73B73, 0x00004, 0xADD73ED9, 0x00004, + 0xADF27F18, 0x00008, 0xADF80E86, 0x00008, 0xAE02DD21, 0x00008, 0xAE0D47FD, 0x00008, + 0xAE132BDD, 0x00008, 0xAE159CDA, 0x00008, 0xAE17136A, 0x00020, 0xAE2FD795, 0x00008, + 0xAE39BB7E, 0x00008, 0xAE474F84, 0x00008, 0xAE752C6A, 0x00008, 0xAE76ED67, 0x00008, + 0xAE8BED5A, 0x00008, 0xAE9B1258, 0x00008, 0xAEA598E9, 0x00008, 0xAEB0689B, 0x00008, + 0xAEBA1142, 0x00008, 0xAEBA5D1E, 0x00008, 0xAEC4F37C, 0x00008, 0xAED7FEA3, 0x00008, + 0xAEFB83BD, 0x00008, 0xAF09E89B, 0x00008, 0xAF0C5D1A, 0x00008, 0xAF0DB867, 0x00004, + 0xAF0F884A, 0x00004, 0xAF137121, 0x00004, 0xAF160CEC, 0x00004, 0xAF17A980, 0x00008, + 0xAF1842C3, 0x00004, 0xAF1BC5A6, 0x00004, 0xAF1C7C54, 0x00020, 0xAF1DFB7D, 0x00004, + 0xAF1EA6C7, 0x00008, 0xAF21DD88, 0x00004, 0xAF24801F, 0x00004, 0xAF26BCC2, 0x00004, + 0xAF2F9C3D, 0x00008, 0xAF334A2C, 0x00008, 0xAF365CA6, 0x00008, 0xAF3BD158, 0x00008, + 0xAF4465AE, 0x00008, 0xAF4A2986, 0x00008, 0xAF4A4E73, 0x00008, 0xAF51DA13, 0x00008, + 0xAF56F83F, 0x00008, 0xAF66AFBD, 0x00008, 0xAF7546A6, 0x00008, 0xAF768A67, 0x00008, + 0xAFA1A84F, 0x00008, 0xAFAA8B61, 0x00008, 0xAFBBB9E3, 0x00008, 0xAFC9466E, 0x00008, + 0xAFF7FF64, 0x00008, 0xAFFC4B1C, 0x00020, 0xB00BFE35, 0x00504, 0xB0109E1F, 0x00008, + 0xB011D381, 0x00008, 0xB0166CA0, 0x00008, 0xB0255071, 0x00008, 0xB03554ED, 0x00008, + 0xB03C372F, 0x00008, 0xB0494224, 0x00008, 0xB04D088F, 0x00004, 0xB04D713F, 0x00008, + 0xB06E5A9C, 0x00008, 0xB071BD6E, 0x00008, 0xB08C3E04, 0x00008, 0xB09080C3, 0x00008, + 0xB0917FC7, 0x00008, 0xB0A8311F, 0x00008, 0xB0AC344D, 0x00008, 0xB0B3234A, 0x00008, + 0xB0B9FCC0, 0x00020, 0xB0C4DE4F, 0x00008, 0xB0EF1B6E, 0x00008, 0xB1002B66, 0x00008, + 0xB110E53E, 0x00008, 0xB1151BD3, 0x00020, 0xB1185C7B, 0x00008, 0xB11B7590, 0x00008, + 0xB11C902F, 0x00008, 0xB13A9D13, 0x00008, 0xB13A9D6D, 0x00008, 0xB148210D, 0x00008, + 0xB149D8FF, 0x00008, 0xB153EBA9, 0x00008, 0xB1565B30, 0x00008, 0xB17170F7, 0x00008, + 0xB18111FC, 0x00008, 0xB1961DA4, 0x00008, 0xB19E79D5, 0x00008, 0xB1A30495, 0x00008, + 0xB1B3B026, 0x00008, 0xB1C7F59B, 0x00008, 0xB1C9086F, 0x00008, 0xB1CD0F9F, 0x00020, + 0xB1E1B67A, 0x00008, 0xB1E864E8, 0x00008, 0xB1E9FE83, 0x00021, 0xB1EBCE66, 0x00021, + 0xB1F488DF, 0x00021, 0xB1F87558, 0x00008, 0xB1F87882, 0x00021, 0xB1FA4199, 0x00021, + 0xB1FE23A4, 0x00021, 0xB200597B, 0x00021, 0xB20302DE, 0x00021, 0xB206EBB5, 0x00021, + 0xB208AE00, 0x00021, 0xB227BDDF, 0x00008, 0xB2362DF9, 0x00008, 0xB2489618, 0x00008, + 0xB24BE705, 0x00008, 0xB2698051, 0x00008, 0xB27FDAD2, 0x00008, 0xB287AF37, 0x00008, + 0xB295FDF9, 0x00008, 0xB2BC5E28, 0x00008, 0xB2E80A33, 0x00008, 0xB2EB6119, 0x00008, + 0xB2F817D4, 0x00008, 0xB2FB9C28, 0x00008, 0xB31385E1, 0x00008, 0xB31819EC, 0x00008, + 0xB31D0AF7, 0x00008, 0xB31D9C99, 0x00008, 0xB3271207, 0x00008, 0xB32BE94F, 0x00008, + 0xB33A1256, 0x00008, 0xB3460BCD, 0x00020, 0xB347C9C6, 0x00008, 0xB34D2DD7, 0x00008, + 0xB34F56D6, 0x00008, 0xB37F7906, 0x00008, 0xB380721D, 0x00008, 0xB3A5E301, 0x00008, + 0xB3B620CE, 0x00020, 0xB3DC5915, 0x00008, 0xB3F2A814, 0x00008, 0xB3F3AE3E, 0x00008, + 0xB3F9CD55, 0x00008, 0xB40DFD94, 0x00008, 0xB4183DE7, 0x00008, 0xB41E3A3F, 0x00008, + 0xB42E03D5, 0x00008, 0xB434BD72, 0x00008, 0xB43B44E2, 0x00008, 0xB442BB97, 0x00008, + 0xB45AD075, 0x00008, 0xB45C38DE, 0x00008, 0xB46BEA5C, 0x00008, 0xB46DF463, 0x00020, + 0xB47B2278, 0x00004, 0xB47B242B, 0x00004, 0xB47B25DE, 0x00004, 0xB484017B, 0x00020, + 0xB4C3AFE6, 0x00004, 0xB4D40142, 0x00008, 0xB4E672C1, 0x00008, 0xB4FFE7CE, 0x00008, + 0xB508040A, 0x00008, 0xB511A39A, 0x00008, 0xB51300AF, 0x00008, 0xB51B2F62, 0x00008, + 0xB5284E7C, 0x00004, 0xB534DDD0, 0x00008, 0xB53634F4, 0x00020, 0xB536E106, 0x00008, + 0xB5404ABF, 0x00008, 0xB544B4ED, 0x00020, 0xB5484A23, 0x00008, 0xB556F78F, 0x00008, + 0xB5768B71, 0x00008, 0xB59100CC, 0x00020, 0xB59DE478, 0x00008, 0xB5A2ABAF, 0x00008, + 0xB5AECA01, 0x00008, 0xB5B64F0D, 0x00020, 0xB5B6B38A, 0x00020, 0xB5B7E060, 0x00008, + 0xB5FBDBA8, 0x00008, 0xB611DF19, 0x00008, 0xB61703BF, 0x00008, 0xB6187D42, 0x00008, + 0xB6193B7A, 0x00008, 0xB6325DF0, 0x00008, 0xB632AECD, 0x00001, 0xB637BDEC, 0x00008, + 0xB6503ABB, 0x00008, 0xB6549C15, 0x00008, 0xB655E008, 0x00020, 0xB6568A8F, 0x00008, + 0xB65B0418, 0x00008, 0xB6653259, 0x00008, 0xB668C524, 0x00008, 0xB66E95DC, 0x00008, + 0xB6B7228A, 0x00008, 0xB6BC8212, 0x00020, 0xB6C5B80B, 0x00008, 0xB6CEDAF5, 0x00008, + 0xB6CF1709, 0x00020, 0xB6D28884, 0x00004, 0xB6E69172, 0x00008, 0xB6E8CC94, 0x00008, + 0xB6FAFF32, 0x00008, 0xB7052260, 0x00008, 0xB7189E4D, 0x00008, 0xB7225FAA, 0x00008, + 0xB73338ED, 0x00020, 0xB739B64C, 0x00008, 0xB76182B0, 0x00008, 0xB7639D04, 0x00008, + 0xB763A502, 0x00008, 0xB7766F04, 0x00008, 0xB776A564, 0x00008, 0xB77CC8B4, 0x00008, + 0xB782BD15, 0x00020, 0xB7858C91, 0x00020, 0xB7912621, 0x00008, 0xB798CD6E, 0x00008, + 0xB79CF5C5, 0x00008, 0xB7A5BE79, 0x00020, 0xB7A6A033, 0x00008, 0xB7AF62F7, 0x00008, + 0xB7AFF295, 0x00008, 0xB7B0E5DC, 0x00008, 0xB7B48FB8, 0x00008, 0xB7B5D4B1, 0x00008, + 0xB7BC92DD, 0x00008, 0xB7C904B9, 0x00008, 0xB7D0E353, 0x00008, 0xB7D460B2, 0x00008, + 0xB7D805F0, 0x00008, 0xB7DA0CB7, 0x00004, 0xB7DB51A3, 0x00008, 0xB7DC495A, 0x00004, + 0xB7DFC571, 0x00004, 0xB7E1F47C, 0x00004, 0xB7E2B6FC, 0x00008, 0xB7E49713, 0x00004, + 0xB7E886B6, 0x00004, 0xB7EABC8D, 0x00004, 0xB7EE31D8, 0x00004, 0xB8037338, 0x00008, + 0xB80688A6, 0x00008, 0xB80DD8A9, 0x00008, 0xB8192068, 0x00008, 0xB82C3569, 0x00008, + 0xB836D2B5, 0x00008, 0xB83B277B, 0x00008, 0xB862178F, 0x00008, 0xB870D130, 0x00008, + 0xB8774B49, 0x00008, 0xB88E2533, 0x00008, 0xB8908E87, 0x00008, 0xB89858BE, 0x00008, + 0xB89F49BE, 0x00008, 0xB8AA7B5E, 0x00008, 0xB8CA9347, 0x00008, 0xB8CE2788, 0x00008, + 0xB8DDD09B, 0x00008, 0xB8E09E7E, 0x00008, 0xB908CA8B, 0x00008, 0xB9146DDA, 0x00008, + 0xB915EB80, 0x00008, 0xB9363529, 0x00008, 0xB9376BC4, 0x00008, 0xB93DCD27, 0x00008, + 0xB9402A73, 0x00008, 0xB948204E, 0x00008, 0xB969146A, 0x00008, 0xB96B1191, 0x00008, + 0xB97971B7, 0x00008, 0xB9846717, 0x00020, 0xB98A875C, 0x00008, 0xB99BAD65, 0x00020, + 0xB9AB930B, 0x00008, 0xB9ACCE35, 0x00008, 0xB9C68104, 0x00008, 0xB9DBABEE, 0x00008, + 0xBA15B3E0, 0x00008, 0xBA188355, 0x00008, 0xBA2FDD3F, 0x00008, 0xBA66EA14, 0x00008, + 0xBA6DD024, 0x00008, 0xBA7BDD69, 0x00008, 0xBA7CCF5F, 0x00008, 0xBAAA2811, 0x00008, + 0xBAB72BCC, 0x00020, 0xBABBCEDE, 0x00008, 0xBACE761B, 0x00008, 0xBAF4D767, 0x00008, + 0xBAF6E818, 0x00008, 0xBAFDE285, 0x00008, 0xBAFE6FC9, 0x00008, 0xBB0C9B59, 0x00008, + 0xBB0E0F2E, 0x00008, 0xBB2EAF24, 0x00008, 0xBB2FF76C, 0x00008, 0xBB3C9E10, 0x00008, + 0xBB5B6451, 0x00008, 0xBB609625, 0x00008, 0xBB675F52, 0x00008, 0xBB764BCC, 0x00008, + 0xBB7857D3, 0x00008, 0xBB7CEB3A, 0x00008, 0xBB935193, 0x00008, 0xBB994601, 0x00008, + 0xBBC194B8, 0x00008, 0xBBCA5951, 0x00040, 0xBBD8ECD2, 0x00008, 0xBBDC70DC, 0x00020, + 0xBBE716E1, 0x00008, 0xBBF3585C, 0x00008, 0xBC0F04A1, 0x00008, 0xBC144EC1, 0x00008, + 0xBC1BF8D2, 0x00020, 0xBC2529DE, 0x00008, 0xBC411C18, 0x00020, 0xBC52FF77, 0x00008, + 0xBC59FA16, 0x00008, 0xBC5CAA7B, 0x00008, 0xBC6771B7, 0x00008, 0xBC6887B8, 0x00008, + 0xBC6C5FE5, 0x00008, 0xBC6E87D7, 0x00008, 0xBC723270, 0x00008, 0xBC76C31E, 0x00008, + 0xBC8B63BF, 0x00008, 0xBCAACB50, 0x00008, 0xBCAF5230, 0x00008, 0xBCB36C3C, 0x00008, + 0xBCB6F239, 0x0F200, 0xBCBB4C9A, 0x00020, 0xBCBCB42E, 0x00008, 0xBCCA2803, 0x00008, + 0xBCDB0FFB, 0x00020, 0xBCE1054C, 0x00008, 0xBCE8FC46, 0x00008, 0xBCEF8091, 0x00008, + 0xBCF34CC1, 0x00008, 0xBCF96566, 0x00008, 0xBD01BFDB, 0x00008, 0xBD0509BF, 0x00020, + 0xBD0DA891, 0x00008, 0xBD455045, 0x00008, 0xBD6F5A40, 0x00020, 0xBD70496C, 0x00008, + 0xBD7FA091, 0x00008, 0xBD845D8F, 0x00008, 0xBD878CE4, 0x00020, 0xBD87FB4E, 0x00020, + 0xBDAC74B3, 0x00004, 0xBDC472A3, 0x00008, 0xBDD7555B, 0x00008, 0xBDDF5896, 0x00008, + 0xBDE36C18, 0x00008, 0xBDEA2350, 0x00020, 0xBDED66D7, 0x00008, 0xBDF1498B, 0x00008, + 0xBE16E53C, 0x00020, 0xBE1C0547, 0x00008, 0xBE290AC1, 0x00020, 0xBE54144A, 0x00001, + 0xBE5D3D5D, 0x00008, 0xBE95A24B, 0x00008, 0xBEAAC462, 0x00008, 0xBEB598D4, 0x00008, + 0xBEC7C9DE, 0x00008, 0xBEC88729, 0x00008, 0xBED17285, 0x00008, 0xBED621FE, 0x00020, + 0xBEE72B76, 0x00020, 0xBEFC1621, 0x00008, 0xBF02262E, 0x00008, 0xBF0C720D, 0x00008, + 0xBF224192, 0x00008, 0xBF269C72, 0x00004, 0xBF29F7A3, 0x00008, 0xBF37FB68, 0x00008, + 0xBF3BE0CC, 0x00008, 0xBF44AB33, 0x00008, 0xBF461D5D, 0x00020, 0xBF518143, 0x00008, + 0xBF8A815F, 0x00008, 0xBF9C0AE7, 0x00008, 0xBFA8DAB3, 0x00020, 0xBFB4BF8C, 0x00040, + 0xBFBC75B2, 0x00008, 0xBFBF2712, 0x00008, 0xBFD2C58C, 0x00008, 0xBFD4D7A5, 0x00008, + 0xBFE5184C, 0x00008, 0xC00AFE8D, 0x00008, 0xC00B7A81, 0x00008, 0xC0306CDD, 0x00008, + 0xC0408301, 0x00004, 0xC04F413C, 0x00008, 0xC058B37E, 0x00008, 0xC0687C51, 0x00008, + 0xC0742ED6, 0x00020, 0xC07D16EE, 0x00008, 0xC085C054, 0x00020, 0xC08CCAA5, 0x00008, + 0xC0914F74, 0x00008, 0xC095323B, 0x00008, 0xC0A6EACC, 0x00008, 0xC0AB8904, 0x00008, + 0xC0AFE539, 0x00008, 0xC0BC3811, 0x00008, 0xC0D81BE8, 0x00008, 0xC13A152E, 0x00008, + 0xC13E7D29, 0x00020, 0xC14837EB, 0x00008, 0xC14FB9F6, 0x00008, 0xC152EE1E, 0x00008, + 0xC15452A4, 0x00008, 0xC157DB6E, 0x00008, 0xC16B78ED, 0x00008, 0xC16D09B9, 0x00008, + 0xC1941341, 0x00008, 0xC1946E9B, 0x00004, 0xC19D006F, 0x00008, 0xC1DE7DE6, 0x00008, + 0xC1E0DE1B, 0x00008, 0xC1F01D0F, 0x00020, 0xC1FC31C0, 0x00008, 0xC202B78B, 0x00008, + 0xC20847AB, 0x00008, 0xC20DC520, 0x00004, 0xC211AF5A, 0x00008, 0xC2221CB6, 0x00008, + 0xC225E814, 0x00020, 0xC238B439, 0x00020, 0xC240F900, 0x00008, 0xC243E7EC, 0x00008, + 0xC248396C, 0x00008, 0xC253CD60, 0x00008, 0xC265677E, 0x00008, 0xC26A0248, 0x00008, + 0xC2863492, 0x00008, 0xC28CA539, 0x00008, 0xC2A7185E, 0x00008, 0xC2BCB0F6, 0x00008, + 0xC2BD94C1, 0x00008, 0xC2C246E8, 0x00008, 0xC2C73195, 0x00008, 0xC2D7F26E, 0x00008, + 0xC2EB4747, 0x00008, 0xC308BC85, 0x00008, 0xC31440F3, 0x00008, 0xC320FD50, 0x00008, + 0xC327AD03, 0x00008, 0xC330A049, 0x00008, 0xC34A3E88, 0x00020, 0xC35C6284, 0x00004, + 0xC35C6437, 0x00004, 0xC35C679D, 0x00004, 0xC3650449, 0x00008, 0xC36AC3B4, 0x00008, + 0xC3AC86ED, 0x00008, 0xC3B728E5, 0x00008, 0xC3CCFE52, 0x00008, 0xC3CF9BF5, 0x00008, + 0xC3E394F4, 0x00008, 0xC3F54CD3, 0x00008, 0xC40CE4C9, 0x00008, 0xC41057BF, 0x00008, + 0xC412C24E, 0x00008, 0xC41CDAD3, 0x00008, 0xC42C2376, 0x00008, 0xC42E4D16, 0x00008, + 0xC435E2EC, 0x00008, 0xC436DA4E, 0x00020, 0xC4423560, 0x00008, 0xC449EFDC, 0x00008, + 0xC44EDF5F, 0x00008, 0xC452A8B0, 0x00008, 0xC464A891, 0x00008, 0xC46606BB, 0x00020, + 0xC46A686A, 0x00008, 0xC475AE75, 0x00008, 0xC49FC03B, 0x00008, 0xC4ACB9B0, 0x00008, + 0xC4B99E4E, 0x00020, 0xC4B9B696, 0x00008, 0xC4BE59FA, 0x00008, 0xC4BF30F5, 0x00020, + 0xC4C49E66, 0x00008, 0xC4CA5DEF, 0x00008, 0xC4F9AF2D, 0x00008, 0xC5033DCE, 0x00008, + 0xC50787D9, 0x00008, 0xC5276FC0, 0x00008, 0xC533D9A8, 0x00008, 0xC539A0AE, 0x00008, + 0xC55066C5, 0x00008, 0xC58479D5, 0x00008, 0xC584E01F, 0x00020, 0xC58814F6, 0x00008, + 0xC590CF90, 0x00008, 0xC5A80609, 0x00008, 0xC5AA924D, 0x00020, 0xC5B65BFD, 0x00008, + 0xC5C72C99, 0x00008, 0xC5DC1617, 0x00008, 0xC5E2E9FF, 0x00008, 0xC5EA98FD, 0x00008, + 0xC603F09C, 0x00008, 0xC61DCC40, 0x00008, 0xC625DA2A, 0x00008, 0xC626D742, 0x00008, + 0xC62779E1, 0x00008, 0xC632BBC1, 0x00008, 0xC6403925, 0x00008, 0xC64E7E46, 0x00008, + 0xC650829D, 0x00008, 0xC652B21B, 0x00008, 0xC653AA3B, 0x00008, 0xC656108F, 0x00008, + 0xC65EB057, 0x00004, 0xC66457FC, 0x00004, 0xC66459AF, 0x00004, 0xC6645B62, 0x00004, + 0xC6749FA3, 0x00008, 0xC67BEC30, 0x00008, 0xC68019FB, 0x00008, 0xC68EC735, 0x00008, + 0xC68F2ADC, 0x00008, 0xC6974706, 0x00008, 0xC6975DA3, 0x00008, 0xC6BBB8E5, 0x00008, + 0xC6CFF0A6, 0x00008, 0xC6D7641F, 0x00008, 0xC6E765FC, 0x00008, 0xC6EFD55A, 0x00008, + 0xC6F383EF, 0x00008, 0xC6F968B1, 0x00008, 0xC7161BD8, 0x00008, 0xC72099BE, 0x00008, + 0xC72ED9FD, 0x00008, 0xC731F5B3, 0x00008, 0xC734CF47, 0x00008, 0xC73D95EC, 0x00008, + 0xC7409C89, 0x00004, 0xC743FDFE, 0x00008, 0xC7452BC2, 0x00008, 0xC74957E0, 0x00008, + 0xC74E60D2, 0x00008, 0xC7552603, 0x00008, 0xC75CDC27, 0x00008, 0xC765AF92, 0x00008, + 0xC7679138, 0x00008, 0xC76F01A3, 0x00008, 0xC7ADFD29, 0x00008, 0xC7C0E3B3, 0x00008, + 0xC7CC9EBD, 0x00004, 0xC7CEA06A, 0x00008, 0xC7D79DF9, 0x00008, 0xC7EECE40, 0x00008, + 0xC7F2CC85, 0x00008, 0xC7F30D2A, 0x00008, 0xC85231F4, 0x00020, 0xC859360C, 0x00008, + 0xC88B4CB5, 0x00008, 0xC890721E, 0x00008, 0xC8A1A78E, 0x00008, 0xC8BCA807, 0x00008, + 0xC8BD51C3, 0x00008, 0xC8C5B96A, 0x00008, 0xC8DC461A, 0x00020, 0xC8EC20F7, 0x00008, + 0xC8ECBC45, 0x00008, 0xC8EFBEBE, 0x00008, 0xC90AA0EB, 0x00008, 0xC90FCF0D, 0x00020, + 0xC9270069, 0x00008, 0xC93A8796, 0x00008, 0xC94A2459, 0x00008, 0xC94B5EED, 0x00008, + 0xC9541EB3, 0x00002, 0xC95AE032, 0x00008, 0xC96389E7, 0x00008, 0xC968AE66, 0x00008, + 0xC97A9200, 0x00008, 0xC980397A, 0x00008, 0xC98C205E, 0x00008, 0xC993A0EA, 0x00008, + 0xC998FF31, 0x00008, 0xC99CC906, 0x00008, 0xC9A00C6B, 0x00008, 0xC9A1766C, 0x00020, + 0xC9B46361, 0x00008, 0xC9BD9A4A, 0x00008, 0xC9C86445, 0x00008, 0xC9C951BB, 0x00008, + 0xC9D66B91, 0x00020, 0xC9DA1AC4, 0x00008, 0xC9E702BF, 0x00008, 0xC9EE95FC, 0x00008, + 0xCA032957, 0x00008, 0xCA0C24F7, 0x00008, 0xCA1469C4, 0x00008, 0xCA1CAED0, 0x00008, + 0xCA1E68C3, 0x00008, 0xCA2F38CC, 0x00020, 0xCA45E2E5, 0x00008, 0xCA61740B, 0x00008, + 0xCA86D198, 0x00008, 0xCA8A5EFA, 0x00008, 0xCA990211, 0x00008, 0xCAA390E4, 0x00008, + 0xCAA9F260, 0x00008, 0xCAAB66D1, 0x00008, 0xCAABBA50, 0x00004, 0xCAAC8800, 0x00C98, + 0xCAC542EC, 0x00008, 0xCADAA007, 0x00008, 0xCAE99AD0, 0x00008, 0xCB0B2EC5, 0x00008, + 0xCB19DBC8, 0x00008, 0xCB34F25B, 0x00008, 0xCB5E2EFF, 0x00008, 0xCB6D83A7, 0x00008, + 0xCB83B46B, 0x00020, 0xCBA20ED5, 0x00960, 0xCBB34709, 0x00008, 0xCBC9ECE0, 0x00008, + 0xCBCF856E, 0x00008, 0xCBD14629, 0x00008, 0xCBD3AD2F, 0x00008, 0xCBEDA722, 0x00020, + 0xCC046BE7, 0x00008, 0xCC0E2DF8, 0x00008, 0xCC1363DD, 0x00008, 0xCC16893F, 0x00008, + 0xCC323457, 0x00008, 0xCC403F4D, 0x00008, 0xCC72B5E4, 0x00008, 0xCC74835D, 0x00008, + 0xCC799E45, 0x00008, 0xCC7A911D, 0x00008, 0xCC8CC5B3, 0x00008, 0xCC9BB31F, 0x00008, + 0xCCA61F7D, 0x00008, 0xCCD93A22, 0x00008, 0xCCDD7048, 0x00020, 0xCD09EE9B, 0x00004, + 0xCD09F04E, 0x00004, 0xCD09F201, 0x00004, 0xCD150226, 0x00008, 0xCD2FACF6, 0x00008, + 0xCD36E320, 0x00008, 0xCD599158, 0x00008, 0xCD5D007D, 0x00008, 0xCD631BA4, 0x00008, + 0xCD63EB7A, 0x00020, 0xCD657B7D, 0x00008, 0xCD7173AB, 0x00020, 0xCD7B2045, 0x00008, + 0xCD870B02, 0x00008, 0xCD881A7B, 0x00008, 0xCD9EB5A8, 0x00008, 0xCDA034EE, 0x00008, + 0xCDA61DED, 0x00004, 0xCDAA72F4, 0x00008, 0xCDAB0F39, 0x00008, 0xCDC1944A, 0x00008, + 0xCDCAFAD2, 0x00008, 0xCDCCBC0C, 0x00008, 0xCE156E75, 0x00008, 0xCE1C0196, 0x00008, + 0xCE2174A2, 0x00008, 0xCE23F02F, 0x00008, 0xCE2F97D3, 0x00008, 0xCE40345C, 0x00008, + 0xCE425FD6, 0x00008, 0xCE43558E, 0x00008, 0xCE4C6950, 0x00008, 0xCE509B58, 0x00004, + 0xCE63AD8D, 0x00008, 0xCE78F0ED, 0x00008, 0xCE8124F7, 0x00008, 0xCEA1BD56, 0x00020, + 0xCEA514C0, 0x00008, 0xCEA55CC9, 0x00020, 0xCEB0C63D, 0x00008, 0xCEB7E7E6, 0x00008, + 0xCEBE10BB, 0x00008, 0xCEBE1699, 0x00008, 0xCEC51459, 0x00008, 0xCEC6286A, 0x00008, + 0xCED38AA5, 0x00008, 0xCEDA6835, 0x00020, 0xCEE2518A, 0x00008, 0xCEF0E4B4, 0x00008, + 0xCF06E658, 0x00008, 0xCF1322B5, 0x00008, 0xCF26C0A0, 0x00008, 0xCF44698C, 0x00008, + 0xCF4A3B7C, 0x00008, 0xCF5C4926, 0x0028C, 0xCF6AE3EE, 0x00008, 0xCF6CFCB8, 0x00020, + 0xCF777410, 0x00008, 0xCF8D206D, 0x00008, 0xCF930962, 0x00008, 0xCF961D0D, 0x00008, + 0xCF999DCC, 0x00020, 0xCFA238E6, 0x00008, 0xCFA85C94, 0x00008, 0xCFB9108B, 0x00008, + 0xCFBD3955, 0x00008, 0xCFD91AA8, 0x00008, 0xCFE9BB51, 0x00008, 0xD008A58D, 0x00008, + 0xD009F7BA, 0x00008, 0xD00C22DA, 0x00008, 0xD01C149B, 0x00008, 0xD01E5540, 0x00008, + 0xD047740D, 0x00020, 0xD06169B8, 0x00008, 0xD063EE9C, 0x00008, 0xD06A84EB, 0x00008, + 0xD0837FF0, 0x00008, 0xD089F6D5, 0x00008, 0xD08BBE3D, 0x00008, 0xD08E57CA, 0x00008, + 0xD09E4DDB, 0x00008, 0xD0A03C0B, 0x00008, 0xD0A459BB, 0x00008, 0xD0AB4524, 0x00008, + 0xD0B38C74, 0x00008, 0xD0B529DA, 0x00008, 0xD0BC5EA9, 0x00008, 0xD0C819BE, 0x00008, + 0xD0CA3FE0, 0x00004, 0xD0CA4346, 0x00004, 0xD0CA44F9, 0x00004, 0xD0D5996B, 0x00008, + 0xD0EFF998, 0x00008, 0xD0FB65B4, 0x00008, 0xD10206F4, 0x00008, 0xD10354EA, 0x00008, + 0xD10652E6, 0x00008, 0xD107094A, 0x00008, 0xD10BC6EF, 0x00020, 0xD10E1DF4, 0x00008, + 0xD11376D3, 0x00008, 0xD1307C68, 0x00008, 0xD144AEFB, 0x00008, 0xD14C72C2, 0x00008, + 0xD14D1BCF, 0x00008, 0xD14DD734, 0x00008, 0xD15DA1C3, 0x00008, 0xD17E2EA6, 0x00008, + 0xD186222E, 0x007D0, 0xD196586A, 0x00020, 0xD1A46DAD, 0x00008, 0xD1A6CBFF, 0x00008, + 0xD1A7F989, 0x00008, 0xD1AA5F79, 0x00008, 0xD1AD4AB4, 0x00008, 0xD1C07E26, 0x00008, + 0xD1C561D4, 0x00008, 0xD1CB4623, 0x00008, 0xD1E611F5, 0x00008, 0xD1EDF02B, 0x00008, + 0xD1F137A8, 0x00008, 0xD221BAA3, 0x00008, 0xD23042FF, 0x00008, 0xD24DC3CE, 0x00008, + 0xD27FB3A2, 0x00008, 0xD29F7408, 0x00020, 0xD2C4F9D5, 0x00008, 0xD2DD863B, 0x00008, + 0xD2E704C3, 0x00008, 0xD2EFE479, 0x00008, 0xD2F2F38C, 0x00004, 0xD2F2F53F, 0x00004, + 0xD2F2F8A5, 0x00004, 0xD30C5218, 0x00008, 0xD30D8935, 0x00008, 0xD316718B, 0x00020, + 0xD319DC90, 0x00008, 0xD31F1F51, 0x00008, 0xD323251C, 0x00008, 0xD325FC53, 0x00020, + 0xD328D1A7, 0x00008, 0xD32EA427, 0x00020, 0xD32F37D9, 0x00008, 0xD33D8BAA, 0x00020, + 0xD344BE52, 0x00020, 0xD376BEC9, 0x00008, 0xD3B81C74, 0x00008, 0xD3BC026A, 0x00008, + 0xD3D6003C, 0x00008, 0xD3E34177, 0x00008, 0xD3FDB703, 0x00008, 0xD3FDD83E, 0x00008, + 0xD405CF90, 0x00008, 0xD41BCE4C, 0x00008, 0xD41F4FC4, 0x0F200, 0xD4213E4F, 0x00008, + 0xD42A47D9, 0x00008, 0xD42C1AD9, 0x00008, 0xD43B67C8, 0x00008, 0xD43E9148, 0x00008, + 0xD44157C1, 0x00008, 0xD44D0A3E, 0x00008, 0xD4674D14, 0x00008, 0xD46926A2, 0x00008, + 0xD476614D, 0x00008, 0xD47BA477, 0x00008, 0xD4816303, 0x00008, 0xD487ABED, 0x00008, + 0xD4CA9295, 0x00008, 0xD4CEE8BA, 0x00008, 0xD4EC8144, 0x00008, 0xD4FA127C, 0x00008, + 0xD5237DFD, 0x00008, 0xD529FEB8, 0x00020, 0xD52DF3A6, 0x00008, 0xD5311222, 0x00008, + 0xD5457CD8, 0x00004, 0xD5457E8B, 0x00004, 0xD54581F1, 0x00004, 0xD560D246, 0x00008, + 0xD56F7189, 0x00008, 0xD589E1BC, 0x00008, 0xD5BA46F1, 0x00008, 0xD5EBDBE3, 0x00040, + 0xD5F1CE4A, 0x00008, 0xD5F66647, 0x00008, 0xD5FCBBE3, 0x00008, 0xD604C10F, 0x00008, + 0xD60ED2E3, 0x00008, 0xD61BCA11, 0x00008, 0xD6258F04, 0x00008, 0xD63E6CB3, 0x00020, + 0xD6476565, 0x00008, 0xD650FA4D, 0x00008, 0xD6549AB7, 0x00020, 0xD6775A5A, 0x00020, + 0xD684F9BE, 0x00020, 0xD6AFEC29, 0x00008, 0xD6B3B344, 0x00004, 0xD6B3B4F7, 0x00004, + 0xD6B3B6AA, 0x00004, 0xD6CB40B9, 0x00008, 0xD6CEFA03, 0x00008, 0xD6E9F7EF, 0x00008, + 0xD6FDECF5, 0x00008, 0xD6FF0D09, 0x00008, 0xD7035D9A, 0x00008, 0xD707365E, 0x00008, + 0xD71CA82D, 0x00008, 0xD72B3469, 0x00008, 0xD73EC332, 0x00008, 0xD742A7CF, 0x00008, + 0xD7489517, 0x00008, 0xD752CD46, 0x00008, 0xD76E9626, 0x00008, 0xD770477B, 0x00008, + 0xD78AF3C8, 0x00008, 0xD7975D68, 0x00020, 0xD79E0050, 0x00008, 0xD7A6E8DB, 0x00008, + 0xD7AE1BF2, 0x00008, 0xD7C38AAC, 0x00008, 0xD7D074E4, 0x00008, 0xD7D30E37, 0x00008, + 0xD7DEBF3A, 0x00008, 0xD7F06FF4, 0x00008, 0xD8116724, 0x00008, 0xD82B6963, 0x00008, + 0xD82F50D2, 0x00008, 0xD830E803, 0x00008, 0xD84A4A28, 0x00008, 0xD852AE41, 0x00008, + 0xD86888BC, 0x00008, 0xD86C0895, 0x00020, 0xD8763F33, 0x00008, 0xD883A02C, 0x00008, + 0xD8850B3A, 0x00020, 0xD88F8F1F, 0x00008, 0xD890BBEE, 0x00008, 0xD8B9BAD9, 0x00008, + 0xD8C9549C, 0x00008, 0xD8E3385D, 0x00008, 0xD90AD256, 0x00008, 0xD91B7811, 0x00008, + 0xD924B3D1, 0x00020, 0xD926C7D2, 0x00008, 0xD92F1E2F, 0x00008, 0xD9342779, 0x00008, + 0xD93A0AFE, 0x00020, 0xD9518B96, 0x00008, 0xD95B2C01, 0x00008, 0xD95DD326, 0x00008, + 0xD975CFCB, 0x00008, 0xD98FB034, 0x00008, 0xD9A5A49B, 0x00008, 0xD9A73D53, 0x00008, + 0xD9BF7A14, 0x00020, 0xD9D135AD, 0x00008, 0xD9D557BE, 0x00004, 0xD9DF9254, 0x00004, + 0xDA179B60, 0x00008, 0xDA2DC3B2, 0x00008, 0xDA34F013, 0x00008, 0xDA492067, 0x00008, + 0xDA5AF1B2, 0x00008, 0xDA5C64CE, 0x00008, 0xDA645C88, 0x00008, 0xDA676AA6, 0x00020, + 0xDA8431C1, 0x00008, 0xDAA8DFDF, 0x00008, 0xDAAD7CD2, 0x00008, 0xDAAEA030, 0x00008, + 0xDAB64328, 0x00008, 0xDAD77D04, 0x00008, 0xDAEC6F1C, 0x00008, 0xDAF1A8DD, 0x00008, + 0xDAF1F4BB, 0x00008, 0xDB106780, 0x00008, 0xDB188651, 0x00020, 0xDB30A841, 0x00008, + 0xDB3DAE83, 0x00008, 0xDB568AAF, 0x00008, 0xDB619124, 0x00008, 0xDB98E5E2, 0x00008, + 0xDB9D2781, 0x00020, 0xDBC531D8, 0x00008, 0xDBCF44F8, 0x00008, 0xDBCFD109, 0x00008, + 0xDBD63ADE, 0x00008, 0xDBDA5E3B, 0x00008, 0xDBE2D11F, 0x00008, 0xDBE96590, 0x00004, + 0xDBE96743, 0x00004, 0xDBE968F6, 0x00004, 0xDBF22DE9, 0x00008, 0xDC095EFA, 0x00008, + 0xDC28A813, 0x00008, 0xDC31EB08, 0x00004, 0xDC3D8231, 0x00008, 0xDC423256, 0x00008, + 0xDC50D5F7, 0x00020, 0xDC60CFD7, 0x00008, 0xDC767757, 0x00020, 0xDC7A769C, 0x00020, + 0xDCA07FA3, 0x00004, 0xDCA08156, 0x00004, 0xDCA08309, 0x00004, 0xDCA7B9AA, 0x00008, + 0xDCADE537, 0x00008, 0xDCBB1193, 0x00008, 0xDCDB96EE, 0x00008, 0xDCDD8317, 0x00008, + 0xDCE13D8F, 0x00008, 0xDCF5A198, 0x00008, 0xDD0B7295, 0x00008, 0xDD147A72, 0x00008, + 0xDD21D8DE, 0x00008, 0xDD2AC160, 0x00008, 0xDD2CCB1D, 0x00008, 0xDD7F3DBF, 0x00008, + 0xDD80FEB3, 0x00008, 0xDD933255, 0x00008, 0xDDA303AE, 0x00008, 0xDDA84104, 0x00008, + 0xDDB8E87D, 0x00008, 0xDDE15DF7, 0x00008, 0xDDE4577A, 0x00008, 0xDDE53C5F, 0x00008, + 0xDDE70163, 0x00008, 0xDDEC3D85, 0x00008, 0xDDEE0A20, 0x00008, 0xDDEE17BF, 0x00008, + 0xDE04F6C3, 0x00008, 0xDE25F88D, 0x00008, 0xDE2BC8E4, 0x00008, 0xDE2C1E6F, 0x00008, + 0xDE3A9B6B, 0x00008, 0xDE45C576, 0x00008, 0xDE485844, 0x00008, 0xDE540F09, 0x00020, + 0xDE5494F3, 0x00008, 0xDE574AE4, 0x00008, 0xDE5A3202, 0x00008, 0xDE63C23C, 0x00008, + 0xDE70C210, 0x00008, 0xDE83E52C, 0x00008, 0xDE847378, 0x00020, 0xDE84E47D, 0x00008, + 0xDE8F37CC, 0x00008, 0xDEAC8824, 0x00008, 0xDEB55AE4, 0x00008, 0xDEBD4E1B, 0x00008, + 0xDEC1E735, 0x00008, 0xDEDCCCB1, 0x00008, 0xDEF1DDDF, 0x00004, 0xDEF1DF92, 0x00004, + 0xDEF1E145, 0x00004, 0xDF00AAC2, 0x00008, 0xDF0AD4F1, 0x00020, 0xDF0B0D61, 0x00008, + 0xDF1EF34F, 0x00008, 0xDF3E258C, 0x00004, 0xDF3EF358, 0x00008, 0xDF4417C6, 0x00008, + 0xDF45BF4A, 0x00008, 0xDF4F1875, 0x00004, 0xDF574D6E, 0x00008, 0xDF5BE2E2, 0x00020, + 0xDF5C557F, 0x00008, 0xDF64A160, 0x00008, 0xDF6BE991, 0x00008, 0xDFA5FFF8, 0x00008, + 0xDFAC62BF, 0x00008, 0xDFC59683, 0x00008, 0xDFE153D7, 0x00008, 0xDFE199EA, 0x00008, + 0xDFFF85A4, 0x00008, 0xE014291B, 0x00008, 0xE016E5CF, 0x00020, 0xE019A2EE, 0x00008, + 0xE02592FC, 0x00008, 0xE025BA46, 0x00008, 0xE036A126, 0x00008, 0xE03FBA2D, 0x00008, + 0xE04A48FD, 0x00008, 0xE054BC48, 0x00008, 0xE058464C, 0x00008, 0xE05D1830, 0x00008, + 0xE0613DA8, 0x00004, 0xE061410E, 0x00004, 0xE06142C1, 0x00004, 0xE0628024, 0x00008, + 0xE066C320, 0x00008, 0xE0733005, 0x00008, 0xE074B61C, 0x00008, 0xE086CF6E, 0x00008, + 0xE0901355, 0x00008, 0xE0A2B5B6, 0x00008, 0xE0A4BB9D, 0x00020, 0xE0B77793, 0x00008, + 0xE0D412E0, 0x00008, 0xE0DF5F57, 0x00008, 0xE1271327, 0x00004, 0xE12A8E63, 0x00008, + 0xE12FF39B, 0x00008, 0xE13C8F17, 0x00020, 0xE140C6A9, 0x00008, 0xE15DEA62, 0x00008, + 0xE16369BB, 0x00008, 0xE164D3AF, 0x00020, 0xE16550A1, 0x00008, 0xE171A47B, 0x00008, + 0xE1871C29, 0x00020, 0xE19588AA, 0x00008, 0xE1A1CB63, 0x00008, 0xE1A6804E, 0x00020, + 0xE1B947F5, 0x00004, 0xE1C34C7D, 0x00008, 0xE1C95B70, 0x00008, 0xE1D7D596, 0x00008, + 0xE1DB3624, 0x00020, 0xE1DBAA1F, 0x00008, 0xE2072D97, 0x00008, 0xE2144070, 0x00008, + 0xE21789B0, 0x00008, 0xE219BDBA, 0x00008, 0xE21E03E8, 0x00008, 0xE224A3BC, 0x00008, + 0xE22A501F, 0x00008, 0xE22B496E, 0x00008, 0xE22DEC4D, 0x00008, 0xE2409B2F, 0x00008, + 0xE2538E99, 0x00020, 0xE2546159, 0x00008, 0xE261BD90, 0x00008, 0xE263AE60, 0x00008, + 0xE2640621, 0x00008, 0xE268450D, 0x00008, 0xE2771D7D, 0x00008, 0xE281A0E5, 0x00008, + 0xE296140C, 0x00008, 0xE2A43A4F, 0x00008, 0xE2B1101B, 0x00008, 0xE2BBA932, 0x00008, + 0xE2CD3232, 0x00008, 0xE2F2BAB1, 0x00008, 0xE2F52E17, 0x00041, 0xE2F91DBA, 0x00041, + 0xE2FA03E0, 0x00008, 0xE2FA6A8A, 0x00008, 0xE2FBC051, 0x00041, 0xE2FDEF5C, 0x00041, + 0xE3016B73, 0x00041, 0xE303A816, 0x00041, 0xE3072F04, 0x00008, 0xE30790ED, 0x00041, + 0xE30A2CB8, 0x00041, 0xE3121B49, 0x00041, 0xE315FD54, 0x00041, 0xE3219E55, 0x00008, + 0xE3229307, 0x00008, 0xE33FC2AE, 0x00008, 0xE3469D5E, 0x00008, 0xE35550BE, 0x00008, + 0xE3669CEE, 0x00008, 0xE36F48C5, 0x00008, 0xE3717D52, 0x00008, 0xE37409DC, 0x00008, + 0xE39DBEE2, 0x00008, 0xE3AF900A, 0x00008, 0xE3B8145E, 0x00008, 0xE3C5E841, 0x00008, + 0xE3CF45C4, 0x00008, 0xE3E29F40, 0x00020, 0xE3E7376A, 0x00020, 0xE3E89BD1, 0x00068, + 0xE3EC6CA7, 0x00008, 0xE3FB021A, 0x00008, 0xE4008BAC, 0x00008, 0xE40A279F, 0x00008, + 0xE40B85A9, 0x00008, 0xE41FF983, 0x00008, 0xE42D192E, 0x00020, 0xE4571A90, 0x00008, + 0xE476C9F2, 0x00008, 0xE478643A, 0x00008, 0xE483C476, 0x00008, 0xE492D877, 0x00008, + 0xE4A5A14F, 0x00008, 0xE4B4C99B, 0x00008, 0xE4B4E076, 0x00008, 0xE4BFC580, 0x00008, + 0xE4DB3460, 0x00004, 0xE4DB3613, 0x00004, 0xE4DB3979, 0x00004, 0xE4F0984F, 0x00008, + 0xE4F70461, 0x00008, 0xE514CB49, 0x00008, 0xE52546CE, 0x00008, 0xE52C9B95, 0x00008, + 0xE53038F7, 0x00008, 0xE5389FEA, 0x00008, 0xE53A055A, 0x00008, 0xE53ACFC6, 0x00008, + 0xE55252E6, 0x00008, 0xE552A76F, 0x00008, 0xE558CE04, 0x00020, 0xE55C3525, 0x00008, + 0xE561BA21, 0x00008, 0xE5683F55, 0x00020, 0xE58106E1, 0x00008, 0xE594D8EF, 0x00008, + 0xE5969E64, 0x00004, 0xE596A1CA, 0x00004, 0xE596A37D, 0x00004, 0xE59A4462, 0x00008, + 0xE5A5A733, 0x00020, 0xE5AE7DF9, 0x00008, 0xE5D151D1, 0x00008, 0xE5D57709, 0x00008, + 0xE5D9E014, 0x00008, 0xE5E0CF94, 0x00008, 0xE5E1B6F0, 0x00008, 0xE5E2E118, 0x00008, + 0xE5E60629, 0x00008, 0xE5E77CFD, 0x00020, 0xE5E7C246, 0x00020, 0xE600F700, 0x00008, + 0xE62038E7, 0x00008, 0xE62E9261, 0x00008, 0xE63008FF, 0x00008, 0xE63B5863, 0x00008, + 0xE640D6BA, 0x00008, 0xE6464702, 0x00008, 0xE654CBC2, 0x00008, 0xE660DFD1, 0x00008, + 0xE660F559, 0x00008, 0xE674A758, 0x00008, 0xE67E9FAA, 0x00008, 0xE68629C5, 0x00020, + 0xE6A1FB36, 0x00008, 0xE6C7A7C0, 0x00008, 0xE6CBED2A, 0x00008, 0xE6CF5E0F, 0x00008, + 0xE6E1B7D4, 0x00008, 0xE6FA2648, 0x00020, 0xE6FBD0AC, 0x00008, 0xE7032583, 0x00008, + 0xE708EC79, 0x00020, 0xE71342FC, 0x00008, 0xE717260E, 0x00008, 0xE72CF932, 0x00008, + 0xE739D922, 0x00020, 0xE73C9D2B, 0x00008, 0xE747607D, 0x00008, 0xE74A0E86, 0x00008, + 0xE74B4060, 0x00008, 0xE75A11DF, 0x00008, 0xE75C282C, 0x00008, 0xE760D250, 0x00008, + 0xE76C7B0E, 0x00008, 0xE76DD8D5, 0x00008, 0xE776C8BF, 0x00008, 0xE7819689, 0x00008, + 0xE79D339F, 0x00020, 0xE7A31285, 0x00008, 0xE7A97D46, 0x00008, 0xE7AB01C2, 0x00008, + 0xE7AC0159, 0x00008, 0xE7B6C1C9, 0x00008, 0xE7B8723A, 0x00008, 0xE7BCBDCF, 0x00008, + 0xE7C26580, 0x00008, 0xE7D91F31, 0x00008, 0xE7E6D84F, 0x00008, 0xE8057843, 0x00008, + 0xE809B070, 0x00008, 0xE812D6C0, 0x00020, 0xE824AE1C, 0x00008, 0xE82EE3AB, 0x00004, + 0xE82EE55E, 0x00004, 0xE82EE711, 0x00004, 0xE84F515C, 0x00008, 0xE85EC036, 0x00008, + 0xE860805D, 0x00008, 0xE86EED0C, 0x00008, 0xE87E4FC2, 0x00008, 0xE89825F1, 0x00008, + 0xE8A1288A, 0x00008, 0xE8A7C5DA, 0x00008, 0xE8AE62FB, 0x00008, 0xE8BEE99D, 0x00008, + 0xE8C61097, 0x00008, 0xE8E3B8A0, 0x00020, 0xE8F306C1, 0x00020, 0xE90A63BF, 0x00008, + 0xE91125B7, 0x00008, 0xE91246A9, 0x00008, 0xE914D436, 0x00008, 0xE91C4020, 0x00008, + 0xE91D975E, 0x00008, 0xE921F908, 0x00008, 0xE923651F, 0x00008, 0xE935322C, 0x00008, + 0xE9393B6D, 0x00008, 0xE93A8AC2, 0x00008, 0xE94B510C, 0x00020, 0xE94E7186, 0x00008, + 0xE9524BB4, 0x00008, 0xE961EC96, 0x00008, 0xE9761C6A, 0x00008, 0xE990149C, 0x00008, + 0xE9A4281C, 0x00008, 0xE9D85994, 0x00008, 0xE9DF2CD9, 0x00020, 0xE9DFCD0E, 0x00008, + 0xE9E06870, 0x00008, 0xE9E3CE5A, 0x00008, 0xE9E7484C, 0x00008, 0xE9EE76AC, 0x00008, + 0xE9F4C656, 0x00008, 0xE9FC2DB2, 0x00008, 0xE9FDA32D, 0x00041, 0xEA003EF8, 0x00041, + 0xEA0427CF, 0x00041, 0xEA05F7B2, 0x00041, 0xEA09E089, 0x00041, 0xEA0C0F94, 0x00041, + 0xEA0EB22B, 0x00041, 0xEA12A1CE, 0x00041, 0xEA146AE5, 0x00041, 0xEA184CF0, 0x00041, + 0xEA1D87A4, 0x00008, 0xEA1FEAD0, 0x00008, 0xEA3397F9, 0x00008, 0xEA677637, 0x00004, + 0xEA6B1EB6, 0x00008, 0xEA71E544, 0x00008, 0xEA730EC2, 0x00008, 0xEA80F8D3, 0x00008, + 0xEA91592E, 0x00020, 0xEA9470CD, 0x00008, 0xEA9AE756, 0x00008, 0xEA9AFDB4, 0x00008, + 0xEAA2D426, 0x00008, 0xEAA8BAE9, 0x00008, 0xEAAF8DDD, 0x00008, 0xEAC53177, 0x00008, + 0xEAD63F08, 0x00008, 0xEADA8B88, 0x00008, 0xEAE2859F, 0x00008, 0xEAE4E57E, 0x00008, + 0xEAFCD4E6, 0x00008, 0xEB0DD3DC, 0x00008, 0xEB0EC9DA, 0x00008, 0xEB1CC8C0, 0x00008, + 0xEB28786D, 0x00008, 0xEB6B4E2A, 0x00008, 0xEB6B68F9, 0x00008, 0xEB7C864B, 0x00008, + 0xEB7FF698, 0x00004, 0xEB7FF84B, 0x00004, 0xEB7FF9FE, 0x00004, 0xEBA4F65E, 0x00008, + 0xEBD6E2E7, 0x00008, 0xEBE42EC5, 0x00008, 0xEBF0F337, 0x00008, 0xEBF835FD, 0x00008, + 0xEBFC72B7, 0x00008, 0xEC05ED56, 0x00008, 0xEC13461D, 0x00008, 0xEC161D7B, 0x00008, + 0xEC1FEEC2, 0x00008, 0xEC3A74CB, 0x00008, 0xEC54F351, 0x00008, 0xEC663CA0, 0x00008, + 0xEC7361B7, 0x00004, 0xEC8B4B34, 0x00008, 0xEC8B9645, 0x00008, 0xEC9766BA, 0x00008, + 0xECB833D9, 0x00008, 0xECBB7472, 0x00008, 0xECDCFC06, 0x00008, 0xECDFC6A8, 0x00008, + 0xECF022C5, 0x00020, 0xECF647F0, 0x00008, 0xED0AC675, 0x004B0, 0xED0C5F04, 0x00008, + 0xED109F14, 0x00008, 0xED255ED8, 0x00008, 0xED30124A, 0x00008, 0xED370BC8, 0x00008, + 0xED3809C1, 0x00008, 0xED6037D0, 0x00008, 0xED60649C, 0x00004, 0xED60664F, 0x00004, + 0xED6069B5, 0x00004, 0xED6C3664, 0x00008, 0xED727D28, 0x00008, 0xED72E6C5, 0x00020, + 0xEDA77571, 0x00008, 0xEDAFF794, 0x0000C, 0xEDB4A292, 0x00008, 0xEDBB0C80, 0x00004, + 0xEDBCD69E, 0x00008, 0xEDCD174D, 0x00008, 0xEDE26B92, 0x00008, 0xEDF810D4, 0x00008, + 0xEDFBA132, 0x00020, 0xEE101095, 0x00008, 0xEE144817, 0x00008, 0xEE1D18F5, 0x00008, + 0xEE2C8FF2, 0x00008, 0xEE4169C8, 0x00008, 0xEE5D01D7, 0x00008, 0xEE826EC0, 0x00008, + 0xEE8A0381, 0x00008, 0xEE960FEB, 0x00008, 0xEE9BEC41, 0x00020, 0xEEA8117C, 0x00008, + 0xEEAEB167, 0x00004, 0xEEB52F8C, 0x00008, 0xEEC1A816, 0x00008, 0xEECA4024, 0x00008, + 0xEECEA3C1, 0x00008, 0xEED3F41E, 0x00020, 0xEEDCEBD9, 0x00008, 0xEEEB055A, 0x00020, + 0xEEF19927, 0x00008, 0xEEF41C8F, 0x00008, 0xEF0D8C53, 0x00008, 0xEF180828, 0x00020, + 0xEF1DAE9F, 0x00008, 0xEF3B8A8D, 0x00008, 0xEF427F67, 0x00004, 0xEF42811A, 0x00004, + 0xEF4282CD, 0x00004, 0xEF466923, 0x00008, 0xEF5887CC, 0x00008, 0xEF63CAB5, 0x00004, + 0xEF75CCE6, 0x00008, 0xEF75D885, 0x00008, 0xEF7C269A, 0x00008, 0xEF8BDFC5, 0x00008, + 0xEF8E7B89, 0x00008, 0xEF926212, 0x00008, 0xEFB76982, 0x00008, 0xEFC045BB, 0x00008, + 0xEFD22748, 0x00008, 0xEFEEE481, 0x00008, 0xEFF93B1A, 0x00008, 0xF013C70B, 0x00008, + 0xF018C4AC, 0x012C0, 0xF030B889, 0x00008, 0xF037586D, 0x00008, 0xF03A4017, 0x00008, + 0xF03FEE93, 0x00008, 0xF04272E1, 0x00008, 0xF0428435, 0x00008, 0xF04660B0, 0x00008, + 0xF0487547, 0x00008, 0xF055EFAB, 0x00008, 0xF05B60AE, 0x00008, 0xF08D8778, 0x00008, + 0xF09752EA, 0x00008, 0xF0A07F94, 0x00008, 0xF0AFB57C, 0x00020, 0xF0B8F8D3, 0x00008, + 0xF0C78626, 0x00008, 0xF0CF1E65, 0x00008, 0xF0D716E8, 0x00008, 0xF0D7293A, 0x00008, + 0xF0E14984, 0x00008, 0xF0FCE933, 0x00008, 0xF1134C02, 0x00008, 0xF116C5F6, 0x00008, + 0xF11843BF, 0x00008, 0xF1223AA0, 0x00008, 0xF126BB6D, 0x00008, 0xF12C0316, 0x00008, + 0xF1496064, 0x00008, 0xF14EE44B, 0x00020, 0xF1504EF2, 0x00008, 0xF15B404D, 0x00008, + 0xF16E43AF, 0x00008, 0xF1C6AE1A, 0x00008, 0xF1C6F01B, 0x00020, 0xF1D9EE94, 0x00004, + 0xF1D9F047, 0x00004, 0xF1D9F1FA, 0x00004, 0xF1E66A20, 0x00008, 0xF1EC7664, 0x00008, + 0xF1F8CE09, 0x00008, 0xF22C5442, 0x00020, 0xF2308567, 0x00008, 0xF230ED74, 0x00008, + 0xF232096C, 0x00008, 0xF2334458, 0x00008, 0xF24C0ABE, 0x00008, 0xF2587445, 0x00008, + 0xF25A13BE, 0x00008, 0xF26CBBAA, 0x00008, 0xF26CE6CB, 0x00008, 0xF277C647, 0x00008, + 0xF2851B7F, 0x00008, 0xF2B17714, 0x00008, 0xF2B202FC, 0x00008, 0xF2B53C75, 0x00020, + 0xF2C302CB, 0x00008, 0xF2D188EB, 0x00008, 0xF2E2253C, 0x00008, 0xF2E2B4AA, 0x00008, + 0xF316AF99, 0x00008, 0xF31BE228, 0x00008, 0xF31F326D, 0x00008, 0xF31F6655, 0x00008, + 0xF341DEB2, 0x00008, 0xF34329BA, 0x00008, 0xF344B69E, 0x00008, 0xF346F546, 0x00020, + 0xF372EC42, 0x00008, 0xF379D4EA, 0x00008, 0xF3829282, 0x00008, 0xF397B97C, 0x00020, + 0xF398E6DE, 0x00008, 0xF39CE946, 0x00008, 0xF3D71A8D, 0x00008, 0xF3FC0550, 0x00008, + 0xF3FFBD0B, 0x00020, 0xF415CC91, 0x00008, 0xF42BC4E8, 0x00008, 0xF43A098B, 0x00008, + 0xF43CFB0B, 0x00008, 0xF4427064, 0x00008, 0xF45FEC27, 0x00008, 0xF47919D0, 0x00008, + 0xF47C797C, 0x00020, 0xF4833F82, 0x00008, 0xF48A7A3A, 0x00008, 0xF4A27AFF, 0x00008, + 0xF4AFE9C8, 0x00004, 0xF4CE4812, 0x00008, 0xF4D1C159, 0x00008, 0xF4E2F0FF, 0x00008, + 0xF4F5266A, 0x00008, 0xF4F54E48, 0x00008, 0xF500916A, 0x00008, 0xF5016CFD, 0x00008, + 0xF503F04D, 0x00008, 0xF516BCCF, 0x00008, 0xF51A9596, 0x00008, 0xF53560C2, 0x00008, + 0xF5466903, 0x00020, 0xF5581EEA, 0x00008, 0xF55C2118, 0x00020, 0xF5666AD2, 0x00020, + 0xF56EAB20, 0x00008, 0xF57426FE, 0x00008, 0xF5745B8F, 0x00008, 0xF586CEA7, 0x00008, + 0xF59511AD, 0x00008, 0xF59C2400, 0x00008, 0xF59F8D21, 0x00008, 0xF5B29D01, 0x00020, + 0xF5BF584E, 0x00008, 0xF5C074A3, 0x00008, 0xF5C4E714, 0x00008, 0xF5F0D42C, 0x00008, + 0xF5F3EE18, 0x00008, 0xF62464BD, 0x00008, 0xF62EBD54, 0x00008, 0xF6453F8E, 0x00008, + 0xF69F28F5, 0x00008, 0xF6A46E9F, 0x00008, 0xF6AC1B6D, 0x00002, 0xF6B0D5F3, 0x00008, + 0xF6C9CDCA, 0x00008, 0xF6DAE98C, 0x00008, 0xF6EBF57F, 0x00008, 0xF7102B9A, 0x00008, + 0xF71E3C8B, 0x00008, 0xF72D27A7, 0x00008, 0xF72EAA9D, 0x00008, 0xF7422A36, 0x00008, + 0xF750D920, 0x00008, 0xF768616A, 0x00008, 0xF7772B81, 0x00008, 0xF78EBC21, 0x00008, + 0xF7925BD2, 0x00008, 0xF7A85CE9, 0x00020, 0xF7A8B6F6, 0x00020, 0xF7B061BB, 0x00008, + 0xF7CE3DE1, 0x00008, 0xF7D687DD, 0x00008, 0xF7F491D9, 0x00008, 0xF7FDD653, 0x00008, + 0xF808ED22, 0x00008, 0xF814744B, 0x00008, 0xF822E931, 0x00008, 0xF8248A40, 0x00008, + 0xF83BA6A1, 0x00008, 0xF842DA1D, 0x00008, 0xF84F5376, 0x00008, 0xF854B0D4, 0x00008, + 0xF85C8836, 0x00008, 0xF8692448, 0x00008, 0xF8728ABF, 0x00008, 0xF8799931, 0x00008, + 0xF87F1873, 0x00004, 0xF87F1A26, 0x00004, 0xF87F1BD9, 0x00004, 0xF8964B14, 0x00008, + 0xF89CEC6E, 0x00020, 0xF8A5EA06, 0x00008, 0xF8A762F5, 0x00008, 0xF8B14C88, 0x97E00, + 0xF8B20CA1, 0x00008, 0xF8B87345, 0x00008, 0xF8CFA72A, 0x00008, 0xF8E06E25, 0x00008, + 0xF8E33B50, 0x00008, 0xF8FEE40D, 0x00008, 0xF8FFA0C8, 0x00008, 0xF90B8314, 0x00040, + 0xF90EFD79, 0x00004, 0xF913AB42, 0x00008, 0xF91BC2F0, 0x00008, 0xF91E7DDA, 0x00008, + 0xF921557F, 0x00008, 0xF9392F06, 0x00008, 0xF93E135C, 0x00008, 0xF94245BC, 0x00008, + 0xF94ACE11, 0x00008, 0xF94D5345, 0x00008, 0xF9515E4B, 0x00008, 0xF973B61F, 0x00008, + 0xF9781C59, 0x00008, 0xF97AC8A4, 0x00004, 0xF9944FA8, 0x00008, 0xF9A30F0D, 0x00008, + 0xF9D07679, 0x00008, 0xF9DA14E2, 0x00008, 0xF9E273AC, 0x00008, 0xF9EA9675, 0x00008, + 0xF9FC38D3, 0x00008, 0xFA10383A, 0x00008, 0xFA2046E3, 0x00020, 0xFA48881D, 0x00008, + 0xFA4B27F0, 0x00008, 0xFA59C11A, 0x00008, 0xFA6832FA, 0x00008, 0xFA702956, 0x00008, + 0xFA7EBC8B, 0x00008, 0xFA906F6A, 0x00020, 0xFA99CC90, 0x00020, 0xFAA2C2E8, 0x00008, + 0xFAAC5013, 0x00008, 0xFAC192E6, 0x00008, 0xFADF9658, 0x00008, 0xFAFBF5CF, 0x00008, + 0xFB19483D, 0x00008, 0xFB2AEDD2, 0x00008, 0xFB3D98F7, 0x00008, 0xFB4F27F2, 0x00008, + 0xFB5773F6, 0x00008, 0xFB5E9C1B, 0x00008, 0xFB6A1BB8, 0x00008, 0xFB87E5B8, 0x00004, + 0xFB87E91E, 0x00004, 0xFB87EAD1, 0x00004, 0xFB8EA529, 0x00008, 0xFB92E7CF, 0x00008, + 0xFB95BAF8, 0x00008, 0xFBAA3F59, 0x00008, 0xFBB1CA27, 0x00008, 0xFBBCB2C8, 0x00008, + 0xFBCBA85E, 0x00008, 0xFBE02F22, 0x00008, 0xFBF1ABFE, 0x00008, 0xFBF675D1, 0x00008, + 0xFBF840BE, 0x00008, 0xFBFA2784, 0x00008, 0xFBFBA37B, 0x00008, 0xFC101161, 0x00020, + 0xFC12A3CF, 0x00008, 0xFC19D5E7, 0x00008, 0xFC28CCB4, 0x00008, 0xFC2A2B88, 0x00008, + 0xFC61FF9F, 0x00008, 0xFC6BFA3E, 0x00008, 0xFCA62934, 0x00008, 0xFCAF8D65, 0x00008, + 0xFCAFED83, 0x00008, 0xFCBAC054, 0x00008, 0xFCC5B5EE, 0x00008, 0xFCD279E5, 0x00008, + 0xFCE79242, 0x00008, 0xFCF3CB19, 0x00008, 0xFCF72D72, 0x00008, 0xFD034E45, 0x00008, + 0xFD092F02, 0x00008, 0xFD133B52, 0x00008, 0xFD16B56B, 0x00008, 0xFD243B21, 0x00008, + 0xFD246910, 0x00008, 0xFD2A1197, 0x00008, 0xFD2C7999, 0x00008, 0xFD47DECC, 0x00020, + 0xFD4CCAB5, 0x00008, 0xFD4E2FE8, 0x00008, 0xFD5106C2, 0x00008, 0xFD540287, 0x00008, + 0xFD593BFB, 0x00008, 0xFD7B973C, 0x00008, 0xFD7CDBA3, 0x00008, 0xFD7E367B, 0x00008, + 0xFD7F7A49, 0x00008, 0xFD8E3010, 0x00008, 0xFDAB2215, 0x00008, 0xFDADEDD4, 0x00008, + 0xFDAE2908, 0x00008, 0xFDAF2283, 0x00008, 0xFDC8820D, 0x00008, 0xFDC8AE84, 0x00008, + 0xFDCDDFAB, 0x00008, 0xFDD06244, 0x00008, 0xFDDFB678, 0x00004, 0xFDFABDA4, 0x00008, + 0xFDFF5695, 0x00008, 0xFE0A82F2, 0x00008, 0xFE1B3561, 0x00008, 0xFE46FA45, 0x00008, + 0xFE4D2A06, 0x00008, 0xFE53B3F7, 0x00008, 0xFE59A171, 0x00008, 0xFE5DFF0B, 0x00008, + 0xFE7058B5, 0x00008, 0xFE72E03D, 0x00008, 0xFE84FF17, 0x00008, 0xFE9ED52A, 0x00008, + 0xFEAA87DA, 0x00004, 0xFEB3BE03, 0x00008, 0xFECD7838, 0x00008, 0xFED99FD0, 0x00008, + 0xFEDB04B8, 0x00008, 0xFEED4AD1, 0x00008, 0xFEEFFDC5, 0x00008, 0xFF1A5A40, 0x00004, + 0xFF1A5BF3, 0x00004, 0xFF1A5DA6, 0x00004, 0xFF1A5F59, 0x00004, 0xFF1A610C, 0x00004, + 0xFF1A62BF, 0x00004, 0xFF1A6472, 0x00004, 0xFF1A6625, 0x00004, 0xFF1A6EA4, 0x00004, + 0xFF1A7057, 0x00004, 0xFF1D6EB0, 0x00004, 0xFF1D7063, 0x00004, 0xFF1D7216, 0x00004, + 0xFF1D73C9, 0x00004, 0xFF1D757C, 0x00004, 0xFF1D772F, 0x00004, 0xFF1D78E2, 0x00004, + 0xFF1D867A, 0x00004, 0xFF1D882D, 0x00004, 0xFF20941E, 0x00004, 0xFF239E5C, 0x00004, + 0xFF23A00F, 0x00004, 0xFF23A528, 0x00004, 0xFF23A6DB, 0x00004, 0xFF23A88E, 0x00004, + 0xFF23AA41, 0x00004, 0xFF23ABF4, 0x00004, 0xFF23ADA7, 0x00004, 0xFF23AF5A, 0x00004, + 0xFF23B10D, 0x00004, 0xFF261823, 0x00008, 0xFF3E0956, 0x00008, 0xFF400FD2, 0x00008, + 0xFF406D4E, 0x00008, 0xFF4936F1, 0x00008, 0xFF4D07BE, 0x00008, 0xFF698DC6, 0x00008, + 0xFF91A170, 0x00008, 0xFFAC1654, 0x00008, 0xFFB35E50, 0x00008, 0xFFC43650, 0x00008, + 0xFFC50DCA, 0x00008, 0xFFDD9BB9, 0x00008, 0xFFEB29AE, 0x00008, + }; +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/MyItem9.cs b/PKHeX.Core/Saves/Substructures/Gen9/MyItem9.cs new file mode 100644 index 000000000..8d75ad19c --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/MyItem9.cs @@ -0,0 +1,149 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace PKHeX.Core; + +/// +/// Player item pouches storage +/// +/// size=0xBB80 ( items) +public sealed class MyItem9 : MyItem +{ + public const int ItemSaveSize = 3000; + + public MyItem9(SaveFile SAV, SCBlock block) : base(SAV, block.Data) { } + + public int GetItemQuantity(ushort itemIndex) + { + var ofs = InventoryPouch9.GetItemOffset(itemIndex); + var span = Data.AsSpan(ofs, InventoryItem9.SIZE); + var item = InventoryItem9.Read(itemIndex, span); + return item.Count; + } + + public void SetItemQuantity(ushort itemIndex, int quantity) + { + var ofs = InventoryPouch9.GetItemOffset(itemIndex); + var span = Data.AsSpan(ofs, InventoryItem9.SIZE); + var item = InventoryItem9.Read(itemIndex, span); + item.Count = quantity; + item.Pouch = GetPouchIndex(GetType(itemIndex)); + item.Write(span); + } + + public static InventoryType GetType(ushort itemIndex) + { + var types = new[] + { + InventoryType.Items, InventoryType.KeyItems, InventoryType.TMHMs, InventoryType.Medicine, + InventoryType.Berries, InventoryType.Balls, InventoryType.BattleItems, InventoryType.Treasure, + InventoryType.Ingredients, InventoryType.Candy, + }; + return Array.Find(types, z => GetLegal(z).Contains(itemIndex)); + } + + public override IReadOnlyList Inventory { get => ConvertToPouches(); set => LoadFromPouches(value); } + + private IReadOnlyList ConvertToPouches() + { + var pouches = new[] + { + MakePouch(InventoryType.Medicine, IsHeldItemLegal), + MakePouch(InventoryType.Balls, IsHeldItemLegal), + MakePouch(InventoryType.BattleItems, IsHeldItemLegal), + MakePouch(InventoryType.Berries, IsHeldItemLegal), + MakePouch(InventoryType.Items, IsHeldItemLegal), + MakePouch(InventoryType.TMHMs, IsHeldItemLegal), + MakePouch(InventoryType.Treasure, IsHeldItemLegal), + MakePouch(InventoryType.Ingredients, IsHeldItemLegal), + MakePouch(InventoryType.KeyItems), + MakePouch(InventoryType.Candy, IsHeldItemLegal), + }; + return pouches.LoadAll(Data); + } + + private void LoadFromPouches(IReadOnlyList value) + { + value.SaveAll(Data); + CleanIllegalSlots(); + } + + private void CleanIllegalSlots() + { + var all = new[] + { + GetLegal(InventoryType.Items), + GetLegal(InventoryType.KeyItems), + GetLegal(InventoryType.TMHMs), + GetLegal(InventoryType.Medicine), + GetLegal(InventoryType.Berries), + GetLegal(InventoryType.Balls), + GetLegal(InventoryType.BattleItems), + GetLegal(InventoryType.Treasure), + GetLegal(InventoryType.Ingredients), + GetLegal(InventoryType.Candy), + }.SelectMany(z => z).Distinct(); + + var hashSet = new HashSet(all); + for (ushort i = 0; i < (ushort)SAV.MaxItemID; i++) // even though there are 3000, just overwrite the ones that people will mess up. + { + if (!hashSet.Contains(i)) + InventoryItem9.Clear(Data, InventoryPouch9.GetItemOffset(i)); + } + } + + private InventoryPouch9 MakePouch(InventoryType type, Func? isLegal = null) + { + ushort[] legal = GetLegal(type); + var max = GetMax(type); + return new InventoryPouch9(type, legal, max, GetPouchIndex(type), isLegal); + } + + public static bool IsHeldItemLegal(ushort item) => !Legal.HeldItems_SV.Contains(item) || Legal.ReleasedHeldItems_9[item]; + + private static int GetMax(InventoryType type) => type switch + { + InventoryType.Items => 999, + InventoryType.KeyItems => 1, + InventoryType.TMHMs => 999, + InventoryType.Medicine => 999, + InventoryType.Berries => 999, + InventoryType.Balls => 999, + InventoryType.BattleItems => 999, + InventoryType.Treasure => 999, + InventoryType.Ingredients => 999, // 999 + InventoryType.Candy => 999, // 999 + _ => throw new ArgumentOutOfRangeException(nameof(type)), + }; + + private static ushort[] GetLegal(InventoryType type) => type switch + { + InventoryType.Items => Legal.Pouch_Other_SV, + InventoryType.KeyItems => Legal.Pouch_Event_SV, + InventoryType.TMHMs => Legal.Pouch_TM_SV, + InventoryType.Medicine => Legal.Pouch_Medicine_SV, + InventoryType.Berries => Legal.Pouch_Berries_SV, + InventoryType.Balls => Legal.Pouch_Ball_SV, + InventoryType.BattleItems => Legal.Pouch_Battle_SV, + InventoryType.Treasure => Legal.Pouch_Treasure_SV, + InventoryType.Ingredients => Legal.Pouch_Picnic_SV, + InventoryType.Candy => Legal.Pouch_Material_SV, + _ => throw new ArgumentOutOfRangeException(nameof(type)), + }; + + private static uint GetPouchIndex(InventoryType type) => type switch + { + InventoryType.Items => InventoryItem9.PouchOther, + InventoryType.KeyItems => InventoryItem9.PouchEvent, + InventoryType.TMHMs => InventoryItem9.PouchTMHM, + InventoryType.Medicine => InventoryItem9.PouchMedicine, + InventoryType.Berries => InventoryItem9.PouchBerries, + InventoryType.Balls => InventoryItem9.PouchBall, + InventoryType.BattleItems => InventoryItem9.PouchBattle, + InventoryType.Treasure => InventoryItem9.PouchTreasure, + InventoryType.Ingredients => InventoryItem9.PouchPicnic, + InventoryType.Candy => InventoryItem9.PouchMaterial, + _ => InventoryItem9.PouchNone, + }; +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/MyStatus9.cs b/PKHeX.Core/Saves/Substructures/Gen9/MyStatus9.cs new file mode 100644 index 000000000..a125a77e2 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/MyStatus9.cs @@ -0,0 +1,61 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +public sealed class MyStatus9 : SaveBlock +{ + public MyStatus9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + public int TID + { + get => ReadUInt16LittleEndian(Data.AsSpan(0x00)); + set => WriteUInt16LittleEndian(Data.AsSpan(0x00), (ushort)value); + } + + public int SID + { + get => ReadUInt16LittleEndian(Data.AsSpan(0x02)); + set => WriteUInt16LittleEndian(Data.AsSpan(0x02), (ushort)value); + } + + public int Game + { + get => Data[0x04]; + set => Data[0x04] = (byte)value; + } + + public int Gender + { + get => Data[0x05]; + set => Data[0x05] = (byte)value; + } + + // A6 + public int Language + { + get => Data[Offset + 0x07]; + set + { + if (value == Language) + return; + Data[Offset + 0x07] = (byte)value; + + // For runtime language, the game shifts all languages above Language 6 (unused) down one. + if (value >= 6) + value--; + SAV.SetValue(SaveBlockAccessor8SWSH.KGameLanguage, (uint)value); + } + } + + private Span OT_Trash => Data.AsSpan(0x10, 0x1A); + + public string OT + { + get => SAV.GetString(OT_Trash); + set => SAV.SetString(OT_Trash, value.AsSpan(), SAV.MaxStringLengthOT, StringConverterOption.ClearZero); + } + + public byte BirthMonth { get => Data[0x5A]; set => Data[0x5A] = value; } + public byte BirthDay { get => Data[0x5B]; set => Data[0x5B] = value; } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/Party9.cs b/PKHeX.Core/Saves/Substructures/Gen9/Party9.cs new file mode 100644 index 000000000..3fe8a73a0 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/Party9.cs @@ -0,0 +1,12 @@ +namespace PKHeX.Core; + +public sealed class Party9 : SaveBlock +{ + public Party9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + public int PartyCount + { + get => Data[6 * PokeCrypto.SIZE_9PARTY]; + set => Data[6 * PokeCrypto.SIZE_9PARTY] = (byte)value; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/PlayTime9.cs b/PKHeX.Core/Saves/Substructures/Gen9/PlayTime9.cs new file mode 100644 index 000000000..df7670f2a --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/PlayTime9.cs @@ -0,0 +1,27 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +public sealed class PlayTime9 : SaveBlock +{ + public PlayTime9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + public int PlayedHours + { + get => ReadInt32LittleEndian(Data.AsSpan(Offset)); + set => WriteInt32LittleEndian(Data.AsSpan(Offset), (ushort)value); + } + + public int PlayedMinutes + { + get => ReadInt32LittleEndian(Data.AsSpan(Offset + 4)); + set => WriteInt32LittleEndian(Data.AsSpan(Offset + 4), (ushort)value); + } + + public int PlayedSeconds + { + get => ReadInt32LittleEndian(Data.AsSpan(Offset + 8)); + set => WriteInt32LittleEndian(Data.AsSpan(Offset + 8), (ushort)value); + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/PlayerAppearance9.cs b/PKHeX.Core/Saves/Substructures/Gen9/PlayerAppearance9.cs new file mode 100644 index 000000000..62ddabd2e --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/PlayerAppearance9.cs @@ -0,0 +1,28 @@ +using System; +using System.ComponentModel; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// Stores the selected facial appearances of the player. +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public sealed class PlayerAppearance9 : SaveBlock +{ + public PlayerAppearance9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + public ulong SkinColor { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x00)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x00), value); } + public ulong LipColor { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x08)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x08), value); } + public ulong ColorContacts { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x10)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x10), value); } + public ulong EyeShape { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x18)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x18), value); } + public ulong EyebrowColor { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x20)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x20), value); } + public ulong EyebrowShape { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x28)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x28), value); } + public ulong _30 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x30)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x30), value); } + public ulong EyelashColor { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x38)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x38), value); } + public ulong EyelashShape1 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x40)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x40), value); } + public ulong EyelashShape2 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x48)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x48), value); } + public ulong Mouth { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x50)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x50), value); } + public ulong BeautySpot { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x58)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x58), value); } + public ulong Freckles { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x60)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x60), value); } + public ulong HairColor { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x68)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x68), value); } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/PlayerFashion9.cs b/PKHeX.Core/Saves/Substructures/Gen9/PlayerFashion9.cs new file mode 100644 index 000000000..29dd1492c --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/PlayerFashion9.cs @@ -0,0 +1,25 @@ +using System; +using System.ComponentModel; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// Stores the selected clothing choices of the player. +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public sealed class PlayerFashion9 : SaveBlock +{ + public PlayerFashion9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + public ulong _00 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x00)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x00), value); } + public ulong _08 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x08)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x08), value); } + public ulong Bag { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x10)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x10), value); } + public ulong Eyewear { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x18)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x18), value); } + public ulong Footwear { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x20)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x20), value); } + public ulong Gloves { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x28)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x28), value); } + public ulong Headwear { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x30)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x30), value); } + public ulong Hairstyle { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x38)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x38), value); } + public ulong Legwear { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x40)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x40), value); } + public ulong Uniform { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x48)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x48), value); } + public ulong _50 { get => ReadUInt64LittleEndian(Data.AsSpan(Offset + 0x50)); set => WriteUInt64LittleEndian(Data.AsSpan(Offset + 0x50), value); } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/PouchSize9.cs b/PKHeX.Core/Saves/Substructures/Gen9/PouchSize9.cs new file mode 100644 index 000000000..1269e69ea --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/PouchSize9.cs @@ -0,0 +1,52 @@ +namespace PKHeX.Core; + +/// +/// Contains information pertaining to Inventory Pouch capacity in Generation 9. +/// +public static class PouchSize9 +{ + /// + /// Pouch0 Item Max Capacity + /// + public const int Medicine = 60; + + /// + /// Pouch1 Item Max Capacity + /// + public const int Balls = 30; + + /// + /// Pouch2 Item Max Capacity + /// + public const int Battle = 20; + + /// + /// Pouch3 Item Max Capacity + /// + public const int Berries = 80; + + /// + /// Pouch4 Item Max Capacity + /// + public const int Items = 550; + + /// + /// Pouch5 Item Max Capacity + /// + public const int TMs = 210; + + /// + /// Pouch5 Item Max Capacity + /// + public const int Treasures = 100; + + /// + /// Pouch5 Item Max Capacity + /// + public const int Ingredients = 100; + + /// + /// Pouch5 Item Max Capacity + /// + public const int Key = 64; +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/RaidSpawnList9.cs b/PKHeX.Core/Saves/Substructures/Gen9/RaidSpawnList9.cs new file mode 100644 index 000000000..2feef1553 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/RaidSpawnList9.cs @@ -0,0 +1,122 @@ +using System; +using System.ComponentModel; +using static System.Buffers.Binary.BinaryPrimitives; +// ReSharper disable UnusedMember.Global + +namespace PKHeX.Core; + +public sealed class RaidSpawnList9 : SaveBlock +{ + public readonly int CountAll; + public readonly int CountUsed; + + public RaidSpawnList9(SAV9SV sav, SCBlock block) : base(sav, block.Data) + { + CountAll = block.Data.Length / TeraRaidDetail.SIZE; + CountUsed = RaidCountLegal_A0; + } + + public const int RaidCountLegal_A0 = 72; + + public TeraRaidDetail GetRaid(int entry) => new(Data, 0x10 + (entry * TeraRaidDetail.SIZE)); + + public TeraRaidDetail[] GetAllRaids() + { + var result = new TeraRaidDetail[CountAll]; + for (int i = 0; i < result.Length; i++) + result[i] = GetRaid(i); + return result; + } + + public ulong CurrentSeed + { + get => ReadUInt64LittleEndian(Data.AsSpan(0x00)); + set => WriteUInt64LittleEndian(Data.AsSpan(0x00), value); + } + + public ulong TomorrowSeed + { + get => ReadUInt64LittleEndian(Data.AsSpan(0x08)); + set => WriteUInt64LittleEndian(Data.AsSpan(0x08), value); + } +} + +public sealed class TeraRaidDetail +{ + public const int SIZE = 0x20; + + private readonly byte[] Data; + private readonly int Offset; + + public TeraRaidDetail(byte[] data, int ofs) + { + Data = data; + Offset = ofs; + } + + private const string General = nameof(General); + private const string Misc = nameof(Misc); + + [Category(General), Description("Indicates if this entry has an active raid crystal.")] + public bool IsEnabled + { + get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x00)) != 0; + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x00), value ? 1u : 0); + } + + [Category(General), Description("Zone the raid crystal is located in.")] + public uint AreaID + { + get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x04)); + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x04), value); + } + + [Category(Misc), Description("Indicates how the crystal is shown on the player's YMAP.")] + public TeraRaidDisplayType DisplayType + { + get => (TeraRaidDisplayType)ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x08)); + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x08), (uint)value); + } + + [Category(General), Description("RNG Seed (32bit) for fetching the Raid data table and generating the raid."), TypeConverter(typeof(TypeConverterU32))] + public uint Seed + { + get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x10)); + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x10), value); + } + + [Category(Misc), Description("Always zero.")] + public uint Unused + { + get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x14)); + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x14), value); + } + + [Category(General), Description("Indicates if the raid crystal is overriden to be a 6-Star Black Raid.")] + public TeraRaidContentType Content + { + get => (TeraRaidContentType)ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x18)); + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x18), (uint)value); + } + + [Category(Misc), Description("Has player already collected the League Points for this Raid?")] + public bool IsClaimedLeaguePoints + { + get => ReadUInt32LittleEndian(Data.AsSpan(Offset + 0x1C)) != 0; + set => WriteUInt32LittleEndian(Data.AsSpan(Offset + 0x1C), value ? 1u : 0); + } +} + +public enum TeraRaidDisplayType : uint +{ + None = 0, + Unrestricted = 1, + RequiresRide = 2, +} + +public enum TeraRaidContentType : uint +{ + Base05, + Black6, + Distribution, +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/RentalTeam9.cs b/PKHeX.Core/Saves/Substructures/Gen9/RentalTeam9.cs new file mode 100644 index 000000000..84bca5480 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/RentalTeam9.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +/// +/// A single Generation 9 Rental Team +/// +public sealed class RentalTeam9 : IRentalTeam, IPokeGroup +{ + private const int LEN_OT = 8; // char + private const int LEN_TEAMNAME = 10; // char + + private const int LEN_META = sizeof(ushort) + sizeof(char) * (LEN_OT + LEN_TEAMNAME) + sizeof(uint) + 6; + private const int LEN_STORED = PokeCrypto.SIZE_8STORED; // 0x148 + private const int LEN_POKE = PokeCrypto.SIZE_8PARTY; // 0x158 + private const int LEN_PARTYSTAT = LEN_POKE - PokeCrypto.SIZE_8STORED; // 0x10 + private const int COUNT_POKE = 6; + + private const int OFS_META = 0; + private const int OFS_1 = OFS_META + LEN_META; + private const int OFS_2 = OFS_1 + LEN_POKE; + private const int OFS_3 = OFS_2 + LEN_POKE; + private const int OFS_4 = OFS_3 + LEN_POKE; + private const int OFS_5 = OFS_4 + LEN_POKE; + private const int OFS_6 = OFS_5 + LEN_POKE; + private const int OFS_END = OFS_6 + LEN_POKE; + public const int SIZE = OFS_END + sizeof(uint); // 0x844 + + private readonly byte[] Data; + + public RentalTeam9(byte[] data) => Data = data; + + // 2 bytes number + public ushort ID + { + get => ReadUInt16LittleEndian(Data.AsSpan(OFS_META + 0x00)); + set => WriteUInt16LittleEndian(Data.AsSpan(OFS_META + 0x00), value); + } + + private Span Player_Trash => Data.AsSpan(OFS_META + 0x02, LEN_OT * sizeof(char)); + + public ushort Unknown + { + get => ReadUInt16LittleEndian(Data.AsSpan(OFS_META + 0x12)); + set => WriteUInt16LittleEndian(Data.AsSpan(OFS_META + 0x12), value); + } + + public uint Unknown2 + { + get => ReadUInt32LittleEndian(Data.AsSpan(OFS_META + 0x14)); + set => WriteUInt32LittleEndian(Data.AsSpan(OFS_META + 0x14), value); + } + + private Span TeamName_Trash => Data.AsSpan(OFS_META + 0x18, LEN_TEAMNAME * sizeof(char)); + + public uint Number + { + get => ReadUInt32LittleEndian(Data.AsSpan(OFS_META + 0x2C)); + set => WriteUInt32LittleEndian(Data.AsSpan(OFS_META + 0x2C), value); + } + + public string PlayerName + { + get => StringConverter8.GetString(Player_Trash); + set => StringConverter8.SetString(Player_Trash, value.AsSpan(), LEN_OT); + } + + public string TeamName + { + get => StringConverter8.GetString(TeamName_Trash); + set => StringConverter8.SetString(TeamName_Trash, value.AsSpan(), LEN_TEAMNAME); + } + public uint End + { + get => ReadUInt32LittleEndian(Data.AsSpan(OFS_END)); + set => WriteUInt32LittleEndian(Data.AsSpan(OFS_END), value); + } + + public PK9 GetSlot(int slot) + { + var ofs = GetSlotOffset(slot); + var data = Data.Slice(ofs, LEN_POKE); + var pk9 = new PK9(data); + pk9.ResetPartyStats(); + return pk9; + } + + public void SetSlot(int slot, PK9 pk) + { + var ofs = GetSlotOffset(slot); + var data = pk.EncryptedPartyData; + // Wipe Party Stats + Array.Clear(data, LEN_STORED, LEN_PARTYSTAT); + data.CopyTo(Data, ofs); + } + + public PK9[] GetTeam() + { + var team = new PK9[COUNT_POKE]; + for (int i = 0; i < team.Length; i++) + team[i] = GetSlot(i); + return team; + } + + public void SetTeam(IReadOnlyList team) + { + for (int i = 0; i < team.Count; i++) + SetSlot(i, team[i]); + } + + public static int GetSlotOffset(int slot) + { + if ((uint)slot >= COUNT_POKE) + throw new ArgumentOutOfRangeException(nameof(slot)); + return OFS_1 + (LEN_POKE * slot); + } + + public IEnumerable Contents => GetTeam(); + + public static bool IsRentalTeam(byte[] data) + { + if (data.Length != SIZE) + return false; + var team = new RentalTeam9(data).GetTeam(); + return team.All(x => x.ChecksumValid); + } + + public static RentalTeam9 GetFrom(ReadOnlySpan data, int index) + { + var ofs = index * SIZE; + var team = data.Slice(ofs, SIZE).ToArray(); + return new RentalTeam9(team); + } + + public void WriteTo(Span data, int index) => Data.CopyTo(data[(index * SIZE)..]); +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/RentalTeamSet9.cs b/PKHeX.Core/Saves/Substructures/Gen9/RentalTeamSet9.cs new file mode 100644 index 000000000..dfcee4c95 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/RentalTeamSet9.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace PKHeX.Core; + +/// +/// Save Block for Scarlet/Violet that stores a fixed amount of saved rental teams. +/// +public sealed class RentalTeamSet9 : IPokeGroup +{ + public const int SIZE = Count * RentalTeam9.SIZE; + private const int Count = 5; + private readonly byte[] Data; + public RentalTeamSet9(byte[] data) => Data = data; + + public RentalTeam9 GetRentalTeam(int index) => RentalTeam9.GetFrom(Data, index); + public void SetRentalTeam(int index, RentalTeam9 team) => team.WriteTo(Data, index); + + public IEnumerable Contents + { + get + { + for (int i = 0; i < Count; i++) + { + var team = GetRentalTeam(i); + foreach (var pk in team.Contents) + yield return pk; + } + } + } + + public static bool IsRentalTeamSet(ReadOnlyMemory data) + { + if (data.Length != SIZE) + return false; + for (int i = 0; i < Count; i++) + { + var offset = i * RentalTeam9.SIZE; + var slice = data.Slice(offset, RentalTeam9.SIZE).ToArray(); + if (!RentalTeam9.IsRentalTeam(slice)) + return false; + } + return true; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/TeamIndexes9.cs b/PKHeX.Core/Saves/Substructures/Gen9/TeamIndexes9.cs new file mode 100644 index 000000000..a90102674 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/TeamIndexes9.cs @@ -0,0 +1,70 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +public sealed class TeamIndexes9 : SaveBlock, ITeamIndexSet +{ + private const int TeamCount = 6; + private const int NONE_SELECTED = -1; + public readonly int[] TeamSlots = new int[TeamCount * 6]; + + public TeamIndexes9(SAV9SV sav, SCBlock block) : base(sav, block.Data) { } + + public void LoadBattleTeams() + { + if (!SAV.State.Exportable) + { + ClearBattleTeams(); + return; + } + + for (int i = 0; i < TeamCount * 6; i++) + { + short val = ReadInt16LittleEndian(Data.AsSpan(Offset + (i * 2))); + if (val < 0) + { + TeamSlots[i] = NONE_SELECTED; + continue; + } + + int box = val >> 8; + int slot = val & 0xFF; + int index = (SAV.BoxSlotCount * box) + slot; + TeamSlots[i] = index & 0xFFFF; + } + } + + public void ClearBattleTeams() + { + for (int i = 0; i < TeamSlots.Length; i++) + TeamSlots[i] = NONE_SELECTED; + } + + public void UnlockAllTeams() + { + for (int i = 0; i < TeamCount; i++) + SetIsTeamLocked(i, false); + } + + public void SaveBattleTeams() + { + var span = Data.AsSpan(Offset); + for (int i = 0; i < TeamCount * 6; i++) + { + int index = TeamSlots[i]; + if (index < 0) + { + WriteInt16LittleEndian(span[(i * 2)..], (short)index); + continue; + } + + SAV.GetBoxSlotFromIndex(index, out var box, out var slot); + index = (box << 8) | slot; + WriteInt16LittleEndian(span[(i * 2)..], (short)index); + } + } + + public bool GetIsTeamLocked(int team) => true; + public void SetIsTeamLocked(int team, bool value) { } +} diff --git a/PKHeX.Core/Saves/Substructures/Inventory/Item/InventoryItem9.cs b/PKHeX.Core/Saves/Substructures/Inventory/Item/InventoryItem9.cs new file mode 100644 index 000000000..b8abff9c3 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Inventory/Item/InventoryItem9.cs @@ -0,0 +1,94 @@ +using System; +using static System.Buffers.Binary.BinaryPrimitives; + +namespace PKHeX.Core; + +public sealed record InventoryItem9 : InventoryItem, IItemFavorite, IItemNewFlag +{ + public const int SIZE = 0x10; + + public const uint PouchNone = 0xFFFFFFFF; + public const uint PouchMedicine = 0; + public const uint PouchBall = 1; + public const uint PouchBattle = 2; + public const uint PouchBerries = 3; + public const uint PouchOther = 4; + public const uint PouchTMHM = 5; + public const uint PouchTreasure = 6; + public const uint PouchPicnic = 7; + public const uint PouchEvent = 8; + public const uint PouchMaterial = 9; + public const uint PouchRecipe = 10; + + public uint Pouch { get; set; } + public uint Flags { get; set; } + public uint Padding { get; set; } + + public bool IsFavorite { get => (Flags & 0x2) != 0; set => Flags |= value ? 0x2u : 0x0u; } + public bool IsNew { get => (Flags & 0x1) != 0; set => Flags |= value ? 0x1u : 0x0u; } + + public override string ToString() => $"{Index:000} x{Count}{(IsNew ? "*" : "")}{(IsFavorite ? "F" : "")} - {Flags:X8}"; + + public override void Clear() + { + Index = Count = 0; + Flags = Padding = 0; + IsFavorite = false; + IsNew = true; + Pouch = PouchNone; + } + + /// + /// Indicates if the item has been acquired by the player. + /// + public bool IsValidPouch => Pouch != PouchNone; + + public static InventoryItem9 Read(ushort index, ReadOnlySpan data) => new() + { + Index = index, + Pouch = ReadUInt32LittleEndian(data), + Count = ReadInt32LittleEndian(data[4..]), + Flags = ReadUInt32LittleEndian(data[8..]), + Padding = ReadUInt32LittleEndian(data[12..]), + }; + + public void Write(Span data) + { + // Game bug: Flags 0/2 are always set, marking all items as new on save... + if (Pouch != PouchNone) + Flags |= 5; + + // Index is not saved. + WriteUInt32LittleEndian(data, Pouch); + WriteUInt32LittleEndian(data[4..], (uint)Count); + WriteUInt32LittleEndian(data[8..], Flags); + WriteUInt32LittleEndian(data[12..], Padding); + } + + public static void Clear(Span data, int offset) { + data.Slice(offset, SIZE).Clear(); + WriteUInt32LittleEndian(data[offset..], PouchNone); + } + + public override void SetNewDetails(int count) + { + base.SetNewDetails(count); + if (IsValidPouch) + return; + IsNew = true; + IsFavorite = false; + } + + /// + /// Item has been matched to a previously existing item. Copy over the misc details. + /// + public override void MergeOverwrite(T other) + { + base.MergeOverwrite(other); + if (other is not InventoryItem9 item) + return; + Pouch = item.Pouch; + Flags = item.Flags; + Padding = item.Padding; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch9.cs b/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch9.cs new file mode 100644 index 000000000..17bd8fd5e --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch9.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; + +namespace PKHeX.Core; + +public sealed class InventoryPouch9 : InventoryPouch +{ + public bool SetNew { get; set; } + public uint PouchIndex { get; set; } + + public InventoryPouch9(InventoryType type, ushort[] legal, int maxCount, uint pouch, + Func? isLegal) + : base(type, legal, maxCount, 0, isLegal: isLegal) + { + PouchIndex = pouch; + } + + public override InventoryItem GetEmpty(int itemID = 0, int count = 0) => new InventoryItem9 { Index = itemID, Count = count, IsNew = true }; + + public override void GetPouch(ReadOnlySpan data) + { + var items = new InventoryItem9[LegalItems.Length]; + + int ctr = 0; + foreach (var index in LegalItems) + { + var item = GetItem(data, index); + if (!item.IsValidPouch) + continue; + items[ctr++] = item; + } + while (ctr != LegalItems.Length) + items[ctr++] = new InventoryItem9(); + + Items = items; + } + + public InventoryItem9 GetItem(ReadOnlySpan data, ushort itemID) + { + var ofs = GetItemOffset(itemID); + return InventoryItem9.Read(itemID, data[ofs..]); + } + + public override void SetPouch(Span data) + { + HashSet processed = new(); + + // Write all the item slots still present in the pouch. Keep track of the item IDs processed. + var items = (InventoryItem9[])Items; + + foreach (var item in items) + { + var index = (ushort)item.Index; + if (index == 0) + continue; + var isInLegal = Array.IndexOf(LegalItems, index); + if (isInLegal == -1) + { + Debug.WriteLine($"Invalid Item ID returned within this pouch: {index}"); + continue; + } + + if (SetNew && item.Index != 0) + { + var original = GetItem(data, (ushort)item.Index); + item.IsNew |= !original.IsValidPouch; + } + + item.Pouch = PouchIndex; + + var ofs = GetItemOffset(index); + item.Write(data[ofs..]); + + if (!processed.Contains(index)) // we will allow duplicate item definitions, but they'll overwrite instead of sum/separate. + processed.Add(index); + } + + // For all the items that were not present in the pouch, clear the data for them. + foreach (var index in LegalItems) + { + if (processed.Contains(index)) + continue; + ClearItem(data, index); + } + } + + public static int GetItemOffset(ushort index) => (InventoryItem9.SIZE * index); + + public void ClearItem(Span data, ushort index) => InventoryItem9.Clear(data, GetItemOffset(index)); +} diff --git a/PKHeX.Core/Saves/Substructures/PokeDex/PokeDexEntry9SV.cs b/PKHeX.Core/Saves/Substructures/PokeDex/PokeDexEntry9SV.cs new file mode 100644 index 000000000..68e1a1e21 --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/PokeDex/PokeDexEntry9SV.cs @@ -0,0 +1,141 @@ +using System; +using System.Buffers.Binary; + +namespace PKHeX.Core; + +public readonly ref struct PokeDexEntry9SV +{ + public const int SIZE = 0x18; + + private readonly Span Data; + public PokeDexEntry9SV(Span data) => Data = data; + public void Clear() => Data.Clear(); + + /* Structure: 0x18 bytes + 0x0 u32 0 = not shown, 1 = shown, don't have, 2 = seen, 3 = obtained + 0x4 u32 forms obtained (flags) + 0x8 u16 flags for genders seen, can be on mons you don't have + 01 = male seen + 02 = female seen + 04 = genderless seen + 0x0A u16 language obtained + 0x0C u8 shiny obtained (bool) + 0x0D u8 New + 0x0E u8 - unused alignment + 0x0F u8 - unused alignment + 0x10 u16? display form + 0x14 u8 display gender (0 = male, 1 = female, 2 = genderless) + 0x15 u8 display shiny (bool) + 0x16 u8 has gender difference (bool) + 0x17 u8 - unused alignment + */ + + public uint GetState() => BinaryPrimitives.ReadUInt32LittleEndian(Data); + private uint FlagsFormSeen { get => BinaryPrimitives.ReadUInt32LittleEndian(Data[0x04..]); set => BinaryPrimitives.WriteUInt32LittleEndian(Data[0x04..], value); } + private ushort FlagsGenderSeen { get => BinaryPrimitives.ReadUInt16LittleEndian(Data[0x08..]); set => BinaryPrimitives.WriteUInt16LittleEndian(Data[0x08..], value); } + private ushort FlagsLanguage { get => BinaryPrimitives.ReadUInt16LittleEndian(Data[0x0A..]); set => BinaryPrimitives.WriteUInt16LittleEndian(Data[0x0A..], value); } + + public bool GetSeenIsShiny() => Data[0x0C] != 0; + public bool GetDisplayIsNew() => Data[0x0D] != 0; + public byte GetUnused0E() => Data[0x0E]; + public byte GetUnused0F() => Data[0x0F]; + private uint DisplayFormIndex { get => BinaryPrimitives.ReadUInt32LittleEndian(Data[0x10..]); set => BinaryPrimitives.WriteUInt32LittleEndian(Data[0x10..], value); } + private byte DisplayGender { get => Data[0x14]; set => Data[0x14] = value; } + public bool GetDisplayIsShiny() => Data[0x15] != 0; + public bool GetDisplayGenderIsDifferent() => Data[0x16] != 0; + public byte GetUnused17() => Data[0x17]; + + public void SetState(uint value) => BinaryPrimitives.WriteUInt32LittleEndian(Data, value); + public void SetSeenIsShiny(bool value = true) => Data[0x0C] = value ? (byte)1 : (byte)0; + public void SetDisplayIsNew(bool value = true) => Data[0x0D] = value ? (byte)1 : (byte)0; + public void SetUnused0E(byte value) => Data[0x0E] = value; + public void SetUnused0F(byte value) => Data[0x0F] = value; + public void SetDisplayIsShiny(bool value = true) => Data[0x15] = value ? (byte)1 : (byte)0; + public void SetDisplayGenderIsDifferent(bool value = true) => Data[0x16] = value ? (byte)1 : (byte)0; + public void SetUnused17(byte value) => Data[0x17] = value; + + public bool IsUnknown => GetState() == 0; + public bool IsKnown => GetState() != 0; + public bool IsSeen => GetState() >= 2; + public bool IsCaught => GetState() >= 3; + + public void SetCaught(bool value) => SetState(value ? 3u : 2u); + public void SetSeen(bool value) + { + if (!value) + SetState(1); + else + SetState(GetState() | 2); + } + + public bool GetIsGenderSeen(int gender) => (FlagsGenderSeen & (1u << gender)) != 0; + + public void SetIsGenderSeen(int gender, bool value) + { + if (value) + FlagsGenderSeen |= (ushort)(1u << gender); + else + FlagsGenderSeen &= (ushort)~(1u << gender); + } + + public bool GetIsFormSeen(byte form) => (FlagsFormSeen & (1u << form)) != 0; + public void SetIsFormSeen(byte form, bool value) + { + if (value) + FlagsFormSeen |= 1u << form; + else + FlagsFormSeen &= ~(1u << form); + } + + public uint GetDisplayForm() => DisplayFormIndex; + public void SetDisplayForm(uint form) => DisplayFormIndex = form; + + public static int GetDexLangFlag(int lang) => lang switch + { + > 10 or 6 or <= 0 => 0, // invalid language + // skip over langID 0 (unused) => [0-8] + // skip over langID 6 (unused) + >= 7 => lang - 2, + _ => lang - 1, + }; + + private static int GetLanguageBitMask(int langIndex) => 1 << GetDexLangFlag(langIndex); + + public bool GetLanguageFlag(int langIndex) => (FlagsLanguage & GetLanguageBitMask(langIndex)) != 0; + + public void SetLanguageFlag(int langIndex, bool value) + { + var mask = GetLanguageBitMask(langIndex); + if (value) + FlagsLanguage |= (ushort)mask; + else + FlagsLanguage &= (ushort)~mask; + } + + public uint GetDisplayGender() => DisplayGender switch + { + 0 => 0, + 1 => 1, + _ => 2, + }; + + public void SetDisplayGender(int value) + { + DisplayGender = value switch + { + 0 => 0, + 1 => 1, + _ => 2, + }; + } + + public void ClearCaught() + { + SetCaught(false); + SetSeenIsShiny(false); + SetDisplayForm(0); + SetDisplayGender(0); + SetDisplayIsShiny(false); + SetDisplayGenderIsDifferent(false); + } +} diff --git a/PKHeX.Core/Saves/Substructures/PokeDex/Zukan9.cs b/PKHeX.Core/Saves/Substructures/PokeDex/Zukan9.cs new file mode 100644 index 000000000..b59ad210a --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/PokeDex/Zukan9.cs @@ -0,0 +1,267 @@ +using System; + +namespace PKHeX.Core; + +/// +/// Pokédex structure used for . +/// > +public sealed class Zukan9 : ZukanBase +{ + private readonly SCBlock Paldea; + + public Zukan9(SAV9SV sav, SCBlock paldea) : base(sav, 0) + { + Paldea = paldea; + } + + /// + /// Checks how much DLC patches have been installed by detecting if DLC blocks are present. + /// + public int GetRevision() => 0; // No DLC1 data allocated + private const int EntrySize = PokeDexEntry9SV.SIZE; + + public PokeDexEntry9SV Get(ushort species) + { + if (species > SAV.MaxSpeciesID) + throw new ArgumentOutOfRangeException(nameof(species), species, null); + var span = Paldea.Data.AsSpan(species * EntrySize); + return new PokeDexEntry9SV(span); + } + + public override bool GetSeen(ushort species) => Get(species).IsSeen; + public override bool GetCaught(ushort species) => Get(species).IsCaught; + public void SetCaught(ushort species, bool value = true) => Get(species).SetCaught(value); + public bool GetIsLanguageIndexObtained(ushort species, int langIndex) => Get(species).GetLanguageFlag(langIndex); + public void SetIsLanguageIndexObtained(ushort species, int langIndex, bool value = true) => Get(species).SetLanguageFlag(langIndex, value); + + public bool GetIsLanguageObtained(ushort species, int language) + { + int langIndex = PokeDexEntry9SV.GetDexLangFlag(language); + if (langIndex < 0) + return false; + + return GetIsLanguageIndexObtained(species, language); + } + + public void SetIsLanguageObtained(ushort species, int language, bool value = true) + { + int langIndex = PokeDexEntry9SV.GetDexLangFlag(language); + if (langIndex < 0) + return; + + SetIsLanguageIndexObtained(species, language, value); + } + + public uint GetFormDisplayed(ushort species) => Get(species).GetDisplayForm(); + public void SetFormDisplayed(ushort species, byte form = 0) => Get(species).SetDisplayForm(form); + public uint GetGenderDisplayed(ushort species) => Get(species).GetDisplayGender(); + public void SetGenderDisplayed(ushort species, int value = 0) => Get(species).SetDisplayGender(value); + + public bool GetDisplayShiny(ushort species) => Get(species).GetDisplayIsShiny(); + public void SetDisplayShiny(ushort species, bool value = true) => Get(species).SetDisplayIsShiny(value); + + #region Inherited + public override void SetDex(PKM pk) + { + if (pk.IsEgg) // do not add + return; + ushort species = pk.Species; + var pt = SAV.Personal; + if (!pt.IsPresentInGame(species, pk.Form)) + return; + + var entry = Get(species); + if (!entry.IsKnown) + entry.SetDisplayIsNew(); + + entry.SetCaught(true); + entry.SetDisplayForm(pk.Form); + entry.SetDisplayGender(pk.Gender); + if (pk.IsShiny) + { + entry.SetDisplayIsShiny(); + entry.SetSeenIsShiny(); + } + entry.SetLanguageFlag(pk.Language, true); + if (SAV.Language != pk.Language) + entry.SetLanguageFlag(SAV.Language, true); + + // Update adjacent entries if not seen. + UpdateAdjacent(species); + } + + public void UpdateAdjacent(ushort species) + { + var (group, index) = GetDexIndex(species); + if (index == 0) + return; + + MarkAsKnown1(group, index - 1); + MarkAsKnown1(group, index + 1); + } + + private void MarkAsKnown1(byte group, int index) + { + if (group == 1 && index <= 9) // Don't set adjacent for starters. Hide their evolutions! + return; + + var species = GetSpecies(group, index); + if (species == 0) + return; + var entry = Get(species); + if (!entry.IsKnown) + entry.SetState(1); + } + + private ushort GetSpecies(byte group, int index) + { + for (ushort species = 0; species <= SAV.MaxSpeciesID; species++) + { + var (g, i) = GetDexIndex(species); + if (g == group && i == index) + return species; + } + return 0; + } + + public static (byte Group, ushort Index) GetDexIndex(ushort species) + { + var pt = PersonalTable.SV; + // For each form including form 0, check the dex index. + var pi = pt.GetFormEntry(species, 0); + if (pi.DexIndex != 0) + return (pi.DexGroup, pi.DexIndex); + + for (int f = 0; f <= pi.FormCount; f++) + { + pi = pt.GetFormEntry(species, 0); + if (pi.DexIndex != 0) + return (pi.DexGroup, pi.DexIndex); + } + return (0, 0); + } + + public override void SeenNone() + { + Array.Clear(Paldea.Data, 0, Paldea.Data.Length); + } + + public override void CaughtNone() + { + for (ushort i = 0; i < SAV.MaxSpeciesID; i++) + { + var entry = Get(i); + entry.ClearCaught(); + } + } + + public override void SeenAll(bool shinyToo = false) + { + SetAllSeen(true, shinyToo); + } + + private void SeenAll(ushort species, byte fc, bool shinyToo, bool value = true) + { + var pt = PersonalTable.SV; + for (byte form = 0; form < fc; form++) + { + var pi = pt.GetFormEntry(species, form); + var val = value && pi.IsPresentInGame; + SeenAll(species, form, val, pi, shinyToo); + } + } + + private void SeenAll(ushort species, byte form, bool value, IGenderDetail pi, bool shinyToo) + { + var entry = Get(species); + if (pi.IsDualGender || !value) + { + entry.SetIsGenderSeen(0, value); + entry.SetIsGenderSeen(1, value); + } + else + { + var gender = pi.FixedGender(); + entry.SetIsGenderSeen(gender, value); + } + entry.SetIsFormSeen(form, value); + + if (!value || shinyToo) + entry.SetSeenIsShiny(value); + } + + public override void CompleteDex(bool shinyToo = false) + { + for (ushort species = 0; species < SAV.MaxSpeciesID; species++) + { + if (!SAV.Personal.IsSpeciesInGame(species)) + continue; + if (GetDexIndex(species).Index == 0) + continue; + SetDexEntryAll(species, shinyToo); + } + } + + public override void CaughtAll(bool shinyToo = false) + { + SeenAll(shinyToo); + for (ushort species = 0; species < SAV.MaxSpeciesID; species++) + { + if (!SAV.Personal.IsSpeciesInGame(species)) + continue; + if (GetDexIndex(species).Index == 0) + continue; + SetAllCaught(species, true, shinyToo); + } + } + + private void SetAllCaught(ushort species, bool value = true, bool shinyToo = false) + { + SetCaught(species, value); + for (int i = 1; i <= (int)LanguageID.ChineseT; i++) + SetIsLanguageObtained(species, i, value); + + if (value) + { + var pi = SAV.Personal[species]; + if (shinyToo) + SetDisplayShiny(species); + + SetGenderDisplayed(species, pi.RandomGender()); + } + else + { + SetDisplayShiny(species, false); + SetGenderDisplayed(species, 0); + } + } + + public override void SetAllSeen(bool value = true, bool shinyToo = false) + { + var pt = SAV.Personal; + for (ushort species = 0; species < SAV.MaxSpeciesID; species++) + { + if (value && GetDexIndex(species).Index == 0) + continue; + var pi = pt[species]; + SeenAll(species, pi.FormCount, value, shinyToo); + } + } + + private void SetAllSeen(ushort species, bool value = true, bool shinyToo = false) + { + var pi = SAV.Personal[species]; + var fc = pi.FormCount; + SeenAll(species, fc, shinyToo, value); + } + + public override void SetDexEntryAll(ushort species, bool shinyToo = false) + { + SetAllSeen(species, true, shinyToo); + SetAllCaught(species, true, shinyToo); + } + + public override void ClearDexEntryAll(ushort species) => Get(species).Clear(); + + #endregion +} diff --git a/PKHeX.Core/Saves/Util/SaveUtil.cs b/PKHeX.Core/Saves/Util/SaveUtil.cs index b7d58dfc0..05b090700 100644 --- a/PKHeX.Core/Saves/Util/SaveUtil.cs +++ b/PKHeX.Core/Saves/Util/SaveUtil.cs @@ -15,6 +15,13 @@ public static class SaveUtil { public const int BEEF = 0x42454546; + public const int SIZE_G9_0 = 0x31626F; // 1.0.0 fresh + public const int SIZE_G9_0a = 0x31627C; // 1.0.0 after multiplayer + public const int SIZE_G9_1 = 0x319DB3; // 1.0.1 fresh + public const int SIZE_G9_1a = 0x319DC0; // 1.0.1 after multiplayer + public const int SIZE_G9_1A = 0x31A2C0; // 1.0.0 -> 1.0.1 + public const int SIZE_G9_1Aa = 0x31A2CD; // 1.0.1 -> 1.0.1 after multiplayer + public const int SIZE_G8LA = 0x136DDE; public const int SIZE_G8LA_1 = 0x13AD06; @@ -94,7 +101,14 @@ public static class SaveUtil }; #endif - internal static readonly HashSet SizesSWSH = new() + private static readonly HashSet SizesSV = new() + { + SIZE_G9_0, SIZE_G9_0a, + SIZE_G9_1, SIZE_G9_1a, + SIZE_G9_1A, SIZE_G9_1Aa, + }; + + private static readonly HashSet SizesSWSH = new() { SIZE_G8SWSH, SIZE_G8SWSH_1, SIZE_G8SWSH_2, SIZE_G8SWSH_2B, SIZE_G8SWSH_3, SIZE_G8SWSH_3A, SIZE_G8SWSH_3B, SIZE_G8SWSH_3C, }; @@ -104,7 +118,7 @@ public static class SaveUtil SIZE_G2RAW_U, SIZE_G2VC_U, SIZE_G2BAT_U, SIZE_G2EMU_U, SIZE_G2RAW_J, SIZE_G2BAT_J, SIZE_G2EMU_J, SIZE_G2VC_J, }; - private static readonly HashSet Sizes = new(SizesGen2.Concat(SizesSWSH)) + private static readonly HashSet Sizes = new(SizesGen2.Concat(SizesSWSH).Concat(SizesSV)) { SIZE_G8LA, SIZE_G8LA_1, SIZE_G8BDSP, SIZE_G8BDSP_1, SIZE_G8BDSP_2, SIZE_G8BDSP_3, // SizesSWSH covers gen8 sizes since there's so many @@ -172,6 +186,8 @@ private static GameVersion GetSAVType(byte[] data) return ver; if ((ver = GetIsG8SAV_LA(data)) != Invalid) return ver; + if ((ver = GetIsG9SAV(data)) != Invalid) + return ver; return Invalid; } @@ -530,6 +546,17 @@ private static GameVersion GetIsG8SAV_LA(byte[] data) return SwishCrypto.GetIsHashValid(data) ? PLA : Invalid; } + /// Checks to see if the data belongs to a Gen8 save + /// Save data of which to determine the type + /// Version Identifier or Invalid if type cannot be determined. + private static GameVersion GetIsG9SAV(byte[] data) + { + if (!SizesSV.Contains(data.Length)) + return Invalid; + + return SwishCrypto.GetIsHashValid(data) ? SV : Invalid; + } + private static bool GetIsBank7(ReadOnlySpan data) => data.Length == SIZE_G7BANK && data[0] != 0; private static bool GetIsBank4(ReadOnlySpan data) => data.Length == SIZE_G4BANK && ReadUInt32LittleEndian(data[0x3FC00..]) != 0; // box name present private static bool GetIsBank3(ReadOnlySpan data) => data.Length == SIZE_G4BANK && ReadUInt32LittleEndian(data[0x3FC00..]) == 0; // size collision with ^ @@ -637,6 +664,8 @@ private static GameVersion GetIsG8SAV_LA(byte[] data) BDSP => new SAV8BS(data), PLA => new SAV8LA(data), + SV => new SAV9SV(data), + // Side Games COLO => new SAV3Colosseum(data), XD => new SAV3XD(data), @@ -783,6 +812,8 @@ public static SaveFile GetBlankSAV(GameVersion game, string trainerName, Languag BD or SP or BDSP => new SAV8BS(), PLA => new SAV8LA(), + SL or VL or SV => new SAV9SV(), + _ => throw new ArgumentOutOfRangeException(nameof(game)), }; diff --git a/PKHeX.Core/Util/ArrayUtil.cs b/PKHeX.Core/Util/ArrayUtil.cs index f32297fe0..4bfa7cae0 100644 --- a/PKHeX.Core/Util/ArrayUtil.cs +++ b/PKHeX.Core/Util/ArrayUtil.cs @@ -171,6 +171,15 @@ internal static T[] ConcatAll(T[] arr1, T[] arr2, T[] arr3) return result; } + internal static T[] ConcatAll(T[] arr1, ReadOnlySpan arr2) + { + int len = arr1.Length + arr2.Length; + var result = new T[len]; + arr1.CopyTo(result, 0); + arr2.CopyTo(result.AsSpan(arr1.Length)); + return result; + } + internal static T[] ConcatAll(T[] arr1, T[] arr2, ReadOnlySpan arr3) { int len = arr1.Length + arr2.Length + arr3.Length; diff --git a/PKHeX.Core/Util/ComboItemUtil.cs b/PKHeX.Core/Util/ComboItemUtil.cs index 37a5e9a9d..2bd06532b 100644 --- a/PKHeX.Core/Util/ComboItemUtil.cs +++ b/PKHeX.Core/Util/ComboItemUtil.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; namespace PKHeX.Core; @@ -52,7 +52,7 @@ public static List GetCBList(IReadOnlyList inStrings, int ind return list; } - public static IReadOnlyList GetUnsortedCBList(IReadOnlyList inStrings, ReadOnlySpan allowed) + public static ComboItem[] GetUnsortedCBList(IReadOnlyList inStrings, ReadOnlySpan allowed) { var count = allowed.Length; var list = new ComboItem[count]; @@ -72,6 +72,18 @@ public static void AddCBWithOffset(List list, IReadOnlyList i list.Add(item); } + public static void AddCBWithOffset(List cbList, IReadOnlyList inStrings, int offset, byte[] allowed) + { + int beginCount = cbList.Count; + cbList.Capacity += allowed.Length; + foreach (var index in allowed) + { + var item = new ComboItem(inStrings[index - offset], index); + cbList.Add(item); + } + cbList.Sort(beginCount, allowed.Length, Comparer); + } + public static void AddCBWithOffset(List cbList, IReadOnlyList inStrings, int offset, ushort[] allowed) { int beginCount = cbList.Count; diff --git a/PKHeX.Core/Util/FileUtil.cs b/PKHeX.Core/Util/FileUtil.cs index 04845504f..631072116 100644 --- a/PKHeX.Core/Util/FileUtil.cs +++ b/PKHeX.Core/Util/FileUtil.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; @@ -102,6 +102,16 @@ private static bool TryGetBundle(byte[] data, [NotNullWhen(true)] out IPokeGroup result = new RentalTeam8(data); return true; } + if (RentalTeam9.IsRentalTeam(data)) + { + result = new RentalTeam9(data); + return true; + } + if (RentalTeamSet9.IsRentalTeamSet(data)) + { + result = new RentalTeamSet9(data); + return true; + } return false; } diff --git a/PKHeX.Core/Util/ValueTypeTypeConverter.cs b/PKHeX.Core/Util/ValueTypeTypeConverter.cs index f1c492cdf..adc41968a 100644 --- a/PKHeX.Core/Util/ValueTypeTypeConverter.cs +++ b/PKHeX.Core/Util/ValueTypeTypeConverter.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections; using System.ComponentModel; @@ -28,6 +28,35 @@ public sealed class ValueTypeTypeConverter : ExpandableObjectConverter } } +public sealed class TypeConverterU32 : TypeConverter +{ + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) + { + return destinationType == typeof(string) || base.CanConvertTo(context, destinationType); + } + + public override object? ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) + { + if (destinationType == typeof(string) && value is uint u) + return $"{u:X8}"; // no 0x prefix + return base.ConvertTo(context, culture, value, destinationType); + } + + public override object? ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) + { + if (value is not string input) + return base.ConvertFrom(context, culture, value); + if (input.StartsWith("0x", StringComparison.OrdinalIgnoreCase)) + input = input[2..]; + return uint.TryParse(input, System.Globalization.NumberStyles.HexNumber, culture, out var result) ? result : 0ul; + } +} + public sealed class TypeConverterU64 : TypeConverter { public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) diff --git a/PKHeX.Drawing.Misc/Properties/Resources.Designer.cs b/PKHeX.Drawing.Misc/Properties/Resources.Designer.cs index 03043eb8e..a6979c93b 100644 --- a/PKHeX.Drawing.Misc/Properties/Resources.Designer.cs +++ b/PKHeX.Drawing.Misc/Properties/Resources.Designer.cs @@ -19,10 +19,10 @@ namespace PKHeX.Drawing.Misc.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public sealed class Resources { + public class Resources { private static global::System.Resources.ResourceManager resourceMan; @@ -120,6 +120,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp01sv { + get { + object obj = ResourceManager.GetObject("box_wp01sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -190,6 +200,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp02sv { + get { + object obj = ResourceManager.GetObject("box_wp02sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -260,6 +280,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp03sv { + get { + object obj = ResourceManager.GetObject("box_wp03sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -330,6 +360,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp04sv { + get { + object obj = ResourceManager.GetObject("box_wp04sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -400,6 +440,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp05sv { + get { + object obj = ResourceManager.GetObject("box_wp05sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -470,6 +520,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp06sv { + get { + object obj = ResourceManager.GetObject("box_wp06sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -540,6 +600,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp07sv { + get { + object obj = ResourceManager.GetObject("box_wp07sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -610,6 +680,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp08sv { + get { + object obj = ResourceManager.GetObject("box_wp08sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -680,6 +760,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp09sv { + get { + object obj = ResourceManager.GetObject("box_wp09sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -750,6 +840,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp10sv { + get { + object obj = ResourceManager.GetObject("box_wp10sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -820,6 +920,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp11sv { + get { + object obj = ResourceManager.GetObject("box_wp11sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -890,6 +1000,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp12sv { + get { + object obj = ResourceManager.GetObject("box_wp12sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -970,6 +1090,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp13sv { + get { + object obj = ResourceManager.GetObject("box_wp13sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1050,6 +1180,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp14sv { + get { + object obj = ResourceManager.GetObject("box_wp14sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1130,6 +1270,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp15sv { + get { + object obj = ResourceManager.GetObject("box_wp15sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1210,6 +1360,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp16sv { + get { + object obj = ResourceManager.GetObject("box_wp16sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1300,6 +1460,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp17sv { + get { + object obj = ResourceManager.GetObject("box_wp17sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1390,6 +1560,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp18sv { + get { + object obj = ResourceManager.GetObject("box_wp18sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1480,6 +1660,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp19sv { + get { + object obj = ResourceManager.GetObject("box_wp19sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1570,6 +1760,26 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp20sv_n { + get { + object obj = ResourceManager.GetObject("box_wp20sv_n", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap box_wp20sv_u { + get { + object obj = ResourceManager.GetObject("box_wp20sv_u", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -1980,6 +2190,186 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_00 { + get { + object obj = ResourceManager.GetObject("gem_00", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_01 { + get { + object obj = ResourceManager.GetObject("gem_01", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_02 { + get { + object obj = ResourceManager.GetObject("gem_02", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_03 { + get { + object obj = ResourceManager.GetObject("gem_03", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_04 { + get { + object obj = ResourceManager.GetObject("gem_04", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_05 { + get { + object obj = ResourceManager.GetObject("gem_05", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_06 { + get { + object obj = ResourceManager.GetObject("gem_06", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_07 { + get { + object obj = ResourceManager.GetObject("gem_07", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_08 { + get { + object obj = ResourceManager.GetObject("gem_08", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_09 { + get { + object obj = ResourceManager.GetObject("gem_09", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_10 { + get { + object obj = ResourceManager.GetObject("gem_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_11 { + get { + object obj = ResourceManager.GetObject("gem_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_12 { + get { + object obj = ResourceManager.GetObject("gem_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_13 { + get { + object obj = ResourceManager.GetObject("gem_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_14 { + get { + object obj = ResourceManager.GetObject("gem_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_15 { + get { + object obj = ResourceManager.GetObject("gem_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_16 { + get { + object obj = ResourceManager.GetObject("gem_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gem_17 { + get { + object obj = ResourceManager.GetObject("gem_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2210,6 +2600,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonchampionpaldea { + get { + object obj = ResourceManager.GetObject("ribbonchampionpaldea", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2780,6 +3180,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonhisui { + get { + object obj = ResourceManager.GetObject("ribbonhisui", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2800,6 +3210,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkalpha { + get { + object obj = ResourceManager.GetObject("ribbonmarkalpha", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2950,6 +3370,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkgourmand { + get { + object obj = ResourceManager.GetObject("ribbonmarkgourmand", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -2980,6 +3410,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkitemfinder { + get { + object obj = ResourceManager.GetObject("ribbonmarkitemfinder", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3000,6 +3440,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkjumbo { + get { + object obj = ResourceManager.GetObject("ribbonmarkjumbo", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3020,6 +3470,26 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkmightiest { + get { + object obj = ResourceManager.GetObject("ribbonmarkmightiest", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkmini { + get { + object obj = ResourceManager.GetObject("ribbonmarkmini", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3030,6 +3500,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarkpartner { + get { + object obj = ResourceManager.GetObject("ribbonmarkpartner", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3180,6 +3660,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbonmarktitan { + get { + object obj = ResourceManager.GetObject("ribbonmarktitan", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -3310,6 +3800,16 @@ public sealed class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap ribbononceinalifetime { + get { + object obj = ResourceManager.GetObject("ribbononceinalifetime", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -4409,5 +4909,185 @@ public sealed class Resources { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_00 { + get { + object obj = ResourceManager.GetObject("type_wide_00", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_01 { + get { + object obj = ResourceManager.GetObject("type_wide_01", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_02 { + get { + object obj = ResourceManager.GetObject("type_wide_02", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_03 { + get { + object obj = ResourceManager.GetObject("type_wide_03", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_04 { + get { + object obj = ResourceManager.GetObject("type_wide_04", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_05 { + get { + object obj = ResourceManager.GetObject("type_wide_05", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_06 { + get { + object obj = ResourceManager.GetObject("type_wide_06", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_07 { + get { + object obj = ResourceManager.GetObject("type_wide_07", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_08 { + get { + object obj = ResourceManager.GetObject("type_wide_08", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_09 { + get { + object obj = ResourceManager.GetObject("type_wide_09", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_10 { + get { + object obj = ResourceManager.GetObject("type_wide_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_11 { + get { + object obj = ResourceManager.GetObject("type_wide_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_12 { + get { + object obj = ResourceManager.GetObject("type_wide_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_13 { + get { + object obj = ResourceManager.GetObject("type_wide_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_14 { + get { + object obj = ResourceManager.GetObject("type_wide_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_15 { + get { + object obj = ResourceManager.GetObject("type_wide_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_16 { + get { + object obj = ResourceManager.GetObject("type_wide_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap type_wide_17 { + get { + object obj = ResourceManager.GetObject("type_wide_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/PKHeX.Drawing.Misc/Properties/Resources.resx b/PKHeX.Drawing.Misc/Properties/Resources.resx index 2f700665a..79df596e5 100644 --- a/PKHeX.Drawing.Misc/Properties/Resources.resx +++ b/PKHeX.Drawing.Misc/Properties/Resources.resx @@ -136,6 +136,9 @@ ..\Resources\img\box\rs\box_wp01rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp01sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp01swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -157,6 +160,9 @@ ..\Resources\img\box\rs\box_wp02rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp02sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp02swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -178,6 +184,9 @@ ..\Resources\img\box\rs\box_wp03rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp03sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp03swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -199,6 +208,9 @@ ..\Resources\img\box\rs\box_wp04rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp04sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp04swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -220,6 +232,9 @@ ..\Resources\img\box\rs\box_wp05rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp05sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp05swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -241,6 +256,9 @@ ..\Resources\img\box\rs\box_wp06rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp06sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp06swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -262,6 +280,9 @@ ..\Resources\img\box\rs\box_wp07rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp07sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp07swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -283,6 +304,9 @@ ..\Resources\img\box\rs\box_wp08rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp08sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp08swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -304,6 +328,9 @@ ..\Resources\img\box\rs\box_wp09rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp09sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp09swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -325,6 +352,9 @@ ..\Resources\img\box\rs\box_wp10rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp10sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp10swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -346,6 +376,9 @@ ..\Resources\img\box\rs\box_wp11rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp11sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp11swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -367,6 +400,9 @@ ..\Resources\img\box\rs\box_wp12rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp12sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp12swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -391,6 +427,9 @@ ..\Resources\img\box\rs\box_wp13rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp13sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp13swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -415,6 +454,9 @@ ..\Resources\img\box\rs\box_wp14rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp14sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp14swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -439,6 +481,9 @@ ..\Resources\img\box\rs\box_wp15rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp15sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp15swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -463,6 +508,9 @@ ..\Resources\img\box\rs\box_wp16rs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp16sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp16swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -490,6 +538,9 @@ ..\Resources\img\box\pt\box_wp17pt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp17sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp17swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -517,6 +568,9 @@ ..\Resources\img\box\pt\box_wp18pt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp18sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp18swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -544,6 +598,9 @@ ..\Resources\img\box\pt\box_wp19pt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp19sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\swsh\box_wp19swsh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -571,6 +628,12 @@ ..\Resources\img\box\pt\box_wp20pt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\box\sv\box_wp20sv_n.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\box\sv\box_wp20sv_u.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\box\xy\box_wp20xy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -694,6 +757,60 @@ ..\Resources\img\box\bdsp\box_wp32bdsp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\types\gem\gem_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\gem\gem_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonability.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -763,6 +880,9 @@ ..\Resources\img\ribbons\ribbonchampionnational.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonchampionpaldea.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonchampionregional.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -934,12 +1054,18 @@ ..\Resources\img\ribbons\ribbongorgeousroyal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonhisui.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonlegend.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\img\ribbons\ribbonmarkabsentminded.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkalpha.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkangry.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -985,6 +1111,9 @@ ..\Resources\img\ribbons\ribbonmarkflustered.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkgourmand.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkhumble.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -994,21 +1123,36 @@ ..\Resources\img\ribbons\ribbonmarkintense.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkitemfinder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkjittery.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\img\ribbons\ribbonmarkjoyful.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkjumbo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkkindly.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\img\ribbons\ribbonmarklunchtime.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkmightiest.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\ribbons\ribbonmarkmini.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkmisty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarkpartner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkpeeved.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -1054,6 +1198,9 @@ ..\Resources\img\ribbons\ribbonmarkthorny.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbonmarktitan.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonmarkuncommon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -1093,6 +1240,9 @@ ..\Resources\img\ribbons\ribbonnational.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\ribbons\ribbononceinalifetime.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\ribbons\ribbonpremier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -1370,57 +1520,111 @@ ..\Resources\img\Trainer Sprites\tr_73.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\img\types\type_icon_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\types\square\type_icon_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_00.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\types\wide\type_wide_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp01sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp01sv.png new file mode 100644 index 000000000..95a523383 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp01sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp02sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp02sv.png new file mode 100644 index 000000000..e1403b7c5 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp02sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp03sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp03sv.png new file mode 100644 index 000000000..ffa051ac3 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp03sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp04sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp04sv.png new file mode 100644 index 000000000..37ecc41d8 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp04sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp05sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp05sv.png new file mode 100644 index 000000000..4a1f9c46d Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp05sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp06sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp06sv.png new file mode 100644 index 000000000..e80cefbc3 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp06sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp07sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp07sv.png new file mode 100644 index 000000000..fd4cb6e24 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp07sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp08sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp08sv.png new file mode 100644 index 000000000..232fdaa3d Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp08sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp09sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp09sv.png new file mode 100644 index 000000000..258542889 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp09sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp10sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp10sv.png new file mode 100644 index 000000000..5f36f59d1 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp10sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp11sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp11sv.png new file mode 100644 index 000000000..bb9f5bf37 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp11sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp12sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp12sv.png new file mode 100644 index 000000000..f7e363cb3 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp12sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp13sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp13sv.png new file mode 100644 index 000000000..7e49a88df Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp13sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp14sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp14sv.png new file mode 100644 index 000000000..2cf0f53e5 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp14sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp15sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp15sv.png new file mode 100644 index 000000000..399c2eee8 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp15sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp16sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp16sv.png new file mode 100644 index 000000000..dbdbe1dbc Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp16sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp17sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp17sv.png new file mode 100644 index 000000000..3ef894514 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp17sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp18sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp18sv.png new file mode 100644 index 000000000..5a61327e2 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp18sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp19sv.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp19sv.png new file mode 100644 index 000000000..0f5c53619 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp19sv.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_n.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_n.png new file mode 100644 index 000000000..f46903a79 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_n.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_u.png b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_u.png new file mode 100644 index 000000000..c6767bedf Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/box/sv/box_wp20sv_u.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonchampionpaldea.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonchampionpaldea.png new file mode 100644 index 000000000..833ad1f16 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonchampionpaldea.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonhisui.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonhisui.png new file mode 100644 index 000000000..8c0db10d3 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonhisui.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkalpha.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkalpha.png new file mode 100644 index 000000000..111f99b0e Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkalpha.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkgourmand.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkgourmand.png new file mode 100644 index 000000000..b739bc5d1 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkgourmand.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkitemfinder.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkitemfinder.png new file mode 100644 index 000000000..52aba2e62 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkitemfinder.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkjumbo.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkjumbo.png new file mode 100644 index 000000000..bb21a8dbc Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkjumbo.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmightiest.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmightiest.png new file mode 100644 index 000000000..1a603fdcf Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmightiest.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmini.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmini.png new file mode 100644 index 000000000..e5f99181b Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkmini.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkpartner.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkpartner.png new file mode 100644 index 000000000..8f7ff7c2e Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarkpartner.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarktitan.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarktitan.png new file mode 100644 index 000000000..db553297d Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbonmarktitan.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbononceinalifetime.png b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbononceinalifetime.png new file mode 100644 index 000000000..5e8e73c72 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/ribbons/ribbononceinalifetime.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_00.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_00.png new file mode 100644 index 000000000..3233a3a35 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_00.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_01.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_01.png new file mode 100644 index 000000000..572a77767 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_01.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_02.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_02.png new file mode 100644 index 000000000..5d95d1e30 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_02.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_03.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_03.png new file mode 100644 index 000000000..76ab92d18 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_03.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_04.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_04.png new file mode 100644 index 000000000..4c2b2238e Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_04.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_05.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_05.png new file mode 100644 index 000000000..2b4ce5f7a Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_05.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_06.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_06.png new file mode 100644 index 000000000..a5fd7a665 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_06.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_07.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_07.png new file mode 100644 index 000000000..4f6fa475b Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_07.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_08.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_08.png new file mode 100644 index 000000000..d577f9dbe Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_08.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_09.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_09.png new file mode 100644 index 000000000..8555c02be Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_09.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_10.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_10.png new file mode 100644 index 000000000..745e192e7 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_10.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_11.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_11.png new file mode 100644 index 000000000..77d330e88 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_11.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_12.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_12.png new file mode 100644 index 000000000..073fa0fb2 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_12.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_13.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_13.png new file mode 100644 index 000000000..576b4378a Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_13.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_14.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_14.png new file mode 100644 index 000000000..73c7b336f Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_14.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_15.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_15.png new file mode 100644 index 000000000..6d2fa666a Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_15.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_16.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_16.png new file mode 100644 index 000000000..205d4f3d5 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_16.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_17.png b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_17.png new file mode 100644 index 000000000..d29ce40a8 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/gem/gem_17.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_00.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_00.png new file mode 100644 index 000000000..34878f80f Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_00.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_01.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_01.png new file mode 100644 index 000000000..5159bdb59 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_01.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_02.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_02.png new file mode 100644 index 000000000..6eb8d90ad Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_02.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_03.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_03.png new file mode 100644 index 000000000..df4ad9eb3 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_03.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_04.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_04.png new file mode 100644 index 000000000..dcc0adfe6 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_04.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_05.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_05.png new file mode 100644 index 000000000..151b9b9df Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_05.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_06.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_06.png new file mode 100644 index 000000000..b272574fc Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_06.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_07.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_07.png new file mode 100644 index 000000000..9be01dec5 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_07.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_08.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_08.png new file mode 100644 index 000000000..11fa8a3ce Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_08.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_09.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_09.png new file mode 100644 index 000000000..44db16e62 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_09.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_10.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_10.png new file mode 100644 index 000000000..34d7a4cac Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_10.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_11.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_11.png new file mode 100644 index 000000000..ac925ac94 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_11.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_12.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_12.png new file mode 100644 index 000000000..90d1b4095 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_12.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_13.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_13.png new file mode 100644 index 000000000..1408bb336 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_13.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_14.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_14.png new file mode 100644 index 000000000..8a6e5fbfb Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_14.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_15.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_15.png new file mode 100644 index 000000000..416c259b1 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_15.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_16.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_16.png new file mode 100644 index 000000000..54b436cbd Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_16.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_17.png b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_17.png new file mode 100644 index 000000000..0dd99612f Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/square/type_icon_17.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_00.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_00.png deleted file mode 100644 index e56a746a4..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_00.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_01.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_01.png deleted file mode 100644 index 82d28bdb6..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_01.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_02.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_02.png deleted file mode 100644 index 62256ff06..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_02.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_03.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_03.png deleted file mode 100644 index cfbcf850e..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_03.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_04.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_04.png deleted file mode 100644 index d891ad817..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_04.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_05.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_05.png deleted file mode 100644 index 573274b3f..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_05.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_06.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_06.png deleted file mode 100644 index a98dd8271..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_06.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_07.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_07.png deleted file mode 100644 index 123ee5b26..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_07.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_08.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_08.png deleted file mode 100644 index 017d5f7b6..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_08.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_09.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_09.png deleted file mode 100644 index 42ecb6c8e..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_09.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_10.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_10.png deleted file mode 100644 index 6965bfc6b..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_10.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_11.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_11.png deleted file mode 100644 index a33563bd4..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_11.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_12.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_12.png deleted file mode 100644 index 5a7efeef9..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_12.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_13.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_13.png deleted file mode 100644 index decc2224a..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_13.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_14.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_14.png deleted file mode 100644 index 92808c0b6..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_14.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_15.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_15.png deleted file mode 100644 index 9b2ff5fed..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_15.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_16.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_16.png deleted file mode 100644 index 90dfa758d..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_16.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_17.png b/PKHeX.Drawing.Misc/Resources/img/types/type_icon_17.png deleted file mode 100644 index 7100441e3..000000000 Binary files a/PKHeX.Drawing.Misc/Resources/img/types/type_icon_17.png and /dev/null differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_00.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_00.png new file mode 100644 index 000000000..187a91e36 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_00.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_01.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_01.png new file mode 100644 index 000000000..3f1a851cc Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_01.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_02.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_02.png new file mode 100644 index 000000000..b300e7751 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_02.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_03.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_03.png new file mode 100644 index 000000000..78dd78140 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_03.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_04.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_04.png new file mode 100644 index 000000000..7a114481e Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_04.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_05.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_05.png new file mode 100644 index 000000000..12e1441a9 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_05.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_06.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_06.png new file mode 100644 index 000000000..5cc79e3bc Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_06.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_07.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_07.png new file mode 100644 index 000000000..46218837a Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_07.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_08.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_08.png new file mode 100644 index 000000000..827eec696 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_08.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_09.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_09.png new file mode 100644 index 000000000..0fd2ab73c Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_09.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_10.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_10.png new file mode 100644 index 000000000..c150c5195 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_10.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_11.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_11.png new file mode 100644 index 000000000..a1cb4a45b Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_11.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_12.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_12.png new file mode 100644 index 000000000..2a721e29f Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_12.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_13.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_13.png new file mode 100644 index 000000000..99cbb66c0 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_13.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_14.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_14.png new file mode 100644 index 000000000..d36b80959 Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_14.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_15.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_15.png new file mode 100644 index 000000000..fe1e014bf Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_15.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_16.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_16.png new file mode 100644 index 000000000..8e55e0bff Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_16.png differ diff --git a/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_17.png b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_17.png new file mode 100644 index 000000000..afe894ebe Binary files /dev/null and b/PKHeX.Drawing.Misc/Resources/img/types/wide/type_wide_17.png differ diff --git a/PKHeX.Drawing.Misc/Util/TypeSpriteUtil.cs b/PKHeX.Drawing.Misc/Util/TypeSpriteUtil.cs index 262874863..8698d91ec 100644 --- a/PKHeX.Drawing.Misc/Util/TypeSpriteUtil.cs +++ b/PKHeX.Drawing.Misc/Util/TypeSpriteUtil.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using System.Drawing; using PKHeX.Core; using PKHeX.Drawing.Misc.Properties; @@ -6,10 +6,24 @@ namespace PKHeX.Drawing.Misc; public static class TypeSpriteUtil { - public static Image? GetTypeSprite(int type, int generation = PKX.Generation) + private static Bitmap? Get(string name) => Resources.ResourceManager.GetObject(name) as Bitmap; + + public static Image? GetTypeSpriteWide(byte type, int generation = PKX.Generation) { if (generation <= 2) - type = (int)((MoveType)type).GetMoveTypeGeneration(generation); - return (Bitmap?)Resources.ResourceManager.GetObject($"type_icon_{type:00}"); + type = (byte)((MoveType)type).GetMoveTypeGeneration(generation); + return Get($"type_wide_{type:00}"); + } + + public static Image? GetTypeSpriteIcon(byte type, int generation = PKX.Generation) + { + if (generation <= 2) + type = (byte)((MoveType)type).GetMoveTypeGeneration(generation); + return Get($"type_icon_{type:00}"); + } + + public static Image? GetTypeSpriteGem(byte type) + { + return Get($"gem_{type:00}"); } } diff --git a/PKHeX.Drawing.Misc/Util/WallpaperUtil.cs b/PKHeX.Drawing.Misc/Util/WallpaperUtil.cs index 479e42ced..1d110b479 100644 --- a/PKHeX.Drawing.Misc/Util/WallpaperUtil.cs +++ b/PKHeX.Drawing.Misc/Util/WallpaperUtil.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using System.Drawing; using PKHeX.Core; using PKHeX.Drawing.Misc.Properties; using static PKHeX.Core.GameVersion; @@ -19,7 +19,14 @@ public static string GetWallpaperResourceName(GameVersion version, int index) { index++; // start indexes at 1 var suffix = GetResourceSuffix(version, index); - return $"box_wp{index:00}{suffix}"; + var variant = version switch + { + SL when index is 20 => "_n", // Naranja + VL when index is 20 => "_u", // Uva + _ => string.Empty, + }; + + return $"box_wp{index:00}{suffix}{variant}"; } private static string GetResourceSuffix(GameVersion version, int index) => version.GetGeneration() switch @@ -37,6 +44,7 @@ public static string GetWallpaperResourceName(GameVersion version, int index) 7 when !GG.Contains(version) => "xy", 8 when !SWSH.Contains(version) => "bdsp", 8 => "swsh", + 9 => "sv", _ => string.Empty, }; } diff --git a/PKHeX.Drawing.PokeSprite/Builder/ISpriteSettings.cs b/PKHeX.Drawing.PokeSprite/Builder/ISpriteSettings.cs index e30814d1e..881b8a3c2 100644 --- a/PKHeX.Drawing.PokeSprite/Builder/ISpriteSettings.cs +++ b/PKHeX.Drawing.PokeSprite/Builder/ISpriteSettings.cs @@ -1,4 +1,4 @@ -namespace PKHeX.Drawing.PokeSprite; +namespace PKHeX.Drawing.PokeSprite; public interface ISpriteSettings { @@ -7,8 +7,12 @@ public interface ISpriteSettings SpriteBackgroundType ShowEncounterColor { get; set; } SpriteBackgroundType ShowEncounterColorPKM { get; set; } + SpriteBackgroundType ShowTeraType { get; set; } int ShowEncounterThicknessStripe { get; set; } byte ShowEncounterOpacityBackground { get; set; } byte ShowEncounterOpacityStripe { get; set; } bool ShowExperiencePercent { get; set; } + int ShowTeraThicknessStripe { get; set; } + byte ShowTeraOpacityBackground { get; set; } + byte ShowTeraOpacityStripe { get; set; } } diff --git a/PKHeX.Drawing.PokeSprite/Builder/SpriteBackgroundType.cs b/PKHeX.Drawing.PokeSprite/Builder/SpriteBackgroundType.cs index 01a823037..e5371c499 100644 --- a/PKHeX.Drawing.PokeSprite/Builder/SpriteBackgroundType.cs +++ b/PKHeX.Drawing.PokeSprite/Builder/SpriteBackgroundType.cs @@ -1,8 +1,9 @@ -namespace PKHeX.Drawing.PokeSprite; +namespace PKHeX.Drawing.PokeSprite; public enum SpriteBackgroundType { None, BottomStripe, FullBackground, + TopStripe, } diff --git a/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder.cs b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder.cs index 7e3cc2ac5..98ffb3271 100644 --- a/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder.cs +++ b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder.cs @@ -10,8 +10,11 @@ public abstract class SpriteBuilder : ISpriteBuilder public static bool ShowEncounterBall { get; set; } = true; public static SpriteBackgroundType ShowEncounterColor { get; set; } = SpriteBackgroundType.FullBackground; public static SpriteBackgroundType ShowEncounterColorPKM { get; set; } + public static SpriteBackgroundType ShowTeraType { get; set; } = SpriteBackgroundType.TopStripe; public static bool ShowExperiencePercent { get; set; } - + public static byte ShowTeraOpacityStripe { get; set; } + public static int ShowTeraThicknessStripe { get; set; } + public static byte ShowTeraOpacityBackground { get; set; } public static byte ShowEncounterOpacityStripe { get; set; } public static byte ShowEncounterOpacityBackground { get; set; } public static int ShowEncounterThicknessStripe { get; set; } @@ -174,11 +177,11 @@ private Image GetBaseImageFallback(ushort species, byte form, int gender, uint f private Image LayerOverImageItem(Image baseImage, int item, int generation) { - Image itemimg = generation switch + var lump = HeldItemLumpUtil.GetIsLump(item, generation); + var itemimg = lump switch { - <= 4 when item is >= 328 and <= 419 => ItemTM, // gen2/3/4 TM - 8 when item is >= 328 and <= 427 => ItemTM, // BDSP TMs - >= 8 when item is >= 1130 and <= 1229 => ItemTR, // Gen8 TR + HeldItemLumpImage.TechnicalMachine => ItemTM, + HeldItemLumpImage.TechnicalRecord => ItemTR, _ => (Image?)Resources.ResourceManager.GetObject(GetItemResourceName(item)) ?? UnknownItem, }; @@ -234,5 +237,10 @@ public static void LoadSettings(ISpriteSettings sprite) ShowEncounterOpacityBackground = sprite.ShowEncounterOpacityBackground; ShowEncounterOpacityStripe = sprite.ShowEncounterOpacityStripe; ShowExperiencePercent = sprite.ShowExperiencePercent; + + ShowTeraType = sprite.ShowTeraType; + ShowTeraThicknessStripe = sprite.ShowTeraThicknessStripe; + ShowTeraOpacityBackground = sprite.ShowTeraOpacityBackground; + ShowTeraOpacityStripe = sprite.ShowTeraOpacityStripe; } } diff --git a/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder5668a.cs b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder5668a.cs new file mode 100644 index 000000000..db1b6b691 --- /dev/null +++ b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilder5668a.cs @@ -0,0 +1,40 @@ +using System.Drawing; +using PKHeX.Core; +using PKHeX.Drawing.PokeSprite.Properties; + +namespace PKHeX.Drawing.PokeSprite; + +/// +/// 56 high, 68 wide sprite builder using Artwork Sprites +/// +public sealed class SpriteBuilder5668a : SpriteBuilder +{ + public override int Height => 56; + public override int Width => 68; + + protected override int ItemShiftX => 2; + protected override int ItemShiftY => 2; + protected override int ItemMaxSize => 32; + protected override int EggItemShiftX => 18; + protected override int EggItemShiftY => 1; + public override bool HasFallbackMethod => true; + + protected override string GetSpriteStringSpeciesOnly(ushort species) => 'a' + $"_{species}"; + protected override string GetSpriteAll(ushort species, byte form, int gender, uint formarg, bool shiny, int generation) => 'a' + SpriteName.GetResourceStringSprite(species, form, gender, formarg, generation, shiny); + protected override string GetSpriteAllSecondary(ushort species, byte form, int gender, uint formarg, bool shiny, int generation) => 'b' + SpriteName.GetResourceStringSprite(species, form, gender, formarg, generation, shiny); + protected override string GetItemResourceName(int item) => 'a' + $"item_{item}"; + protected override Bitmap Unknown => Resources.b_unknown; + protected override Bitmap GetEggSprite(ushort species) => species == (int)Species.Manaphy ? Resources.a_490_e : Resources.a_egg; + + public override Bitmap Hover => Resources.slotHover68; + public override Bitmap View => Resources.slotView68; + public override Bitmap Set => Resources.slotSet68; + public override Bitmap Delete => Resources.slotDel68; + public override Bitmap Transparent => Resources.slotTrans68; + public override Bitmap Drag => Resources.slotDrag68; + public override Bitmap UnknownItem => Resources.bitem_unk; + public override Bitmap None => Resources.b_0; + public override Bitmap ItemTM => Resources.aitem_tm; + public override Bitmap ItemTR => Resources.bitem_tr; + public override Bitmap ShadowLugia => Resources.b_249x; +} diff --git a/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilderMode.cs b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilderMode.cs index 6dc3a4138..c616023e2 100644 --- a/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilderMode.cs +++ b/PKHeX.Drawing.PokeSprite/Builder/SpriteBuilderMode.cs @@ -1,4 +1,4 @@ -using PKHeX.Core; +using PKHeX.Core; using static PKHeX.Drawing.PokeSprite.SpriteBuilderMode; using static PKHeX.Drawing.PokeSprite.SpriteBuilderPreference; @@ -9,6 +9,7 @@ public enum SpriteBuilderMode KeepCurrent, SpritesClassic5668, CircleMugshot5668, + SpritesArtwork5668, } public enum SpriteBuilderPreference @@ -17,6 +18,7 @@ public enum SpriteBuilderPreference DoNotChange, ForceSprites, ForceMugshots, + ForceArtwork, } public static class SpriteBuilderUtil @@ -27,10 +29,12 @@ public static class SpriteBuilderUtil { ForceMugshots => CircleMugshot5668, ForceSprites => SpritesClassic5668, + ForceArtwork => SpritesArtwork5668, DoNotChange => KeepCurrent, _ => sav switch // Default, suggest. { SAV8LA => CircleMugshot5668, + SAV9SV => SpritesArtwork5668, _ => SpritesClassic5668, }, }; diff --git a/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs b/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs index 904f1b881..f3c6c8c4f 100644 --- a/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs +++ b/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs @@ -430,6 +430,13776 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1 { + get { + object obj = ResourceManager.GetObject("a_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_10 { + get { + object obj = ResourceManager.GetObject("a_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_100 { + get { + object obj = ResourceManager.GetObject("a_100", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_100_1 { + get { + object obj = ResourceManager.GetObject("a_100_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1000 { + get { + object obj = ResourceManager.GetObject("a_1000", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1001 { + get { + object obj = ResourceManager.GetObject("a_1001", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1002 { + get { + object obj = ResourceManager.GetObject("a_1002", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1003 { + get { + object obj = ResourceManager.GetObject("a_1003", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1004 { + get { + object obj = ResourceManager.GetObject("a_1004", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1005 { + get { + object obj = ResourceManager.GetObject("a_1005", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1006 { + get { + object obj = ResourceManager.GetObject("a_1006", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1007 { + get { + object obj = ResourceManager.GetObject("a_1007", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1008 { + get { + object obj = ResourceManager.GetObject("a_1008", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1009 { + get { + object obj = ResourceManager.GetObject("a_1009", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_101 { + get { + object obj = ResourceManager.GetObject("a_101", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_101_1 { + get { + object obj = ResourceManager.GetObject("a_101_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_1010 { + get { + object obj = ResourceManager.GetObject("a_1010", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_102 { + get { + object obj = ResourceManager.GetObject("a_102", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_103 { + get { + object obj = ResourceManager.GetObject("a_103", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_104 { + get { + object obj = ResourceManager.GetObject("a_104", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_105 { + get { + object obj = ResourceManager.GetObject("a_105", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_106 { + get { + object obj = ResourceManager.GetObject("a_106", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_107 { + get { + object obj = ResourceManager.GetObject("a_107", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_108 { + get { + object obj = ResourceManager.GetObject("a_108", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_109 { + get { + object obj = ResourceManager.GetObject("a_109", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_11 { + get { + object obj = ResourceManager.GetObject("a_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_110 { + get { + object obj = ResourceManager.GetObject("a_110", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_111 { + get { + object obj = ResourceManager.GetObject("a_111", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_112 { + get { + object obj = ResourceManager.GetObject("a_112", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_113 { + get { + object obj = ResourceManager.GetObject("a_113", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_114 { + get { + object obj = ResourceManager.GetObject("a_114", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_115 { + get { + object obj = ResourceManager.GetObject("a_115", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_116 { + get { + object obj = ResourceManager.GetObject("a_116", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_117 { + get { + object obj = ResourceManager.GetObject("a_117", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_118 { + get { + object obj = ResourceManager.GetObject("a_118", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_119 { + get { + object obj = ResourceManager.GetObject("a_119", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_12 { + get { + object obj = ResourceManager.GetObject("a_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_120 { + get { + object obj = ResourceManager.GetObject("a_120", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_121 { + get { + object obj = ResourceManager.GetObject("a_121", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_122 { + get { + object obj = ResourceManager.GetObject("a_122", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_123 { + get { + object obj = ResourceManager.GetObject("a_123", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_124 { + get { + object obj = ResourceManager.GetObject("a_124", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_125 { + get { + object obj = ResourceManager.GetObject("a_125", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_126 { + get { + object obj = ResourceManager.GetObject("a_126", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_127 { + get { + object obj = ResourceManager.GetObject("a_127", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_128 { + get { + object obj = ResourceManager.GetObject("a_128", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_128_1 { + get { + object obj = ResourceManager.GetObject("a_128_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_128_2 { + get { + object obj = ResourceManager.GetObject("a_128_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_128_3 { + get { + object obj = ResourceManager.GetObject("a_128_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_129 { + get { + object obj = ResourceManager.GetObject("a_129", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_13 { + get { + object obj = ResourceManager.GetObject("a_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_130 { + get { + object obj = ResourceManager.GetObject("a_130", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_131 { + get { + object obj = ResourceManager.GetObject("a_131", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_132 { + get { + object obj = ResourceManager.GetObject("a_132", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_133 { + get { + object obj = ResourceManager.GetObject("a_133", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_134 { + get { + object obj = ResourceManager.GetObject("a_134", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_135 { + get { + object obj = ResourceManager.GetObject("a_135", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_136 { + get { + object obj = ResourceManager.GetObject("a_136", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_137 { + get { + object obj = ResourceManager.GetObject("a_137", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_138 { + get { + object obj = ResourceManager.GetObject("a_138", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_139 { + get { + object obj = ResourceManager.GetObject("a_139", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_14 { + get { + object obj = ResourceManager.GetObject("a_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_140 { + get { + object obj = ResourceManager.GetObject("a_140", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_141 { + get { + object obj = ResourceManager.GetObject("a_141", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_142 { + get { + object obj = ResourceManager.GetObject("a_142", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_143 { + get { + object obj = ResourceManager.GetObject("a_143", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_144 { + get { + object obj = ResourceManager.GetObject("a_144", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_144_1 { + get { + object obj = ResourceManager.GetObject("a_144_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_145 { + get { + object obj = ResourceManager.GetObject("a_145", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_145_1 { + get { + object obj = ResourceManager.GetObject("a_145_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_146 { + get { + object obj = ResourceManager.GetObject("a_146", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_146_1 { + get { + object obj = ResourceManager.GetObject("a_146_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_147 { + get { + object obj = ResourceManager.GetObject("a_147", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_148 { + get { + object obj = ResourceManager.GetObject("a_148", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_149 { + get { + object obj = ResourceManager.GetObject("a_149", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_15 { + get { + object obj = ResourceManager.GetObject("a_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_150 { + get { + object obj = ResourceManager.GetObject("a_150", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_151 { + get { + object obj = ResourceManager.GetObject("a_151", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_152 { + get { + object obj = ResourceManager.GetObject("a_152", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_153 { + get { + object obj = ResourceManager.GetObject("a_153", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_154 { + get { + object obj = ResourceManager.GetObject("a_154", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_155 { + get { + object obj = ResourceManager.GetObject("a_155", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_156 { + get { + object obj = ResourceManager.GetObject("a_156", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_157 { + get { + object obj = ResourceManager.GetObject("a_157", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_157_1 { + get { + object obj = ResourceManager.GetObject("a_157_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_158 { + get { + object obj = ResourceManager.GetObject("a_158", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_159 { + get { + object obj = ResourceManager.GetObject("a_159", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_16 { + get { + object obj = ResourceManager.GetObject("a_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_160 { + get { + object obj = ResourceManager.GetObject("a_160", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_161 { + get { + object obj = ResourceManager.GetObject("a_161", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_162 { + get { + object obj = ResourceManager.GetObject("a_162", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_163 { + get { + object obj = ResourceManager.GetObject("a_163", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_164 { + get { + object obj = ResourceManager.GetObject("a_164", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_165 { + get { + object obj = ResourceManager.GetObject("a_165", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_166 { + get { + object obj = ResourceManager.GetObject("a_166", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_167 { + get { + object obj = ResourceManager.GetObject("a_167", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_168 { + get { + object obj = ResourceManager.GetObject("a_168", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_169 { + get { + object obj = ResourceManager.GetObject("a_169", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_17 { + get { + object obj = ResourceManager.GetObject("a_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_170 { + get { + object obj = ResourceManager.GetObject("a_170", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_171 { + get { + object obj = ResourceManager.GetObject("a_171", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_172 { + get { + object obj = ResourceManager.GetObject("a_172", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_173 { + get { + object obj = ResourceManager.GetObject("a_173", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_174 { + get { + object obj = ResourceManager.GetObject("a_174", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_175 { + get { + object obj = ResourceManager.GetObject("a_175", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_176 { + get { + object obj = ResourceManager.GetObject("a_176", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_177 { + get { + object obj = ResourceManager.GetObject("a_177", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_178 { + get { + object obj = ResourceManager.GetObject("a_178", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_179 { + get { + object obj = ResourceManager.GetObject("a_179", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_18 { + get { + object obj = ResourceManager.GetObject("a_18", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_180 { + get { + object obj = ResourceManager.GetObject("a_180", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_181 { + get { + object obj = ResourceManager.GetObject("a_181", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_182 { + get { + object obj = ResourceManager.GetObject("a_182", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_183 { + get { + object obj = ResourceManager.GetObject("a_183", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_184 { + get { + object obj = ResourceManager.GetObject("a_184", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_185 { + get { + object obj = ResourceManager.GetObject("a_185", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_186 { + get { + object obj = ResourceManager.GetObject("a_186", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_187 { + get { + object obj = ResourceManager.GetObject("a_187", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_188 { + get { + object obj = ResourceManager.GetObject("a_188", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_189 { + get { + object obj = ResourceManager.GetObject("a_189", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_19 { + get { + object obj = ResourceManager.GetObject("a_19", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_190 { + get { + object obj = ResourceManager.GetObject("a_190", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_191 { + get { + object obj = ResourceManager.GetObject("a_191", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_192 { + get { + object obj = ResourceManager.GetObject("a_192", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_193 { + get { + object obj = ResourceManager.GetObject("a_193", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_194 { + get { + object obj = ResourceManager.GetObject("a_194", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_194_1 { + get { + object obj = ResourceManager.GetObject("a_194_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_195 { + get { + object obj = ResourceManager.GetObject("a_195", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_196 { + get { + object obj = ResourceManager.GetObject("a_196", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_197 { + get { + object obj = ResourceManager.GetObject("a_197", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_198 { + get { + object obj = ResourceManager.GetObject("a_198", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_199 { + get { + object obj = ResourceManager.GetObject("a_199", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_199_1 { + get { + object obj = ResourceManager.GetObject("a_199_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_2 { + get { + object obj = ResourceManager.GetObject("a_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_20 { + get { + object obj = ResourceManager.GetObject("a_20", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_200 { + get { + object obj = ResourceManager.GetObject("a_200", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201 { + get { + object obj = ResourceManager.GetObject("a_201", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_1 { + get { + object obj = ResourceManager.GetObject("a_201_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_10 { + get { + object obj = ResourceManager.GetObject("a_201_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_11 { + get { + object obj = ResourceManager.GetObject("a_201_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_12 { + get { + object obj = ResourceManager.GetObject("a_201_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_13 { + get { + object obj = ResourceManager.GetObject("a_201_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_14 { + get { + object obj = ResourceManager.GetObject("a_201_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_15 { + get { + object obj = ResourceManager.GetObject("a_201_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_16 { + get { + object obj = ResourceManager.GetObject("a_201_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_17 { + get { + object obj = ResourceManager.GetObject("a_201_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_18 { + get { + object obj = ResourceManager.GetObject("a_201_18", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_19 { + get { + object obj = ResourceManager.GetObject("a_201_19", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_2 { + get { + object obj = ResourceManager.GetObject("a_201_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_20 { + get { + object obj = ResourceManager.GetObject("a_201_20", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_21 { + get { + object obj = ResourceManager.GetObject("a_201_21", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_22 { + get { + object obj = ResourceManager.GetObject("a_201_22", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_23 { + get { + object obj = ResourceManager.GetObject("a_201_23", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_24 { + get { + object obj = ResourceManager.GetObject("a_201_24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_25 { + get { + object obj = ResourceManager.GetObject("a_201_25", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_26 { + get { + object obj = ResourceManager.GetObject("a_201_26", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_27 { + get { + object obj = ResourceManager.GetObject("a_201_27", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_3 { + get { + object obj = ResourceManager.GetObject("a_201_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_4 { + get { + object obj = ResourceManager.GetObject("a_201_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_5 { + get { + object obj = ResourceManager.GetObject("a_201_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_6 { + get { + object obj = ResourceManager.GetObject("a_201_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_7 { + get { + object obj = ResourceManager.GetObject("a_201_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_8 { + get { + object obj = ResourceManager.GetObject("a_201_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_201_9 { + get { + object obj = ResourceManager.GetObject("a_201_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_202 { + get { + object obj = ResourceManager.GetObject("a_202", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_203 { + get { + object obj = ResourceManager.GetObject("a_203", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_204 { + get { + object obj = ResourceManager.GetObject("a_204", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_205 { + get { + object obj = ResourceManager.GetObject("a_205", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_206 { + get { + object obj = ResourceManager.GetObject("a_206", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_207 { + get { + object obj = ResourceManager.GetObject("a_207", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_208 { + get { + object obj = ResourceManager.GetObject("a_208", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_209 { + get { + object obj = ResourceManager.GetObject("a_209", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_21 { + get { + object obj = ResourceManager.GetObject("a_21", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_210 { + get { + object obj = ResourceManager.GetObject("a_210", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_211 { + get { + object obj = ResourceManager.GetObject("a_211", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_211_1 { + get { + object obj = ResourceManager.GetObject("a_211_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_212 { + get { + object obj = ResourceManager.GetObject("a_212", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_213 { + get { + object obj = ResourceManager.GetObject("a_213", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_214 { + get { + object obj = ResourceManager.GetObject("a_214", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_215 { + get { + object obj = ResourceManager.GetObject("a_215", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_215_1 { + get { + object obj = ResourceManager.GetObject("a_215_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_216 { + get { + object obj = ResourceManager.GetObject("a_216", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_217 { + get { + object obj = ResourceManager.GetObject("a_217", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_218 { + get { + object obj = ResourceManager.GetObject("a_218", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_219 { + get { + object obj = ResourceManager.GetObject("a_219", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_22 { + get { + object obj = ResourceManager.GetObject("a_22", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_220 { + get { + object obj = ResourceManager.GetObject("a_220", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_221 { + get { + object obj = ResourceManager.GetObject("a_221", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_222 { + get { + object obj = ResourceManager.GetObject("a_222", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_223 { + get { + object obj = ResourceManager.GetObject("a_223", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_224 { + get { + object obj = ResourceManager.GetObject("a_224", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_225 { + get { + object obj = ResourceManager.GetObject("a_225", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_226 { + get { + object obj = ResourceManager.GetObject("a_226", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_227 { + get { + object obj = ResourceManager.GetObject("a_227", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_228 { + get { + object obj = ResourceManager.GetObject("a_228", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_229 { + get { + object obj = ResourceManager.GetObject("a_229", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_23 { + get { + object obj = ResourceManager.GetObject("a_23", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_230 { + get { + object obj = ResourceManager.GetObject("a_230", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_231 { + get { + object obj = ResourceManager.GetObject("a_231", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_232 { + get { + object obj = ResourceManager.GetObject("a_232", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_233 { + get { + object obj = ResourceManager.GetObject("a_233", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_234 { + get { + object obj = ResourceManager.GetObject("a_234", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_235 { + get { + object obj = ResourceManager.GetObject("a_235", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_236 { + get { + object obj = ResourceManager.GetObject("a_236", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_237 { + get { + object obj = ResourceManager.GetObject("a_237", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_238 { + get { + object obj = ResourceManager.GetObject("a_238", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_239 { + get { + object obj = ResourceManager.GetObject("a_239", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_24 { + get { + object obj = ResourceManager.GetObject("a_24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_240 { + get { + object obj = ResourceManager.GetObject("a_240", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_241 { + get { + object obj = ResourceManager.GetObject("a_241", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_242 { + get { + object obj = ResourceManager.GetObject("a_242", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_243 { + get { + object obj = ResourceManager.GetObject("a_243", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_244 { + get { + object obj = ResourceManager.GetObject("a_244", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_245 { + get { + object obj = ResourceManager.GetObject("a_245", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_246 { + get { + object obj = ResourceManager.GetObject("a_246", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_247 { + get { + object obj = ResourceManager.GetObject("a_247", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_248 { + get { + object obj = ResourceManager.GetObject("a_248", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_249 { + get { + object obj = ResourceManager.GetObject("a_249", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25 { + get { + object obj = ResourceManager.GetObject("a_25", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_1 { + get { + object obj = ResourceManager.GetObject("a_25_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_2 { + get { + object obj = ResourceManager.GetObject("a_25_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_3 { + get { + object obj = ResourceManager.GetObject("a_25_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_4 { + get { + object obj = ResourceManager.GetObject("a_25_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_5 { + get { + object obj = ResourceManager.GetObject("a_25_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_6 { + get { + object obj = ResourceManager.GetObject("a_25_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_7 { + get { + object obj = ResourceManager.GetObject("a_25_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25_9 { + get { + object obj = ResourceManager.GetObject("a_25_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_250 { + get { + object obj = ResourceManager.GetObject("a_250", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_251 { + get { + object obj = ResourceManager.GetObject("a_251", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_252 { + get { + object obj = ResourceManager.GetObject("a_252", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_253 { + get { + object obj = ResourceManager.GetObject("a_253", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_254 { + get { + object obj = ResourceManager.GetObject("a_254", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_255 { + get { + object obj = ResourceManager.GetObject("a_255", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_256 { + get { + object obj = ResourceManager.GetObject("a_256", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_257 { + get { + object obj = ResourceManager.GetObject("a_257", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_258 { + get { + object obj = ResourceManager.GetObject("a_258", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_259 { + get { + object obj = ResourceManager.GetObject("a_259", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_25f { + get { + object obj = ResourceManager.GetObject("a_25f", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_26 { + get { + object obj = ResourceManager.GetObject("a_26", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_26_1 { + get { + object obj = ResourceManager.GetObject("a_26_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_260 { + get { + object obj = ResourceManager.GetObject("a_260", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_261 { + get { + object obj = ResourceManager.GetObject("a_261", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_262 { + get { + object obj = ResourceManager.GetObject("a_262", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_263 { + get { + object obj = ResourceManager.GetObject("a_263", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_264 { + get { + object obj = ResourceManager.GetObject("a_264", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_265 { + get { + object obj = ResourceManager.GetObject("a_265", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_266 { + get { + object obj = ResourceManager.GetObject("a_266", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_267 { + get { + object obj = ResourceManager.GetObject("a_267", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_268 { + get { + object obj = ResourceManager.GetObject("a_268", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_269 { + get { + object obj = ResourceManager.GetObject("a_269", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_27 { + get { + object obj = ResourceManager.GetObject("a_27", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_270 { + get { + object obj = ResourceManager.GetObject("a_270", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_271 { + get { + object obj = ResourceManager.GetObject("a_271", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_272 { + get { + object obj = ResourceManager.GetObject("a_272", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_273 { + get { + object obj = ResourceManager.GetObject("a_273", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_274 { + get { + object obj = ResourceManager.GetObject("a_274", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_275 { + get { + object obj = ResourceManager.GetObject("a_275", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_276 { + get { + object obj = ResourceManager.GetObject("a_276", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_277 { + get { + object obj = ResourceManager.GetObject("a_277", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_278 { + get { + object obj = ResourceManager.GetObject("a_278", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_279 { + get { + object obj = ResourceManager.GetObject("a_279", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_28 { + get { + object obj = ResourceManager.GetObject("a_28", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_280 { + get { + object obj = ResourceManager.GetObject("a_280", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_281 { + get { + object obj = ResourceManager.GetObject("a_281", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_282 { + get { + object obj = ResourceManager.GetObject("a_282", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_283 { + get { + object obj = ResourceManager.GetObject("a_283", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_284 { + get { + object obj = ResourceManager.GetObject("a_284", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_285 { + get { + object obj = ResourceManager.GetObject("a_285", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_286 { + get { + object obj = ResourceManager.GetObject("a_286", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_287 { + get { + object obj = ResourceManager.GetObject("a_287", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_288 { + get { + object obj = ResourceManager.GetObject("a_288", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_289 { + get { + object obj = ResourceManager.GetObject("a_289", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_29 { + get { + object obj = ResourceManager.GetObject("a_29", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_290 { + get { + object obj = ResourceManager.GetObject("a_290", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_291 { + get { + object obj = ResourceManager.GetObject("a_291", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_292 { + get { + object obj = ResourceManager.GetObject("a_292", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_293 { + get { + object obj = ResourceManager.GetObject("a_293", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_294 { + get { + object obj = ResourceManager.GetObject("a_294", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_295 { + get { + object obj = ResourceManager.GetObject("a_295", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_296 { + get { + object obj = ResourceManager.GetObject("a_296", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_297 { + get { + object obj = ResourceManager.GetObject("a_297", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_298 { + get { + object obj = ResourceManager.GetObject("a_298", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_299 { + get { + object obj = ResourceManager.GetObject("a_299", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_3 { + get { + object obj = ResourceManager.GetObject("a_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_30 { + get { + object obj = ResourceManager.GetObject("a_30", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_300 { + get { + object obj = ResourceManager.GetObject("a_300", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_301 { + get { + object obj = ResourceManager.GetObject("a_301", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_302 { + get { + object obj = ResourceManager.GetObject("a_302", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_303 { + get { + object obj = ResourceManager.GetObject("a_303", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_304 { + get { + object obj = ResourceManager.GetObject("a_304", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_305 { + get { + object obj = ResourceManager.GetObject("a_305", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_306 { + get { + object obj = ResourceManager.GetObject("a_306", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_307 { + get { + object obj = ResourceManager.GetObject("a_307", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_308 { + get { + object obj = ResourceManager.GetObject("a_308", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_309 { + get { + object obj = ResourceManager.GetObject("a_309", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_31 { + get { + object obj = ResourceManager.GetObject("a_31", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_310 { + get { + object obj = ResourceManager.GetObject("a_310", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_311 { + get { + object obj = ResourceManager.GetObject("a_311", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_312 { + get { + object obj = ResourceManager.GetObject("a_312", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_313 { + get { + object obj = ResourceManager.GetObject("a_313", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_314 { + get { + object obj = ResourceManager.GetObject("a_314", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_315 { + get { + object obj = ResourceManager.GetObject("a_315", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_316 { + get { + object obj = ResourceManager.GetObject("a_316", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_317 { + get { + object obj = ResourceManager.GetObject("a_317", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_318 { + get { + object obj = ResourceManager.GetObject("a_318", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_319 { + get { + object obj = ResourceManager.GetObject("a_319", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_32 { + get { + object obj = ResourceManager.GetObject("a_32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_320 { + get { + object obj = ResourceManager.GetObject("a_320", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_321 { + get { + object obj = ResourceManager.GetObject("a_321", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_322 { + get { + object obj = ResourceManager.GetObject("a_322", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_323 { + get { + object obj = ResourceManager.GetObject("a_323", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_324 { + get { + object obj = ResourceManager.GetObject("a_324", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_325 { + get { + object obj = ResourceManager.GetObject("a_325", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_326 { + get { + object obj = ResourceManager.GetObject("a_326", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_327 { + get { + object obj = ResourceManager.GetObject("a_327", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_328 { + get { + object obj = ResourceManager.GetObject("a_328", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_329 { + get { + object obj = ResourceManager.GetObject("a_329", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_33 { + get { + object obj = ResourceManager.GetObject("a_33", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_330 { + get { + object obj = ResourceManager.GetObject("a_330", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_331 { + get { + object obj = ResourceManager.GetObject("a_331", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_332 { + get { + object obj = ResourceManager.GetObject("a_332", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_333 { + get { + object obj = ResourceManager.GetObject("a_333", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_334 { + get { + object obj = ResourceManager.GetObject("a_334", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_335 { + get { + object obj = ResourceManager.GetObject("a_335", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_336 { + get { + object obj = ResourceManager.GetObject("a_336", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_337 { + get { + object obj = ResourceManager.GetObject("a_337", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_338 { + get { + object obj = ResourceManager.GetObject("a_338", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_339 { + get { + object obj = ResourceManager.GetObject("a_339", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_34 { + get { + object obj = ResourceManager.GetObject("a_34", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_340 { + get { + object obj = ResourceManager.GetObject("a_340", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_341 { + get { + object obj = ResourceManager.GetObject("a_341", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_342 { + get { + object obj = ResourceManager.GetObject("a_342", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_343 { + get { + object obj = ResourceManager.GetObject("a_343", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_344 { + get { + object obj = ResourceManager.GetObject("a_344", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_345 { + get { + object obj = ResourceManager.GetObject("a_345", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_346 { + get { + object obj = ResourceManager.GetObject("a_346", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_347 { + get { + object obj = ResourceManager.GetObject("a_347", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_348 { + get { + object obj = ResourceManager.GetObject("a_348", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_349 { + get { + object obj = ResourceManager.GetObject("a_349", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_35 { + get { + object obj = ResourceManager.GetObject("a_35", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_350 { + get { + object obj = ResourceManager.GetObject("a_350", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_351 { + get { + object obj = ResourceManager.GetObject("a_351", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_351_1 { + get { + object obj = ResourceManager.GetObject("a_351_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_351_2 { + get { + object obj = ResourceManager.GetObject("a_351_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_351_3 { + get { + object obj = ResourceManager.GetObject("a_351_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_352 { + get { + object obj = ResourceManager.GetObject("a_352", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_353 { + get { + object obj = ResourceManager.GetObject("a_353", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_354 { + get { + object obj = ResourceManager.GetObject("a_354", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_355 { + get { + object obj = ResourceManager.GetObject("a_355", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_356 { + get { + object obj = ResourceManager.GetObject("a_356", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_357 { + get { + object obj = ResourceManager.GetObject("a_357", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_358 { + get { + object obj = ResourceManager.GetObject("a_358", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_359 { + get { + object obj = ResourceManager.GetObject("a_359", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_36 { + get { + object obj = ResourceManager.GetObject("a_36", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_360 { + get { + object obj = ResourceManager.GetObject("a_360", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_361 { + get { + object obj = ResourceManager.GetObject("a_361", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_362 { + get { + object obj = ResourceManager.GetObject("a_362", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_363 { + get { + object obj = ResourceManager.GetObject("a_363", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_364 { + get { + object obj = ResourceManager.GetObject("a_364", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_365 { + get { + object obj = ResourceManager.GetObject("a_365", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_366 { + get { + object obj = ResourceManager.GetObject("a_366", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_367 { + get { + object obj = ResourceManager.GetObject("a_367", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_368 { + get { + object obj = ResourceManager.GetObject("a_368", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_369 { + get { + object obj = ResourceManager.GetObject("a_369", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_37 { + get { + object obj = ResourceManager.GetObject("a_37", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_370 { + get { + object obj = ResourceManager.GetObject("a_370", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_371 { + get { + object obj = ResourceManager.GetObject("a_371", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_372 { + get { + object obj = ResourceManager.GetObject("a_372", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_373 { + get { + object obj = ResourceManager.GetObject("a_373", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_374 { + get { + object obj = ResourceManager.GetObject("a_374", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_375 { + get { + object obj = ResourceManager.GetObject("a_375", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_376 { + get { + object obj = ResourceManager.GetObject("a_376", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_377 { + get { + object obj = ResourceManager.GetObject("a_377", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_378 { + get { + object obj = ResourceManager.GetObject("a_378", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_379 { + get { + object obj = ResourceManager.GetObject("a_379", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_38 { + get { + object obj = ResourceManager.GetObject("a_38", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_380 { + get { + object obj = ResourceManager.GetObject("a_380", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_381 { + get { + object obj = ResourceManager.GetObject("a_381", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_382 { + get { + object obj = ResourceManager.GetObject("a_382", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_383 { + get { + object obj = ResourceManager.GetObject("a_383", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_384 { + get { + object obj = ResourceManager.GetObject("a_384", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_385 { + get { + object obj = ResourceManager.GetObject("a_385", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_386 { + get { + object obj = ResourceManager.GetObject("a_386", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_386_1 { + get { + object obj = ResourceManager.GetObject("a_386_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_386_2 { + get { + object obj = ResourceManager.GetObject("a_386_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_386_3 { + get { + object obj = ResourceManager.GetObject("a_386_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_387 { + get { + object obj = ResourceManager.GetObject("a_387", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_388 { + get { + object obj = ResourceManager.GetObject("a_388", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_389 { + get { + object obj = ResourceManager.GetObject("a_389", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_39 { + get { + object obj = ResourceManager.GetObject("a_39", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_390 { + get { + object obj = ResourceManager.GetObject("a_390", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_391 { + get { + object obj = ResourceManager.GetObject("a_391", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_392 { + get { + object obj = ResourceManager.GetObject("a_392", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_393 { + get { + object obj = ResourceManager.GetObject("a_393", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_394 { + get { + object obj = ResourceManager.GetObject("a_394", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_395 { + get { + object obj = ResourceManager.GetObject("a_395", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_396 { + get { + object obj = ResourceManager.GetObject("a_396", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_397 { + get { + object obj = ResourceManager.GetObject("a_397", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_398 { + get { + object obj = ResourceManager.GetObject("a_398", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_399 { + get { + object obj = ResourceManager.GetObject("a_399", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_4 { + get { + object obj = ResourceManager.GetObject("a_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_40 { + get { + object obj = ResourceManager.GetObject("a_40", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_400 { + get { + object obj = ResourceManager.GetObject("a_400", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_401 { + get { + object obj = ResourceManager.GetObject("a_401", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_402 { + get { + object obj = ResourceManager.GetObject("a_402", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_403 { + get { + object obj = ResourceManager.GetObject("a_403", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_404 { + get { + object obj = ResourceManager.GetObject("a_404", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_405 { + get { + object obj = ResourceManager.GetObject("a_405", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_406 { + get { + object obj = ResourceManager.GetObject("a_406", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_407 { + get { + object obj = ResourceManager.GetObject("a_407", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_408 { + get { + object obj = ResourceManager.GetObject("a_408", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_409 { + get { + object obj = ResourceManager.GetObject("a_409", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_41 { + get { + object obj = ResourceManager.GetObject("a_41", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_410 { + get { + object obj = ResourceManager.GetObject("a_410", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_411 { + get { + object obj = ResourceManager.GetObject("a_411", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_412 { + get { + object obj = ResourceManager.GetObject("a_412", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_412_1 { + get { + object obj = ResourceManager.GetObject("a_412_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_412_2 { + get { + object obj = ResourceManager.GetObject("a_412_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_413 { + get { + object obj = ResourceManager.GetObject("a_413", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_413_1 { + get { + object obj = ResourceManager.GetObject("a_413_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_413_2 { + get { + object obj = ResourceManager.GetObject("a_413_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_414 { + get { + object obj = ResourceManager.GetObject("a_414", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_415 { + get { + object obj = ResourceManager.GetObject("a_415", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_416 { + get { + object obj = ResourceManager.GetObject("a_416", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_417 { + get { + object obj = ResourceManager.GetObject("a_417", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_418 { + get { + object obj = ResourceManager.GetObject("a_418", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_419 { + get { + object obj = ResourceManager.GetObject("a_419", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_42 { + get { + object obj = ResourceManager.GetObject("a_42", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_420 { + get { + object obj = ResourceManager.GetObject("a_420", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_421 { + get { + object obj = ResourceManager.GetObject("a_421", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_421_1 { + get { + object obj = ResourceManager.GetObject("a_421_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_422 { + get { + object obj = ResourceManager.GetObject("a_422", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_422_1 { + get { + object obj = ResourceManager.GetObject("a_422_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_423 { + get { + object obj = ResourceManager.GetObject("a_423", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_423_1 { + get { + object obj = ResourceManager.GetObject("a_423_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_424 { + get { + object obj = ResourceManager.GetObject("a_424", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_425 { + get { + object obj = ResourceManager.GetObject("a_425", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_426 { + get { + object obj = ResourceManager.GetObject("a_426", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_427 { + get { + object obj = ResourceManager.GetObject("a_427", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_428 { + get { + object obj = ResourceManager.GetObject("a_428", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_429 { + get { + object obj = ResourceManager.GetObject("a_429", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_43 { + get { + object obj = ResourceManager.GetObject("a_43", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_430 { + get { + object obj = ResourceManager.GetObject("a_430", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_431 { + get { + object obj = ResourceManager.GetObject("a_431", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_432 { + get { + object obj = ResourceManager.GetObject("a_432", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_433 { + get { + object obj = ResourceManager.GetObject("a_433", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_434 { + get { + object obj = ResourceManager.GetObject("a_434", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_435 { + get { + object obj = ResourceManager.GetObject("a_435", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_436 { + get { + object obj = ResourceManager.GetObject("a_436", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_437 { + get { + object obj = ResourceManager.GetObject("a_437", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_438 { + get { + object obj = ResourceManager.GetObject("a_438", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_439 { + get { + object obj = ResourceManager.GetObject("a_439", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_44 { + get { + object obj = ResourceManager.GetObject("a_44", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_440 { + get { + object obj = ResourceManager.GetObject("a_440", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_441 { + get { + object obj = ResourceManager.GetObject("a_441", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_442 { + get { + object obj = ResourceManager.GetObject("a_442", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_443 { + get { + object obj = ResourceManager.GetObject("a_443", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_444 { + get { + object obj = ResourceManager.GetObject("a_444", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_445 { + get { + object obj = ResourceManager.GetObject("a_445", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_446 { + get { + object obj = ResourceManager.GetObject("a_446", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_447 { + get { + object obj = ResourceManager.GetObject("a_447", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_448 { + get { + object obj = ResourceManager.GetObject("a_448", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_449 { + get { + object obj = ResourceManager.GetObject("a_449", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_449f { + get { + object obj = ResourceManager.GetObject("a_449f", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_45 { + get { + object obj = ResourceManager.GetObject("a_45", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_450 { + get { + object obj = ResourceManager.GetObject("a_450", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_450f { + get { + object obj = ResourceManager.GetObject("a_450f", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_451 { + get { + object obj = ResourceManager.GetObject("a_451", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_452 { + get { + object obj = ResourceManager.GetObject("a_452", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_453 { + get { + object obj = ResourceManager.GetObject("a_453", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_454 { + get { + object obj = ResourceManager.GetObject("a_454", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_455 { + get { + object obj = ResourceManager.GetObject("a_455", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_456 { + get { + object obj = ResourceManager.GetObject("a_456", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_457 { + get { + object obj = ResourceManager.GetObject("a_457", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_458 { + get { + object obj = ResourceManager.GetObject("a_458", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_459 { + get { + object obj = ResourceManager.GetObject("a_459", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_46 { + get { + object obj = ResourceManager.GetObject("a_46", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_460 { + get { + object obj = ResourceManager.GetObject("a_460", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_461 { + get { + object obj = ResourceManager.GetObject("a_461", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_462 { + get { + object obj = ResourceManager.GetObject("a_462", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_463 { + get { + object obj = ResourceManager.GetObject("a_463", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_464 { + get { + object obj = ResourceManager.GetObject("a_464", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_465 { + get { + object obj = ResourceManager.GetObject("a_465", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_466 { + get { + object obj = ResourceManager.GetObject("a_466", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_467 { + get { + object obj = ResourceManager.GetObject("a_467", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_468 { + get { + object obj = ResourceManager.GetObject("a_468", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_469 { + get { + object obj = ResourceManager.GetObject("a_469", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_47 { + get { + object obj = ResourceManager.GetObject("a_47", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_470 { + get { + object obj = ResourceManager.GetObject("a_470", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_471 { + get { + object obj = ResourceManager.GetObject("a_471", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_472 { + get { + object obj = ResourceManager.GetObject("a_472", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_473 { + get { + object obj = ResourceManager.GetObject("a_473", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_474 { + get { + object obj = ResourceManager.GetObject("a_474", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_475 { + get { + object obj = ResourceManager.GetObject("a_475", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_476 { + get { + object obj = ResourceManager.GetObject("a_476", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_477 { + get { + object obj = ResourceManager.GetObject("a_477", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_478 { + get { + object obj = ResourceManager.GetObject("a_478", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479 { + get { + object obj = ResourceManager.GetObject("a_479", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479_1 { + get { + object obj = ResourceManager.GetObject("a_479_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479_2 { + get { + object obj = ResourceManager.GetObject("a_479_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479_3 { + get { + object obj = ResourceManager.GetObject("a_479_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479_4 { + get { + object obj = ResourceManager.GetObject("a_479_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_479_5 { + get { + object obj = ResourceManager.GetObject("a_479_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_48 { + get { + object obj = ResourceManager.GetObject("a_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_480 { + get { + object obj = ResourceManager.GetObject("a_480", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_481 { + get { + object obj = ResourceManager.GetObject("a_481", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_482 { + get { + object obj = ResourceManager.GetObject("a_482", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_483 { + get { + object obj = ResourceManager.GetObject("a_483", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_483_1 { + get { + object obj = ResourceManager.GetObject("a_483_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_484 { + get { + object obj = ResourceManager.GetObject("a_484", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_484_1 { + get { + object obj = ResourceManager.GetObject("a_484_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_485 { + get { + object obj = ResourceManager.GetObject("a_485", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_486 { + get { + object obj = ResourceManager.GetObject("a_486", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_487 { + get { + object obj = ResourceManager.GetObject("a_487", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_487_1 { + get { + object obj = ResourceManager.GetObject("a_487_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_488 { + get { + object obj = ResourceManager.GetObject("a_488", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_489 { + get { + object obj = ResourceManager.GetObject("a_489", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_49 { + get { + object obj = ResourceManager.GetObject("a_49", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_490 { + get { + object obj = ResourceManager.GetObject("a_490", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_490_e { + get { + object obj = ResourceManager.GetObject("a_490_e", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_491 { + get { + object obj = ResourceManager.GetObject("a_491", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_492 { + get { + object obj = ResourceManager.GetObject("a_492", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_492_1 { + get { + object obj = ResourceManager.GetObject("a_492_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493 { + get { + object obj = ResourceManager.GetObject("a_493", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_1 { + get { + object obj = ResourceManager.GetObject("a_493_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_10 { + get { + object obj = ResourceManager.GetObject("a_493_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_101 { + get { + object obj = ResourceManager.GetObject("a_493_101", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_11 { + get { + object obj = ResourceManager.GetObject("a_493_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_111 { + get { + object obj = ResourceManager.GetObject("a_493_111", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_12 { + get { + object obj = ResourceManager.GetObject("a_493_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_121 { + get { + object obj = ResourceManager.GetObject("a_493_121", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_13 { + get { + object obj = ResourceManager.GetObject("a_493_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_131 { + get { + object obj = ResourceManager.GetObject("a_493_131", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_14 { + get { + object obj = ResourceManager.GetObject("a_493_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_141 { + get { + object obj = ResourceManager.GetObject("a_493_141", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_15 { + get { + object obj = ResourceManager.GetObject("a_493_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_151 { + get { + object obj = ResourceManager.GetObject("a_493_151", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_16 { + get { + object obj = ResourceManager.GetObject("a_493_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_161 { + get { + object obj = ResourceManager.GetObject("a_493_161", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_17 { + get { + object obj = ResourceManager.GetObject("a_493_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_171 { + get { + object obj = ResourceManager.GetObject("a_493_171", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_18 { + get { + object obj = ResourceManager.GetObject("a_493_18", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_181 { + get { + object obj = ResourceManager.GetObject("a_493_181", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_19 { + get { + object obj = ResourceManager.GetObject("a_493_19", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_2 { + get { + object obj = ResourceManager.GetObject("a_493_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_21 { + get { + object obj = ResourceManager.GetObject("a_493_21", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_3 { + get { + object obj = ResourceManager.GetObject("a_493_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_31 { + get { + object obj = ResourceManager.GetObject("a_493_31", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_4 { + get { + object obj = ResourceManager.GetObject("a_493_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_41 { + get { + object obj = ResourceManager.GetObject("a_493_41", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_5 { + get { + object obj = ResourceManager.GetObject("a_493_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_51 { + get { + object obj = ResourceManager.GetObject("a_493_51", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_6 { + get { + object obj = ResourceManager.GetObject("a_493_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_61 { + get { + object obj = ResourceManager.GetObject("a_493_61", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_7 { + get { + object obj = ResourceManager.GetObject("a_493_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_71 { + get { + object obj = ResourceManager.GetObject("a_493_71", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_8 { + get { + object obj = ResourceManager.GetObject("a_493_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_81 { + get { + object obj = ResourceManager.GetObject("a_493_81", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_9 { + get { + object obj = ResourceManager.GetObject("a_493_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_493_91 { + get { + object obj = ResourceManager.GetObject("a_493_91", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_5 { + get { + object obj = ResourceManager.GetObject("a_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_50 { + get { + object obj = ResourceManager.GetObject("a_50", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_50_1 { + get { + object obj = ResourceManager.GetObject("a_50_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_501 { + get { + object obj = ResourceManager.GetObject("a_501", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_502 { + get { + object obj = ResourceManager.GetObject("a_502", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_503 { + get { + object obj = ResourceManager.GetObject("a_503", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_503_1 { + get { + object obj = ResourceManager.GetObject("a_503_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_51 { + get { + object obj = ResourceManager.GetObject("a_51", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_51_1 { + get { + object obj = ResourceManager.GetObject("a_51_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_52 { + get { + object obj = ResourceManager.GetObject("a_52", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_52_1 { + get { + object obj = ResourceManager.GetObject("a_52_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_52_2 { + get { + object obj = ResourceManager.GetObject("a_52_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_53 { + get { + object obj = ResourceManager.GetObject("a_53", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_53_1 { + get { + object obj = ResourceManager.GetObject("a_53_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_54 { + get { + object obj = ResourceManager.GetObject("a_54", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_548 { + get { + object obj = ResourceManager.GetObject("a_548", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_549 { + get { + object obj = ResourceManager.GetObject("a_549", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_549_1 { + get { + object obj = ResourceManager.GetObject("a_549_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_55 { + get { + object obj = ResourceManager.GetObject("a_55", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_550 { + get { + object obj = ResourceManager.GetObject("a_550", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_550_1 { + get { + object obj = ResourceManager.GetObject("a_550_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_550_2 { + get { + object obj = ResourceManager.GetObject("a_550_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_551 { + get { + object obj = ResourceManager.GetObject("a_551", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_552 { + get { + object obj = ResourceManager.GetObject("a_552", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_553 { + get { + object obj = ResourceManager.GetObject("a_553", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_56 { + get { + object obj = ResourceManager.GetObject("a_56", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_57 { + get { + object obj = ResourceManager.GetObject("a_57", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_570 { + get { + object obj = ResourceManager.GetObject("a_570", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_570_1 { + get { + object obj = ResourceManager.GetObject("a_570_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_571 { + get { + object obj = ResourceManager.GetObject("a_571", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_571_1 { + get { + object obj = ResourceManager.GetObject("a_571_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_574 { + get { + object obj = ResourceManager.GetObject("a_574", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_575 { + get { + object obj = ResourceManager.GetObject("a_575", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_576 { + get { + object obj = ResourceManager.GetObject("a_576", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_58 { + get { + object obj = ResourceManager.GetObject("a_58", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_58_1 { + get { + object obj = ResourceManager.GetObject("a_58_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_585 { + get { + object obj = ResourceManager.GetObject("a_585", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_585_1 { + get { + object obj = ResourceManager.GetObject("a_585_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_585_2 { + get { + object obj = ResourceManager.GetObject("a_585_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_585_3 { + get { + object obj = ResourceManager.GetObject("a_585_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_586 { + get { + object obj = ResourceManager.GetObject("a_586", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_586_1 { + get { + object obj = ResourceManager.GetObject("a_586_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_586_2 { + get { + object obj = ResourceManager.GetObject("a_586_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_586_3 { + get { + object obj = ResourceManager.GetObject("a_586_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_59 { + get { + object obj = ResourceManager.GetObject("a_59", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_59_1 { + get { + object obj = ResourceManager.GetObject("a_59_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_590 { + get { + object obj = ResourceManager.GetObject("a_590", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_591 { + get { + object obj = ResourceManager.GetObject("a_591", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_594 { + get { + object obj = ResourceManager.GetObject("a_594", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_6 { + get { + object obj = ResourceManager.GetObject("a_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_60 { + get { + object obj = ResourceManager.GetObject("a_60", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_602 { + get { + object obj = ResourceManager.GetObject("a_602", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_603 { + get { + object obj = ResourceManager.GetObject("a_603", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_604 { + get { + object obj = ResourceManager.GetObject("a_604", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_61 { + get { + object obj = ResourceManager.GetObject("a_61", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_610 { + get { + object obj = ResourceManager.GetObject("a_610", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_611 { + get { + object obj = ResourceManager.GetObject("a_611", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_612 { + get { + object obj = ResourceManager.GetObject("a_612", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_613 { + get { + object obj = ResourceManager.GetObject("a_613", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_614 { + get { + object obj = ResourceManager.GetObject("a_614", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_615 { + get { + object obj = ResourceManager.GetObject("a_615", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_62 { + get { + object obj = ResourceManager.GetObject("a_62", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_624 { + get { + object obj = ResourceManager.GetObject("a_624", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_625 { + get { + object obj = ResourceManager.GetObject("a_625", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_627 { + get { + object obj = ResourceManager.GetObject("a_627", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_628 { + get { + object obj = ResourceManager.GetObject("a_628", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_628_1 { + get { + object obj = ResourceManager.GetObject("a_628_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_63 { + get { + object obj = ResourceManager.GetObject("a_63", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_633 { + get { + object obj = ResourceManager.GetObject("a_633", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_634 { + get { + object obj = ResourceManager.GetObject("a_634", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_635 { + get { + object obj = ResourceManager.GetObject("a_635", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_636 { + get { + object obj = ResourceManager.GetObject("a_636", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_637 { + get { + object obj = ResourceManager.GetObject("a_637", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_64 { + get { + object obj = ResourceManager.GetObject("a_64", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_641 { + get { + object obj = ResourceManager.GetObject("a_641", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_641_1 { + get { + object obj = ResourceManager.GetObject("a_641_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_642 { + get { + object obj = ResourceManager.GetObject("a_642", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_642_1 { + get { + object obj = ResourceManager.GetObject("a_642_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_645 { + get { + object obj = ResourceManager.GetObject("a_645", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_645_1 { + get { + object obj = ResourceManager.GetObject("a_645_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_648 { + get { + object obj = ResourceManager.GetObject("a_648", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_648_1 { + get { + object obj = ResourceManager.GetObject("a_648_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_65 { + get { + object obj = ResourceManager.GetObject("a_65", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_650 { + get { + object obj = ResourceManager.GetObject("a_650", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_651 { + get { + object obj = ResourceManager.GetObject("a_651", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_652 { + get { + object obj = ResourceManager.GetObject("a_652", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_653 { + get { + object obj = ResourceManager.GetObject("a_653", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_654 { + get { + object obj = ResourceManager.GetObject("a_654", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_655 { + get { + object obj = ResourceManager.GetObject("a_655", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_656 { + get { + object obj = ResourceManager.GetObject("a_656", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_657 { + get { + object obj = ResourceManager.GetObject("a_657", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_658 { + get { + object obj = ResourceManager.GetObject("a_658", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_658_1 { + get { + object obj = ResourceManager.GetObject("a_658_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_66 { + get { + object obj = ResourceManager.GetObject("a_66", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_661 { + get { + object obj = ResourceManager.GetObject("a_661", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_662 { + get { + object obj = ResourceManager.GetObject("a_662", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_663 { + get { + object obj = ResourceManager.GetObject("a_663", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_664 { + get { + object obj = ResourceManager.GetObject("a_664", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_665 { + get { + object obj = ResourceManager.GetObject("a_665", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666 { + get { + object obj = ResourceManager.GetObject("a_666", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_1 { + get { + object obj = ResourceManager.GetObject("a_666_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_10 { + get { + object obj = ResourceManager.GetObject("a_666_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_11 { + get { + object obj = ResourceManager.GetObject("a_666_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_12 { + get { + object obj = ResourceManager.GetObject("a_666_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_13 { + get { + object obj = ResourceManager.GetObject("a_666_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_14 { + get { + object obj = ResourceManager.GetObject("a_666_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_15 { + get { + object obj = ResourceManager.GetObject("a_666_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_16 { + get { + object obj = ResourceManager.GetObject("a_666_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_17 { + get { + object obj = ResourceManager.GetObject("a_666_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_18 { + get { + object obj = ResourceManager.GetObject("a_666_18", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_19 { + get { + object obj = ResourceManager.GetObject("a_666_19", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_2 { + get { + object obj = ResourceManager.GetObject("a_666_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_3 { + get { + object obj = ResourceManager.GetObject("a_666_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_4 { + get { + object obj = ResourceManager.GetObject("a_666_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_5 { + get { + object obj = ResourceManager.GetObject("a_666_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_6 { + get { + object obj = ResourceManager.GetObject("a_666_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_7 { + get { + object obj = ResourceManager.GetObject("a_666_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_8 { + get { + object obj = ResourceManager.GetObject("a_666_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_666_9 { + get { + object obj = ResourceManager.GetObject("a_666_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_667 { + get { + object obj = ResourceManager.GetObject("a_667", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_668 { + get { + object obj = ResourceManager.GetObject("a_668", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_668f { + get { + object obj = ResourceManager.GetObject("a_668f", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_669 { + get { + object obj = ResourceManager.GetObject("a_669", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_669_1 { + get { + object obj = ResourceManager.GetObject("a_669_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_669_2 { + get { + object obj = ResourceManager.GetObject("a_669_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_669_3 { + get { + object obj = ResourceManager.GetObject("a_669_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_669_4 { + get { + object obj = ResourceManager.GetObject("a_669_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_67 { + get { + object obj = ResourceManager.GetObject("a_67", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_670 { + get { + object obj = ResourceManager.GetObject("a_670", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_670_1 { + get { + object obj = ResourceManager.GetObject("a_670_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_670_2 { + get { + object obj = ResourceManager.GetObject("a_670_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_670_3 { + get { + object obj = ResourceManager.GetObject("a_670_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_670_4 { + get { + object obj = ResourceManager.GetObject("a_670_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_671 { + get { + object obj = ResourceManager.GetObject("a_671", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_671_1 { + get { + object obj = ResourceManager.GetObject("a_671_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_671_2 { + get { + object obj = ResourceManager.GetObject("a_671_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_671_3 { + get { + object obj = ResourceManager.GetObject("a_671_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_671_4 { + get { + object obj = ResourceManager.GetObject("a_671_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_672 { + get { + object obj = ResourceManager.GetObject("a_672", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_673 { + get { + object obj = ResourceManager.GetObject("a_673", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_68 { + get { + object obj = ResourceManager.GetObject("a_68", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_69 { + get { + object obj = ResourceManager.GetObject("a_69", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_690 { + get { + object obj = ResourceManager.GetObject("a_690", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_691 { + get { + object obj = ResourceManager.GetObject("a_691", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_692 { + get { + object obj = ResourceManager.GetObject("a_692", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_693 { + get { + object obj = ResourceManager.GetObject("a_693", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_7 { + get { + object obj = ResourceManager.GetObject("a_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_70 { + get { + object obj = ResourceManager.GetObject("a_70", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_700 { + get { + object obj = ResourceManager.GetObject("a_700", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_701 { + get { + object obj = ResourceManager.GetObject("a_701", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_702 { + get { + object obj = ResourceManager.GetObject("a_702", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_703 { + get { + object obj = ResourceManager.GetObject("a_703", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_704 { + get { + object obj = ResourceManager.GetObject("a_704", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_705 { + get { + object obj = ResourceManager.GetObject("a_705", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_705_1 { + get { + object obj = ResourceManager.GetObject("a_705_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_706 { + get { + object obj = ResourceManager.GetObject("a_706", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_706_1 { + get { + object obj = ResourceManager.GetObject("a_706_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_707 { + get { + object obj = ResourceManager.GetObject("a_707", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_71 { + get { + object obj = ResourceManager.GetObject("a_71", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_712 { + get { + object obj = ResourceManager.GetObject("a_712", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_713 { + get { + object obj = ResourceManager.GetObject("a_713", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_713_1 { + get { + object obj = ResourceManager.GetObject("a_713_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_714 { + get { + object obj = ResourceManager.GetObject("a_714", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_715 { + get { + object obj = ResourceManager.GetObject("a_715", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_719 { + get { + object obj = ResourceManager.GetObject("a_719", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_72 { + get { + object obj = ResourceManager.GetObject("a_72", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_720 { + get { + object obj = ResourceManager.GetObject("a_720", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_720_1 { + get { + object obj = ResourceManager.GetObject("a_720_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_721 { + get { + object obj = ResourceManager.GetObject("a_721", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_722 { + get { + object obj = ResourceManager.GetObject("a_722", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_723 { + get { + object obj = ResourceManager.GetObject("a_723", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_724 { + get { + object obj = ResourceManager.GetObject("a_724", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_724_1 { + get { + object obj = ResourceManager.GetObject("a_724_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_73 { + get { + object obj = ResourceManager.GetObject("a_73", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_734 { + get { + object obj = ResourceManager.GetObject("a_734", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_735 { + get { + object obj = ResourceManager.GetObject("a_735", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_739 { + get { + object obj = ResourceManager.GetObject("a_739", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_74 { + get { + object obj = ResourceManager.GetObject("a_74", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_740 { + get { + object obj = ResourceManager.GetObject("a_740", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_741 { + get { + object obj = ResourceManager.GetObject("a_741", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_741_1 { + get { + object obj = ResourceManager.GetObject("a_741_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_741_2 { + get { + object obj = ResourceManager.GetObject("a_741_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_741_3 { + get { + object obj = ResourceManager.GetObject("a_741_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_744 { + get { + object obj = ResourceManager.GetObject("a_744", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_745 { + get { + object obj = ResourceManager.GetObject("a_745", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_745_1 { + get { + object obj = ResourceManager.GetObject("a_745_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_745_2 { + get { + object obj = ResourceManager.GetObject("a_745_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_747 { + get { + object obj = ResourceManager.GetObject("a_747", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_748 { + get { + object obj = ResourceManager.GetObject("a_748", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_749 { + get { + object obj = ResourceManager.GetObject("a_749", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_75 { + get { + object obj = ResourceManager.GetObject("a_75", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_750 { + get { + object obj = ResourceManager.GetObject("a_750", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_753 { + get { + object obj = ResourceManager.GetObject("a_753", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_754 { + get { + object obj = ResourceManager.GetObject("a_754", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_757 { + get { + object obj = ResourceManager.GetObject("a_757", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_758 { + get { + object obj = ResourceManager.GetObject("a_758", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_76 { + get { + object obj = ResourceManager.GetObject("a_76", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_761 { + get { + object obj = ResourceManager.GetObject("a_761", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_762 { + get { + object obj = ResourceManager.GetObject("a_762", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_763 { + get { + object obj = ResourceManager.GetObject("a_763", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_765 { + get { + object obj = ResourceManager.GetObject("a_765", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_766 { + get { + object obj = ResourceManager.GetObject("a_766", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_769 { + get { + object obj = ResourceManager.GetObject("a_769", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_77 { + get { + object obj = ResourceManager.GetObject("a_77", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_770 { + get { + object obj = ResourceManager.GetObject("a_770", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_775 { + get { + object obj = ResourceManager.GetObject("a_775", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_778 { + get { + object obj = ResourceManager.GetObject("a_778", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_778_1 { + get { + object obj = ResourceManager.GetObject("a_778_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_779 { + get { + object obj = ResourceManager.GetObject("a_779", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_78 { + get { + object obj = ResourceManager.GetObject("a_78", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_79 { + get { + object obj = ResourceManager.GetObject("a_79", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_79_1 { + get { + object obj = ResourceManager.GetObject("a_79_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_8 { + get { + object obj = ResourceManager.GetObject("a_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_80 { + get { + object obj = ResourceManager.GetObject("a_80", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_80_2 { + get { + object obj = ResourceManager.GetObject("a_80_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_801 { + get { + object obj = ResourceManager.GetObject("a_801", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_801_1 { + get { + object obj = ResourceManager.GetObject("a_801_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_81 { + get { + object obj = ResourceManager.GetObject("a_81", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_810 { + get { + object obj = ResourceManager.GetObject("a_810", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_811 { + get { + object obj = ResourceManager.GetObject("a_811", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_812 { + get { + object obj = ResourceManager.GetObject("a_812", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_813 { + get { + object obj = ResourceManager.GetObject("a_813", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_814 { + get { + object obj = ResourceManager.GetObject("a_814", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_815 { + get { + object obj = ResourceManager.GetObject("a_815", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_816 { + get { + object obj = ResourceManager.GetObject("a_816", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_817 { + get { + object obj = ResourceManager.GetObject("a_817", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_818 { + get { + object obj = ResourceManager.GetObject("a_818", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_819 { + get { + object obj = ResourceManager.GetObject("a_819", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_82 { + get { + object obj = ResourceManager.GetObject("a_82", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_820 { + get { + object obj = ResourceManager.GetObject("a_820", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_821 { + get { + object obj = ResourceManager.GetObject("a_821", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_822 { + get { + object obj = ResourceManager.GetObject("a_822", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_823 { + get { + object obj = ResourceManager.GetObject("a_823", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_83 { + get { + object obj = ResourceManager.GetObject("a_83", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_833 { + get { + object obj = ResourceManager.GetObject("a_833", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_834 { + get { + object obj = ResourceManager.GetObject("a_834", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_837 { + get { + object obj = ResourceManager.GetObject("a_837", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_838 { + get { + object obj = ResourceManager.GetObject("a_838", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_839 { + get { + object obj = ResourceManager.GetObject("a_839", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_84 { + get { + object obj = ResourceManager.GetObject("a_84", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_840 { + get { + object obj = ResourceManager.GetObject("a_840", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_841 { + get { + object obj = ResourceManager.GetObject("a_841", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_842 { + get { + object obj = ResourceManager.GetObject("a_842", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_843 { + get { + object obj = ResourceManager.GetObject("a_843", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_844 { + get { + object obj = ResourceManager.GetObject("a_844", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_846 { + get { + object obj = ResourceManager.GetObject("a_846", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_847 { + get { + object obj = ResourceManager.GetObject("a_847", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_848 { + get { + object obj = ResourceManager.GetObject("a_848", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_849 { + get { + object obj = ResourceManager.GetObject("a_849", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_849_1 { + get { + object obj = ResourceManager.GetObject("a_849_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_85 { + get { + object obj = ResourceManager.GetObject("a_85", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_854 { + get { + object obj = ResourceManager.GetObject("a_854", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_855 { + get { + object obj = ResourceManager.GetObject("a_855", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_856 { + get { + object obj = ResourceManager.GetObject("a_856", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_857 { + get { + object obj = ResourceManager.GetObject("a_857", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_858 { + get { + object obj = ResourceManager.GetObject("a_858", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_859 { + get { + object obj = ResourceManager.GetObject("a_859", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_86 { + get { + object obj = ResourceManager.GetObject("a_86", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_860 { + get { + object obj = ResourceManager.GetObject("a_860", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_861 { + get { + object obj = ResourceManager.GetObject("a_861", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_863 { + get { + object obj = ResourceManager.GetObject("a_863", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_87 { + get { + object obj = ResourceManager.GetObject("a_87", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_870 { + get { + object obj = ResourceManager.GetObject("a_870", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_871 { + get { + object obj = ResourceManager.GetObject("a_871", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_872 { + get { + object obj = ResourceManager.GetObject("a_872", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_873 { + get { + object obj = ResourceManager.GetObject("a_873", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_874 { + get { + object obj = ResourceManager.GetObject("a_874", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_875 { + get { + object obj = ResourceManager.GetObject("a_875", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_875_1 { + get { + object obj = ResourceManager.GetObject("a_875_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_876 { + get { + object obj = ResourceManager.GetObject("a_876", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_876_1 { + get { + object obj = ResourceManager.GetObject("a_876_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_878 { + get { + object obj = ResourceManager.GetObject("a_878", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_879 { + get { + object obj = ResourceManager.GetObject("a_879", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_88 { + get { + object obj = ResourceManager.GetObject("a_88", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_88_1 { + get { + object obj = ResourceManager.GetObject("a_88_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_885 { + get { + object obj = ResourceManager.GetObject("a_885", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_886 { + get { + object obj = ResourceManager.GetObject("a_886", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_887 { + get { + object obj = ResourceManager.GetObject("a_887", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_888 { + get { + object obj = ResourceManager.GetObject("a_888", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_888_1 { + get { + object obj = ResourceManager.GetObject("a_888_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_889 { + get { + object obj = ResourceManager.GetObject("a_889", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_889_1 { + get { + object obj = ResourceManager.GetObject("a_889_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_89 { + get { + object obj = ResourceManager.GetObject("a_89", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_89_1 { + get { + object obj = ResourceManager.GetObject("a_89_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_890 { + get { + object obj = ResourceManager.GetObject("a_890", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_891 { + get { + object obj = ResourceManager.GetObject("a_891", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_892 { + get { + object obj = ResourceManager.GetObject("a_892", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_893 { + get { + object obj = ResourceManager.GetObject("a_893", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_893_1 { + get { + object obj = ResourceManager.GetObject("a_893_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_894 { + get { + object obj = ResourceManager.GetObject("a_894", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_895 { + get { + object obj = ResourceManager.GetObject("a_895", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_896 { + get { + object obj = ResourceManager.GetObject("a_896", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_897 { + get { + object obj = ResourceManager.GetObject("a_897", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_898 { + get { + object obj = ResourceManager.GetObject("a_898", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_898_1 { + get { + object obj = ResourceManager.GetObject("a_898_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_898_2 { + get { + object obj = ResourceManager.GetObject("a_898_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_899 { + get { + object obj = ResourceManager.GetObject("a_899", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_9 { + get { + object obj = ResourceManager.GetObject("a_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_90 { + get { + object obj = ResourceManager.GetObject("a_90", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_900 { + get { + object obj = ResourceManager.GetObject("a_900", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_901 { + get { + object obj = ResourceManager.GetObject("a_901", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_902 { + get { + object obj = ResourceManager.GetObject("a_902", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_902_1 { + get { + object obj = ResourceManager.GetObject("a_902_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_903 { + get { + object obj = ResourceManager.GetObject("a_903", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_904 { + get { + object obj = ResourceManager.GetObject("a_904", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_905 { + get { + object obj = ResourceManager.GetObject("a_905", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_905_1 { + get { + object obj = ResourceManager.GetObject("a_905_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_906 { + get { + object obj = ResourceManager.GetObject("a_906", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_907 { + get { + object obj = ResourceManager.GetObject("a_907", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_908 { + get { + object obj = ResourceManager.GetObject("a_908", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_909 { + get { + object obj = ResourceManager.GetObject("a_909", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_91 { + get { + object obj = ResourceManager.GetObject("a_91", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_910 { + get { + object obj = ResourceManager.GetObject("a_910", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_911 { + get { + object obj = ResourceManager.GetObject("a_911", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_912 { + get { + object obj = ResourceManager.GetObject("a_912", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_913 { + get { + object obj = ResourceManager.GetObject("a_913", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_914 { + get { + object obj = ResourceManager.GetObject("a_914", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_915 { + get { + object obj = ResourceManager.GetObject("a_915", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_916 { + get { + object obj = ResourceManager.GetObject("a_916", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_916_1 { + get { + object obj = ResourceManager.GetObject("a_916_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_917 { + get { + object obj = ResourceManager.GetObject("a_917", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_918 { + get { + object obj = ResourceManager.GetObject("a_918", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_919 { + get { + object obj = ResourceManager.GetObject("a_919", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_92 { + get { + object obj = ResourceManager.GetObject("a_92", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_920 { + get { + object obj = ResourceManager.GetObject("a_920", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_921 { + get { + object obj = ResourceManager.GetObject("a_921", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_922 { + get { + object obj = ResourceManager.GetObject("a_922", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_923 { + get { + object obj = ResourceManager.GetObject("a_923", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_924 { + get { + object obj = ResourceManager.GetObject("a_924", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_925 { + get { + object obj = ResourceManager.GetObject("a_925", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_926 { + get { + object obj = ResourceManager.GetObject("a_926", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_927 { + get { + object obj = ResourceManager.GetObject("a_927", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_928 { + get { + object obj = ResourceManager.GetObject("a_928", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_929 { + get { + object obj = ResourceManager.GetObject("a_929", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_93 { + get { + object obj = ResourceManager.GetObject("a_93", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_930 { + get { + object obj = ResourceManager.GetObject("a_930", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_931 { + get { + object obj = ResourceManager.GetObject("a_931", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_932 { + get { + object obj = ResourceManager.GetObject("a_932", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_933 { + get { + object obj = ResourceManager.GetObject("a_933", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_934 { + get { + object obj = ResourceManager.GetObject("a_934", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_934_1 { + get { + object obj = ResourceManager.GetObject("a_934_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_935 { + get { + object obj = ResourceManager.GetObject("a_935", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_936 { + get { + object obj = ResourceManager.GetObject("a_936", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_937 { + get { + object obj = ResourceManager.GetObject("a_937", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_938 { + get { + object obj = ResourceManager.GetObject("a_938", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_939 { + get { + object obj = ResourceManager.GetObject("a_939", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_94 { + get { + object obj = ResourceManager.GetObject("a_94", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_940 { + get { + object obj = ResourceManager.GetObject("a_940", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_941 { + get { + object obj = ResourceManager.GetObject("a_941", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_942 { + get { + object obj = ResourceManager.GetObject("a_942", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_943 { + get { + object obj = ResourceManager.GetObject("a_943", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_944 { + get { + object obj = ResourceManager.GetObject("a_944", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_945 { + get { + object obj = ResourceManager.GetObject("a_945", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_946 { + get { + object obj = ResourceManager.GetObject("a_946", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_946_1 { + get { + object obj = ResourceManager.GetObject("a_946_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_947 { + get { + object obj = ResourceManager.GetObject("a_947", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_948 { + get { + object obj = ResourceManager.GetObject("a_948", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_949 { + get { + object obj = ResourceManager.GetObject("a_949", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_95 { + get { + object obj = ResourceManager.GetObject("a_95", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_950 { + get { + object obj = ResourceManager.GetObject("a_950", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_951 { + get { + object obj = ResourceManager.GetObject("a_951", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_952 { + get { + object obj = ResourceManager.GetObject("a_952", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_952_1 { + get { + object obj = ResourceManager.GetObject("a_952_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_952_2 { + get { + object obj = ResourceManager.GetObject("a_952_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_953 { + get { + object obj = ResourceManager.GetObject("a_953", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_954 { + get { + object obj = ResourceManager.GetObject("a_954", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_955 { + get { + object obj = ResourceManager.GetObject("a_955", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_956 { + get { + object obj = ResourceManager.GetObject("a_956", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_957 { + get { + object obj = ResourceManager.GetObject("a_957", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_958 { + get { + object obj = ResourceManager.GetObject("a_958", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_959 { + get { + object obj = ResourceManager.GetObject("a_959", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_96 { + get { + object obj = ResourceManager.GetObject("a_96", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_960 { + get { + object obj = ResourceManager.GetObject("a_960", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_960_1 { + get { + object obj = ResourceManager.GetObject("a_960_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_960_2 { + get { + object obj = ResourceManager.GetObject("a_960_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_960_3 { + get { + object obj = ResourceManager.GetObject("a_960_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_961 { + get { + object obj = ResourceManager.GetObject("a_961", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_962 { + get { + object obj = ResourceManager.GetObject("a_962", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_963 { + get { + object obj = ResourceManager.GetObject("a_963", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_964 { + get { + object obj = ResourceManager.GetObject("a_964", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_965 { + get { + object obj = ResourceManager.GetObject("a_965", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_966 { + get { + object obj = ResourceManager.GetObject("a_966", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_967 { + get { + object obj = ResourceManager.GetObject("a_967", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_968 { + get { + object obj = ResourceManager.GetObject("a_968", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_969 { + get { + object obj = ResourceManager.GetObject("a_969", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_97 { + get { + object obj = ResourceManager.GetObject("a_97", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_970 { + get { + object obj = ResourceManager.GetObject("a_970", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_971 { + get { + object obj = ResourceManager.GetObject("a_971", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_972 { + get { + object obj = ResourceManager.GetObject("a_972", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_973 { + get { + object obj = ResourceManager.GetObject("a_973", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_974 { + get { + object obj = ResourceManager.GetObject("a_974", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_975 { + get { + object obj = ResourceManager.GetObject("a_975", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_976 { + get { + object obj = ResourceManager.GetObject("a_976", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_976_1 { + get { + object obj = ResourceManager.GetObject("a_976_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_977 { + get { + object obj = ResourceManager.GetObject("a_977", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_978 { + get { + object obj = ResourceManager.GetObject("a_978", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_979 { + get { + object obj = ResourceManager.GetObject("a_979", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_98 { + get { + object obj = ResourceManager.GetObject("a_98", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_981 { + get { + object obj = ResourceManager.GetObject("a_981", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_982 { + get { + object obj = ResourceManager.GetObject("a_982", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_983 { + get { + object obj = ResourceManager.GetObject("a_983", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_984 { + get { + object obj = ResourceManager.GetObject("a_984", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_985 { + get { + object obj = ResourceManager.GetObject("a_985", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_986 { + get { + object obj = ResourceManager.GetObject("a_986", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_988 { + get { + object obj = ResourceManager.GetObject("a_988", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_989 { + get { + object obj = ResourceManager.GetObject("a_989", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_99 { + get { + object obj = ResourceManager.GetObject("a_99", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_990 { + get { + object obj = ResourceManager.GetObject("a_990", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_991 { + get { + object obj = ResourceManager.GetObject("a_991", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_992 { + get { + object obj = ResourceManager.GetObject("a_992", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_993 { + get { + object obj = ResourceManager.GetObject("a_993", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_994 { + get { + object obj = ResourceManager.GetObject("a_994", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_995 { + get { + object obj = ResourceManager.GetObject("a_995", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_996 { + get { + object obj = ResourceManager.GetObject("a_996", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_997 { + get { + object obj = ResourceManager.GetObject("a_997", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998 { + get { + object obj = ResourceManager.GetObject("a_998", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998_1 { + get { + object obj = ResourceManager.GetObject("a_998_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998_2 { + get { + object obj = ResourceManager.GetObject("a_998_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998_3 { + get { + object obj = ResourceManager.GetObject("a_998_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998_4 { + get { + object obj = ResourceManager.GetObject("a_998_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_999 { + get { + object obj = ResourceManager.GetObject("a_999", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_999_1 { + get { + object obj = ResourceManager.GetObject("a_999_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_999_2 { + get { + object obj = ResourceManager.GetObject("a_999_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_999_3 { + get { + object obj = ResourceManager.GetObject("a_999_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_999_4 { + get { + object obj = ResourceManager.GetObject("a_999_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_egg { + get { + object obj = ResourceManager.GetObject("a_egg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1 { + get { + object obj = ResourceManager.GetObject("aitem_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_10 { + get { + object obj = ResourceManager.GetObject("aitem_10", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_106 { + get { + object obj = ResourceManager.GetObject("aitem_106", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_107 { + get { + object obj = ResourceManager.GetObject("aitem_107", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_108 { + get { + object obj = ResourceManager.GetObject("aitem_108", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_109 { + get { + object obj = ResourceManager.GetObject("aitem_109", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_11 { + get { + object obj = ResourceManager.GetObject("aitem_11", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_110 { + get { + object obj = ResourceManager.GetObject("aitem_110", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1103 { + get { + object obj = ResourceManager.GetObject("aitem_1103", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1104 { + get { + object obj = ResourceManager.GetObject("aitem_1104", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_111 { + get { + object obj = ResourceManager.GetObject("aitem_111", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1116 { + get { + object obj = ResourceManager.GetObject("aitem_1116", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1117 { + get { + object obj = ResourceManager.GetObject("aitem_1117", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1118 { + get { + object obj = ResourceManager.GetObject("aitem_1118", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1119 { + get { + object obj = ResourceManager.GetObject("aitem_1119", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_112 { + get { + object obj = ResourceManager.GetObject("aitem_112", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1120 { + get { + object obj = ResourceManager.GetObject("aitem_1120", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1121 { + get { + object obj = ResourceManager.GetObject("aitem_1121", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1122 { + get { + object obj = ResourceManager.GetObject("aitem_1122", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1123 { + get { + object obj = ResourceManager.GetObject("aitem_1123", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1124 { + get { + object obj = ResourceManager.GetObject("aitem_1124", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1125 { + get { + object obj = ResourceManager.GetObject("aitem_1125", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1126 { + get { + object obj = ResourceManager.GetObject("aitem_1126", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1127 { + get { + object obj = ResourceManager.GetObject("aitem_1127", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1128 { + get { + object obj = ResourceManager.GetObject("aitem_1128", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_12 { + get { + object obj = ResourceManager.GetObject("aitem_12", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1231 { + get { + object obj = ResourceManager.GetObject("aitem_1231", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1232 { + get { + object obj = ResourceManager.GetObject("aitem_1232", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1233 { + get { + object obj = ResourceManager.GetObject("aitem_1233", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1234 { + get { + object obj = ResourceManager.GetObject("aitem_1234", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1235 { + get { + object obj = ResourceManager.GetObject("aitem_1235", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1236 { + get { + object obj = ResourceManager.GetObject("aitem_1236", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1237 { + get { + object obj = ResourceManager.GetObject("aitem_1237", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1238 { + get { + object obj = ResourceManager.GetObject("aitem_1238", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1239 { + get { + object obj = ResourceManager.GetObject("aitem_1239", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1240 { + get { + object obj = ResourceManager.GetObject("aitem_1240", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1241 { + get { + object obj = ResourceManager.GetObject("aitem_1241", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1242 { + get { + object obj = ResourceManager.GetObject("aitem_1242", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1243 { + get { + object obj = ResourceManager.GetObject("aitem_1243", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1244 { + get { + object obj = ResourceManager.GetObject("aitem_1244", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1245 { + get { + object obj = ResourceManager.GetObject("aitem_1245", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1246 { + get { + object obj = ResourceManager.GetObject("aitem_1246", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1247 { + get { + object obj = ResourceManager.GetObject("aitem_1247", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1248 { + get { + object obj = ResourceManager.GetObject("aitem_1248", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1249 { + get { + object obj = ResourceManager.GetObject("aitem_1249", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1250 { + get { + object obj = ResourceManager.GetObject("aitem_1250", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1251 { + get { + object obj = ResourceManager.GetObject("aitem_1251", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1253 { + get { + object obj = ResourceManager.GetObject("aitem_1253", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1254 { + get { + object obj = ResourceManager.GetObject("aitem_1254", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_13 { + get { + object obj = ResourceManager.GetObject("aitem_13", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_135 { + get { + object obj = ResourceManager.GetObject("aitem_135", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_136 { + get { + object obj = ResourceManager.GetObject("aitem_136", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_14 { + get { + object obj = ResourceManager.GetObject("aitem_14", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_149 { + get { + object obj = ResourceManager.GetObject("aitem_149", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_15 { + get { + object obj = ResourceManager.GetObject("aitem_15", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_150 { + get { + object obj = ResourceManager.GetObject("aitem_150", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_151 { + get { + object obj = ResourceManager.GetObject("aitem_151", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_152 { + get { + object obj = ResourceManager.GetObject("aitem_152", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_153 { + get { + object obj = ResourceManager.GetObject("aitem_153", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_154 { + get { + object obj = ResourceManager.GetObject("aitem_154", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_155 { + get { + object obj = ResourceManager.GetObject("aitem_155", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_156 { + get { + object obj = ResourceManager.GetObject("aitem_156", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_157 { + get { + object obj = ResourceManager.GetObject("aitem_157", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_158 { + get { + object obj = ResourceManager.GetObject("aitem_158", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1582 { + get { + object obj = ResourceManager.GetObject("aitem_1582", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_159 { + get { + object obj = ResourceManager.GetObject("aitem_159", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1592 { + get { + object obj = ResourceManager.GetObject("aitem_1592", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_16 { + get { + object obj = ResourceManager.GetObject("aitem_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_160 { + get { + object obj = ResourceManager.GetObject("aitem_160", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1606 { + get { + object obj = ResourceManager.GetObject("aitem_1606", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_161 { + get { + object obj = ResourceManager.GetObject("aitem_161", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_162 { + get { + object obj = ResourceManager.GetObject("aitem_162", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_163 { + get { + object obj = ResourceManager.GetObject("aitem_163", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_164 { + get { + object obj = ResourceManager.GetObject("aitem_164", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_165 { + get { + object obj = ResourceManager.GetObject("aitem_165", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_166 { + get { + object obj = ResourceManager.GetObject("aitem_166", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_167 { + get { + object obj = ResourceManager.GetObject("aitem_167", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_168 { + get { + object obj = ResourceManager.GetObject("aitem_168", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_169 { + get { + object obj = ResourceManager.GetObject("aitem_169", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1691 { + get { + object obj = ResourceManager.GetObject("aitem_1691", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1692 { + get { + object obj = ResourceManager.GetObject("aitem_1692", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_17 { + get { + object obj = ResourceManager.GetObject("aitem_17", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_170 { + get { + object obj = ResourceManager.GetObject("aitem_170", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_171 { + get { + object obj = ResourceManager.GetObject("aitem_171", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_172 { + get { + object obj = ResourceManager.GetObject("aitem_172", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_173 { + get { + object obj = ResourceManager.GetObject("aitem_173", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_174 { + get { + object obj = ResourceManager.GetObject("aitem_174", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_175 { + get { + object obj = ResourceManager.GetObject("aitem_175", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_176 { + get { + object obj = ResourceManager.GetObject("aitem_176", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_177 { + get { + object obj = ResourceManager.GetObject("aitem_177", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1777 { + get { + object obj = ResourceManager.GetObject("aitem_1777", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1778 { + get { + object obj = ResourceManager.GetObject("aitem_1778", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1779 { + get { + object obj = ResourceManager.GetObject("aitem_1779", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_178 { + get { + object obj = ResourceManager.GetObject("aitem_178", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1780 { + get { + object obj = ResourceManager.GetObject("aitem_1780", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1785 { + get { + object obj = ResourceManager.GetObject("aitem_1785", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_179 { + get { + object obj = ResourceManager.GetObject("aitem_179", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_18 { + get { + object obj = ResourceManager.GetObject("aitem_18", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_180 { + get { + object obj = ResourceManager.GetObject("aitem_180", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_181 { + get { + object obj = ResourceManager.GetObject("aitem_181", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_182 { + get { + object obj = ResourceManager.GetObject("aitem_182", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1828 { + get { + object obj = ResourceManager.GetObject("aitem_1828", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_183 { + get { + object obj = ResourceManager.GetObject("aitem_183", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_184 { + get { + object obj = ResourceManager.GetObject("aitem_184", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1842 { + get { + object obj = ResourceManager.GetObject("aitem_1842", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1843 { + get { + object obj = ResourceManager.GetObject("aitem_1843", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_185 { + get { + object obj = ResourceManager.GetObject("aitem_185", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1859 { + get { + object obj = ResourceManager.GetObject("aitem_1859", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_186 { + get { + object obj = ResourceManager.GetObject("aitem_186", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1860 { + get { + object obj = ResourceManager.GetObject("aitem_1860", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1861 { + get { + object obj = ResourceManager.GetObject("aitem_1861", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1862 { + get { + object obj = ResourceManager.GetObject("aitem_1862", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1863 { + get { + object obj = ResourceManager.GetObject("aitem_1863", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1864 { + get { + object obj = ResourceManager.GetObject("aitem_1864", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1865 { + get { + object obj = ResourceManager.GetObject("aitem_1865", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1866 { + get { + object obj = ResourceManager.GetObject("aitem_1866", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1867 { + get { + object obj = ResourceManager.GetObject("aitem_1867", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1868 { + get { + object obj = ResourceManager.GetObject("aitem_1868", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1869 { + get { + object obj = ResourceManager.GetObject("aitem_1869", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_187 { + get { + object obj = ResourceManager.GetObject("aitem_187", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1870 { + get { + object obj = ResourceManager.GetObject("aitem_1870", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1871 { + get { + object obj = ResourceManager.GetObject("aitem_1871", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1872 { + get { + object obj = ResourceManager.GetObject("aitem_1872", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1873 { + get { + object obj = ResourceManager.GetObject("aitem_1873", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1874 { + get { + object obj = ResourceManager.GetObject("aitem_1874", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1875 { + get { + object obj = ResourceManager.GetObject("aitem_1875", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1876 { + get { + object obj = ResourceManager.GetObject("aitem_1876", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1877 { + get { + object obj = ResourceManager.GetObject("aitem_1877", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1878 { + get { + object obj = ResourceManager.GetObject("aitem_1878", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1879 { + get { + object obj = ResourceManager.GetObject("aitem_1879", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_188 { + get { + object obj = ResourceManager.GetObject("aitem_188", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1880 { + get { + object obj = ResourceManager.GetObject("aitem_1880", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1881 { + get { + object obj = ResourceManager.GetObject("aitem_1881", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1882 { + get { + object obj = ResourceManager.GetObject("aitem_1882", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1883 { + get { + object obj = ResourceManager.GetObject("aitem_1883", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1884 { + get { + object obj = ResourceManager.GetObject("aitem_1884", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1885 { + get { + object obj = ResourceManager.GetObject("aitem_1885", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1886 { + get { + object obj = ResourceManager.GetObject("aitem_1886", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_189 { + get { + object obj = ResourceManager.GetObject("aitem_189", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_19 { + get { + object obj = ResourceManager.GetObject("aitem_19", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_190 { + get { + object obj = ResourceManager.GetObject("aitem_190", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_191 { + get { + object obj = ResourceManager.GetObject("aitem_191", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_192 { + get { + object obj = ResourceManager.GetObject("aitem_192", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_193 { + get { + object obj = ResourceManager.GetObject("aitem_193", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_194 { + get { + object obj = ResourceManager.GetObject("aitem_194", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_195 { + get { + object obj = ResourceManager.GetObject("aitem_195", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_196 { + get { + object obj = ResourceManager.GetObject("aitem_196", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_197 { + get { + object obj = ResourceManager.GetObject("aitem_197", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_198 { + get { + object obj = ResourceManager.GetObject("aitem_198", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_199 { + get { + object obj = ResourceManager.GetObject("aitem_199", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2 { + get { + object obj = ResourceManager.GetObject("aitem_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_20 { + get { + object obj = ResourceManager.GetObject("aitem_20", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_200 { + get { + object obj = ResourceManager.GetObject("aitem_200", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_201 { + get { + object obj = ResourceManager.GetObject("aitem_201", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_202 { + get { + object obj = ResourceManager.GetObject("aitem_202", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_203 { + get { + object obj = ResourceManager.GetObject("aitem_203", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_204 { + get { + object obj = ResourceManager.GetObject("aitem_204", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_205 { + get { + object obj = ResourceManager.GetObject("aitem_205", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_206 { + get { + object obj = ResourceManager.GetObject("aitem_206", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_207 { + get { + object obj = ResourceManager.GetObject("aitem_207", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_208 { + get { + object obj = ResourceManager.GetObject("aitem_208", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_209 { + get { + object obj = ResourceManager.GetObject("aitem_209", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_21 { + get { + object obj = ResourceManager.GetObject("aitem_21", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_210 { + get { + object obj = ResourceManager.GetObject("aitem_210", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_211 { + get { + object obj = ResourceManager.GetObject("aitem_211", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_212 { + get { + object obj = ResourceManager.GetObject("aitem_212", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_213 { + get { + object obj = ResourceManager.GetObject("aitem_213", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_214 { + get { + object obj = ResourceManager.GetObject("aitem_214", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_216 { + get { + object obj = ResourceManager.GetObject("aitem_216", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_217 { + get { + object obj = ResourceManager.GetObject("aitem_217", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_218 { + get { + object obj = ResourceManager.GetObject("aitem_218", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_219 { + get { + object obj = ResourceManager.GetObject("aitem_219", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_22 { + get { + object obj = ResourceManager.GetObject("aitem_22", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_220 { + get { + object obj = ResourceManager.GetObject("aitem_220", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_221 { + get { + object obj = ResourceManager.GetObject("aitem_221", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_222 { + get { + object obj = ResourceManager.GetObject("aitem_222", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_223 { + get { + object obj = ResourceManager.GetObject("aitem_223", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_224 { + get { + object obj = ResourceManager.GetObject("aitem_224", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_228 { + get { + object obj = ResourceManager.GetObject("aitem_228", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_229 { + get { + object obj = ResourceManager.GetObject("aitem_229", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_23 { + get { + object obj = ResourceManager.GetObject("aitem_23", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_230 { + get { + object obj = ResourceManager.GetObject("aitem_230", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_231 { + get { + object obj = ResourceManager.GetObject("aitem_231", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_232 { + get { + object obj = ResourceManager.GetObject("aitem_232", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_233 { + get { + object obj = ResourceManager.GetObject("aitem_233", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_234 { + get { + object obj = ResourceManager.GetObject("aitem_234", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2344 { + get { + object obj = ResourceManager.GetObject("aitem_2344", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2345 { + get { + object obj = ResourceManager.GetObject("aitem_2345", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_236 { + get { + object obj = ResourceManager.GetObject("aitem_236", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_237 { + get { + object obj = ResourceManager.GetObject("aitem_237", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_238 { + get { + object obj = ResourceManager.GetObject("aitem_238", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_239 { + get { + object obj = ResourceManager.GetObject("aitem_239", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_24 { + get { + object obj = ResourceManager.GetObject("aitem_24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_240 { + get { + object obj = ResourceManager.GetObject("aitem_240", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_241 { + get { + object obj = ResourceManager.GetObject("aitem_241", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_242 { + get { + object obj = ResourceManager.GetObject("aitem_242", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_243 { + get { + object obj = ResourceManager.GetObject("aitem_243", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_244 { + get { + object obj = ResourceManager.GetObject("aitem_244", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_245 { + get { + object obj = ResourceManager.GetObject("aitem_245", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_246 { + get { + object obj = ResourceManager.GetObject("aitem_246", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_247 { + get { + object obj = ResourceManager.GetObject("aitem_247", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_248 { + get { + object obj = ResourceManager.GetObject("aitem_248", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_249 { + get { + object obj = ResourceManager.GetObject("aitem_249", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_25 { + get { + object obj = ResourceManager.GetObject("aitem_25", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_250 { + get { + object obj = ResourceManager.GetObject("aitem_250", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_251 { + get { + object obj = ResourceManager.GetObject("aitem_251", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_253 { + get { + object obj = ResourceManager.GetObject("aitem_253", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_254 { + get { + object obj = ResourceManager.GetObject("aitem_254", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_255 { + get { + object obj = ResourceManager.GetObject("aitem_255", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_26 { + get { + object obj = ResourceManager.GetObject("aitem_26", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_265 { + get { + object obj = ResourceManager.GetObject("aitem_265", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_266 { + get { + object obj = ResourceManager.GetObject("aitem_266", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_267 { + get { + object obj = ResourceManager.GetObject("aitem_267", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_268 { + get { + object obj = ResourceManager.GetObject("aitem_268", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_269 { + get { + object obj = ResourceManager.GetObject("aitem_269", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_27 { + get { + object obj = ResourceManager.GetObject("aitem_27", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_270 { + get { + object obj = ResourceManager.GetObject("aitem_270", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_271 { + get { + object obj = ResourceManager.GetObject("aitem_271", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_272 { + get { + object obj = ResourceManager.GetObject("aitem_272", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_273 { + get { + object obj = ResourceManager.GetObject("aitem_273", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_275 { + get { + object obj = ResourceManager.GetObject("aitem_275", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_276 { + get { + object obj = ResourceManager.GetObject("aitem_276", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_277 { + get { + object obj = ResourceManager.GetObject("aitem_277", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_278 { + get { + object obj = ResourceManager.GetObject("aitem_278", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_279 { + get { + object obj = ResourceManager.GetObject("aitem_279", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_28 { + get { + object obj = ResourceManager.GetObject("aitem_28", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_280 { + get { + object obj = ResourceManager.GetObject("aitem_280", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_281 { + get { + object obj = ResourceManager.GetObject("aitem_281", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_282 { + get { + object obj = ResourceManager.GetObject("aitem_282", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_283 { + get { + object obj = ResourceManager.GetObject("aitem_283", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_284 { + get { + object obj = ResourceManager.GetObject("aitem_284", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_285 { + get { + object obj = ResourceManager.GetObject("aitem_285", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_286 { + get { + object obj = ResourceManager.GetObject("aitem_286", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_287 { + get { + object obj = ResourceManager.GetObject("aitem_287", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_288 { + get { + object obj = ResourceManager.GetObject("aitem_288", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_289 { + get { + object obj = ResourceManager.GetObject("aitem_289", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_29 { + get { + object obj = ResourceManager.GetObject("aitem_29", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_290 { + get { + object obj = ResourceManager.GetObject("aitem_290", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_291 { + get { + object obj = ResourceManager.GetObject("aitem_291", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_292 { + get { + object obj = ResourceManager.GetObject("aitem_292", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_293 { + get { + object obj = ResourceManager.GetObject("aitem_293", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_294 { + get { + object obj = ResourceManager.GetObject("aitem_294", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_295 { + get { + object obj = ResourceManager.GetObject("aitem_295", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_296 { + get { + object obj = ResourceManager.GetObject("aitem_296", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_297 { + get { + object obj = ResourceManager.GetObject("aitem_297", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_298 { + get { + object obj = ResourceManager.GetObject("aitem_298", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_299 { + get { + object obj = ResourceManager.GetObject("aitem_299", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_3 { + get { + object obj = ResourceManager.GetObject("aitem_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_30 { + get { + object obj = ResourceManager.GetObject("aitem_30", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_300 { + get { + object obj = ResourceManager.GetObject("aitem_300", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_301 { + get { + object obj = ResourceManager.GetObject("aitem_301", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_302 { + get { + object obj = ResourceManager.GetObject("aitem_302", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_303 { + get { + object obj = ResourceManager.GetObject("aitem_303", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_304 { + get { + object obj = ResourceManager.GetObject("aitem_304", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_305 { + get { + object obj = ResourceManager.GetObject("aitem_305", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_306 { + get { + object obj = ResourceManager.GetObject("aitem_306", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_307 { + get { + object obj = ResourceManager.GetObject("aitem_307", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_308 { + get { + object obj = ResourceManager.GetObject("aitem_308", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_309 { + get { + object obj = ResourceManager.GetObject("aitem_309", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_31 { + get { + object obj = ResourceManager.GetObject("aitem_31", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_310 { + get { + object obj = ResourceManager.GetObject("aitem_310", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_311 { + get { + object obj = ResourceManager.GetObject("aitem_311", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_312 { + get { + object obj = ResourceManager.GetObject("aitem_312", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_313 { + get { + object obj = ResourceManager.GetObject("aitem_313", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_314 { + get { + object obj = ResourceManager.GetObject("aitem_314", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_315 { + get { + object obj = ResourceManager.GetObject("aitem_315", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_316 { + get { + object obj = ResourceManager.GetObject("aitem_316", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_317 { + get { + object obj = ResourceManager.GetObject("aitem_317", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_318 { + get { + object obj = ResourceManager.GetObject("aitem_318", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_319 { + get { + object obj = ResourceManager.GetObject("aitem_319", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_32 { + get { + object obj = ResourceManager.GetObject("aitem_32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_320 { + get { + object obj = ResourceManager.GetObject("aitem_320", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_326 { + get { + object obj = ResourceManager.GetObject("aitem_326", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_33 { + get { + object obj = ResourceManager.GetObject("aitem_33", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_34 { + get { + object obj = ResourceManager.GetObject("aitem_34", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_35 { + get { + object obj = ResourceManager.GetObject("aitem_35", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_36 { + get { + object obj = ResourceManager.GetObject("aitem_36", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_37 { + get { + object obj = ResourceManager.GetObject("aitem_37", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_38 { + get { + object obj = ResourceManager.GetObject("aitem_38", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_39 { + get { + object obj = ResourceManager.GetObject("aitem_39", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_4 { + get { + object obj = ResourceManager.GetObject("aitem_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_40 { + get { + object obj = ResourceManager.GetObject("aitem_40", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_41 { + get { + object obj = ResourceManager.GetObject("aitem_41", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_45 { + get { + object obj = ResourceManager.GetObject("aitem_45", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_46 { + get { + object obj = ResourceManager.GetObject("aitem_46", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_47 { + get { + object obj = ResourceManager.GetObject("aitem_47", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_48 { + get { + object obj = ResourceManager.GetObject("aitem_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_485 { + get { + object obj = ResourceManager.GetObject("aitem_485", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_486 { + get { + object obj = ResourceManager.GetObject("aitem_486", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_487 { + get { + object obj = ResourceManager.GetObject("aitem_487", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_488 { + get { + object obj = ResourceManager.GetObject("aitem_488", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_489 { + get { + object obj = ResourceManager.GetObject("aitem_489", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_49 { + get { + object obj = ResourceManager.GetObject("aitem_49", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_490 { + get { + object obj = ResourceManager.GetObject("aitem_490", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_491 { + get { + object obj = ResourceManager.GetObject("aitem_491", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_492 { + get { + object obj = ResourceManager.GetObject("aitem_492", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_493 { + get { + object obj = ResourceManager.GetObject("aitem_493", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_494 { + get { + object obj = ResourceManager.GetObject("aitem_494", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_495 { + get { + object obj = ResourceManager.GetObject("aitem_495", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_496 { + get { + object obj = ResourceManager.GetObject("aitem_496", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_497 { + get { + object obj = ResourceManager.GetObject("aitem_497", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_498 { + get { + object obj = ResourceManager.GetObject("aitem_498", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_499 { + get { + object obj = ResourceManager.GetObject("aitem_499", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_5 { + get { + object obj = ResourceManager.GetObject("aitem_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_50 { + get { + object obj = ResourceManager.GetObject("aitem_50", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_500 { + get { + object obj = ResourceManager.GetObject("aitem_500", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_51 { + get { + object obj = ResourceManager.GetObject("aitem_51", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_52 { + get { + object obj = ResourceManager.GetObject("aitem_52", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_53 { + get { + object obj = ResourceManager.GetObject("aitem_53", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_538 { + get { + object obj = ResourceManager.GetObject("aitem_538", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_539 { + get { + object obj = ResourceManager.GetObject("aitem_539", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_540 { + get { + object obj = ResourceManager.GetObject("aitem_540", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_541 { + get { + object obj = ResourceManager.GetObject("aitem_541", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_542 { + get { + object obj = ResourceManager.GetObject("aitem_542", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_543 { + get { + object obj = ResourceManager.GetObject("aitem_543", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_544 { + get { + object obj = ResourceManager.GetObject("aitem_544", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_545 { + get { + object obj = ResourceManager.GetObject("aitem_545", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_546 { + get { + object obj = ResourceManager.GetObject("aitem_546", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_547 { + get { + object obj = ResourceManager.GetObject("aitem_547", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_55 { + get { + object obj = ResourceManager.GetObject("aitem_55", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_56 { + get { + object obj = ResourceManager.GetObject("aitem_56", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_564 { + get { + object obj = ResourceManager.GetObject("aitem_564", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_565 { + get { + object obj = ResourceManager.GetObject("aitem_565", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_566 { + get { + object obj = ResourceManager.GetObject("aitem_566", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_567 { + get { + object obj = ResourceManager.GetObject("aitem_567", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_568 { + get { + object obj = ResourceManager.GetObject("aitem_568", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_569 { + get { + object obj = ResourceManager.GetObject("aitem_569", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_57 { + get { + object obj = ResourceManager.GetObject("aitem_57", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_570 { + get { + object obj = ResourceManager.GetObject("aitem_570", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_571 { + get { + object obj = ResourceManager.GetObject("aitem_571", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_576 { + get { + object obj = ResourceManager.GetObject("aitem_576", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_58 { + get { + object obj = ResourceManager.GetObject("aitem_58", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_580 { + get { + object obj = ResourceManager.GetObject("aitem_580", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_581 { + get { + object obj = ResourceManager.GetObject("aitem_581", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_582 { + get { + object obj = ResourceManager.GetObject("aitem_582", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_583 { + get { + object obj = ResourceManager.GetObject("aitem_583", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_59 { + get { + object obj = ResourceManager.GetObject("aitem_59", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_6 { + get { + object obj = ResourceManager.GetObject("aitem_6", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_60 { + get { + object obj = ResourceManager.GetObject("aitem_60", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_61 { + get { + object obj = ResourceManager.GetObject("aitem_61", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_62 { + get { + object obj = ResourceManager.GetObject("aitem_62", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_63 { + get { + object obj = ResourceManager.GetObject("aitem_63", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_639 { + get { + object obj = ResourceManager.GetObject("aitem_639", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_640 { + get { + object obj = ResourceManager.GetObject("aitem_640", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_644 { + get { + object obj = ResourceManager.GetObject("aitem_644", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_645 { + get { + object obj = ResourceManager.GetObject("aitem_645", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_648 { + get { + object obj = ResourceManager.GetObject("aitem_648", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_649 { + get { + object obj = ResourceManager.GetObject("aitem_649", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_650 { + get { + object obj = ResourceManager.GetObject("aitem_650", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_686 { + get { + object obj = ResourceManager.GetObject("aitem_686", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_687 { + get { + object obj = ResourceManager.GetObject("aitem_687", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_688 { + get { + object obj = ResourceManager.GetObject("aitem_688", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_693 { + get { + object obj = ResourceManager.GetObject("aitem_693", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_7 { + get { + object obj = ResourceManager.GetObject("aitem_7", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_708 { + get { + object obj = ResourceManager.GetObject("aitem_708", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_709 { + get { + object obj = ResourceManager.GetObject("aitem_709", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_76 { + get { + object obj = ResourceManager.GetObject("aitem_76", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_77 { + get { + object obj = ResourceManager.GetObject("aitem_77", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_79 { + get { + object obj = ResourceManager.GetObject("aitem_79", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_795 { + get { + object obj = ResourceManager.GetObject("aitem_795", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_796 { + get { + object obj = ResourceManager.GetObject("aitem_796", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_8 { + get { + object obj = ResourceManager.GetObject("aitem_8", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_80 { + get { + object obj = ResourceManager.GetObject("aitem_80", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_81 { + get { + object obj = ResourceManager.GetObject("aitem_81", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_82 { + get { + object obj = ResourceManager.GetObject("aitem_82", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_83 { + get { + object obj = ResourceManager.GetObject("aitem_83", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_84 { + get { + object obj = ResourceManager.GetObject("aitem_84", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_846 { + get { + object obj = ResourceManager.GetObject("aitem_846", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_849 { + get { + object obj = ResourceManager.GetObject("aitem_849", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_85 { + get { + object obj = ResourceManager.GetObject("aitem_85", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_851 { + get { + object obj = ResourceManager.GetObject("aitem_851", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_853 { + get { + object obj = ResourceManager.GetObject("aitem_853", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_854 { + get { + object obj = ResourceManager.GetObject("aitem_854", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_855 { + get { + object obj = ResourceManager.GetObject("aitem_855", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_856 { + get { + object obj = ResourceManager.GetObject("aitem_856", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_86 { + get { + object obj = ResourceManager.GetObject("aitem_86", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_87 { + get { + object obj = ResourceManager.GetObject("aitem_87", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_879 { + get { + object obj = ResourceManager.GetObject("aitem_879", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_88 { + get { + object obj = ResourceManager.GetObject("aitem_88", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_880 { + get { + object obj = ResourceManager.GetObject("aitem_880", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_881 { + get { + object obj = ResourceManager.GetObject("aitem_881", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_882 { + get { + object obj = ResourceManager.GetObject("aitem_882", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_883 { + get { + object obj = ResourceManager.GetObject("aitem_883", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_884 { + get { + object obj = ResourceManager.GetObject("aitem_884", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_89 { + get { + object obj = ResourceManager.GetObject("aitem_89", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_9 { + get { + object obj = ResourceManager.GetObject("aitem_9", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_90 { + get { + object obj = ResourceManager.GetObject("aitem_90", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_91 { + get { + object obj = ResourceManager.GetObject("aitem_91", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_92 { + get { + object obj = ResourceManager.GetObject("aitem_92", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_94 { + get { + object obj = ResourceManager.GetObject("aitem_94", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_tm { + get { + object obj = ResourceManager.GetObject("aitem_tm", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PKHeX.Drawing.PokeSprite/Properties/Resources.resx b/PKHeX.Drawing.PokeSprite/Properties/Resources.resx index 95a8e63dc..0e3395864 100644 --- a/PKHeX.Drawing.PokeSprite/Properties/Resources.resx +++ b/PKHeX.Drawing.PokeSprite/Properties/Resources.resx @@ -118,9 +118,4140 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\img\Artwork Items\aitem_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_106.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_107.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_108.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_109.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_110.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1103.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1104.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_111.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1116.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1117.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1118.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1119.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_112.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1120.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1121.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1122.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1123.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1124.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1125.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1126.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1127.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1231.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1232.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1233.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1234.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1235.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1236.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1237.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1238.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1239.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1240.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1241.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1242.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1243.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1244.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1245.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1246.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1247.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1248.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1249.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1250.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1251.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1253.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1254.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_135.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_136.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_149.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_150.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_151.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_152.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_153.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_154.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_155.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_156.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_157.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_158.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1582.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_159.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1592.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_160.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1606.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_163.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_164.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_165.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_166.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_167.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_168.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_169.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1691.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1692.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_170.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_171.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_172.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_173.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_174.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_175.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_176.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_177.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1777.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1778.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1779.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_178.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1780.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1785.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_179.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_180.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_181.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_182.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1828.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_183.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_184.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1842.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1843.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_185.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1859.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_186.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1860.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1861.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1862.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1863.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1864.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1865.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1866.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1867.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1868.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1869.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_187.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1870.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1871.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1872.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1873.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1874.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1875.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1876.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1877.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1878.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1879.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_188.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1880.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1881.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1882.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1883.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1884.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1885.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1886.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_189.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_19.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_190.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_191.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_192.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_193.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_194.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_195.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_196.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_197.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_198.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_199.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_200.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_201.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_202.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_203.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_204.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_205.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_206.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_207.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_208.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_209.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_21.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_210.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_211.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_212.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_213.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_214.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_216.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_217.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_218.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_219.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_220.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_221.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_222.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_223.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_224.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_228.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_229.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_23.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_230.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_231.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_232.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_233.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_234.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2344.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2345.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_236.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_237.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_238.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_239.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_240.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_241.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_242.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_243.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_244.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_245.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_246.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_247.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_248.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_249.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_250.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_251.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_253.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_254.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_255.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_26.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_265.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_266.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_267.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_268.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_269.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_27.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_271.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_272.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_273.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_275.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_276.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_277.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_278.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_279.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_28.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_280.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_281.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_282.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_283.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_284.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_285.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_286.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_287.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_288.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_289.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_29.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_290.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_291.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_292.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_293.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_294.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_295.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_296.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_298.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_299.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_30.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_300.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_301.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_302.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_303.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_304.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_305.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_306.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_307.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_308.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_309.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_31.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_310.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_311.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_312.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_313.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_314.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_315.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_316.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_317.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_318.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_319.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_320.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_326.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_33.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_34.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_35.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_36.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_37.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_38.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_39.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_41.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_45.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_46.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_47.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_485.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_486.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_487.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_488.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_489.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_49.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_490.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_491.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_492.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_493.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_494.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_495.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_496.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_497.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_498.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_499.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_500.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_51.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_52.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_53.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_538.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_539.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_540.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_541.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_542.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_543.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_544.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_545.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_546.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_547.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_55.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_56.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_564.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_565.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_566.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_567.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_568.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_569.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_57.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_570.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_571.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_576.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_58.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_580.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_581.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_582.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_583.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_59.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_61.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_62.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_63.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_639.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_640.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_644.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_645.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_648.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_649.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_686.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_687.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_688.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_693.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_708.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_709.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_76.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_77.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_79.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_795.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_796.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_80.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_81.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_82.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_83.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_84.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_846.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_849.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_85.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_851.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_853.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_854.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_855.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_856.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_86.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_87.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_879.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_88.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_880.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_881.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_882.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_883.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_884.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_89.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_90.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_91.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_92.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_94.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_tm.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\Pokemon Sprite Overlays\alpha.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\Artwork Pokemon Sprites\a_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_100.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1000.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1001.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1002.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1003.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1004.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1005.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1006.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1007.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1008.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1009.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_100-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_101.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_1010.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_101-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_102.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_103.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_104.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_105.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_106.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_107.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_108.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_109.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_110.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_111.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_112.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_113.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_114.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_115.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_116.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_117.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_118.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_119.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_120.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_121.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_122.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_123.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_124.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_125.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_126.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_127.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_128-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_128-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_128-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_129.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_130.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_131.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_132.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_133.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_134.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_135.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_136.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_137.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_138.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_139.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_140.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_141.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_142.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_143.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_144.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_144-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_145.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_145-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_146.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_146-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_147.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_148.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_149.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_150.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_151.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_152.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_153.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_154.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_155.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_156.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_157.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_157-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_158.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_159.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_160.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_163.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_164.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_165.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_166.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_167.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_168.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_169.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_170.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_171.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_172.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_173.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_174.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_175.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_176.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_177.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_178.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_179.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_180.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_181.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_182.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_183.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_184.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_185.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_186.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_187.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_188.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_189.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_19.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_190.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_191.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_192.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_193.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_194.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_194-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_195.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_196.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_197.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_198.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_199.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_199-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_200.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-19.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-21.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-23.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-26.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-27.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_201-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_202.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_203.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_204.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_205.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_206.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_207.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_208.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_209.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_21.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_210.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_211.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_211-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_212.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_213.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_214.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_215.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_215-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_216.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_217.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_218.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_219.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_22.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_220.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_221.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_222.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_223.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_224.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_225.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_226.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_227.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_228.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_229.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_23.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_230.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_231.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_232.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_233.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_234.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_235.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_236.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_237.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_238.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_239.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_240.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_241.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_242.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_243.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_244.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_245.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_246.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_247.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_248.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_249.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_250.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_251.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_252.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_253.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_254.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_255.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_256.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_257.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_258.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_259.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25f.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_25-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_26.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_260.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_261.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_262.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_263.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_264.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_265.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_266.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_267.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_268.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_269.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_26-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_27.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_271.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_272.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_273.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_274.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_275.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_276.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_277.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_278.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_279.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_28.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_280.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_281.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_282.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_283.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_284.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_285.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_286.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_287.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_288.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_289.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_29.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_290.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_291.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_292.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_293.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_294.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_295.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_296.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_298.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_299.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_30.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_300.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_301.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_302.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_303.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_304.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_305.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_306.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_307.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_308.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_309.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_31.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_310.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_311.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_312.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_313.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_314.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_315.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_316.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_317.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_318.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_319.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_320.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_322.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_323.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_324.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_325.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_326.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_327.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_328.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_329.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_33.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_330.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_331.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_332.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_333.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_334.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_335.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_336.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_337.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_338.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_339.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_34.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_340.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_341.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_342.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_343.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_344.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_345.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_346.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_347.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_348.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_349.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_35.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_350.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_351.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_351-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_351-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_351-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_352.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_353.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_354.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_355.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_356.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_357.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_358.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_359.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_36.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_360.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_361.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_362.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_363.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_364.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_365.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_366.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_367.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_368.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_369.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_37.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_370.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_371.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_372.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_373.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_374.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_375.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_376.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_377.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_378.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_379.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_38.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_380.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_381.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_382.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_383.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_384.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_385.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_386.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_386-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_386-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_386-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_387.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_388.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_389.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_39.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_390.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_391.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_392.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_393.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_394.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_395.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_396.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_397.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_398.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_399.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_40.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_400.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_401.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_402.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_403.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_404.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_405.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_406.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_407.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_408.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_409.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_41.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_410.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_411.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_412.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_412-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_412-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_413.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_413-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_413-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_414.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_415.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_416.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_417.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_418.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_419.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_42.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_420.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_421.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_421-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_422.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_422-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_423.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_423-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_424.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_425.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_426.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_427.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_428.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_429.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_43.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_430.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_431.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_432.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_433.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_434.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_435.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_436.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_437.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_438.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_439.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_44.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_440.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_441.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_442.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_443.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_444.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_445.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_446.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_447.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_448.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_449.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_449f.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_45.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_450.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_450f.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_451.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_452.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_453.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_454.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_455.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_456.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_457.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_458.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_459.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_46.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_460.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_461.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_462.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_463.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_464.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_465.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_466.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_467.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_468.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_469.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_47.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_470.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_471.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_472.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_473.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_474.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_475.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_476.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_477.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_478.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_479-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_480.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_481.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_482.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_483.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_483-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_484.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_484-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_485.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_486.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_487.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_487-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_488.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_489.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_49.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_490.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_490-e.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_491.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_492.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_492-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_493-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_501.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_502.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_503.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_503-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_50-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_51.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_51-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_52.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_52-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_52-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_53.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_53-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_54.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_548.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_549.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_549-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_55.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_550.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_550-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_550-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_551.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_552.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_553.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_56.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_57.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_570.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_570-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_571.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_571-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_574.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_575.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_576.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_58.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_585.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_585-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_585-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_585-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_586.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_586-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_586-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_586-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_58-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_59.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_590.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_591.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_594.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_59-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_60.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_602.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_603.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_604.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_61.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_610.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_611.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_612.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_613.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_614.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_615.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_62.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_624.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_625.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_627.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_628.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_628-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_63.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_633.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_634.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_635.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_636.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_637.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_641.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_641-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_642.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_642-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_645.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_645-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_648.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_648-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_65.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_651.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_652.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_653.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_654.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_655.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_656.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_657.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_658.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_658-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_66.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_661.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_662.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_663.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_664.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_665.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-19.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_666-9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_667.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_668.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_668f.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_669.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_669-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_669-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_669-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_669-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_67.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_670.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_670-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_670-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_670-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_670-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_671.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_671-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_671-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_671-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_671-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_672.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_673.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_68.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_69.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_690.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_691.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_692.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_693.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_7.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_70.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_700.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_701.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_702.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_703.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_704.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_705.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_705-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_706.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_706-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_707.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_71.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_712.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_713.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_713-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_714.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_715.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_719.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_72.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_720.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_720-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_721.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_722.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_723.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_724.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_724-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_73.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_734.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_735.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_739.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_74.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_740.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_741.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_741-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_741-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_741-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_744.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_745.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_745-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_745-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_747.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_748.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_749.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_75.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_750.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_753.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_754.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_757.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_758.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_76.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_761.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_762.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_763.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_765.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_766.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_769.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_77.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_770.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_775.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_778.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_778-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_779.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_78.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_79.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_79-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_8.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_80.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_801.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_801-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_80-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_81.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_810.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_811.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_812.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_813.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_814.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_815.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_816.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_817.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_818.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_819.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_82.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_820.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_821.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_822.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_823.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_83.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_833.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_834.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_837.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_838.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_839.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_84.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_840.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_841.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_842.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_843.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_844.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_846.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_847.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_848.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_849.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_849-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_85.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_854.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_855.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_856.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_857.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_858.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_859.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_86.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_860.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_861.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_863.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_87.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_870.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_871.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_872.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_873.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_874.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_875.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_875-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_876.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_876-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_878.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_879.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_88.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_885.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_886.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_887.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_888.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_888-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_889.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_889-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_88-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_89.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_890.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_891.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_892.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_893.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_893-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_894.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_895.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_896.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_897.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_898.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_898-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_898-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_899.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_89-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_90.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_900.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_901.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_902.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_902-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_903.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_904.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_905.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_905-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_906.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_907.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_908.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_909.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_91.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_910.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_911.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_912.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_913.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_914.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_915.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_916.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_916-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_917.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_918.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_919.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_92.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_920.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_921.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_922.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_923.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_924.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_925.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_926.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_927.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_928.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_929.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_93.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_930.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_931.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_932.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_933.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_934.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_934-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_935.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_936.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_937.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_938.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_939.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_94.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_940.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_941.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_942.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_943.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_944.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_945.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_946.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_946-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_947.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_948.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_949.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_95.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_950.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_951.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_952.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_952-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_952-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_953.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_954.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_955.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_956.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_957.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_958.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_959.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_960.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_960-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_960-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_960-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_961.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_962.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_963.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_964.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_965.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_966.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_967.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_968.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_969.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_97.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_970.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_971.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_972.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_973.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_974.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_975.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_976.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_976-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_977.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_978.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_979.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_98.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_981.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_982.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_983.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_984.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_985.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_986.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_988.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_989.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_99.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_990.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_991.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_992.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_993.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_994.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_995.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_996.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_997.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_998.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_998-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_998-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_998-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_998-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_999.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_999-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_999-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_999-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_999-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_egg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\img\Big Items\bitem_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1.png new file mode 100644 index 000000000..3f1378694 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_10.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_10.png new file mode 100644 index 000000000..264ef5499 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_10.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_106.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_106.png new file mode 100644 index 000000000..d7620d0a9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_106.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_107.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_107.png new file mode 100644 index 000000000..39dc46550 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_107.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_108.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_108.png new file mode 100644 index 000000000..036800174 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_108.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_109.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_109.png new file mode 100644 index 000000000..291c091d9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_109.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_11.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_11.png new file mode 100644 index 000000000..47dc89765 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_11.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_110.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_110.png new file mode 100644 index 000000000..fb2e66529 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_110.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1103.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1103.png new file mode 100644 index 000000000..793cbe4ad Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1103.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1104.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1104.png new file mode 100644 index 000000000..b2c598dc2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1104.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_111.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_111.png new file mode 100644 index 000000000..9c819aaa0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_111.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1116.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1116.png new file mode 100644 index 000000000..3d1763ded Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1116.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1117.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1117.png new file mode 100644 index 000000000..64a45ddbd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1117.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1118.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1118.png new file mode 100644 index 000000000..002cc6eff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1118.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1119.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1119.png new file mode 100644 index 000000000..a86a223e1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1119.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_112.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_112.png new file mode 100644 index 000000000..bbc6a6e51 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_112.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1120.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1120.png new file mode 100644 index 000000000..68890da44 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1120.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1121.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1121.png new file mode 100644 index 000000000..cae685a82 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1121.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1122.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1122.png new file mode 100644 index 000000000..9c6aa3a29 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1122.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1123.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1123.png new file mode 100644 index 000000000..92e08c4cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1123.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1124.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1124.png new file mode 100644 index 000000000..e4592b58d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1124.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1125.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1125.png new file mode 100644 index 000000000..17029e775 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1125.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1126.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1126.png new file mode 100644 index 000000000..d2ec433af Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1126.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1127.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1127.png new file mode 100644 index 000000000..62b9254ae Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1127.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1128.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1128.png new file mode 100644 index 000000000..bd4234616 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1128.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_12.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_12.png new file mode 100644 index 000000000..d196066e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_12.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1231.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1231.png new file mode 100644 index 000000000..79c6742d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1231.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1232.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1232.png new file mode 100644 index 000000000..79c6742d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1232.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1233.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1233.png new file mode 100644 index 000000000..79c6742d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1233.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1234.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1234.png new file mode 100644 index 000000000..79c6742d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1234.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1235.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1235.png new file mode 100644 index 000000000..cd1331769 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1235.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1236.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1236.png new file mode 100644 index 000000000..cd1331769 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1236.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1237.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1237.png new file mode 100644 index 000000000..3f9a433dc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1237.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1238.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1238.png new file mode 100644 index 000000000..3f9a433dc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1238.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1239.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1239.png new file mode 100644 index 000000000..0c6bb8097 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1239.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1240.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1240.png new file mode 100644 index 000000000..0c6bb8097 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1240.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1241.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1241.png new file mode 100644 index 000000000..0c6bb8097 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1241.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1242.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1242.png new file mode 100644 index 000000000..0c6bb8097 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1242.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1243.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1243.png new file mode 100644 index 000000000..cd44f1c9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1243.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1244.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1244.png new file mode 100644 index 000000000..cd44f1c9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1244.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1245.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1245.png new file mode 100644 index 000000000..cd44f1c9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1245.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1246.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1246.png new file mode 100644 index 000000000..cd44f1c9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1246.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1247.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1247.png new file mode 100644 index 000000000..24aff8697 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1247.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1248.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1248.png new file mode 100644 index 000000000..24aff8697 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1248.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1249.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1249.png new file mode 100644 index 000000000..24aff8697 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1249.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1250.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1250.png new file mode 100644 index 000000000..24aff8697 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1250.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1251.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1251.png new file mode 100644 index 000000000..ed0235e0e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1251.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1253.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1253.png new file mode 100644 index 000000000..b7f4be3de Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1253.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1254.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1254.png new file mode 100644 index 000000000..9efb35ab7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1254.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_13.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_13.png new file mode 100644 index 000000000..ad3543b92 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_13.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_135.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_135.png new file mode 100644 index 000000000..5cd81fb16 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_135.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_136.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_136.png new file mode 100644 index 000000000..b100337b5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_136.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_14.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_14.png new file mode 100644 index 000000000..26a596dfa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_14.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_149.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_149.png new file mode 100644 index 000000000..78e23c7d4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_149.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_15.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_15.png new file mode 100644 index 000000000..34d76998c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_15.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_150.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_150.png new file mode 100644 index 000000000..c157f0236 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_150.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_151.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_151.png new file mode 100644 index 000000000..19a82055a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_151.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_152.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_152.png new file mode 100644 index 000000000..80798b5ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_152.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_153.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_153.png new file mode 100644 index 000000000..cbe30f901 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_153.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_154.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_154.png new file mode 100644 index 000000000..cfa114842 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_154.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_155.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_155.png new file mode 100644 index 000000000..3f38c397e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_155.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_156.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_156.png new file mode 100644 index 000000000..14405bf43 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_156.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_157.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_157.png new file mode 100644 index 000000000..7f6689e39 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_157.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_158.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_158.png new file mode 100644 index 000000000..e9887094a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_158.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1582.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1582.png new file mode 100644 index 000000000..fa58dc7e1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1582.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_159.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_159.png new file mode 100644 index 000000000..f1590f850 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_159.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1592.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1592.png new file mode 100644 index 000000000..c8539322d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1592.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_16.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_16.png new file mode 100644 index 000000000..df09ba89b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_16.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_160.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_160.png new file mode 100644 index 000000000..5182f478c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_160.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1606.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1606.png new file mode 100644 index 000000000..425864949 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1606.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_161.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_161.png new file mode 100644 index 000000000..ba09d699b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_161.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_162.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_162.png new file mode 100644 index 000000000..dfeeb7ec6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_162.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_163.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_163.png new file mode 100644 index 000000000..665822308 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_163.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_164.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_164.png new file mode 100644 index 000000000..7eb3df45a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_164.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_165.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_165.png new file mode 100644 index 000000000..c295ad94a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_165.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_166.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_166.png new file mode 100644 index 000000000..257224dc1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_166.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_167.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_167.png new file mode 100644 index 000000000..a8cda07f3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_167.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_168.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_168.png new file mode 100644 index 000000000..35c9f8258 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_168.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_169.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_169.png new file mode 100644 index 000000000..3ee8c6e0e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_169.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png new file mode 100644 index 000000000..76e78f7f7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1692.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1692.png new file mode 100644 index 000000000..5498baf3a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1692.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_17.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_17.png new file mode 100644 index 000000000..278658fb7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_17.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_170.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_170.png new file mode 100644 index 000000000..c05ed4741 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_170.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_171.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_171.png new file mode 100644 index 000000000..760e484c6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_171.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_172.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_172.png new file mode 100644 index 000000000..46627c988 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_172.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_173.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_173.png new file mode 100644 index 000000000..98bc1c323 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_173.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_174.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_174.png new file mode 100644 index 000000000..2e3c16341 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_174.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_175.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_175.png new file mode 100644 index 000000000..dca39777b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_175.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_176.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_176.png new file mode 100644 index 000000000..9538d3ad0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_176.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_177.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_177.png new file mode 100644 index 000000000..a9871ffee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_177.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1777.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1777.png new file mode 100644 index 000000000..5f5e2ffcb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1777.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1778.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1778.png new file mode 100644 index 000000000..fd2579b2a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1778.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1779.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1779.png new file mode 100644 index 000000000..c0c69cc05 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1779.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_178.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_178.png new file mode 100644 index 000000000..24fbca2b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_178.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1780.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1780.png new file mode 100644 index 000000000..fa90b3153 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1780.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1785.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1785.png new file mode 100644 index 000000000..58f55ce8a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1785.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_179.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_179.png new file mode 100644 index 000000000..df480d2b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_179.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_18.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_18.png new file mode 100644 index 000000000..71d4717ab Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_18.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_180.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_180.png new file mode 100644 index 000000000..a2a6d6bf5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_180.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_181.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_181.png new file mode 100644 index 000000000..3b47a8903 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_181.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_182.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_182.png new file mode 100644 index 000000000..4a2d07b2d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_182.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1828.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1828.png new file mode 100644 index 000000000..99dce167b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1828.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_183.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_183.png new file mode 100644 index 000000000..4a38872c6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_183.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_184.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_184.png new file mode 100644 index 000000000..b51d7d554 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_184.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1842.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1842.png new file mode 100644 index 000000000..bf9375f4d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1842.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1843.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1843.png new file mode 100644 index 000000000..7144c3b17 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1843.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_185.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_185.png new file mode 100644 index 000000000..421ec8a78 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_185.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1859.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1859.png new file mode 100644 index 000000000..a0b336888 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1859.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_186.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_186.png new file mode 100644 index 000000000..115ad0208 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_186.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1860.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1860.png new file mode 100644 index 000000000..46aabbd6b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1860.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1861.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1861.png new file mode 100644 index 000000000..b861637a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1861.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1862.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1862.png new file mode 100644 index 000000000..53578c2c8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1862.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1863.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1863.png new file mode 100644 index 000000000..e224f1f7f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1863.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1864.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1864.png new file mode 100644 index 000000000..ff1b9e6df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1864.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1865.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1865.png new file mode 100644 index 000000000..295642292 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1865.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1866.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1866.png new file mode 100644 index 000000000..19455a177 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1866.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1867.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1867.png new file mode 100644 index 000000000..b6ef5b2ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1867.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1868.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1868.png new file mode 100644 index 000000000..3271be61c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1868.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1869.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1869.png new file mode 100644 index 000000000..caefc1596 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1869.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_187.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_187.png new file mode 100644 index 000000000..a3422027e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_187.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1870.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1870.png new file mode 100644 index 000000000..a108015d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1870.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1871.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1871.png new file mode 100644 index 000000000..208377f03 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1871.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1872.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1872.png new file mode 100644 index 000000000..8e996d3d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1872.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1873.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1873.png new file mode 100644 index 000000000..7e7fa017d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1873.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1874.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1874.png new file mode 100644 index 000000000..b9c0b5ff1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1874.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1875.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1875.png new file mode 100644 index 000000000..a8ebe98a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1875.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1876.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1876.png new file mode 100644 index 000000000..5bdc4e68b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1876.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1877.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1877.png new file mode 100644 index 000000000..4959937e4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1877.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1878.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1878.png new file mode 100644 index 000000000..08e3d6823 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1878.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1879.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1879.png new file mode 100644 index 000000000..a46b4d512 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1879.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_188.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_188.png new file mode 100644 index 000000000..e51716c72 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_188.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1880.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1880.png new file mode 100644 index 000000000..b0d2cbc30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1880.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1881.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1881.png new file mode 100644 index 000000000..80072c31b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1881.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1882.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1882.png new file mode 100644 index 000000000..3fb5a0b68 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1882.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1883.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1883.png new file mode 100644 index 000000000..730c912d4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1883.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1884.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1884.png new file mode 100644 index 000000000..84f9e7e0f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1884.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1885.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1885.png new file mode 100644 index 000000000..ce8c9e639 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1885.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1886.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1886.png new file mode 100644 index 000000000..5bfc5e253 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1886.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_189.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_189.png new file mode 100644 index 000000000..eaaae1624 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_189.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_19.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_19.png new file mode 100644 index 000000000..2e014d141 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_19.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_190.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_190.png new file mode 100644 index 000000000..cbfee5b76 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_190.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_191.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_191.png new file mode 100644 index 000000000..a6f49bb82 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_191.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_192.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_192.png new file mode 100644 index 000000000..088dafcef Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_192.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_193.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_193.png new file mode 100644 index 000000000..8d242cca9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_193.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_194.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_194.png new file mode 100644 index 000000000..5d69c0150 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_194.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_195.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_195.png new file mode 100644 index 000000000..cddbb378a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_195.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_196.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_196.png new file mode 100644 index 000000000..868e3d9f4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_196.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_197.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_197.png new file mode 100644 index 000000000..5802edfb4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_197.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_198.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_198.png new file mode 100644 index 000000000..c93c48678 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_198.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_199.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_199.png new file mode 100644 index 000000000..b169d5c7b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_199.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2.png new file mode 100644 index 000000000..1e2a06a41 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_20.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_20.png new file mode 100644 index 000000000..2e476062e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_20.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_200.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_200.png new file mode 100644 index 000000000..36e0438a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_200.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_201.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_201.png new file mode 100644 index 000000000..94fa18bea Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_201.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_202.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_202.png new file mode 100644 index 000000000..ae789203c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_202.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_203.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_203.png new file mode 100644 index 000000000..5418e07a8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_203.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_204.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_204.png new file mode 100644 index 000000000..6824d6925 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_204.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_205.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_205.png new file mode 100644 index 000000000..0db5edd54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_205.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_206.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_206.png new file mode 100644 index 000000000..b11c9adaf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_206.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_207.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_207.png new file mode 100644 index 000000000..07ba46783 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_207.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_208.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_208.png new file mode 100644 index 000000000..7bc31911b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_208.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_209.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_209.png new file mode 100644 index 000000000..dbd30e0fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_209.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_21.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_21.png new file mode 100644 index 000000000..bda5bb2c0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_21.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_210.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_210.png new file mode 100644 index 000000000..97f589963 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_210.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_211.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_211.png new file mode 100644 index 000000000..a6dea3a6c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_211.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_212.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_212.png new file mode 100644 index 000000000..501bd0ca5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_212.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_213.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_213.png new file mode 100644 index 000000000..a5a2148d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_213.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_214.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_214.png new file mode 100644 index 000000000..161625463 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_214.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_216.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_216.png new file mode 100644 index 000000000..85de9a318 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_216.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_217.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_217.png new file mode 100644 index 000000000..a5416683a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_217.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_218.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_218.png new file mode 100644 index 000000000..a16fd27f4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_218.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_219.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_219.png new file mode 100644 index 000000000..9ceb83b7e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_219.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_22.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_22.png new file mode 100644 index 000000000..7288e9fef Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_22.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_220.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_220.png new file mode 100644 index 000000000..117b82c1e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_220.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_221.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_221.png new file mode 100644 index 000000000..9a1941bec Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_221.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_222.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_222.png new file mode 100644 index 000000000..071ae65ef Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_222.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_223.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_223.png new file mode 100644 index 000000000..74596d6a7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_223.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_224.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_224.png new file mode 100644 index 000000000..76d3dc03c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_224.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_228.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_228.png new file mode 100644 index 000000000..281ff51b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_228.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_229.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_229.png new file mode 100644 index 000000000..febed0440 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_229.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_23.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_23.png new file mode 100644 index 000000000..f54f76f03 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_23.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_230.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_230.png new file mode 100644 index 000000000..110083f13 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_230.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_231.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_231.png new file mode 100644 index 000000000..71f724a6b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_231.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_232.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_232.png new file mode 100644 index 000000000..a319b12be Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_232.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_233.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_233.png new file mode 100644 index 000000000..d75504fbd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_233.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_234.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_234.png new file mode 100644 index 000000000..2b1b0241f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_234.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2344.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2344.png new file mode 100644 index 000000000..73efa7670 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2344.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2345.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2345.png new file mode 100644 index 000000000..45d41d7df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2345.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_236.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_236.png new file mode 100644 index 000000000..1d419a4be Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_236.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_237.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_237.png new file mode 100644 index 000000000..88aaffb70 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_237.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_238.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_238.png new file mode 100644 index 000000000..5640e851d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_238.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_239.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_239.png new file mode 100644 index 000000000..420a03e73 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_239.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_24.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_24.png new file mode 100644 index 000000000..10dad7096 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_24.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_240.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_240.png new file mode 100644 index 000000000..e172cfa33 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_240.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_241.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_241.png new file mode 100644 index 000000000..f5b68c69d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_241.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_242.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_242.png new file mode 100644 index 000000000..e2bffdcdc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_242.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_243.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_243.png new file mode 100644 index 000000000..dd76bfa5e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_243.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_244.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_244.png new file mode 100644 index 000000000..020057d5e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_244.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_245.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_245.png new file mode 100644 index 000000000..fb8620ff5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_245.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_246.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_246.png new file mode 100644 index 000000000..4c07aa9e5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_246.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_247.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_247.png new file mode 100644 index 000000000..736e4481a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_247.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_248.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_248.png new file mode 100644 index 000000000..474ff81ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_248.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_249.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_249.png new file mode 100644 index 000000000..64da079cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_249.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_25.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_25.png new file mode 100644 index 000000000..fe20e4ffb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_25.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_250.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_250.png new file mode 100644 index 000000000..e871ea1c3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_250.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_251.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_251.png new file mode 100644 index 000000000..19266aa65 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_251.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_253.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_253.png new file mode 100644 index 000000000..0eb93c017 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_253.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_254.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_254.png new file mode 100644 index 000000000..b2b120f43 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_254.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_255.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_255.png new file mode 100644 index 000000000..7dc2b642f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_255.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_26.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_26.png new file mode 100644 index 000000000..fc473c3ad Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_26.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_265.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_265.png new file mode 100644 index 000000000..a0fb2bdf9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_265.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_266.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_266.png new file mode 100644 index 000000000..a4daf9df5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_266.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_267.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_267.png new file mode 100644 index 000000000..20a22fd54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_267.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_268.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_268.png new file mode 100644 index 000000000..de815d9fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_268.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_269.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_269.png new file mode 100644 index 000000000..108117351 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_269.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_27.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_27.png new file mode 100644 index 000000000..762426590 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_27.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_270.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_270.png new file mode 100644 index 000000000..6d4720478 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_270.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_271.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_271.png new file mode 100644 index 000000000..f25ff3de9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_271.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_272.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_272.png new file mode 100644 index 000000000..2a9ab4ddd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_272.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_273.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_273.png new file mode 100644 index 000000000..b47e95242 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_273.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_275.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_275.png new file mode 100644 index 000000000..d44a4d0ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_275.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_276.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_276.png new file mode 100644 index 000000000..647146856 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_276.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_277.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_277.png new file mode 100644 index 000000000..ef1c33957 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_277.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_278.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_278.png new file mode 100644 index 000000000..ed77a9844 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_278.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_279.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_279.png new file mode 100644 index 000000000..6ce25cdf8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_279.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_28.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_28.png new file mode 100644 index 000000000..b51078dd6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_28.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_280.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_280.png new file mode 100644 index 000000000..a3b9d4d52 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_280.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_281.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_281.png new file mode 100644 index 000000000..c493128c8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_281.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_282.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_282.png new file mode 100644 index 000000000..1754326d3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_282.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_283.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_283.png new file mode 100644 index 000000000..f657e7ffa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_283.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_284.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_284.png new file mode 100644 index 000000000..04e3de5cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_284.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_285.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_285.png new file mode 100644 index 000000000..e8eb7bc64 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_285.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_286.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_286.png new file mode 100644 index 000000000..9a676c72c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_286.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_287.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_287.png new file mode 100644 index 000000000..1f54e2979 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_287.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_288.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_288.png new file mode 100644 index 000000000..cb75e5b5a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_288.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_289.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_289.png new file mode 100644 index 000000000..9fa05cb8f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_289.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_29.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_29.png new file mode 100644 index 000000000..c043867b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_29.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_290.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_290.png new file mode 100644 index 000000000..5dd0148ac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_290.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_291.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_291.png new file mode 100644 index 000000000..c3eb0aca7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_291.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_292.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_292.png new file mode 100644 index 000000000..5036a801a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_292.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_293.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_293.png new file mode 100644 index 000000000..f6a3a2028 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_293.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_294.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_294.png new file mode 100644 index 000000000..22490e3f6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_294.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_295.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_295.png new file mode 100644 index 000000000..b4d2e0f0d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_295.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_296.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_296.png new file mode 100644 index 000000000..ab2292f1a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_296.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_297.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_297.png new file mode 100644 index 000000000..618574cad Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_297.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_298.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_298.png new file mode 100644 index 000000000..abe43de2f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_298.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_299.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_299.png new file mode 100644 index 000000000..4367168c6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_299.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_3.png new file mode 100644 index 000000000..c22099e5a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_30.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_30.png new file mode 100644 index 000000000..55792c7cd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_30.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_300.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_300.png new file mode 100644 index 000000000..a8ef52334 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_300.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_301.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_301.png new file mode 100644 index 000000000..7bc3ce7ca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_301.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_302.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_302.png new file mode 100644 index 000000000..4a6149d23 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_302.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_303.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_303.png new file mode 100644 index 000000000..b3d2ba18f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_303.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_304.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_304.png new file mode 100644 index 000000000..50a0ad484 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_304.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_305.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_305.png new file mode 100644 index 000000000..79ed3dea5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_305.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_306.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_306.png new file mode 100644 index 000000000..208d41b45 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_306.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_307.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_307.png new file mode 100644 index 000000000..7feae160b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_307.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_308.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_308.png new file mode 100644 index 000000000..9187de17e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_308.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_309.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_309.png new file mode 100644 index 000000000..23f1d03bf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_309.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_31.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_31.png new file mode 100644 index 000000000..8d7f8ccdb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_31.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_310.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_310.png new file mode 100644 index 000000000..5c8f82366 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_310.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_311.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_311.png new file mode 100644 index 000000000..e8237edf1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_311.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_312.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_312.png new file mode 100644 index 000000000..140ca358d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_312.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_313.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_313.png new file mode 100644 index 000000000..257fd12df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_313.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_314.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_314.png new file mode 100644 index 000000000..48d2ff28d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_314.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_315.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_315.png new file mode 100644 index 000000000..1872c274e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_315.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_316.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_316.png new file mode 100644 index 000000000..62de06553 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_316.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_317.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_317.png new file mode 100644 index 000000000..d199bff22 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_317.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_318.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_318.png new file mode 100644 index 000000000..b1559c554 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_318.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_319.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_319.png new file mode 100644 index 000000000..97a6c8220 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_319.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_32.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_32.png new file mode 100644 index 000000000..cf3ef7005 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_32.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_320.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_320.png new file mode 100644 index 000000000..76e9a6ae0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_320.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_326.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_326.png new file mode 100644 index 000000000..9965f3fa7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_326.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_33.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_33.png new file mode 100644 index 000000000..6ed30ce77 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_33.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_34.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_34.png new file mode 100644 index 000000000..eb7d179ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_34.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_35.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_35.png new file mode 100644 index 000000000..3af08c418 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_35.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_36.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_36.png new file mode 100644 index 000000000..51521ceb4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_36.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_37.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_37.png new file mode 100644 index 000000000..1f5a412cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_37.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_38.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_38.png new file mode 100644 index 000000000..33929ae67 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_38.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_39.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_39.png new file mode 100644 index 000000000..274a0c4ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_39.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_4.png new file mode 100644 index 000000000..58d681625 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_40.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_40.png new file mode 100644 index 000000000..0caec3ca4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_40.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_41.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_41.png new file mode 100644 index 000000000..4d818b886 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_41.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_45.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_45.png new file mode 100644 index 000000000..579505b1b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_45.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_46.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_46.png new file mode 100644 index 000000000..c5eb00deb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_46.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_47.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_47.png new file mode 100644 index 000000000..306fa666f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_47.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_48.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_48.png new file mode 100644 index 000000000..2963a684b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_48.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_485.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_485.png new file mode 100644 index 000000000..2f6f957cb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_485.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_486.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_486.png new file mode 100644 index 000000000..f63de46a1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_486.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_487.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_487.png new file mode 100644 index 000000000..d670d93a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_487.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_488.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_488.png new file mode 100644 index 000000000..42de70acc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_488.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_489.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_489.png new file mode 100644 index 000000000..030f2f1fe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_489.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_49.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_49.png new file mode 100644 index 000000000..1d25a3306 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_49.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_490.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_490.png new file mode 100644 index 000000000..e170c5964 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_490.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_491.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_491.png new file mode 100644 index 000000000..5d87be697 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_491.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_492.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_492.png new file mode 100644 index 000000000..ca20f4931 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_492.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_493.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_493.png new file mode 100644 index 000000000..6d89daa5c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_493.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_494.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_494.png new file mode 100644 index 000000000..f1e649427 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_494.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_495.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_495.png new file mode 100644 index 000000000..547b26b21 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_495.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_496.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_496.png new file mode 100644 index 000000000..307d5c7f1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_496.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_497.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_497.png new file mode 100644 index 000000000..9f0dc3a00 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_497.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_498.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_498.png new file mode 100644 index 000000000..f4b2cb37e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_498.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_499.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_499.png new file mode 100644 index 000000000..7354a83f0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_499.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_5.png new file mode 100644 index 000000000..c9b87ab52 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_50.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_50.png new file mode 100644 index 000000000..c4416ce8f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_50.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_500.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_500.png new file mode 100644 index 000000000..a71c44b52 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_500.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_51.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_51.png new file mode 100644 index 000000000..d3c9a13a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_51.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_52.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_52.png new file mode 100644 index 000000000..816fc32d7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_52.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_53.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_53.png new file mode 100644 index 000000000..f0bb3055d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_53.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_538.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_538.png new file mode 100644 index 000000000..1e58b95cb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_538.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_539.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_539.png new file mode 100644 index 000000000..6f2f39a5e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_539.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_540.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_540.png new file mode 100644 index 000000000..92830a12e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_540.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_541.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_541.png new file mode 100644 index 000000000..7e5abfd68 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_541.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_542.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_542.png new file mode 100644 index 000000000..c92a9ebc5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_542.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_543.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_543.png new file mode 100644 index 000000000..4a9721ba6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_543.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_544.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_544.png new file mode 100644 index 000000000..ad6dfbb6f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_544.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_545.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_545.png new file mode 100644 index 000000000..39094c533 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_545.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_546.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_546.png new file mode 100644 index 000000000..7c85df918 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_546.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_547.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_547.png new file mode 100644 index 000000000..14ef88a75 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_547.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_55.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_55.png new file mode 100644 index 000000000..3068b0976 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_55.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_56.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_56.png new file mode 100644 index 000000000..d29a12af1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_56.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_564.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_564.png new file mode 100644 index 000000000..b101d4293 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_564.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_565.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_565.png new file mode 100644 index 000000000..3a090ce4f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_565.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_566.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_566.png new file mode 100644 index 000000000..2839c2bda Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_566.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_567.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_567.png new file mode 100644 index 000000000..fae477209 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_567.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_568.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_568.png new file mode 100644 index 000000000..d3ec0b97e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_568.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_569.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_569.png new file mode 100644 index 000000000..d924d5e46 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_569.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_57.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_57.png new file mode 100644 index 000000000..4d05ef2e6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_57.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_570.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_570.png new file mode 100644 index 000000000..f7a7e05a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_570.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_571.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_571.png new file mode 100644 index 000000000..8d694447b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_571.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_576.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_576.png new file mode 100644 index 000000000..a091cfea0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_576.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_58.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_58.png new file mode 100644 index 000000000..a4a5475cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_58.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_580.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_580.png new file mode 100644 index 000000000..3803b9036 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_580.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_581.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_581.png new file mode 100644 index 000000000..9bc5c4373 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_581.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_582.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_582.png new file mode 100644 index 000000000..6b7204387 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_582.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_583.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_583.png new file mode 100644 index 000000000..d2a582df4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_583.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_59.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_59.png new file mode 100644 index 000000000..6994ab3d2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_59.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_6.png new file mode 100644 index 000000000..bd8466fa4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_60.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_60.png new file mode 100644 index 000000000..7d1f15987 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_60.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_61.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_61.png new file mode 100644 index 000000000..9ccbdec16 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_61.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_62.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_62.png new file mode 100644 index 000000000..25e4b7071 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_62.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_63.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_63.png new file mode 100644 index 000000000..ca69e5ff8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_63.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_639.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_639.png new file mode 100644 index 000000000..3e5c055ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_639.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_640.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_640.png new file mode 100644 index 000000000..35e70ec16 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_640.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_644.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_644.png new file mode 100644 index 000000000..4ca4b9acb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_644.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_645.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_645.png new file mode 100644 index 000000000..9edd4f55a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_645.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_648.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_648.png new file mode 100644 index 000000000..61a44a55d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_648.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_649.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_649.png new file mode 100644 index 000000000..f59b7b08d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_649.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_650.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_650.png new file mode 100644 index 000000000..602ba362f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_650.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_686.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_686.png new file mode 100644 index 000000000..12da818bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_686.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_687.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_687.png new file mode 100644 index 000000000..9413dae3f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_687.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_688.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_688.png new file mode 100644 index 000000000..a74cb8115 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_688.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_693.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_693.png new file mode 100644 index 000000000..33be90456 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_693.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_7.png new file mode 100644 index 000000000..ba0c90ffc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_708.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_708.png new file mode 100644 index 000000000..cf69476b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_708.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_709.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_709.png new file mode 100644 index 000000000..98dbf7199 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_709.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_76.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_76.png new file mode 100644 index 000000000..8e49af18b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_76.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_77.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_77.png new file mode 100644 index 000000000..a53058a11 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_77.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_79.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_79.png new file mode 100644 index 000000000..3907843cc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_79.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_795.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_795.png new file mode 100644 index 000000000..8ff8674b0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_795.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_796.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_796.png new file mode 100644 index 000000000..733707200 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_796.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_8.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_8.png new file mode 100644 index 000000000..5207e8295 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_8.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_80.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_80.png new file mode 100644 index 000000000..7746cdda0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_80.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_81.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_81.png new file mode 100644 index 000000000..211e0dce2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_81.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_82.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_82.png new file mode 100644 index 000000000..083516a75 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_82.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_83.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_83.png new file mode 100644 index 000000000..96a2b936e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_83.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_84.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_84.png new file mode 100644 index 000000000..a694460b0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_84.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_846.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_846.png new file mode 100644 index 000000000..966d52ead Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_846.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_849.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_849.png new file mode 100644 index 000000000..37614bc6b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_849.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_85.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_85.png new file mode 100644 index 000000000..0666b1f3c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_85.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_851.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_851.png new file mode 100644 index 000000000..d0b60cfee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_851.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_853.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_853.png new file mode 100644 index 000000000..8a3392264 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_853.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_854.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_854.png new file mode 100644 index 000000000..8d8d2244d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_854.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_855.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_855.png new file mode 100644 index 000000000..6877058c9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_855.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_856.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_856.png new file mode 100644 index 000000000..c6cd125fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_856.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_86.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_86.png new file mode 100644 index 000000000..12458ee75 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_86.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_87.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_87.png new file mode 100644 index 000000000..35cdb55cd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_87.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_879.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_879.png new file mode 100644 index 000000000..6ada834f9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_879.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_88.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_88.png new file mode 100644 index 000000000..5e1288e27 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_88.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_880.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_880.png new file mode 100644 index 000000000..1f048959f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_880.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_881.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_881.png new file mode 100644 index 000000000..3c4188342 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_881.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_882.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_882.png new file mode 100644 index 000000000..af3937e48 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_882.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_883.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_883.png new file mode 100644 index 000000000..be9a611e2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_883.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_884.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_884.png new file mode 100644 index 000000000..9439f29b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_884.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_89.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_89.png new file mode 100644 index 000000000..37e37b4db Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_89.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_9.png new file mode 100644 index 000000000..82ff92950 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_90.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_90.png new file mode 100644 index 000000000..1bf41be23 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_90.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_91.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_91.png new file mode 100644 index 000000000..23cbb8bcd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_91.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_92.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_92.png new file mode 100644 index 000000000..a769955b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_92.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_94.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_94.png new file mode 100644 index 000000000..69cbfe8e9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_94.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_tm.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_tm.png new file mode 100644 index 000000000..0354b5cd5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_tm.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1.png new file mode 100644 index 000000000..f8cca89bb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_10.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_10.png new file mode 100644 index 000000000..ddd3d01e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_10.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100-1.png new file mode 100644 index 000000000..97b1d97ce Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100.png new file mode 100644 index 000000000..6845eeb35 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_100.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1000.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1000.png new file mode 100644 index 000000000..a13a6d3f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1000.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1001.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1001.png new file mode 100644 index 000000000..a9de90f7b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1001.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1002.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1002.png new file mode 100644 index 000000000..5bd81c0ba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1002.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1003.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1003.png new file mode 100644 index 000000000..ce5b5447b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1003.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1004.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1004.png new file mode 100644 index 000000000..6bc107288 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1004.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1005.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1005.png new file mode 100644 index 000000000..0bddfcb21 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1005.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1006.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1006.png new file mode 100644 index 000000000..f13d8b27e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1006.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1007.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1007.png new file mode 100644 index 000000000..6ad56a745 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1007.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1008.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1008.png new file mode 100644 index 000000000..c61a81214 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1008.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1009.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1009.png new file mode 100644 index 000000000..795f992c7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1009.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101-1.png new file mode 100644 index 000000000..598d5091b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101.png new file mode 100644 index 000000000..6d622dd1c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_101.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1010.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1010.png new file mode 100644 index 000000000..e5289cedb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_1010.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_102.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_102.png new file mode 100644 index 000000000..de11d5020 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_102.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_103.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_103.png new file mode 100644 index 000000000..1515222d2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_103.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_104.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_104.png new file mode 100644 index 000000000..27e1c878f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_104.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_105.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_105.png new file mode 100644 index 000000000..48bc806bc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_105.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_106.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_106.png new file mode 100644 index 000000000..b9fa4eb94 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_106.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_107.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_107.png new file mode 100644 index 000000000..2c6810167 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_107.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_108.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_108.png new file mode 100644 index 000000000..79bbf3010 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_108.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_109.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_109.png new file mode 100644 index 000000000..416fcdeb0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_109.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_11.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_11.png new file mode 100644 index 000000000..a1f406d54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_11.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_110.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_110.png new file mode 100644 index 000000000..3ebbbf28e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_110.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_111.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_111.png new file mode 100644 index 000000000..76eaa3ab1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_111.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_112.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_112.png new file mode 100644 index 000000000..93adb5f66 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_112.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_113.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_113.png new file mode 100644 index 000000000..493e47e8a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_113.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_114.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_114.png new file mode 100644 index 000000000..379cd9e07 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_114.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_115.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_115.png new file mode 100644 index 000000000..9828e2a31 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_115.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_116.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_116.png new file mode 100644 index 000000000..bfd86a997 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_116.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_117.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_117.png new file mode 100644 index 000000000..2a712817e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_117.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_118.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_118.png new file mode 100644 index 000000000..666f4f90d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_118.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_119.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_119.png new file mode 100644 index 000000000..e4da6b799 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_119.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_12.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_12.png new file mode 100644 index 000000000..0d066cd1b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_12.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_120.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_120.png new file mode 100644 index 000000000..21fe582a7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_120.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_121.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_121.png new file mode 100644 index 000000000..a49f9ceb5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_121.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_122.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_122.png new file mode 100644 index 000000000..7f5f517aa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_122.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_123.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_123.png new file mode 100644 index 000000000..7a01608d9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_123.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_124.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_124.png new file mode 100644 index 000000000..ac2cf853e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_124.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_125.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_125.png new file mode 100644 index 000000000..ff80f5a07 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_125.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_126.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_126.png new file mode 100644 index 000000000..aefe1ddf8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_126.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_127.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_127.png new file mode 100644 index 000000000..4edd72f3c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_127.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-1.png new file mode 100644 index 000000000..26702a474 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-2.png new file mode 100644 index 000000000..c9a233492 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-3.png new file mode 100644 index 000000000..048ec8012 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128.png new file mode 100644 index 000000000..d1770f357 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_128.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_129.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_129.png new file mode 100644 index 000000000..ac2346221 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_129.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_13.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_13.png new file mode 100644 index 000000000..1dc6f647b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_13.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_130.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_130.png new file mode 100644 index 000000000..681890ba5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_130.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_131.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_131.png new file mode 100644 index 000000000..6a84af1a7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_131.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_132.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_132.png new file mode 100644 index 000000000..1f9255539 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_132.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_133.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_133.png new file mode 100644 index 000000000..18e02171e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_133.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_134.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_134.png new file mode 100644 index 000000000..e109223d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_134.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_135.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_135.png new file mode 100644 index 000000000..e8178ee91 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_135.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_136.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_136.png new file mode 100644 index 000000000..bd817229c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_136.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_137.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_137.png new file mode 100644 index 000000000..d0d93be93 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_137.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_138.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_138.png new file mode 100644 index 000000000..deea2a97d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_138.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_139.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_139.png new file mode 100644 index 000000000..98c1fad15 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_139.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_14.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_14.png new file mode 100644 index 000000000..6cad5d573 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_14.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_140.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_140.png new file mode 100644 index 000000000..ca46a0b77 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_140.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_141.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_141.png new file mode 100644 index 000000000..7c854ade0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_141.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_142.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_142.png new file mode 100644 index 000000000..373ed1e09 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_142.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_143.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_143.png new file mode 100644 index 000000000..0f5ed489b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_143.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144-1.png new file mode 100644 index 000000000..2fdc17d7d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144.png new file mode 100644 index 000000000..e5ec18385 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_144.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145-1.png new file mode 100644 index 000000000..7c9eeefb3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145.png new file mode 100644 index 000000000..a7b89b368 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_145.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146-1.png new file mode 100644 index 000000000..135a15abc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146.png new file mode 100644 index 000000000..5bf8e92c8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_146.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_147.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_147.png new file mode 100644 index 000000000..64f022554 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_147.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_148.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_148.png new file mode 100644 index 000000000..522e18a9b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_148.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_149.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_149.png new file mode 100644 index 000000000..fac5c9157 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_149.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_15.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_15.png new file mode 100644 index 000000000..aefa43466 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_15.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_150.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_150.png new file mode 100644 index 000000000..2f1609771 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_150.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_151.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_151.png new file mode 100644 index 000000000..dfbb05e80 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_151.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_152.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_152.png new file mode 100644 index 000000000..711d0a42d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_152.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_153.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_153.png new file mode 100644 index 000000000..2abcabe4b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_153.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_154.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_154.png new file mode 100644 index 000000000..43efb9b69 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_154.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_155.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_155.png new file mode 100644 index 000000000..ba9227b3c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_155.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_156.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_156.png new file mode 100644 index 000000000..10b2148c7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_156.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157-1.png new file mode 100644 index 000000000..d661615d8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157.png new file mode 100644 index 000000000..82d6381a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_157.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_158.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_158.png new file mode 100644 index 000000000..79088b567 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_158.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_159.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_159.png new file mode 100644 index 000000000..9e82b80ff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_159.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_16.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_16.png new file mode 100644 index 000000000..74c357660 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_16.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_160.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_160.png new file mode 100644 index 000000000..da0d42e16 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_160.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_161.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_161.png new file mode 100644 index 000000000..d5f3b97ce Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_161.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_162.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_162.png new file mode 100644 index 000000000..9bd487305 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_162.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_163.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_163.png new file mode 100644 index 000000000..e8645b79b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_163.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_164.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_164.png new file mode 100644 index 000000000..333cf5d2e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_164.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_165.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_165.png new file mode 100644 index 000000000..71150985e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_165.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_166.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_166.png new file mode 100644 index 000000000..d50b4de22 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_166.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_167.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_167.png new file mode 100644 index 000000000..e60576891 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_167.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_168.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_168.png new file mode 100644 index 000000000..d4c1b5650 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_168.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_169.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_169.png new file mode 100644 index 000000000..0432975a1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_169.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_17.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_17.png new file mode 100644 index 000000000..3a2a12b0c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_17.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_170.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_170.png new file mode 100644 index 000000000..cab89da36 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_170.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_171.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_171.png new file mode 100644 index 000000000..e500700bf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_171.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_172.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_172.png new file mode 100644 index 000000000..9321a55de Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_172.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_173.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_173.png new file mode 100644 index 000000000..119bff629 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_173.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_174.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_174.png new file mode 100644 index 000000000..6a4916ca7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_174.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_175.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_175.png new file mode 100644 index 000000000..0ec4efc64 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_175.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_176.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_176.png new file mode 100644 index 000000000..fe1609418 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_176.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_177.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_177.png new file mode 100644 index 000000000..503819bee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_177.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_178.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_178.png new file mode 100644 index 000000000..7ec823bf5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_178.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_179.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_179.png new file mode 100644 index 000000000..a532c15ec Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_179.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_18.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_18.png new file mode 100644 index 000000000..226bb8ab2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_18.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_180.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_180.png new file mode 100644 index 000000000..cbe1b14a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_180.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_181.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_181.png new file mode 100644 index 000000000..525a99284 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_181.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_182.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_182.png new file mode 100644 index 000000000..7b6814754 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_182.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_183.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_183.png new file mode 100644 index 000000000..d2fdcf145 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_183.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_184.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_184.png new file mode 100644 index 000000000..5bd06f970 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_184.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_185.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_185.png new file mode 100644 index 000000000..4072e9153 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_185.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_186.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_186.png new file mode 100644 index 000000000..4f49c64fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_186.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_187.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_187.png new file mode 100644 index 000000000..c0fdde3f7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_187.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_188.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_188.png new file mode 100644 index 000000000..41a2e5e0a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_188.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_189.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_189.png new file mode 100644 index 000000000..d0f86bca4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_189.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_19.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_19.png new file mode 100644 index 000000000..7d6bbe102 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_19.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_190.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_190.png new file mode 100644 index 000000000..1c2919f69 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_190.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_191.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_191.png new file mode 100644 index 000000000..44a528e8d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_191.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_192.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_192.png new file mode 100644 index 000000000..f474c55d2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_192.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_193.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_193.png new file mode 100644 index 000000000..cb7aebe37 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_193.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194-1.png new file mode 100644 index 000000000..6c1e3952c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194.png new file mode 100644 index 000000000..6c88df1a1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_194.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_195.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_195.png new file mode 100644 index 000000000..7edf0c2e2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_195.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_196.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_196.png new file mode 100644 index 000000000..eeb9eddc9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_196.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_197.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_197.png new file mode 100644 index 000000000..0587410a1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_197.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_198.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_198.png new file mode 100644 index 000000000..af18a8c7b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_198.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199-1.png new file mode 100644 index 000000000..632ef7c49 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199.png new file mode 100644 index 000000000..143011c9a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_199.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_2.png new file mode 100644 index 000000000..ed8ef027b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_20.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_20.png new file mode 100644 index 000000000..e9ce2737a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_20.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_200.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_200.png new file mode 100644 index 000000000..cde44bfb7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_200.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-1.png new file mode 100644 index 000000000..cbfce1628 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-10.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-10.png new file mode 100644 index 000000000..63c58a22f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-10.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-11.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-11.png new file mode 100644 index 000000000..5d7d7f811 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-11.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-12.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-12.png new file mode 100644 index 000000000..b4730b819 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-12.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-13.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-13.png new file mode 100644 index 000000000..723bb4703 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-13.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-14.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-14.png new file mode 100644 index 000000000..40b3378ff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-14.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-15.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-15.png new file mode 100644 index 000000000..d8b8e930e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-15.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-16.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-16.png new file mode 100644 index 000000000..44722702c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-16.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-17.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-17.png new file mode 100644 index 000000000..95377e91d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-17.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-18.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-18.png new file mode 100644 index 000000000..f292a292e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-18.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-19.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-19.png new file mode 100644 index 000000000..3df864fd7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-19.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-2.png new file mode 100644 index 000000000..f7c5e60c5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-20.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-20.png new file mode 100644 index 000000000..e281f41f3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-20.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-21.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-21.png new file mode 100644 index 000000000..8d072cfb0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-21.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-22.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-22.png new file mode 100644 index 000000000..debffdb83 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-22.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-23.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-23.png new file mode 100644 index 000000000..d70401811 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-23.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-24.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-24.png new file mode 100644 index 000000000..45cffba3d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-24.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-25.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-25.png new file mode 100644 index 000000000..884ddfb67 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-25.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-26.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-26.png new file mode 100644 index 000000000..bd00b95d9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-26.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-27.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-27.png new file mode 100644 index 000000000..9d7b28cf7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-27.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-3.png new file mode 100644 index 000000000..fa82e72be Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-4.png new file mode 100644 index 000000000..7683b3f0b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-5.png new file mode 100644 index 000000000..85fbca458 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-6.png new file mode 100644 index 000000000..2b652ee3f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-7.png new file mode 100644 index 000000000..3210a21d5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-8.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-8.png new file mode 100644 index 000000000..2bedd44b6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-8.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-9.png new file mode 100644 index 000000000..e1d265c06 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201-9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201.png new file mode 100644 index 000000000..9af9ea4a9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_201.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_202.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_202.png new file mode 100644 index 000000000..fb4ed5e15 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_202.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_203.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_203.png new file mode 100644 index 000000000..089306252 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_203.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_204.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_204.png new file mode 100644 index 000000000..85bddec42 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_204.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_205.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_205.png new file mode 100644 index 000000000..8f0bfb110 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_205.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_206.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_206.png new file mode 100644 index 000000000..24f2a2155 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_206.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_207.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_207.png new file mode 100644 index 000000000..e0017ad9e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_207.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_208.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_208.png new file mode 100644 index 000000000..991b75420 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_208.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_209.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_209.png new file mode 100644 index 000000000..f3ea1a4d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_209.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_21.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_21.png new file mode 100644 index 000000000..5758a2f64 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_21.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_210.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_210.png new file mode 100644 index 000000000..1f7170e4a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_210.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211-1.png new file mode 100644 index 000000000..2b68e2102 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211.png new file mode 100644 index 000000000..8729b9e59 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_211.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_212.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_212.png new file mode 100644 index 000000000..d9c2f8e33 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_212.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_213.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_213.png new file mode 100644 index 000000000..05289b4e6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_213.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_214.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_214.png new file mode 100644 index 000000000..bf176f8e3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_214.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215-1.png new file mode 100644 index 000000000..fac43766f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215.png new file mode 100644 index 000000000..5b2ee5937 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_215.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_216.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_216.png new file mode 100644 index 000000000..394d4cc52 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_216.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_217.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_217.png new file mode 100644 index 000000000..3c865443f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_217.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_218.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_218.png new file mode 100644 index 000000000..11d9f0def Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_218.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_219.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_219.png new file mode 100644 index 000000000..5e5da319e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_219.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_22.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_22.png new file mode 100644 index 000000000..22fa5f555 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_22.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_220.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_220.png new file mode 100644 index 000000000..94c7c287a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_220.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_221.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_221.png new file mode 100644 index 000000000..db24be7e5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_221.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_222.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_222.png new file mode 100644 index 000000000..2f0ee49a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_222.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_223.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_223.png new file mode 100644 index 000000000..0c338f2df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_223.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_224.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_224.png new file mode 100644 index 000000000..ab973d683 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_224.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_225.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_225.png new file mode 100644 index 000000000..e2ea342f6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_225.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_226.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_226.png new file mode 100644 index 000000000..64754233e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_226.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_227.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_227.png new file mode 100644 index 000000000..9549a98a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_227.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_228.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_228.png new file mode 100644 index 000000000..db91f6cef Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_228.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_229.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_229.png new file mode 100644 index 000000000..08342fdd7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_229.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_23.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_23.png new file mode 100644 index 000000000..030e57613 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_23.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_230.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_230.png new file mode 100644 index 000000000..da13887a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_230.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_231.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_231.png new file mode 100644 index 000000000..c4ae82db5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_231.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_232.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_232.png new file mode 100644 index 000000000..a7acccc54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_232.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_233.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_233.png new file mode 100644 index 000000000..247dc6d71 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_233.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_234.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_234.png new file mode 100644 index 000000000..c1d3069a9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_234.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_235.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_235.png new file mode 100644 index 000000000..efcb90e2f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_235.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_236.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_236.png new file mode 100644 index 000000000..6e3d0a7c9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_236.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_237.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_237.png new file mode 100644 index 000000000..b8b0957f4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_237.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_238.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_238.png new file mode 100644 index 000000000..56bd2a2ac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_238.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_239.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_239.png new file mode 100644 index 000000000..26590b1df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_239.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_24.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_24.png new file mode 100644 index 000000000..e05de40c5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_24.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_240.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_240.png new file mode 100644 index 000000000..f21f2ed85 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_240.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_241.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_241.png new file mode 100644 index 000000000..be269ada7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_241.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_242.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_242.png new file mode 100644 index 000000000..0bf9b3f6c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_242.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_243.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_243.png new file mode 100644 index 000000000..bbcd9cfa4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_243.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_244.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_244.png new file mode 100644 index 000000000..8fec1802a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_244.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_245.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_245.png new file mode 100644 index 000000000..382839701 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_245.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_246.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_246.png new file mode 100644 index 000000000..3c0e8c958 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_246.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_247.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_247.png new file mode 100644 index 000000000..bc693b9e8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_247.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_248.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_248.png new file mode 100644 index 000000000..6740d270e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_248.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_249.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_249.png new file mode 100644 index 000000000..31236c04f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_249.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-1.png new file mode 100644 index 000000000..0ebb9de6e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-2.png new file mode 100644 index 000000000..b8da29874 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-3.png new file mode 100644 index 000000000..ef9322b7c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-4.png new file mode 100644 index 000000000..edddf9e77 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-5.png new file mode 100644 index 000000000..5d5e49aa8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-6.png new file mode 100644 index 000000000..8575286b5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-7.png new file mode 100644 index 000000000..b2adf62cd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-9.png new file mode 100644 index 000000000..628fec9c1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25-9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25.png new file mode 100644 index 000000000..9d93014e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_250.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_250.png new file mode 100644 index 000000000..0dbdcc125 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_250.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_251.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_251.png new file mode 100644 index 000000000..13f77987a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_251.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_252.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_252.png new file mode 100644 index 000000000..ad66419ca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_252.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_253.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_253.png new file mode 100644 index 000000000..70584a818 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_253.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_254.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_254.png new file mode 100644 index 000000000..21d3c5276 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_254.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_255.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_255.png new file mode 100644 index 000000000..dcc37925c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_255.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_256.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_256.png new file mode 100644 index 000000000..1e728794a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_256.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_257.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_257.png new file mode 100644 index 000000000..c5dcc70ff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_257.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_258.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_258.png new file mode 100644 index 000000000..c3606729a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_258.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_259.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_259.png new file mode 100644 index 000000000..0963f8762 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_259.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25f.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25f.png new file mode 100644 index 000000000..9d93014e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_25f.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-1.png new file mode 100644 index 000000000..fdb729ff6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26.png new file mode 100644 index 000000000..0a9edd6d7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_260.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_260.png new file mode 100644 index 000000000..e9930b9fe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_260.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_261.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_261.png new file mode 100644 index 000000000..a71238324 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_261.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_262.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_262.png new file mode 100644 index 000000000..a9b092476 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_262.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_263.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_263.png new file mode 100644 index 000000000..e5a64a829 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_263.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_264.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_264.png new file mode 100644 index 000000000..b517bb3fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_264.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_265.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_265.png new file mode 100644 index 000000000..519b26140 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_265.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_266.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_266.png new file mode 100644 index 000000000..431a5204d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_266.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_267.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_267.png new file mode 100644 index 000000000..90db48b94 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_267.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_268.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_268.png new file mode 100644 index 000000000..a316bcd3d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_268.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_269.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_269.png new file mode 100644 index 000000000..c9b40cd07 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_269.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_27.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_27.png new file mode 100644 index 000000000..7f63d9556 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_27.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_270.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_270.png new file mode 100644 index 000000000..9b4a5adac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_270.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_271.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_271.png new file mode 100644 index 000000000..75d774955 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_271.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_272.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_272.png new file mode 100644 index 000000000..814e0bbc8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_272.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_273.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_273.png new file mode 100644 index 000000000..14de2a0b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_273.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_274.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_274.png new file mode 100644 index 000000000..bb49021b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_274.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_275.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_275.png new file mode 100644 index 000000000..2732b10fe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_275.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_276.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_276.png new file mode 100644 index 000000000..24d6377bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_276.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_277.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_277.png new file mode 100644 index 000000000..b67da98a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_277.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_278.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_278.png new file mode 100644 index 000000000..91cec6096 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_278.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_279.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_279.png new file mode 100644 index 000000000..7e5304afa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_279.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_28.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_28.png new file mode 100644 index 000000000..7b6e8c9b5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_28.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_280.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_280.png new file mode 100644 index 000000000..350266d67 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_280.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_281.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_281.png new file mode 100644 index 000000000..35876bb72 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_281.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_282.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_282.png new file mode 100644 index 000000000..e07aa3df8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_282.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_283.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_283.png new file mode 100644 index 000000000..9776a1396 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_283.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_284.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_284.png new file mode 100644 index 000000000..d660bf228 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_284.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_285.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_285.png new file mode 100644 index 000000000..a57dfdffa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_285.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_286.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_286.png new file mode 100644 index 000000000..8b1d2795a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_286.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_287.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_287.png new file mode 100644 index 000000000..5f0bbf554 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_287.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_288.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_288.png new file mode 100644 index 000000000..09ae02932 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_288.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_289.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_289.png new file mode 100644 index 000000000..a432aa1a7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_289.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_29.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_29.png new file mode 100644 index 000000000..9aa60ab2c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_29.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_290.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_290.png new file mode 100644 index 000000000..f17e318ba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_290.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_291.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_291.png new file mode 100644 index 000000000..cd218cb3f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_291.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_292.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_292.png new file mode 100644 index 000000000..0dbce4ed0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_292.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_293.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_293.png new file mode 100644 index 000000000..49284ec17 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_293.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_294.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_294.png new file mode 100644 index 000000000..692ad05bc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_294.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_295.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_295.png new file mode 100644 index 000000000..0cb7b9b2b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_295.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_296.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_296.png new file mode 100644 index 000000000..94d3a31dd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_296.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_297.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_297.png new file mode 100644 index 000000000..f442f8768 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_297.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_298.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_298.png new file mode 100644 index 000000000..09e3d8a7f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_298.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_299.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_299.png new file mode 100644 index 000000000..ae0a36224 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_299.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_3.png new file mode 100644 index 000000000..3b4e7e56f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_30.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_30.png new file mode 100644 index 000000000..f1d630051 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_30.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_300.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_300.png new file mode 100644 index 000000000..8ab609587 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_300.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_301.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_301.png new file mode 100644 index 000000000..00aa90110 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_301.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_302.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_302.png new file mode 100644 index 000000000..131f93a9a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_302.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_303.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_303.png new file mode 100644 index 000000000..c2f8196ff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_303.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_304.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_304.png new file mode 100644 index 000000000..2af27b917 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_304.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_305.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_305.png new file mode 100644 index 000000000..b6bcfb7b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_305.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_306.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_306.png new file mode 100644 index 000000000..88e9f4fe8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_306.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_307.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_307.png new file mode 100644 index 000000000..8742cc974 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_307.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_308.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_308.png new file mode 100644 index 000000000..b25679df2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_308.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_309.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_309.png new file mode 100644 index 000000000..f046165c8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_309.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_31.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_31.png new file mode 100644 index 000000000..c903e6869 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_31.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_310.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_310.png new file mode 100644 index 000000000..a93cf1b68 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_310.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_311.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_311.png new file mode 100644 index 000000000..81ff12202 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_311.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_312.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_312.png new file mode 100644 index 000000000..e25f29a8a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_312.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_313.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_313.png new file mode 100644 index 000000000..22f408d56 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_313.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_314.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_314.png new file mode 100644 index 000000000..3a28f3302 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_314.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_315.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_315.png new file mode 100644 index 000000000..3c27b06cb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_315.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_316.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_316.png new file mode 100644 index 000000000..8519c96b6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_316.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_317.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_317.png new file mode 100644 index 000000000..052f87b38 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_317.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_318.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_318.png new file mode 100644 index 000000000..8c89f4b8c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_318.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_319.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_319.png new file mode 100644 index 000000000..e2b7e67a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_319.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_32.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_32.png new file mode 100644 index 000000000..a2a063698 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_32.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_320.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_320.png new file mode 100644 index 000000000..cfa3631e6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_320.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_321.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_321.png new file mode 100644 index 000000000..28c841ee1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_321.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_322.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_322.png new file mode 100644 index 000000000..bb187be12 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_322.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_323.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_323.png new file mode 100644 index 000000000..8021f9696 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_323.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_324.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_324.png new file mode 100644 index 000000000..fa5677589 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_324.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_325.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_325.png new file mode 100644 index 000000000..4dcda8c26 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_325.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_326.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_326.png new file mode 100644 index 000000000..c219d9018 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_326.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_327.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_327.png new file mode 100644 index 000000000..7f9f359d5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_327.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_328.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_328.png new file mode 100644 index 000000000..96065cd63 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_328.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_329.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_329.png new file mode 100644 index 000000000..11cd94d38 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_329.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_33.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_33.png new file mode 100644 index 000000000..692714dbe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_33.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_330.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_330.png new file mode 100644 index 000000000..7d182d5b2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_330.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_331.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_331.png new file mode 100644 index 000000000..e75be762d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_331.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_332.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_332.png new file mode 100644 index 000000000..c5c889799 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_332.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_333.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_333.png new file mode 100644 index 000000000..9247a4dea Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_333.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_334.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_334.png new file mode 100644 index 000000000..79ea81250 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_334.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_335.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_335.png new file mode 100644 index 000000000..124bc6b98 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_335.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_336.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_336.png new file mode 100644 index 000000000..281c0198c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_336.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_337.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_337.png new file mode 100644 index 000000000..bbfd58f39 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_337.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_338.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_338.png new file mode 100644 index 000000000..56be63386 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_338.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_339.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_339.png new file mode 100644 index 000000000..175416eaa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_339.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_34.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_34.png new file mode 100644 index 000000000..ea62acf85 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_34.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_340.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_340.png new file mode 100644 index 000000000..2841c5ba2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_340.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_341.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_341.png new file mode 100644 index 000000000..f0829d144 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_341.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_342.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_342.png new file mode 100644 index 000000000..1c4f86678 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_342.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_343.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_343.png new file mode 100644 index 000000000..8c951879a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_343.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_344.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_344.png new file mode 100644 index 000000000..8f3132cc0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_344.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_345.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_345.png new file mode 100644 index 000000000..7928964fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_345.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_346.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_346.png new file mode 100644 index 000000000..36583e532 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_346.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_347.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_347.png new file mode 100644 index 000000000..7f4afe3f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_347.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_348.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_348.png new file mode 100644 index 000000000..dce17f0fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_348.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_349.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_349.png new file mode 100644 index 000000000..54ccaec93 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_349.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_35.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_35.png new file mode 100644 index 000000000..222b6e969 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_35.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_350.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_350.png new file mode 100644 index 000000000..48169f049 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_350.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-1.png new file mode 100644 index 000000000..81976f9a8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-2.png new file mode 100644 index 000000000..755c4e159 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-3.png new file mode 100644 index 000000000..ad26064c1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351.png new file mode 100644 index 000000000..d20918974 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_351.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_352.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_352.png new file mode 100644 index 000000000..1a8f360c3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_352.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_353.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_353.png new file mode 100644 index 000000000..c5cdb5888 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_353.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_354.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_354.png new file mode 100644 index 000000000..070ccf00b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_354.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_355.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_355.png new file mode 100644 index 000000000..2355b5692 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_355.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_356.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_356.png new file mode 100644 index 000000000..9ef52fc0a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_356.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_357.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_357.png new file mode 100644 index 000000000..56b2b9958 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_357.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358.png new file mode 100644 index 000000000..3b6627ccb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359.png new file mode 100644 index 000000000..2a618d957 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_36.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_36.png new file mode 100644 index 000000000..14f4b692f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_36.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_360.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_360.png new file mode 100644 index 000000000..535aca424 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_360.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_361.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_361.png new file mode 100644 index 000000000..0cf42842f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_361.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_362.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_362.png new file mode 100644 index 000000000..80c7c8082 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_362.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_363.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_363.png new file mode 100644 index 000000000..aa9d9dabd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_363.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_364.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_364.png new file mode 100644 index 000000000..c89acadff Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_364.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_365.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_365.png new file mode 100644 index 000000000..7df716b58 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_365.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_366.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_366.png new file mode 100644 index 000000000..24952bc63 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_366.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_367.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_367.png new file mode 100644 index 000000000..0339ce3cd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_367.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_368.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_368.png new file mode 100644 index 000000000..292270669 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_368.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_369.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_369.png new file mode 100644 index 000000000..811f20aca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_369.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_37.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_37.png new file mode 100644 index 000000000..b4fda5b13 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_37.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_370.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_370.png new file mode 100644 index 000000000..28f247b0d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_370.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_371.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_371.png new file mode 100644 index 000000000..2ae325125 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_371.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_372.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_372.png new file mode 100644 index 000000000..3d7bf682b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_372.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_373.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_373.png new file mode 100644 index 000000000..68017b3dc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_373.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_374.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_374.png new file mode 100644 index 000000000..e3f3d3d2e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_374.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_375.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_375.png new file mode 100644 index 000000000..e77158a74 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_375.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_376.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_376.png new file mode 100644 index 000000000..73b3a23d5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_376.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_377.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_377.png new file mode 100644 index 000000000..59e540752 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_377.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_378.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_378.png new file mode 100644 index 000000000..0df8cf0c0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_378.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_379.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_379.png new file mode 100644 index 000000000..4c19b37bc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_379.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_38.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_38.png new file mode 100644 index 000000000..2d1b5b6a6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_38.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_380.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_380.png new file mode 100644 index 000000000..fa25606ef Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_380.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_381.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_381.png new file mode 100644 index 000000000..99eb888c2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_381.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_382.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_382.png new file mode 100644 index 000000000..e71b0e1ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_382.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_383.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_383.png new file mode 100644 index 000000000..e76e653b0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_383.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_384.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_384.png new file mode 100644 index 000000000..c91362dd8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_384.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_385.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_385.png new file mode 100644 index 000000000..0945b80d5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_385.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-1.png new file mode 100644 index 000000000..1489d4354 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-2.png new file mode 100644 index 000000000..c0a16c998 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-3.png new file mode 100644 index 000000000..dfa2d0397 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386.png new file mode 100644 index 000000000..86cd5d514 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_386.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_387.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_387.png new file mode 100644 index 000000000..7f146eb2f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_387.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_388.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_388.png new file mode 100644 index 000000000..ee35ed9eb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_388.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_389.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_389.png new file mode 100644 index 000000000..9a003a8d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_389.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_39.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_39.png new file mode 100644 index 000000000..9a8ca9128 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_39.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_390.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_390.png new file mode 100644 index 000000000..110a15952 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_390.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_391.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_391.png new file mode 100644 index 000000000..cf0cd5ab1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_391.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_392.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_392.png new file mode 100644 index 000000000..a1585cde5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_392.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_393.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_393.png new file mode 100644 index 000000000..6900bf4fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_393.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_394.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_394.png new file mode 100644 index 000000000..8fd7722e0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_394.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_395.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_395.png new file mode 100644 index 000000000..54768f1de Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_395.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_396.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_396.png new file mode 100644 index 000000000..b91c893a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_396.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_397.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_397.png new file mode 100644 index 000000000..046e624c0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_397.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398.png new file mode 100644 index 000000000..104a7a430 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_399.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_399.png new file mode 100644 index 000000000..67c2e1e10 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_399.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_4.png new file mode 100644 index 000000000..2700e945b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_40.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_40.png new file mode 100644 index 000000000..cc8df940b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_40.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_400.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_400.png new file mode 100644 index 000000000..634605218 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_400.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_401.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_401.png new file mode 100644 index 000000000..3fcb8971f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_401.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_402.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_402.png new file mode 100644 index 000000000..12998e7b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_402.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_403.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_403.png new file mode 100644 index 000000000..2a06dc1bc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_403.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_404.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_404.png new file mode 100644 index 000000000..e0a83c19c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_404.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_405.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_405.png new file mode 100644 index 000000000..c44b67448 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_405.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_406.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_406.png new file mode 100644 index 000000000..1fc9e2468 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_406.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_407.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_407.png new file mode 100644 index 000000000..179385676 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_407.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_408.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_408.png new file mode 100644 index 000000000..bdadaa0f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_408.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_409.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_409.png new file mode 100644 index 000000000..11ffbdbd2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_409.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_41.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_41.png new file mode 100644 index 000000000..99a0a8fdf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_41.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_410.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_410.png new file mode 100644 index 000000000..d6f470cb8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_410.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_411.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_411.png new file mode 100644 index 000000000..182802bbc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_411.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-1.png new file mode 100644 index 000000000..62fefffc9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-2.png new file mode 100644 index 000000000..2b90eb8eb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412.png new file mode 100644 index 000000000..a738e175f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_412.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-1.png new file mode 100644 index 000000000..d12a3c029 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-2.png new file mode 100644 index 000000000..ca13083f7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413.png new file mode 100644 index 000000000..6c02c78bb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_413.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_414.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_414.png new file mode 100644 index 000000000..8979409bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_414.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_415.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_415.png new file mode 100644 index 000000000..3641aecc5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_415.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_416.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_416.png new file mode 100644 index 000000000..218a26f9b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_416.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_417.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_417.png new file mode 100644 index 000000000..6aaff8e80 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_417.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_418.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_418.png new file mode 100644 index 000000000..21e67cac1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_418.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_419.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_419.png new file mode 100644 index 000000000..fecc6519d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_419.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_42.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_42.png new file mode 100644 index 000000000..062f82d35 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_42.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_420.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_420.png new file mode 100644 index 000000000..ec7c8ad67 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_420.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421-1.png new file mode 100644 index 000000000..debc7b4f5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421.png new file mode 100644 index 000000000..7cb2cc8b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_421.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422-1.png new file mode 100644 index 000000000..ac602b770 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422.png new file mode 100644 index 000000000..b13eb0d50 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_422.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423-1.png new file mode 100644 index 000000000..d8f8ec6a6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423.png new file mode 100644 index 000000000..d8cf911dd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_423.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_424.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_424.png new file mode 100644 index 000000000..c1cefaca7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_424.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_425.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_425.png new file mode 100644 index 000000000..2b13f2fe3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_425.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_426.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_426.png new file mode 100644 index 000000000..d84d7739f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_426.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_427.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_427.png new file mode 100644 index 000000000..c04043b62 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_427.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_428.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_428.png new file mode 100644 index 000000000..131f78686 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_428.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_429.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_429.png new file mode 100644 index 000000000..c92839339 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_429.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_43.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_43.png new file mode 100644 index 000000000..9341f78e0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_43.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_430.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_430.png new file mode 100644 index 000000000..b21b368b7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_430.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_431.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_431.png new file mode 100644 index 000000000..fcf1e5652 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_431.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_432.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_432.png new file mode 100644 index 000000000..4ebe4826b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_432.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_433.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_433.png new file mode 100644 index 000000000..3067101e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_433.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_434.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_434.png new file mode 100644 index 000000000..064b937e1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_434.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_435.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_435.png new file mode 100644 index 000000000..cf4d39ee3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_435.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_436.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_436.png new file mode 100644 index 000000000..f8716688e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_436.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_437.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_437.png new file mode 100644 index 000000000..d25e8a0ab Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_437.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_438.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_438.png new file mode 100644 index 000000000..e1ee1e69f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_438.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_439.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_439.png new file mode 100644 index 000000000..29fa176df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_439.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_44.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_44.png new file mode 100644 index 000000000..b873ca7f5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_44.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_440.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_440.png new file mode 100644 index 000000000..f9049ad63 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_440.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_441.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_441.png new file mode 100644 index 000000000..bc5f88c83 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_441.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_442.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_442.png new file mode 100644 index 000000000..3fc1c46c1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_442.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_443.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_443.png new file mode 100644 index 000000000..d7f732253 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_443.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_444.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_444.png new file mode 100644 index 000000000..99ccde214 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_444.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445.png new file mode 100644 index 000000000..c7577a1f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_446.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_446.png new file mode 100644 index 000000000..04bf41eca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_446.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_447.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_447.png new file mode 100644 index 000000000..a7dab517f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_447.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448.png new file mode 100644 index 000000000..83a0a88e3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449.png new file mode 100644 index 000000000..530a38366 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449f.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449f.png new file mode 100644 index 000000000..530a38366 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_449f.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_45.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_45.png new file mode 100644 index 000000000..37f20cf10 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_45.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450.png new file mode 100644 index 000000000..31c39432e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450f.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450f.png new file mode 100644 index 000000000..31c39432e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_450f.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_451.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_451.png new file mode 100644 index 000000000..80c6a930f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_451.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_452.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_452.png new file mode 100644 index 000000000..eedfc9808 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_452.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_453.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_453.png new file mode 100644 index 000000000..de04fe890 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_453.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_454.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_454.png new file mode 100644 index 000000000..fab63837b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_454.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_455.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_455.png new file mode 100644 index 000000000..362c51e0d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_455.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_456.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_456.png new file mode 100644 index 000000000..91262ec3a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_456.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_457.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_457.png new file mode 100644 index 000000000..7a84776bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_457.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_458.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_458.png new file mode 100644 index 000000000..772e29a54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_458.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_459.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_459.png new file mode 100644 index 000000000..a692d4539 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_459.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_46.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_46.png new file mode 100644 index 000000000..e812db6a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_46.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_460.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_460.png new file mode 100644 index 000000000..e67c9c83b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_460.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_461.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_461.png new file mode 100644 index 000000000..51e0e27e8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_461.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_462.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_462.png new file mode 100644 index 000000000..2b8efb6b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_462.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_463.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_463.png new file mode 100644 index 000000000..15f0e47ba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_463.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_464.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_464.png new file mode 100644 index 000000000..e06c87843 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_464.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_465.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_465.png new file mode 100644 index 000000000..e1c0f6f58 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_465.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_466.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_466.png new file mode 100644 index 000000000..dd1f4d23c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_466.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_467.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_467.png new file mode 100644 index 000000000..d368e4351 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_467.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_468.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_468.png new file mode 100644 index 000000000..a96a19ef2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_468.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_469.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_469.png new file mode 100644 index 000000000..466ed8d63 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_469.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_47.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_47.png new file mode 100644 index 000000000..9b5800a77 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_47.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_470.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_470.png new file mode 100644 index 000000000..4c7186fbd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_470.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_471.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_471.png new file mode 100644 index 000000000..b2806a793 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_471.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_472.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_472.png new file mode 100644 index 000000000..3ac43aa3d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_472.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_473.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_473.png new file mode 100644 index 000000000..7a5340df0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_473.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_474.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_474.png new file mode 100644 index 000000000..f1f1e40cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_474.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_475.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_475.png new file mode 100644 index 000000000..78638581d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_475.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_476.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_476.png new file mode 100644 index 000000000..ecd763015 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_476.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_477.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_477.png new file mode 100644 index 000000000..40ab3011a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_477.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_478.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_478.png new file mode 100644 index 000000000..d9771b19e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_478.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-1.png new file mode 100644 index 000000000..80e049be8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-2.png new file mode 100644 index 000000000..177c702e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-3.png new file mode 100644 index 000000000..1df8238e9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-4.png new file mode 100644 index 000000000..cdce0150d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-5.png new file mode 100644 index 000000000..1d68157f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479.png new file mode 100644 index 000000000..bb6e03d0c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_479.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_48.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_48.png new file mode 100644 index 000000000..317c7bf17 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_48.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_480.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_480.png new file mode 100644 index 000000000..2c3bdb347 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_480.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_481.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_481.png new file mode 100644 index 000000000..0722a62c2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_481.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_482.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_482.png new file mode 100644 index 000000000..36fdb558a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_482.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483-1.png new file mode 100644 index 000000000..84699d70f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483.png new file mode 100644 index 000000000..f31563ac1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_483.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484-1.png new file mode 100644 index 000000000..eec705662 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484.png new file mode 100644 index 000000000..5e17b6b11 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_484.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485.png new file mode 100644 index 000000000..7e1f934b6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_486.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_486.png new file mode 100644 index 000000000..7c172e31a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_486.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487-1.png new file mode 100644 index 000000000..345d3d598 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487.png new file mode 100644 index 000000000..c1b33d5bb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_487.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_488.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_488.png new file mode 100644 index 000000000..33cb42ec8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_488.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_489.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_489.png new file mode 100644 index 000000000..aea9fa08b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_489.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_49.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_49.png new file mode 100644 index 000000000..a9bbcf649 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_49.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490-e.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490-e.png new file mode 100644 index 000000000..81edd9863 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490-e.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490.png new file mode 100644 index 000000000..4200398b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_490.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491.png new file mode 100644 index 000000000..622a18a81 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492-1.png new file mode 100644 index 000000000..601d66069 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492.png new file mode 100644 index 000000000..8b97820cf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_492.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-1.png new file mode 100644 index 000000000..f78c68422 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-10.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-10.png new file mode 100644 index 000000000..76279aad4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-10.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-11.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-11.png new file mode 100644 index 000000000..d6b5baa5e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-11.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-12.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-12.png new file mode 100644 index 000000000..8ddcecfc1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-12.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-13.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-13.png new file mode 100644 index 000000000..e45789c55 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-13.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-14.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-14.png new file mode 100644 index 000000000..ce3143555 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-14.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-15.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-15.png new file mode 100644 index 000000000..40bb4218c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-15.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-16.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-16.png new file mode 100644 index 000000000..df7fd74b3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-16.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-17.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-17.png new file mode 100644 index 000000000..b6060871e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-17.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-18.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-18.png new file mode 100644 index 000000000..d380b6ea7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-18.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-2.png new file mode 100644 index 000000000..6405247b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-3.png new file mode 100644 index 000000000..3db5b8d33 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-4.png new file mode 100644 index 000000000..55c3dbf85 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-5.png new file mode 100644 index 000000000..3b9324ee3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-6.png new file mode 100644 index 000000000..c0f5bc3a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-7.png new file mode 100644 index 000000000..35e303ffd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-8.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-8.png new file mode 100644 index 000000000..0d3a560c3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-8.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-9.png new file mode 100644 index 000000000..9ba0d0270 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493-9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493.png new file mode 100644 index 000000000..80d21f0e8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_493.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_5.png new file mode 100644 index 000000000..3b733b258 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50-1.png new file mode 100644 index 000000000..380dab700 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50.png new file mode 100644 index 000000000..8568d2869 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_50.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_501.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_501.png new file mode 100644 index 000000000..981c2e7af Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_501.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_502.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_502.png new file mode 100644 index 000000000..7912839df Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_502.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503-1.png new file mode 100644 index 000000000..3795edb29 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503.png new file mode 100644 index 000000000..58736e508 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_503.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51-1.png new file mode 100644 index 000000000..93a6e9584 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51.png new file mode 100644 index 000000000..001e5798a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_51.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-1.png new file mode 100644 index 000000000..fcd1b523d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-2.png new file mode 100644 index 000000000..3eccc4803 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52.png new file mode 100644 index 000000000..4428c7c86 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_52.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53-1.png new file mode 100644 index 000000000..f112f696c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53.png new file mode 100644 index 000000000..6f93c33be Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_53.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_54.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_54.png new file mode 100644 index 000000000..61ddd1cfc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_54.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_548.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_548.png new file mode 100644 index 000000000..e6db412e9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_548.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549-1.png new file mode 100644 index 000000000..1b2b831bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549.png new file mode 100644 index 000000000..6ac00e50b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_549.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_55.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_55.png new file mode 100644 index 000000000..d7557ff32 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_55.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-1.png new file mode 100644 index 000000000..b4b330e76 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-2.png new file mode 100644 index 000000000..6c3e9ef68 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550.png new file mode 100644 index 000000000..16667b973 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_550.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_551.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_551.png new file mode 100644 index 000000000..00dc8b629 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_551.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_552.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_552.png new file mode 100644 index 000000000..7ff3694b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_552.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_553.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_553.png new file mode 100644 index 000000000..5068c57ec Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_553.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_56.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_56.png new file mode 100644 index 000000000..704807f96 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_56.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_57.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_57.png new file mode 100644 index 000000000..885f68549 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_57.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570-1.png new file mode 100644 index 000000000..2900b2b28 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570.png new file mode 100644 index 000000000..8a922d944 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_570.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571-1.png new file mode 100644 index 000000000..320d3854a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571.png new file mode 100644 index 000000000..efa6632f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_571.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_574.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_574.png new file mode 100644 index 000000000..2e7136810 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_574.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_575.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_575.png new file mode 100644 index 000000000..7e642edcf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_575.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_576.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_576.png new file mode 100644 index 000000000..7eec6cc3a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_576.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58-1.png new file mode 100644 index 000000000..9cc8e6212 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58.png new file mode 100644 index 000000000..dd38776cb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_58.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-1.png new file mode 100644 index 000000000..093539ef4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-2.png new file mode 100644 index 000000000..528d566b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-3.png new file mode 100644 index 000000000..47a195211 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585.png new file mode 100644 index 000000000..eff6b62e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_585.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-1.png new file mode 100644 index 000000000..818f5d82e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-2.png new file mode 100644 index 000000000..d622d8226 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-3.png new file mode 100644 index 000000000..23c71b8d6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586.png new file mode 100644 index 000000000..7d2371d8b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_586.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59-1.png new file mode 100644 index 000000000..6cc7f31a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59.png new file mode 100644 index 000000000..e2ea1ebe0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_59.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_590.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_590.png new file mode 100644 index 000000000..a9b61be45 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_590.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_591.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_591.png new file mode 100644 index 000000000..a75eae0b5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_591.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_594.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_594.png new file mode 100644 index 000000000..6823a152b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_594.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_6.png new file mode 100644 index 000000000..1fadbb1d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_60.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_60.png new file mode 100644 index 000000000..95b3814eb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_60.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_602.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_602.png new file mode 100644 index 000000000..f76c0b7fa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_602.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_603.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_603.png new file mode 100644 index 000000000..1f7ddc7c5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_603.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_604.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_604.png new file mode 100644 index 000000000..03e1eca82 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_604.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_61.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_61.png new file mode 100644 index 000000000..051739567 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_61.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_610.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_610.png new file mode 100644 index 000000000..c229b2055 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_610.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_611.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_611.png new file mode 100644 index 000000000..20155f02c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_611.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_612.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_612.png new file mode 100644 index 000000000..c3120b110 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_612.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_613.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_613.png new file mode 100644 index 000000000..ce3e2bff3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_613.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_614.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_614.png new file mode 100644 index 000000000..b31131e4b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_614.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_615.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_615.png new file mode 100644 index 000000000..0b0b869b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_615.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_62.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_62.png new file mode 100644 index 000000000..e0b0e93c2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_62.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_624.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_624.png new file mode 100644 index 000000000..078d3ce06 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_624.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_625.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_625.png new file mode 100644 index 000000000..603fc29f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_625.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_627.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_627.png new file mode 100644 index 000000000..b4150c79e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_627.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628-1.png new file mode 100644 index 000000000..a319abea8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628.png new file mode 100644 index 000000000..d34b089fe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_628.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_63.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_63.png new file mode 100644 index 000000000..03de822b0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_63.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_633.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_633.png new file mode 100644 index 000000000..1fa281718 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_633.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_634.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_634.png new file mode 100644 index 000000000..e219517a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_634.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_635.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_635.png new file mode 100644 index 000000000..62199c1fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_635.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_636.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_636.png new file mode 100644 index 000000000..9e9728255 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_636.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_637.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_637.png new file mode 100644 index 000000000..c4b6c7838 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_637.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_64.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_64.png new file mode 100644 index 000000000..8c6f7f360 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_64.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641-1.png new file mode 100644 index 000000000..ffbd45803 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641.png new file mode 100644 index 000000000..6fe58d60d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_641.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642-1.png new file mode 100644 index 000000000..a0045dc4c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642.png new file mode 100644 index 000000000..4615843ca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_642.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645-1.png new file mode 100644 index 000000000..aa3e93f26 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645.png new file mode 100644 index 000000000..11bb6dd54 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_645.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648-1.png new file mode 100644 index 000000000..97d35eabe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648.png new file mode 100644 index 000000000..9dd94fda5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_648.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_65.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_65.png new file mode 100644 index 000000000..c750ee14f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_65.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_650.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_650.png new file mode 100644 index 000000000..56e8f1f33 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_650.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_651.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_651.png new file mode 100644 index 000000000..90d38be9b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_651.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_652.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_652.png new file mode 100644 index 000000000..765a26330 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_652.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_653.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_653.png new file mode 100644 index 000000000..60dcb1f03 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_653.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_654.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_654.png new file mode 100644 index 000000000..e6cbdd1dc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_654.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_655.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_655.png new file mode 100644 index 000000000..0df4c1d49 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_655.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_656.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_656.png new file mode 100644 index 000000000..959c72185 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_656.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_657.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_657.png new file mode 100644 index 000000000..e72e9c2a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_657.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658-1.png new file mode 100644 index 000000000..ad24c89f0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658.png new file mode 100644 index 000000000..ad24c89f0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_658.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_66.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_66.png new file mode 100644 index 000000000..898e91975 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_66.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_661.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_661.png new file mode 100644 index 000000000..00d70740b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_661.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_662.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_662.png new file mode 100644 index 000000000..bda3598a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_662.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_663.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_663.png new file mode 100644 index 000000000..57e4494ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_663.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_664.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_664.png new file mode 100644 index 000000000..491e2d6b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_664.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_665.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_665.png new file mode 100644 index 000000000..72609135e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_665.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-1.png new file mode 100644 index 000000000..43e4d6b95 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-10.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-10.png new file mode 100644 index 000000000..ec04fe30f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-10.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-11.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-11.png new file mode 100644 index 000000000..32fd2796d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-11.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-12.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-12.png new file mode 100644 index 000000000..e3adb075f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-12.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-13.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-13.png new file mode 100644 index 000000000..1e2b7011e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-13.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-14.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-14.png new file mode 100644 index 000000000..fc8aa431a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-14.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-15.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-15.png new file mode 100644 index 000000000..3d4efcfd8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-15.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-16.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-16.png new file mode 100644 index 000000000..3e3fba170 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-16.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-17.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-17.png new file mode 100644 index 000000000..fd624d382 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-17.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-18.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-18.png new file mode 100644 index 000000000..0ada06f4d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-18.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-19.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-19.png new file mode 100644 index 000000000..4c714f10a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-19.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-2.png new file mode 100644 index 000000000..888c00901 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-3.png new file mode 100644 index 000000000..328776ed7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-4.png new file mode 100644 index 000000000..fb513277b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-5.png new file mode 100644 index 000000000..46dd791f4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-6.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-6.png new file mode 100644 index 000000000..9bc188f36 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-6.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-7.png new file mode 100644 index 000000000..54e0f7d79 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-8.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-8.png new file mode 100644 index 000000000..840c22095 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-8.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-9.png new file mode 100644 index 000000000..5ead89dda Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666-9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666.png new file mode 100644 index 000000000..849c5c1e0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_666.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_667.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_667.png new file mode 100644 index 000000000..b0ac92fad Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_667.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668.png new file mode 100644 index 000000000..4fda43447 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668f.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668f.png new file mode 100644 index 000000000..1a15d39e1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_668f.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-1.png new file mode 100644 index 000000000..94c946b96 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-2.png new file mode 100644 index 000000000..a4e01b7b3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-3.png new file mode 100644 index 000000000..fca01e0c4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-4.png new file mode 100644 index 000000000..a94178241 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669.png new file mode 100644 index 000000000..41e9cd2d3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_669.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_67.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_67.png new file mode 100644 index 000000000..ddb333bcb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_67.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-1.png new file mode 100644 index 000000000..11d60e596 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-2.png new file mode 100644 index 000000000..e4c123efe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-3.png new file mode 100644 index 000000000..e74552a67 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-4.png new file mode 100644 index 000000000..8fb201e31 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670.png new file mode 100644 index 000000000..f8dbbe1c4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_670.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-1.png new file mode 100644 index 000000000..a3be10449 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-2.png new file mode 100644 index 000000000..5ae50e922 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-3.png new file mode 100644 index 000000000..7f04fe36c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-4.png new file mode 100644 index 000000000..ca081330a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671.png new file mode 100644 index 000000000..dd2c8f899 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_671.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_672.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_672.png new file mode 100644 index 000000000..4b278b54c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_672.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_673.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_673.png new file mode 100644 index 000000000..1936ec5aa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_673.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_68.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_68.png new file mode 100644 index 000000000..34c0a5516 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_68.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_69.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_69.png new file mode 100644 index 000000000..8ca9ff02a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_69.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_690.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_690.png new file mode 100644 index 000000000..21d6a70e1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_690.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_691.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_691.png new file mode 100644 index 000000000..10bbdc657 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_691.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_692.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_692.png new file mode 100644 index 000000000..ba362e98b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_692.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_693.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_693.png new file mode 100644 index 000000000..c731a8340 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_693.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_7.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_7.png new file mode 100644 index 000000000..e7ee22f88 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_7.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_70.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_70.png new file mode 100644 index 000000000..e5ae92a17 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_70.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_700.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_700.png new file mode 100644 index 000000000..99f6e3626 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_700.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_701.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_701.png new file mode 100644 index 000000000..a14a4967a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_701.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_702.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_702.png new file mode 100644 index 000000000..92c3f0aba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_702.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_703.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_703.png new file mode 100644 index 000000000..c64597f59 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_703.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_704.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_704.png new file mode 100644 index 000000000..a24c387f4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_704.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705-1.png new file mode 100644 index 000000000..66b2f05ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705.png new file mode 100644 index 000000000..114da30a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_705.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706-1.png new file mode 100644 index 000000000..ded91052e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706.png new file mode 100644 index 000000000..3b3488040 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_706.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_707.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_707.png new file mode 100644 index 000000000..414e54b06 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_707.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_71.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_71.png new file mode 100644 index 000000000..7e7ab1092 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_71.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_712.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_712.png new file mode 100644 index 000000000..f8c8b9265 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_712.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713-1.png new file mode 100644 index 000000000..9a9d64723 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713.png new file mode 100644 index 000000000..62ae28e82 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_713.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_714.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_714.png new file mode 100644 index 000000000..cb90d54b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_714.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_715.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_715.png new file mode 100644 index 000000000..86b972b6e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_715.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_719.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_719.png new file mode 100644 index 000000000..cf6c45d2a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_719.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_72.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_72.png new file mode 100644 index 000000000..39835c079 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_72.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720-1.png new file mode 100644 index 000000000..0a6c5c278 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720.png new file mode 100644 index 000000000..a131d6c7e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_720.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_721.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_721.png new file mode 100644 index 000000000..2a586a5c8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_721.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_722.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_722.png new file mode 100644 index 000000000..23f76b5e0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_722.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_723.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_723.png new file mode 100644 index 000000000..6b17997c1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_723.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724-1.png new file mode 100644 index 000000000..2bd698d9e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724.png new file mode 100644 index 000000000..3614e1091 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_724.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_73.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_73.png new file mode 100644 index 000000000..801c4a2aa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_73.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_734.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_734.png new file mode 100644 index 000000000..03f8d502f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_734.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_735.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_735.png new file mode 100644 index 000000000..ee85de9eb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_735.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_739.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_739.png new file mode 100644 index 000000000..80799625f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_739.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_74.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_74.png new file mode 100644 index 000000000..c0445f6e7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_74.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740.png new file mode 100644 index 000000000..582237f3d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-1.png new file mode 100644 index 000000000..e85832b9c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-2.png new file mode 100644 index 000000000..f2a6082f0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-3.png new file mode 100644 index 000000000..f9eab0fb8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741.png new file mode 100644 index 000000000..2d81fb6cb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_741.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_744.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_744.png new file mode 100644 index 000000000..7f20812b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_744.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-1.png new file mode 100644 index 000000000..889f166b6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-2.png new file mode 100644 index 000000000..d55691e22 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745.png new file mode 100644 index 000000000..01d33da98 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_745.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_747.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_747.png new file mode 100644 index 000000000..3b80289bb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_747.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_748.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_748.png new file mode 100644 index 000000000..4aaec803c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_748.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_749.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_749.png new file mode 100644 index 000000000..e2ee7297c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_749.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_75.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_75.png new file mode 100644 index 000000000..a4a8bc226 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_75.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_750.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_750.png new file mode 100644 index 000000000..8a4755561 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_750.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_753.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_753.png new file mode 100644 index 000000000..0486e8ccf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_753.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_754.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_754.png new file mode 100644 index 000000000..93f63d5d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_754.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_757.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_757.png new file mode 100644 index 000000000..b433726bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_757.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_758.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_758.png new file mode 100644 index 000000000..546dec00d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_758.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_76.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_76.png new file mode 100644 index 000000000..7c0d45f41 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_76.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_761.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_761.png new file mode 100644 index 000000000..e53b7c4ba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_761.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_762.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_762.png new file mode 100644 index 000000000..3b937fc03 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_762.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_763.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_763.png new file mode 100644 index 000000000..7d5552b76 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_763.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_765.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_765.png new file mode 100644 index 000000000..462f81482 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_765.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_766.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_766.png new file mode 100644 index 000000000..137886400 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_766.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_769.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_769.png new file mode 100644 index 000000000..7b5422aa6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_769.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_77.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_77.png new file mode 100644 index 000000000..ed14dfd06 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_77.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_770.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_770.png new file mode 100644 index 000000000..f76e9c82b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_770.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_775.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_775.png new file mode 100644 index 000000000..7cee5ed09 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_775.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778-1.png new file mode 100644 index 000000000..9f793d7d6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778.png new file mode 100644 index 000000000..9f793d7d6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_778.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_779.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_779.png new file mode 100644 index 000000000..b1975184f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_779.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_78.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_78.png new file mode 100644 index 000000000..42dda5c95 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_78.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79-1.png new file mode 100644 index 000000000..8277ca01a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79.png new file mode 100644 index 000000000..932a9a18b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_79.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_8.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_8.png new file mode 100644 index 000000000..879bc5bc7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_8.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80-2.png new file mode 100644 index 000000000..3e0dd805f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80.png new file mode 100644 index 000000000..8b477a8c4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_80.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-1.png new file mode 100644 index 000000000..4f1809130 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801.png new file mode 100644 index 000000000..675c9bdb4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_81.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_81.png new file mode 100644 index 000000000..5607efab8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_81.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_810.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_810.png new file mode 100644 index 000000000..16d362ee6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_810.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_811.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_811.png new file mode 100644 index 000000000..8dcc8a4fe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_811.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_812.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_812.png new file mode 100644 index 000000000..adf105c69 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_812.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_813.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_813.png new file mode 100644 index 000000000..4f5a5a174 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_813.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_814.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_814.png new file mode 100644 index 000000000..a5ab2791d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_814.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_815.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_815.png new file mode 100644 index 000000000..6de0a5512 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_815.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_816.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_816.png new file mode 100644 index 000000000..6e05af268 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_816.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_817.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_817.png new file mode 100644 index 000000000..70c182527 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_817.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_818.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_818.png new file mode 100644 index 000000000..81f1b7c02 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_818.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_819.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_819.png new file mode 100644 index 000000000..dea7c0e04 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_819.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_82.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_82.png new file mode 100644 index 000000000..3ab6a70a8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_82.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_820.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_820.png new file mode 100644 index 000000000..f8bed2a97 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_820.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_821.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_821.png new file mode 100644 index 000000000..66791abed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_821.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_822.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_822.png new file mode 100644 index 000000000..31231c618 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_822.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_823.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_823.png new file mode 100644 index 000000000..34deeaa37 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_823.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_83.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_83.png new file mode 100644 index 000000000..d79843a76 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_83.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_833.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_833.png new file mode 100644 index 000000000..419fbd9a8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_833.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_834.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_834.png new file mode 100644 index 000000000..2e4008710 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_834.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_837.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_837.png new file mode 100644 index 000000000..0b2a63e2c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_837.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_838.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_838.png new file mode 100644 index 000000000..03887cfe2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_838.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_839.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_839.png new file mode 100644 index 000000000..5a3998dba Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_839.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_84.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_84.png new file mode 100644 index 000000000..d4b9b2309 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_84.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_840.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_840.png new file mode 100644 index 000000000..94b17dcbe Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_840.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_841.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_841.png new file mode 100644 index 000000000..699c75fb5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_841.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_842.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_842.png new file mode 100644 index 000000000..afba443cc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_842.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_843.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_843.png new file mode 100644 index 000000000..a7667dfc6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_843.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_844.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_844.png new file mode 100644 index 000000000..2845130a1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_844.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_846.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_846.png new file mode 100644 index 000000000..74a60489f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_846.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_847.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_847.png new file mode 100644 index 000000000..2ad7825ac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_847.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_848.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_848.png new file mode 100644 index 000000000..7c8235b95 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_848.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849-1.png new file mode 100644 index 000000000..a29f3b81e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849.png new file mode 100644 index 000000000..de9ede517 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_849.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_85.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_85.png new file mode 100644 index 000000000..40d2978a2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_85.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_854.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_854.png new file mode 100644 index 000000000..70c5e79ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_854.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_855.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_855.png new file mode 100644 index 000000000..9244d0332 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_855.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_856.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_856.png new file mode 100644 index 000000000..1f986ffbd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_856.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_857.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_857.png new file mode 100644 index 000000000..f7d33f665 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_857.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_858.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_858.png new file mode 100644 index 000000000..c81214b3b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_858.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_859.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_859.png new file mode 100644 index 000000000..140333cc6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_859.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_86.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_86.png new file mode 100644 index 000000000..951254ffb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_86.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_860.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_860.png new file mode 100644 index 000000000..b22e0424a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_860.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_861.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_861.png new file mode 100644 index 000000000..2c044e36a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_861.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_863.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_863.png new file mode 100644 index 000000000..24ef7a264 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_863.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_87.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_87.png new file mode 100644 index 000000000..ee230ac21 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_87.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_870.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_870.png new file mode 100644 index 000000000..82880debd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_870.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_871.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_871.png new file mode 100644 index 000000000..cffbf103e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_871.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_872.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_872.png new file mode 100644 index 000000000..128cbb991 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_872.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_873.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_873.png new file mode 100644 index 000000000..7c4c1cd0f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_873.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_874.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_874.png new file mode 100644 index 000000000..30daf6d58 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_874.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875-1.png new file mode 100644 index 000000000..d2f61af93 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875.png new file mode 100644 index 000000000..6103b0967 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_875.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876-1.png new file mode 100644 index 000000000..64bd29113 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876.png new file mode 100644 index 000000000..af67b8f1c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_876.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_878.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_878.png new file mode 100644 index 000000000..458d14989 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_878.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_879.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_879.png new file mode 100644 index 000000000..4888fedd3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_879.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88-1.png new file mode 100644 index 000000000..11038102a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88.png new file mode 100644 index 000000000..1195972d7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_88.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_885.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_885.png new file mode 100644 index 000000000..5ff90bb00 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_885.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_886.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_886.png new file mode 100644 index 000000000..6672eb4fd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_886.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_887.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_887.png new file mode 100644 index 000000000..1cfeda12e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_887.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888-1.png new file mode 100644 index 000000000..fe82c175a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888.png new file mode 100644 index 000000000..097ca916e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_888.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889-1.png new file mode 100644 index 000000000..a452ec370 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889.png new file mode 100644 index 000000000..5b6e09165 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_889.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89-1.png new file mode 100644 index 000000000..b29071eec Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89.png new file mode 100644 index 000000000..c4e34aa34 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_89.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_890.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_890.png new file mode 100644 index 000000000..7fc7de0e3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_890.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_891.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_891.png new file mode 100644 index 000000000..864379d07 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_891.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_892.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_892.png new file mode 100644 index 000000000..cef4631bf Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_892.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893-1.png new file mode 100644 index 000000000..e4ed600d0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893.png new file mode 100644 index 000000000..775b17db0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_893.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_894.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_894.png new file mode 100644 index 000000000..22da1b4e6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_894.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_895.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_895.png new file mode 100644 index 000000000..7338ccfa4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_895.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_896.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_896.png new file mode 100644 index 000000000..2b21f7bfd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_896.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_897.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_897.png new file mode 100644 index 000000000..c096ecdb0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_897.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-1.png new file mode 100644 index 000000000..c45d5a488 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-2.png new file mode 100644 index 000000000..973089f5c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898.png new file mode 100644 index 000000000..4fa416c75 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_898.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_899.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_899.png new file mode 100644 index 000000000..13d7d838f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_899.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_9.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_9.png new file mode 100644 index 000000000..a8e4f5cc2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_9.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_90.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_90.png new file mode 100644 index 000000000..ce8205110 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_90.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_900.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_900.png new file mode 100644 index 000000000..2a97bc574 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_900.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_901.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_901.png new file mode 100644 index 000000000..cdef7d6d7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_901.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902-1.png new file mode 100644 index 000000000..708290d9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902.png new file mode 100644 index 000000000..e4e0ee571 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_902.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_903.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_903.png new file mode 100644 index 000000000..7aea49648 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_903.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_904.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_904.png new file mode 100644 index 000000000..ff3ae88d3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_904.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905-1.png new file mode 100644 index 000000000..6f3ee9dfc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905.png new file mode 100644 index 000000000..a2a664eb9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_905.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_906.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_906.png new file mode 100644 index 000000000..54763d217 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_906.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_907.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_907.png new file mode 100644 index 000000000..911f9d45a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_907.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_908.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_908.png new file mode 100644 index 000000000..ae2989a75 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_908.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_909.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_909.png new file mode 100644 index 000000000..a54813805 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_909.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_91.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_91.png new file mode 100644 index 000000000..ad149bc2d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_91.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_910.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_910.png new file mode 100644 index 000000000..4d7149f3a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_910.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_911.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_911.png new file mode 100644 index 000000000..d6d3a3116 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_911.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_912.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_912.png new file mode 100644 index 000000000..77c0db451 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_912.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_913.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_913.png new file mode 100644 index 000000000..b0837803a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_913.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_914.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_914.png new file mode 100644 index 000000000..ae5a3d31c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_914.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_915.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_915.png new file mode 100644 index 000000000..1331a8165 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_915.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916-1.png new file mode 100644 index 000000000..7d17dabfc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916.png new file mode 100644 index 000000000..d562826bd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_916.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_917.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_917.png new file mode 100644 index 000000000..61830a474 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_917.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_918.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_918.png new file mode 100644 index 000000000..3255f4054 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_918.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_919.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_919.png new file mode 100644 index 000000000..74a9c9f01 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_919.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_92.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_92.png new file mode 100644 index 000000000..4b81778b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_92.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_920.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_920.png new file mode 100644 index 000000000..2400e161a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_920.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_921.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_921.png new file mode 100644 index 000000000..dd6de67f5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_921.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_922.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_922.png new file mode 100644 index 000000000..2dd3d2385 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_922.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_923.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_923.png new file mode 100644 index 000000000..9c9dbe5d1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_923.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_924.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_924.png new file mode 100644 index 000000000..abc459c69 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_924.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_925.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_925.png new file mode 100644 index 000000000..92cd69356 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_925.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_926.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_926.png new file mode 100644 index 000000000..a7e405115 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_926.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_927.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_927.png new file mode 100644 index 000000000..670556577 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_927.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_928.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_928.png new file mode 100644 index 000000000..d1fb0124a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_928.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_929.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_929.png new file mode 100644 index 000000000..ef16832a3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_929.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_93.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_93.png new file mode 100644 index 000000000..37a2eae1e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_93.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_930.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_930.png new file mode 100644 index 000000000..c3dfcba02 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_930.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_931.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_931.png new file mode 100644 index 000000000..ce0475408 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_931.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_932.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_932.png new file mode 100644 index 000000000..813daafce Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_932.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_933.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_933.png new file mode 100644 index 000000000..b79ee48a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_933.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934-1.png new file mode 100644 index 000000000..f2d6d4a73 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934.png new file mode 100644 index 000000000..c2ec182be Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_934.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_935.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_935.png new file mode 100644 index 000000000..41979e7fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_935.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_936.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_936.png new file mode 100644 index 000000000..764e91a86 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_936.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_937.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_937.png new file mode 100644 index 000000000..a6021468f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_937.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_938.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_938.png new file mode 100644 index 000000000..46497431d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_938.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_939.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_939.png new file mode 100644 index 000000000..a21d5c824 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_939.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_94.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_94.png new file mode 100644 index 000000000..db1fa3018 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_94.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_940.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_940.png new file mode 100644 index 000000000..0b52c3f83 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_940.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_941.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_941.png new file mode 100644 index 000000000..5baa0a469 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_941.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_942.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_942.png new file mode 100644 index 000000000..8617aae06 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_942.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_943.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_943.png new file mode 100644 index 000000000..a5f5d9324 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_943.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_944.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_944.png new file mode 100644 index 000000000..92554a730 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_944.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_945.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_945.png new file mode 100644 index 000000000..5526312a0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_945.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946-1.png new file mode 100644 index 000000000..d215f16b0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946.png new file mode 100644 index 000000000..f6c4d5df4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_946.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_947.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_947.png new file mode 100644 index 000000000..2fedd2efc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_947.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_948.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_948.png new file mode 100644 index 000000000..5e28a2c49 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_948.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_949.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_949.png new file mode 100644 index 000000000..2c4462aeb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_949.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_95.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_95.png new file mode 100644 index 000000000..ab411b0fb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_95.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_950.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_950.png new file mode 100644 index 000000000..483d4e3ed Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_950.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_951.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_951.png new file mode 100644 index 000000000..1f67ca15a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_951.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png new file mode 100644 index 000000000..caf7bf264 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-2.png new file mode 100644 index 000000000..bc34ae6fc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952.png new file mode 100644 index 000000000..1d82c7eec Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_953.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_953.png new file mode 100644 index 000000000..f167ee251 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_953.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_954.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_954.png new file mode 100644 index 000000000..8dbddaef5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_954.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_955.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_955.png new file mode 100644 index 000000000..a81e89578 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_955.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_956.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_956.png new file mode 100644 index 000000000..e1eaec4b4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_956.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_957.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_957.png new file mode 100644 index 000000000..c4600f5b1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_957.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_958.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_958.png new file mode 100644 index 000000000..784da320b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_958.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_959.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_959.png new file mode 100644 index 000000000..97fa6e626 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_959.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_96.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_96.png new file mode 100644 index 000000000..470e23a8d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_96.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-1.png new file mode 100644 index 000000000..58e747aea Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-2.png new file mode 100644 index 000000000..3215a829b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-3.png new file mode 100644 index 000000000..b957b669b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960.png new file mode 100644 index 000000000..08729eb16 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_960.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_961.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_961.png new file mode 100644 index 000000000..5a95b0d21 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_961.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_962.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_962.png new file mode 100644 index 000000000..2403c6eca Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_962.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_963.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_963.png new file mode 100644 index 000000000..1fcae66d9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_963.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_964.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_964.png new file mode 100644 index 000000000..2e1a21909 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_964.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_965.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_965.png new file mode 100644 index 000000000..bfd49f73b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_965.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_966.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_966.png new file mode 100644 index 000000000..fc1873346 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_966.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_967.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_967.png new file mode 100644 index 000000000..2109aa5a5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_967.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_968.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_968.png new file mode 100644 index 000000000..5ec1f4af8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_968.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_969.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_969.png new file mode 100644 index 000000000..6b4c3f191 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_969.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_97.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_97.png new file mode 100644 index 000000000..a426bde36 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_97.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970.png new file mode 100644 index 000000000..ad911b88e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_971.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_971.png new file mode 100644 index 000000000..2a09676b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_971.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_972.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_972.png new file mode 100644 index 000000000..e50f6d8aa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_972.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_973.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_973.png new file mode 100644 index 000000000..0f4c53645 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_973.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_974.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_974.png new file mode 100644 index 000000000..980eae9f1 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_974.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_975.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_975.png new file mode 100644 index 000000000..2ca778780 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_975.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976-1.png new file mode 100644 index 000000000..13ad07a88 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976.png new file mode 100644 index 000000000..e8dc8e1b3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_976.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_977.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_977.png new file mode 100644 index 000000000..71892a81d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_977.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978.png new file mode 100644 index 000000000..99177b77d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_979.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_979.png new file mode 100644 index 000000000..16cdfd6ee Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_979.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_98.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_98.png new file mode 100644 index 000000000..1d6d05a01 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_98.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_981.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_981.png new file mode 100644 index 000000000..dd928ef62 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_981.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_982.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_982.png new file mode 100644 index 000000000..97105a25b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_982.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_983.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_983.png new file mode 100644 index 000000000..71484ad71 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_983.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_984.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_984.png new file mode 100644 index 000000000..9727cbe23 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_984.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_985.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_985.png new file mode 100644 index 000000000..5cc5487e0 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_985.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_986.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_986.png new file mode 100644 index 000000000..c15be0f93 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_986.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_988.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_988.png new file mode 100644 index 000000000..63b275237 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_988.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_989.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_989.png new file mode 100644 index 000000000..f4e1825aa Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_989.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_99.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_99.png new file mode 100644 index 000000000..9cb427aae Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_99.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_990.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_990.png new file mode 100644 index 000000000..19c6937f3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_990.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_991.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_991.png new file mode 100644 index 000000000..04ab817e2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_991.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_992.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_992.png new file mode 100644 index 000000000..f41cc1673 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_992.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_993.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_993.png new file mode 100644 index 000000000..eb7db2f51 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_993.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_994.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_994.png new file mode 100644 index 000000000..6fef493f2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_994.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_995.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_995.png new file mode 100644 index 000000000..6f2a6d08f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_995.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_996.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_996.png new file mode 100644 index 000000000..4525bb01a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_996.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_997.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_997.png new file mode 100644 index 000000000..34a8ec476 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_997.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png new file mode 100644 index 000000000..e3240ad30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-2.png new file mode 100644 index 000000000..e3240ad30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-3.png new file mode 100644 index 000000000..e3240ad30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-4.png new file mode 100644 index 000000000..e3240ad30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998.png new file mode 100644 index 000000000..d1ef335ae Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-1.png new file mode 100644 index 000000000..7f1b662b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-2.png new file mode 100644 index 000000000..7f1b662b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-3.png new file mode 100644 index 000000000..7f1b662b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-4.png new file mode 100644 index 000000000..7f1b662b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999.png new file mode 100644 index 000000000..7225c0709 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_999.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_egg.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_egg.png new file mode 100644 index 000000000..d3a9f9e84 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_egg.png differ diff --git a/PKHeX.Drawing.PokeSprite/Util/BoxWallpaper.cs b/PKHeX.Drawing.PokeSprite/Util/BoxWallpaper.cs index 4cb0147ca..4b11fa1a0 100644 --- a/PKHeX.Drawing.PokeSprite/Util/BoxWallpaper.cs +++ b/PKHeX.Drawing.PokeSprite/Util/BoxWallpaper.cs @@ -1,20 +1,22 @@ -using PKHeX.Core; -using static PKHeX.Core.GameVersion; +using PKHeX.Core; +using static PKHeX.Core.EntityContext; namespace PKHeX.Drawing.PokeSprite; internal static class BoxWallpaper { - public static bool IsWallpaperRed(GameVersion version, int wallpaperID) => version.GetGeneration() switch + public static bool IsWallpaperRed(this SaveFile sav, int box) => IsWallpaperRed(sav.Context, sav.Version, sav.GetBoxWallpaper(box)); + + public static bool IsWallpaperRed(EntityContext context, GameVersion version, int wallpaperID) => context switch { - 3 when CXD.Contains(version) => wallpaperID == 7, // flame pattern in XD - 3 => wallpaperID switch + Gen3 when GameVersion.CXD.Contains(version) => wallpaperID == 7, // flame pattern in XD + Gen3 => wallpaperID switch { 5 => true, // Volcano - 13 => E == version, // PokéCenter + 13 => version == GameVersion.E, // PokéCenter _ => false, }, - 4 => wallpaperID switch + Gen4 => wallpaperID switch { 5 => true, // Volcano 12 => true, // Checks @@ -22,24 +24,24 @@ internal static class BoxWallpaper 22 => true, // Special _ => false, }, - 5 => wallpaperID switch + Gen5 => wallpaperID switch { 5 => true, // Volcano 12 => true, // Checks - 19 => B2W2.Contains(version), // PWT - 22 => B2W2.Contains(version), // Reshiram - 21 => BW.Contains(version), // Zoroark - 23 => BW.Contains(version), // Musical + 19 => GameVersion.B2W2.Contains(version), // PWT + 22 => GameVersion.B2W2.Contains(version), // Reshiram + 21 => GameVersion.BW.Contains(version), // Zoroark + 23 => GameVersion.BW.Contains(version), // Musical _ => false, }, - 6 or 7 => wallpaperID switch + Gen6 or Gen7 => wallpaperID switch { 5 => true, // Volcano 12 => true, // PokéCenter 20 => true, // Special5 Flare/Magma _ => false, }, - 8 when BDSP.Contains(version) => wallpaperID switch + Gen8b => wallpaperID switch { 6 => true, // Volcano 15 => true, // Checks @@ -48,7 +50,7 @@ internal static class BoxWallpaper 30 => true, // Legend (Platinum) _ => false, }, - 8 => true, // Bad contrast with lots of void space, better to just highlight the shiny red. + Gen8 or Gen9 => true, // Bad contrast with lots of void space, better to just highlight the shiny red. _ => false, }; } diff --git a/PKHeX.Drawing.PokeSprite/Util/SpriteName.cs b/PKHeX.Drawing.PokeSprite/Util/SpriteName.cs index aec6443a3..01924c182 100644 --- a/PKHeX.Drawing.PokeSprite/Util/SpriteName.cs +++ b/PKHeX.Drawing.PokeSprite/Util/SpriteName.cs @@ -81,6 +81,7 @@ public static string GetResourceStringSprite(ushort species, byte form, int gend (int)Species.Sinistea, (int)Species.Polteageist, (int)Species.Urshifu, + (int)Species.Dudunsparce, }; /// diff --git a/PKHeX.Drawing.PokeSprite/Util/SpriteUtil.cs b/PKHeX.Drawing.PokeSprite/Util/SpriteUtil.cs index 4705d10e0..d9c340b79 100644 --- a/PKHeX.Drawing.PokeSprite/Util/SpriteUtil.cs +++ b/PKHeX.Drawing.PokeSprite/Util/SpriteUtil.cs @@ -14,6 +14,8 @@ public static class SpriteUtil public static readonly SpriteBuilder5668s SB8s = new(); /// Circle sprite builder instance (used in Legends: Arceus) public static readonly SpriteBuilder5668c SB8c = new(); + /// Circle sprite builder instance (used in Brilliant Diamond, Shining Pearl, Scarlet, and Violet) + public static readonly SpriteBuilder5668a SB8a = new(); /// Current sprite builder reference used to build sprites. public static SpriteBuilder Spriter { get; private set; } = SB8s; @@ -25,6 +27,7 @@ public static class SpriteUtil /// If an out of bounds value is provided, will not change. public static void ChangeMode(SpriteBuilderMode mode) => Spriter = mode switch { + SpriteBuilderMode.SpritesArtwork5668 => SB8a, SpriteBuilderMode.CircleMugshot5668 => SB8c, SpriteBuilderMode.SpritesClassic5668 => SB8s, _ => Spriter, @@ -67,7 +70,7 @@ private static Image GetSprite(PKM pk, SpriteBuilderTweak tweak = SpriteBuilderT var shiny = !pk.IsShiny ? Shiny.Never : (ShinyExtensions.IsSquareShinyExist(pk) ? Shiny.AlwaysSquare : Shiny.AlwaysStar); var img = GetSprite(pk.Species, pk.Form, pk.Gender, formarg, pk.SpriteItem, pk.IsEgg, shiny, pk.Format, tweak); - if (pk is IShadowPKM {IsShadow: true}) + if (pk is IShadowCapture {IsShadow: true}) { const int Lugia = (int)Species.Lugia; if (pk.Species == Lugia) // show XD shadow sprite @@ -77,7 +80,7 @@ private static Image GetSprite(PKM pk, SpriteBuilderTweak tweak = SpriteBuilderT var glowImg = ImageUtil.GetBitmap(pixels, baseSprite.Width, baseSprite.Height, baseSprite.PixelFormat); return ImageUtil.LayerImage(glowImg, img, 0, 0); } - if (pk is IGigantamax {CanGigantamax: true}) + if (pk is IGigantamaxReadOnly { CanGigantamax: true}) { var gm = Resources.dyna; return ImageUtil.LayerImage(img, gm, (img.Width - gm.Width) / 2, 0); @@ -94,24 +97,32 @@ private static Image GetSprite(PKM pk, SaveFile sav, int box, int slot, bool fla { bool inBox = (uint)slot < MaxSlotCount; bool empty = pk.Species == 0; - var tweak = inBox && BoxWallpaper.IsWallpaperRed(sav.Version, sav.GetBoxWallpaper(box)) + var tweak = inBox && sav.IsWallpaperRed(box) ? SpriteBuilderTweak.BoxBackgroundRed : SpriteBuilderTweak.None; var sprite = empty ? Spriter.None : pk.Sprite(tweak: tweak); - if (!empty && flagIllegal) + if (!empty) { - var la = new LegalityAnalysis(pk, sav.Personal, box != -1 ? SlotOrigin.Box : SlotOrigin.Party); - if (!la.Valid) - sprite = ImageUtil.LayerImage(sprite, Resources.warn, 0, FlagIllegalShiftY); - else if (pk.Format >= 8 && MoveInfo.IsDummiedMoveAny(pk)) - sprite = ImageUtil.LayerImage(sprite, Resources.hint, 0, FlagIllegalShiftY); + if (SpriteBuilder.ShowTeraType != SpriteBackgroundType.None && pk is ITeraType t) + { + var type = t.TeraType; + sprite = ApplyTeraColor((byte)type, sprite, SpriteBuilder.ShowTeraType); + } + if (flagIllegal) + { + var la = new LegalityAnalysis(pk, sav.Personal, box != -1 ? SlotOrigin.Box : SlotOrigin.Party); + if (!la.Valid) + sprite = ImageUtil.LayerImage(sprite, Resources.warn, 0, FlagIllegalShiftY); + else if (pk.Format >= 8 && MoveInfo.IsDummiedMoveAny(pk)) + sprite = ImageUtil.LayerImage(sprite, Resources.hint, 0, FlagIllegalShiftY); - if (SpriteBuilder.ShowEncounterColorPKM != SpriteBackgroundType.None) - sprite = ApplyEncounterColor(la.EncounterOriginal, sprite, SpriteBuilder.ShowEncounterColorPKM); + if (SpriteBuilder.ShowEncounterColorPKM != SpriteBackgroundType.None) + sprite = ApplyEncounterColor(la.EncounterOriginal, sprite, SpriteBuilder.ShowEncounterColorPKM); - if (SpriteBuilder.ShowExperiencePercent) - sprite = ApplyExperience(pk, sprite, la.EncounterMatch); + if (SpriteBuilder.ShowExperiencePercent) + sprite = ApplyExperience(pk, sprite, la.EncounterMatch); + } } if (inBox) // in box { @@ -138,24 +149,48 @@ private static Image GetSprite(PKM pk, SaveFile sav, int box, int slot, bool fla return sprite; } + private static Image ApplyTeraColor(byte elementalType, Image img, SpriteBackgroundType type) + { + var color = TypeColor.GetTypeSpriteColor(elementalType); + var thk = SpriteBuilder.ShowTeraThicknessStripe; + var op = SpriteBuilder.ShowTeraOpacityStripe; + var bg = SpriteBuilder.ShowTeraOpacityBackground; + return ApplyColor(img, type, color, thk, op, bg); + } + public static Image ApplyEncounterColor(IEncounterTemplate enc, Image img, SpriteBackgroundType type) { var index = (enc.GetType().Name.GetHashCode() * 0x43FD43FD); var color = Color.FromArgb(index); + var thk = SpriteBuilder.ShowEncounterThicknessStripe; + var op = SpriteBuilder.ShowEncounterOpacityStripe; + var bg = SpriteBuilder.ShowEncounterOpacityBackground; + return ApplyColor(img, type, color, thk, op, bg); + } + + private static Image ApplyColor(Image img, SpriteBackgroundType type, Color color, int thick, byte opacStripe, byte opacBack) + { if (type == SpriteBackgroundType.BottomStripe) { - int stripeHeight = SpriteBuilder.ShowEncounterThicknessStripe; // from bottom + int stripeHeight = thick; // from bottom if ((uint)stripeHeight > img.Height) // clamp negative & too-high values back to height. stripeHeight = img.Height; - byte opacity = SpriteBuilder.ShowEncounterOpacityStripe; - return ImageUtil.ChangeTransparentTo(img, color, opacity, img.Width * 4 * (img.Height - stripeHeight)); + return ImageUtil.BlendTransparentTo(img, color, opacStripe, img.Width * 4 * (img.Height - stripeHeight)); } - else // full background + if (type == SpriteBackgroundType.TopStripe) { - byte opacity = SpriteBuilder.ShowEncounterOpacityBackground; - return ImageUtil.ChangeTransparentTo(img, color, opacity); + int stripeHeight = thick; // from top + if ((uint)stripeHeight > img.Height) // clamp negative & too-high values back to height. + stripeHeight = img.Height; + + return ImageUtil.BlendTransparentTo(img, color, opacStripe, 0, (img.Width * 4 * stripeHeight) - 4); } + if (type == SpriteBackgroundType.FullBackground) // full background + { + return ImageUtil.BlendTransparentTo(img, color, opacBack); + } + return img; } private static Image ApplyExperience(PKM pk, Image img, IEncounterTemplate? enc = null) @@ -222,12 +257,12 @@ public static Image Sprite(this IEncounterTemplate enc) var ballSprite = GetBallSprite((int)b.FixedBall); img = ImageUtil.LayerImage(img, ballSprite, 0, img.Height - ballSprite.Height); } - if (enc is IGigantamax {CanGigantamax: true}) + if (enc is IGigantamaxReadOnly {CanGigantamax: true}) { var gm = Resources.dyna; img = ImageUtil.LayerImage(img, gm, (img.Width - gm.Width) / 2, 0); } - if (enc is IAlpha { IsAlpha: true }) + if (enc is IAlphaReadOnly { IsAlpha: true }) { var alpha = Resources.alpha; img = ImageUtil.LayerImage(img, alpha, SlotTeamShiftX, 0); @@ -262,7 +297,7 @@ public static Image GetMysteryGiftPreviewPoke(MysteryGift gift) img = ImageUtil.LayerImage(img, ballSprite, 0, img.Height - ballSprite.Height); } - if (gift is IGigantamax { CanGigantamax: true }) + if (gift is IGigantamaxReadOnly { CanGigantamax: true }) { var gm = Resources.dyna; img = ImageUtil.LayerImage(img, gm, (img.Width - gm.Width) / 2, 0); diff --git a/PKHeX.Drawing.PokeSprite/Util/TypeColor.cs b/PKHeX.Drawing.PokeSprite/Util/TypeColor.cs new file mode 100644 index 000000000..0899ff9ea --- /dev/null +++ b/PKHeX.Drawing.PokeSprite/Util/TypeColor.cs @@ -0,0 +1,33 @@ +using System; +using System.Drawing; +using PKHeX.Core; +using static PKHeX.Core.MoveType; + +namespace PKHeX.Drawing.PokeSprite +{ + public static class TypeColor + { + public static Color GetTypeSpriteColor(byte type) => (MoveType)type switch + { + Normal => Color.FromArgb(159, 161, 159), + Fighting => Color.FromArgb(255, 128, 000), + Flying => Color.FromArgb(129, 185, 239), + Poison => Color.FromArgb(143, 065, 203), + Ground => Color.FromArgb(145, 081, 033), + Rock => Color.FromArgb(175, 169, 129), + Bug => Color.FromArgb(145, 161, 025), + Ghost => Color.FromArgb(112, 065, 112), + Steel => Color.FromArgb(096, 161, 184), + Fire => Color.FromArgb(230, 040, 041), + Water => Color.FromArgb(041, 128, 239), + Grass => Color.FromArgb(063, 161, 041), + Electric => Color.FromArgb(250, 192, 000), + Psychic => Color.FromArgb(239, 065, 121), + Ice => Color.FromArgb(063, 216, 255), + Dragon => Color.FromArgb(080, 097, 225), + Dark => Color.FromArgb(080, 065, 063), + Fairy => Color.FromArgb(239, 113, 239), + _ => throw new ArgumentOutOfRangeException(nameof(type), type, null), + }; + } +} diff --git a/PKHeX.Drawing/ImageUtil.cs b/PKHeX.Drawing/ImageUtil.cs index 8de6a1688..16848076b 100644 --- a/PKHeX.Drawing/ImageUtil.cs +++ b/PKHeX.Drawing/ImageUtil.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropServices; @@ -50,13 +50,30 @@ public static Bitmap ChangeAllColorTo(Image img, Color c) return bmp; } - public static Bitmap ChangeTransparentTo(Image img, Color c, byte trans, int start = 0) + public static Bitmap ChangeTransparentTo(Image img, Color c, byte trans, int start = 0, int end = -1) { var bmp = (Bitmap)img.Clone(); GetBitmapData(bmp, out BitmapData bmpData, out IntPtr ptr, out byte[] data); Marshal.Copy(ptr, data, 0, data.Length); - SetAllTransparencyTo(data, c, trans, start); + if (end == -1) + end = data.Length - 4; + SetAllTransparencyTo(data, c, trans, start, end); + Marshal.Copy(data, 0, ptr, data.Length); + bmp.UnlockBits(bmpData); + + return bmp; + } + + public static Bitmap BlendTransparentTo(Image img, Color c, byte trans, int start = 0, int end = -1) + { + var bmp = (Bitmap)img.Clone(); + GetBitmapData(bmp, out BitmapData bmpData, out IntPtr ptr, out byte[] data); + + Marshal.Copy(ptr, data, 0, data.Length); + if (end == -1) + end = data.Length - 4; + BlendAllTransparencyTo(data, c, trans, start, end); Marshal.Copy(data, 0, ptr, data.Length); bmp.UnlockBits(bmpData); @@ -140,17 +157,52 @@ private static void SetAllTransparencyTo(Span data, double trans) data[i + 3] = (byte)(data[i + 3] * trans); } - public static void SetAllTransparencyTo(Span data, Color c, byte trans, int start) + public static void SetAllTransparencyTo(Span data, Color c, byte trans, int start, int end) { var arr = MemoryMarshal.Cast(data); - var value = Color.FromArgb(trans, c.R, c.G, c.G).ToArgb(); - for (int i = data.Length - 4; i >= start; i -= 4) + var value = Color.FromArgb(trans, c.R, c.G, c.B).ToArgb(); + for (int i = end; i >= start; i -= 4) { if (data[i + 3] == 0) arr[i >> 2] = value; } } + public static void BlendAllTransparencyTo(Span data, Color c, byte trans, int start, int end) + { + var arr = MemoryMarshal.Cast(data); + var value = Color.FromArgb(trans, c.R, c.G, c.B).ToArgb(); + for (int i = end; i >= start; i -= 4) + { + var alpha = data[i + 3]; + if (alpha == 0) + arr[i >> 2] = value; + else if (alpha != 0xFF) + arr[i >> 2] = BlendColor(arr[i >> 2], value); + } + } + + // heavily favor second (new) color + private static int BlendColor(int color1, int color2, double amount = 0.2) + { + var a1 = (color1 >> 24) & 0xFF; + var r1 = (color1 >> 16) & 0xFF; + var g1 = (color1 >> 8) & 0xFF; + var b1 = color1 & 0xFF; + + var a2 = (color2 >> 24) & 0xFF; + var r2 = (color2 >> 16) & 0xFF; + var g2 = (color2 >> 8) & 0xFF; + var b2 = color2 & 0xFF; + + byte a = (byte)((a1 * amount) + (a2 * (1 - amount))); + byte r = (byte)((r1 * amount) + (r2 * (1 - amount))); + byte g = (byte)((g1 * amount) + (g2 * (1 - amount))); + byte b = (byte)((b1 * amount) + (b2 * (1 - amount))); + + return (a << 24) | (r << 16) | (g << 8) | b; + } + public static void ChangeAllTo(Span data, Color c, int start, int end) { var arr = MemoryMarshal.Cast(data).Slice(start / 4, (end - start) / 4); @@ -200,7 +252,7 @@ private static void PollutePixels(Span data, int width, int reach, double int height = data.Length / stride; for (int i = 0; i < data.Length; i += 4) { - // only pollute outwards if the current pixel isn't transparent + // only pollute outwards if the current pixel is fully opaque if (data[i + 3] == 0) continue; diff --git a/PKHeX.Drawing/PKHeX.Drawing.csproj b/PKHeX.Drawing/PKHeX.Drawing.csproj index 1ea8e4394..e1df5561a 100644 --- a/PKHeX.Drawing/PKHeX.Drawing.csproj +++ b/PKHeX.Drawing/PKHeX.Drawing.csproj @@ -5,12 +5,12 @@ PKHeX.Drawing - - - - + + + + diff --git a/PKHeX.WinForms/Controls/PKM Editor/ContestStat.cs b/PKHeX.WinForms/Controls/PKM Editor/ContestStat.cs index eb8071fa7..7bba08351 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/ContestStat.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/ContestStat.cs @@ -1,10 +1,10 @@ -using System; +using System; using System.Windows.Forms; using PKHeX.Core; namespace PKHeX.WinForms.Controls; -public partial class ContestStat : UserControl, IContestStats, IContestStatsMutable +public partial class ContestStat : UserControl, IContestStats { public ContestStat() { @@ -49,14 +49,15 @@ public byte CNT_Sheen private void Update255_MTB(object sender, EventArgs e) { - if (sender is not MaskedTextBox tb) return; + if (sender is not MaskedTextBox tb) + return; if (Util.ToInt32(tb.Text) > byte.MaxValue) tb.Text = "255"; } public void ToggleInterface(object o, EntityContext context) { - if (o is not IContestStats) + if (o is not IContestStatsReadOnly) { Visible = false; return; diff --git a/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs index 4fe439318..7a814b763 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK3.cs @@ -15,7 +15,7 @@ private void PopulateFieldsPK3() LoadMisc3(pk3); CB_Ability.SelectedIndex = pk3.AbilityBit && CB_Ability.Items.Count > 1 ? 1 : 0; - if (pk3 is IShadowPKM s) + if (pk3 is IShadowCapture s) LoadShadow3(s); LoadPartyStats(pk3); @@ -32,7 +32,7 @@ private G3PKM PreparePK3() SaveMisc3(pk3); pk3.AbilityBit = CB_Ability.SelectedIndex != 0; - if (Entity is IShadowPKM ck3) + if (Entity is IShadowCapture ck3) SaveShadow3(ck3); SavePartyStats(pk3); diff --git a/PKHeX.WinForms/Controls/PKM Editor/EditPK9.cs b/PKHeX.WinForms/Controls/PKM Editor/EditPK9.cs new file mode 100644 index 000000000..c3bdca61c --- /dev/null +++ b/PKHeX.WinForms/Controls/PKM Editor/EditPK9.cs @@ -0,0 +1,47 @@ +using System; +using PKHeX.Core; + +namespace PKHeX.WinForms.Controls; + +public partial class PKMEditor +{ + private void PopulateFieldsPK9() + { + if (Entity is not PK9 pk9) + throw new FormatException(nameof(Entity)); + + LoadMisc1(pk9); + LoadMisc2(pk9); + LoadMisc3(pk9); + LoadMisc4(pk9); + LoadMisc6(pk9); + SizeCP.LoadPKM(pk9); + LoadMisc9(pk9); + + LoadPartyStats(pk9); + UpdateStats(); + } + + private PK9 PreparePK9() + { + if (Entity is not PK9 pk9) + throw new FormatException(nameof(Entity)); + + SaveMisc1(pk9); + SaveMisc2(pk9); + SaveMisc3(pk9); + SaveMisc4(pk9); + SaveMisc6(pk9); + SaveMisc9(pk9); + + // Toss in Party Stats + SavePartyStats(pk9); + + pk9.FixMoves(); + pk9.FixRelearn(); + if (ModifyPKM) + pk9.FixMemories(); + pk9.RefreshChecksum(); + return pk9; + } +} diff --git a/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs b/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs index d548764ea..3a44bbeaf 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/LoadSave.cs @@ -128,7 +128,7 @@ private void SaveMoves(PKM pk) pk.Move4_PPUps = WinFormsUtil.GetIndex(CB_Move4) > 0 ? CB_PPu4.SelectedIndex : 0; } - private void LoadShadow3(IShadowPKM pk) + private void LoadShadow3(IShadowCapture pk) { NUD_ShadowID.Value = pk.ShadowID; FLP_Purification.Visible = pk.ShadowID > 0; @@ -151,7 +151,7 @@ private void LoadShadow3(IShadowPKM pk) } } - private void SaveShadow3(IShadowPKM pk) + private void SaveShadow3(IShadowCapture pk) { pk.ShadowID = (ushort)NUD_ShadowID.Value; if (pk.ShadowID > 0) @@ -247,7 +247,7 @@ private void LoadMisc3(PKM pk) TB_MetLevel.Text = pk.Met_Level.ToString(); CHK_Fateful.Checked = pk.FatefulEncounter; - if (pk is IContestStats s) + if (pk is IContestStatsReadOnly s) s.CopyContestStatsTo(Contest); TID_Trainer.LoadIDValues(pk); @@ -264,7 +264,7 @@ private void SaveMisc3(PKM pk) pk.Nature = WinFormsUtil.GetIndex(CB_Nature); pk.Gender = UC_Gender.Gender; - if (pk is IContestStatsMutable s) + if (pk is IContestStats s) Contest.CopyContestStatsTo(s); pk.FatefulEncounter = CHK_Fateful.Checked; @@ -479,4 +479,25 @@ private void SaveMisc8(PA8 pk8) pk8.IsNoble = Stats.CHK_IsNoble.Checked; pk8.AlphaMove = (ushort)WinFormsUtil.GetIndex(CB_AlphaMastered); } + + private void LoadMisc9(PK9 pk9) + { + CB_StatNature.SelectedValue = pk9.StatNature; + CB_HTLanguage.SelectedValue = (int)pk9.HT_Language; + TB_HomeTracker.Text = pk9.Tracker.ToString("X16"); + CB_BattleVersion.SelectedValue = (int)pk9.BattleVersion; + Stats.CB_TeraTypeOriginal.SelectedValue = (int)pk9.TeraTypeOriginal; + Stats.CB_TeraTypeOverride.SelectedValue = (int)pk9.TeraTypeOverride; + TB_ObedienceLevel.Text = pk9.Obedience_Level.ToString(); + } + + private void SaveMisc9(PK9 pk9) + { + pk9.StatNature = WinFormsUtil.GetIndex(CB_StatNature); + pk9.HT_Language = (byte)WinFormsUtil.GetIndex(CB_HTLanguage); + pk9.BattleVersion = (byte)WinFormsUtil.GetIndex(CB_BattleVersion); + pk9.TeraTypeOriginal = (MoveType)WinFormsUtil.GetIndex(Stats.CB_TeraTypeOriginal); + pk9.TeraTypeOverride = (MoveType)WinFormsUtil.GetIndex(Stats.CB_TeraTypeOverride); + pk9.Obedience_Level = (byte)Util.ToInt32(TB_ObedienceLevel.Text); + } } diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs index fd60b636d..aa10ae7cc 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.Designer.cs @@ -1,4 +1,4 @@ -namespace PKHeX.WinForms.Controls +namespace PKHeX.WinForms.Controls { partial class PKMEditor { @@ -147,10 +147,9 @@ private void InitializeComponent() this.Label_MetLevel = new System.Windows.Forms.Label(); this.TB_MetLevel = new System.Windows.Forms.MaskedTextBox(); this.FLP_MetDate = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_ObedienceLevel = new System.Windows.Forms.FlowLayoutPanel(); this.Label_MetDate = new System.Windows.Forms.Label(); this.CAL_MetDate = new System.Windows.Forms.DateTimePicker(); - this.FLP_Fateful = new System.Windows.Forms.FlowLayoutPanel(); - this.PAN_Fateful = new System.Windows.Forms.Panel(); this.CHK_Fateful = new System.Windows.Forms.CheckBox(); this.FLP_GroundTile = new System.Windows.Forms.FlowLayoutPanel(); this.Label_GroundTile = new System.Windows.Forms.Label(); @@ -236,6 +235,8 @@ private void InitializeComponent() this.UC_HTGender = new PKHeX.WinForms.Controls.GenderToggle(); this.UC_OTGender = new PKHeX.WinForms.Controls.GenderToggle(); this.TID_Trainer = new PKHeX.WinForms.Controls.TrainerID(); + this.L_ObedienceLevel = new System.Windows.Forms.Label(); + this.TB_ObedienceLevel = new System.Windows.Forms.MaskedTextBox(); this.tabMain.SuspendLayout(); this.Tab_Main.SuspendLayout(); this.FLP_Main.SuspendLayout(); @@ -280,6 +281,7 @@ private void InitializeComponent() this.Tab_Met.SuspendLayout(); this.GB_EggConditions.SuspendLayout(); this.FLP_Met.SuspendLayout(); + this.FLP_ObedienceLevel.SuspendLayout(); this.FLP_OriginGame.SuspendLayout(); this.FLP_BattleVersion.SuspendLayout(); this.FLP_MetLocation.SuspendLayout(); @@ -288,7 +290,6 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.PB_Ball)).BeginInit(); this.FLP_MetLevel.SuspendLayout(); this.FLP_MetDate.SuspendLayout(); - this.FLP_Fateful.SuspendLayout(); this.FLP_GroundTile.SuspendLayout(); this.FLP_TimeOfDay.SuspendLayout(); this.Tab_Stats.SuspendLayout(); @@ -1414,7 +1415,7 @@ private void InitializeComponent() this.FLP_SizeCP.Location = new System.Drawing.Point(0, 482); this.FLP_SizeCP.Margin = new System.Windows.Forms.Padding(0); this.FLP_SizeCP.Name = "FLP_SizeCP"; - this.FLP_SizeCP.Size = new System.Drawing.Size(272, 72); + this.FLP_SizeCP.Size = new System.Drawing.Size(272, 90); this.FLP_SizeCP.TabIndex = 21; // // Tab_Met @@ -1527,9 +1528,9 @@ private void InitializeComponent() this.FLP_Met.Controls.Add(this.FLP_BattleVersion); this.FLP_Met.Controls.Add(this.FLP_MetLocation); this.FLP_Met.Controls.Add(this.FLP_Ball); - this.FLP_Met.Controls.Add(this.FLP_MetLevel); this.FLP_Met.Controls.Add(this.FLP_MetDate); - this.FLP_Met.Controls.Add(this.FLP_Fateful); + this.FLP_Met.Controls.Add(this.FLP_MetLevel); + this.FLP_Met.Controls.Add(this.FLP_ObedienceLevel); this.FLP_Met.Controls.Add(this.FLP_GroundTile); this.FLP_Met.Controls.Add(this.FLP_TimeOfDay); this.FLP_Met.Location = new System.Drawing.Point(0, 24); @@ -1704,6 +1705,7 @@ private void InitializeComponent() this.FLP_MetLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.FLP_MetLevel.Controls.Add(this.Label_MetLevel); this.FLP_MetLevel.Controls.Add(this.TB_MetLevel); + this.FLP_MetLevel.Controls.Add(this.CHK_Fateful); this.FLP_MetLevel.Location = new System.Drawing.Point(0, 84); this.FLP_MetLevel.Margin = new System.Windows.Forms.Padding(0); this.FLP_MetLevel.Name = "FLP_MetLevel"; @@ -1727,10 +1729,43 @@ private void InitializeComponent() this.TB_MetLevel.Margin = new System.Windows.Forms.Padding(0); this.TB_MetLevel.Mask = "000"; this.TB_MetLevel.Name = "TB_MetLevel"; - this.TB_MetLevel.Size = new System.Drawing.Size(134, 20); + this.TB_MetLevel.Size = new System.Drawing.Size(22, 20); this.TB_MetLevel.TabIndex = 4; this.TB_MetLevel.Validated += new System.EventHandler(this.Update255_MTB); // + // FLP_ObedienceLevel + // + this.FLP_ObedienceLevel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_ObedienceLevel.Controls.Add(this.L_ObedienceLevel); + this.FLP_ObedienceLevel.Controls.Add(this.TB_ObedienceLevel); + this.FLP_ObedienceLevel.Location = new System.Drawing.Point(0, 84); + this.FLP_ObedienceLevel.Margin = new System.Windows.Forms.Padding(0); + this.FLP_ObedienceLevel.Name = "FLP_ObedienceLevel"; + this.FLP_ObedienceLevel.Size = new System.Drawing.Size(272, 21); + this.FLP_ObedienceLevel.TabIndex = 4; + // + // L_ObedienceLevel + // + this.L_ObedienceLevel.Location = new System.Drawing.Point(0, 0); + this.L_ObedienceLevel.Margin = new System.Windows.Forms.Padding(0); + this.L_ObedienceLevel.Name = "L_ObedienceLevel"; + this.L_ObedienceLevel.Size = new System.Drawing.Size(98, 21); + this.L_ObedienceLevel.TabIndex = 3; + this.L_ObedienceLevel.Text = "Obedience Level:"; + this.L_ObedienceLevel.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.L_ObedienceLevel.Click += new System.EventHandler(this.L_Obedience_Click); + // + // TB_ObedienceLevel + // + this.TB_ObedienceLevel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TB_ObedienceLevel.Location = new System.Drawing.Point(98, 0); + this.TB_ObedienceLevel.Margin = new System.Windows.Forms.Padding(0); + this.TB_ObedienceLevel.Mask = "000"; + this.TB_ObedienceLevel.Name = "TB_ObedienceLevel"; + this.TB_ObedienceLevel.Size = new System.Drawing.Size(22, 20); + this.TB_ObedienceLevel.TabIndex = 4; + this.TB_MetLevel.Validated += new System.EventHandler(this.Update255_MTB); + // // FLP_MetDate // this.FLP_MetDate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); @@ -1761,34 +1796,15 @@ private void InitializeComponent() this.CAL_MetDate.MaxDate = new System.DateTime(2099, 12, 31, 0, 0, 0, 0); this.CAL_MetDate.MinDate = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); this.CAL_MetDate.Name = "CAL_MetDate"; - this.CAL_MetDate.Size = new System.Drawing.Size(126, 20); + this.CAL_MetDate.Size = new System.Drawing.Size(134, 20); this.CAL_MetDate.TabIndex = 5; this.CAL_MetDate.Value = new System.DateTime(2000, 1, 1, 0, 0, 0, 0); // - // FLP_Fateful - // - this.FLP_Fateful.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.FLP_Fateful.Controls.Add(this.PAN_Fateful); - this.FLP_Fateful.Controls.Add(this.CHK_Fateful); - this.FLP_Fateful.Location = new System.Drawing.Point(0, 126); - this.FLP_Fateful.Margin = new System.Windows.Forms.Padding(0); - this.FLP_Fateful.Name = "FLP_Fateful"; - this.FLP_Fateful.Size = new System.Drawing.Size(272, 21); - this.FLP_Fateful.TabIndex = 5; - // - // PAN_Fateful - // - this.PAN_Fateful.Location = new System.Drawing.Point(0, 0); - this.PAN_Fateful.Margin = new System.Windows.Forms.Padding(0); - this.PAN_Fateful.Name = "PAN_Fateful"; - this.PAN_Fateful.Size = new System.Drawing.Size(98, 21); - this.PAN_Fateful.TabIndex = 104; - // // CHK_Fateful // this.CHK_Fateful.AutoSize = true; - this.CHK_Fateful.Location = new System.Drawing.Point(98, 3); - this.CHK_Fateful.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.CHK_Fateful.Location = new System.Drawing.Point(120, 3); + this.CHK_Fateful.Margin = new System.Windows.Forms.Padding(5, 3, 3, 3); this.CHK_Fateful.Name = "CHK_Fateful"; this.CHK_Fateful.Size = new System.Drawing.Size(110, 17); this.CHK_Fateful.TabIndex = 6; @@ -2743,7 +2759,7 @@ private void InitializeComponent() this.SizeCP.Location = new System.Drawing.Point(50, 0); this.SizeCP.Margin = new System.Windows.Forms.Padding(50, 0, 0, 0); this.SizeCP.Name = "SizeCP"; - this.SizeCP.Size = new System.Drawing.Size(204, 68); + this.SizeCP.Size = new System.Drawing.Size(204, 90); this.SizeCP.TabIndex = 0; // // Stats @@ -2874,8 +2890,8 @@ private void InitializeComponent() this.FLP_MetLevel.ResumeLayout(false); this.FLP_MetLevel.PerformLayout(); this.FLP_MetDate.ResumeLayout(false); - this.FLP_Fateful.ResumeLayout(false); - this.FLP_Fateful.PerformLayout(); + this.FLP_ObedienceLevel.ResumeLayout(false); + this.FLP_ObedienceLevel.PerformLayout(); this.FLP_GroundTile.ResumeLayout(false); this.FLP_TimeOfDay.ResumeLayout(false); this.Tab_Stats.ResumeLayout(false); @@ -3024,8 +3040,6 @@ private void InitializeComponent() private System.Windows.Forms.FlowLayoutPanel FLP_MetDate; private System.Windows.Forms.Label Label_MetDate; private System.Windows.Forms.DateTimePicker CAL_MetDate; - private System.Windows.Forms.FlowLayoutPanel FLP_Fateful; - private System.Windows.Forms.Panel PAN_Fateful; private System.Windows.Forms.CheckBox CHK_Fateful; private System.Windows.Forms.FlowLayoutPanel FLP_GroundTile; private System.Windows.Forms.Label Label_GroundTile; @@ -3128,5 +3142,8 @@ private void InitializeComponent() private GenderToggle UC_Gender; private GenderToggle UC_HTGender; private GenderToggle UC_OTGender; + private System.Windows.Forms.FlowLayoutPanel FLP_ObedienceLevel; + private System.Windows.Forms.Label L_ObedienceLevel; + private System.Windows.Forms.MaskedTextBox TB_ObedienceLevel; } } diff --git a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs index adac21827..c5f9c4af0 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/PKMEditor.cs @@ -254,6 +254,7 @@ public void SetPKMFormatMode(PKM pk) EntityContext.Gen6 => (PopulateFieldsPK6, PreparePK6), EntityContext.Gen7 => (PopulateFieldsPK7, PreparePK7), EntityContext.Gen8 => (PopulateFieldsPK8, PreparePK8), + EntityContext.Gen9 => (PopulateFieldsPK9, PreparePK9), EntityContext.Gen7b => (PopulateFieldsPB7, PreparePB7), EntityContext.Gen8a => (PopulateFieldsPA8, PreparePA8), @@ -507,7 +508,7 @@ private void SetMarkings() PB_MarkShiny.Image = GetMarkSprite(PB_MarkShiny, !BTN_Shinytize.Enabled); PB_MarkCured.Image = GetMarkSprite(PB_MarkCured, CHK_Cured.Checked); - PB_Favorite.Image = GetMarkSprite(PB_Favorite, Entity is IFavorite {Favorite: true}); + PB_Favorite.Image = GetMarkSprite(PB_Favorite, Entity is IFavorite {IsFavorite: true}); PB_Origin.Image = GetOriginSprite(Entity); // Colored Markings @@ -530,6 +531,7 @@ private void SetMarkings() OriginMark.Gen8Galar => Properties.Resources.gen_8, OriginMark.Gen8Trio => Properties.Resources.gen_bs, OriginMark.Gen8Arc => Properties.Resources.gen_la, + OriginMark.Gen9Paldea => Properties.Resources.gen_sv, OriginMark.GameBoy => Properties.Resources.gen_vc, OriginMark.GO => Properties.Resources.gen_go, OriginMark.LetsGo => Properties.Resources.gen_gg, @@ -619,7 +621,7 @@ private void ClickMarking(object sender, EventArgs e) private void ClickFavorite(object sender, EventArgs e) { if (Entity is IFavorite pb7) - pb7.Favorite ^= true; + pb7.IsFavorite ^= true; SetMarkings(); } @@ -749,7 +751,7 @@ private bool SetSuggestedRelearnMoves(bool silent = false) return false; var m = Legality.GetSuggestedRelearnMoves(); - if (Entity.RelearnMoves.SequenceEqual(m) || m.Count != 4) + if (m.Count != 4 || Entity.RelearnMoves.SequenceEqual(m)) return false; if (!silent) @@ -1316,40 +1318,38 @@ private void UpdateNickname(object sender, EventArgs e) private void UpdateNicknameClick(object sender, MouseEventArgs e) { - TextBox tb = sender as TextBox ?? TB_Nickname; - // Special Character Form if (ModifierKeys != Keys.Control) return; - var sav = RequestSaveFile; - + // Open Trash/Special Character form + // Set the string back to the entity in the right spot, so the span fetch has latest date. + Span trash; + TextBox tb = sender as TextBox ?? TB_Nickname; if (tb == TB_Nickname) { Entity.Nickname = tb.Text; - var span = Entity.Nickname_Trash; - var d = new TrashEditor(tb, span, sav); - d.ShowDialog(); - tb.Text = d.FinalString; - d.FinalBytes.CopyTo(span); + trash = Entity.Nickname_Trash; } else if (tb == TB_OT) { Entity.OT_Name = tb.Text; - var span = Entity.OT_Trash; - var d = new TrashEditor(tb, span, sav); - d.ShowDialog(); - tb.Text = d.FinalString; - d.FinalBytes.CopyTo(span); + trash = Entity.OT_Trash; } else if (tb == TB_HT) { Entity.HT_Name = tb.Text; - var span = Entity.HT_Trash; - var d = new TrashEditor(tb, span, sav); - d.ShowDialog(); - tb.Text = d.FinalString; - d.FinalBytes.CopyTo(span); + trash = Entity.HT_Trash; } + else + { + return; + } + + var sav = RequestSaveFile; + using var d = new TrashEditor(tb, trash, sav); + d.ShowDialog(); + tb.Text = d.FinalString; + d.FinalBytes.CopyTo(trash); } private void UpdateNotOT(object sender, EventArgs e) @@ -1395,7 +1395,9 @@ private void UpdateIsEgg(object sender, EventArgs e) { var sav = SaveFileRequested.Invoke(this, e); bool isTraded = sav.OT != TB_OT.Text || sav.TID != Entity.TID || sav.SID != Entity.SID; - var loc = isTraded ? Locations.TradedEggLocation(sav.Generation, sav.Version) : LocationEdits.GetNoneLocation(Entity); + var loc = isTraded + ? Locations.TradedEggLocation(sav.Generation, sav.Version) + : LocationEdits.GetNoneLocation(Entity); CB_MetLocation.SelectedValue = loc; } else if (Entity.Format == 3) @@ -1584,7 +1586,7 @@ private void UpdateShadowCHK(object sender, EventArgs e) return; FieldsLoaded = false; NUD_Purification.Value = CHK_Shadow.Checked ? 1 : Entity is CK3 && NUD_ShadowID.Value != 0 ? CK3.Purified : 0; - ((IShadowPKM)Entity).Purification = (int)NUD_Purification.Value; + ((IShadowCapture)Entity).Purification = (int)NUD_Purification.Value; UpdatePreviewSprite?.Invoke(this, EventArgs.Empty); FieldsLoaded = true; } @@ -1761,7 +1763,7 @@ private void OpenHistory(object sender, EventArgs e) private void B_Records_Click(object sender, EventArgs e) { - if (Entity is not ITechRecord8 t) + if (Entity is not ITechRecord t) return; if (ModifierKeys == Keys.Shift) @@ -1814,7 +1816,7 @@ private void ToggleInterface(PKM t) { var pb7 = t is PB7; int gen = t.Format; - FLP_Purification.Visible = FLP_ShadowID.Visible = t is IShadowPKM; + FLP_Purification.Visible = FLP_ShadowID.Visible = t is IShadowCapture; bool sizeCP = gen >= 8 || pb7; FLP_SizeCP.Visible = sizeCP; if (sizeCP) @@ -1826,10 +1828,11 @@ private void ToggleInterface(PKM t) BTN_Medals.Visible = gen is 6 or 7 && !pb7; FLP_Country.Visible = FLP_SubRegion.Visible = FLP_3DSRegion.Visible = t is IRegionOrigin; FLP_OriginalNature.Visible = gen >= 8; - B_Records.Visible = t is ITechRecord8; + B_Records.Visible = t is ITechRecord; B_MoveShop.Visible = t is IMoveShop8Mastery; CB_HTLanguage.Visible = gen >= 8; L_AlphaMastered.Visible = CB_AlphaMastered.Visible = t is PA8; + FLP_ObedienceLevel.Visible = t is IObedienceLevel; Contest.ToggleInterface(Entity, Entity.Context); ToggleInterface(Entity.Format); @@ -1873,9 +1876,8 @@ private void ToggleInterface(int gen) TB_AbilityNumber.Visible = gen >= 6 && DEV_Ability.Enabled; // Met Tab - L_HomeTracker.Visible = TB_HomeTracker.Visible = gen >= 8; FLP_MetDate.Visible = gen >= 4; - FLP_Fateful.Visible = FLP_Ball.Visible = FLP_OriginGame.Visible = gen >= 3; + CHK_Fateful.Visible = FLP_Ball.Visible = FLP_OriginGame.Visible = gen >= 3; FLP_MetLocation.Visible = FLP_MetLevel.Visible = gen >= 2; FLP_GroundTile.Visible = gen is 4 or 5 or 6; FLP_TimeOfDay.Visible = gen == 2; @@ -1894,9 +1896,9 @@ private bool FinalizeInterface(SaveFile sav) PopulateFields(Entity); // Save File Specific Limits - TB_OT.MaxLength = Entity.OTLength; - TB_HT.MaxLength = Entity.OTLength; - TB_Nickname.MaxLength = Entity.NickLength; + TB_OT.MaxLength = Entity.MaxStringLengthOT; + TB_HT.MaxLength = Entity.MaxStringLengthOT; + TB_Nickname.MaxLength = Entity.MaxStringLengthNickname; // Hide Unused Tabs if (Entity.Format == 1 && tabMain.TabPages.Contains(Tab_Met)) @@ -1963,7 +1965,8 @@ private void CB_BattleVersion_SelectedValueChanged(object sender, EventArgs e) if (Entity is not IBattleVersion b) return; var value = (byte)WinFormsUtil.GetIndex(CB_BattleVersion); - b.BattleVersion = value; + if (FieldsLoaded) + b.BattleVersion = value; PB_BattleVersion.Image = GetMarkSprite(PB_BattleVersion, value != 0); } @@ -1997,6 +2000,17 @@ public void FlickerInterface() tabMain.SelectedTab = Tab_Main; // first tab } + private void L_Obedience_Click(object sender, EventArgs e) + { + if (Entity is not IObedienceLevel l) + return; + var met = Util.ToInt32(TB_MetLevel.Text); + var suggest = l.GetSuggestedObedienceLevel(Entity, met); + var current = Util.ToInt32(TB_ObedienceLevel.Text); + if (suggest != current) + TB_ObedienceLevel.Text = suggest.ToString(); + } + private void InitializeLanguage(ITrainerInfo sav) { var source = GameInfo.FilteredSources; @@ -2052,9 +2066,7 @@ private void PopulateFilteredDataSources(ITrainerInfo sav, bool force = false) SetIfDifferentCount(langWith0, CB_HTLanguage, force); var game = source.Games; - var gamesWith0 = new List(1 + game.Count) {GameInfo.Sources.Empty}; - gamesWith0.AddRange(game); - SetIfDifferentCount(gamesWith0, CB_BattleVersion, force); + SetIfDifferentCount(game, CB_BattleVersion, force); } SetIfDifferentCount(source.Species, CB_Species, force); diff --git a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.Designer.cs index 9ec802ef9..9bc4b81d5 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.Designer.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.Designer.cs @@ -1,4 +1,4 @@ -namespace PKHeX.WinForms.Controls +namespace PKHeX.WinForms.Controls { partial class SizeCP { @@ -37,25 +37,31 @@ private void InitializeComponent() this.NUD_HeightScalar = new System.Windows.Forms.NumericUpDown(); this.TB_HeightAbs = new System.Windows.Forms.TextBox(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.L_Scale = new System.Windows.Forms.Label(); this.FLP_Weight = new System.Windows.Forms.FlowLayoutPanel(); this.NUD_WeightScalar = new System.Windows.Forms.NumericUpDown(); this.TB_WeightAbs = new System.Windows.Forms.TextBox(); this.L_SizeW = new System.Windows.Forms.Label(); this.FLP_Height = new System.Windows.Forms.FlowLayoutPanel(); this.L_SizeH = new System.Windows.Forms.Label(); + this.FLP_Scale3 = new System.Windows.Forms.FlowLayoutPanel(); + this.NUD_Scale = new System.Windows.Forms.NumericUpDown(); + this.L_SizeS = new System.Windows.Forms.Label(); this.FLP_CP.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.NUD_HeightScalar)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.FLP_Weight.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.NUD_WeightScalar)).BeginInit(); this.FLP_Height.SuspendLayout(); + this.FLP_Scale3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Scale)).BeginInit(); this.SuspendLayout(); // // FLP_CP // this.FLP_CP.Controls.Add(this.MT_CP); this.FLP_CP.Controls.Add(this.CHK_Auto); - this.FLP_CP.Location = new System.Drawing.Point(63, 48); + this.FLP_CP.Location = new System.Drawing.Point(63, 69); this.FLP_CP.Margin = new System.Windows.Forms.Padding(0); this.FLP_CP.Name = "FLP_CP"; this.FLP_CP.Size = new System.Drawing.Size(140, 20); @@ -85,7 +91,7 @@ private void InitializeComponent() // L_CP // this.L_CP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.L_CP.Location = new System.Drawing.Point(3, 48); + this.L_CP.Location = new System.Drawing.Point(3, 69); this.L_CP.Name = "L_CP"; this.L_CP.Size = new System.Drawing.Size(57, 20); this.L_CP.TabIndex = 0; @@ -105,7 +111,7 @@ private void InitializeComponent() // L_Weight // this.L_Weight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.L_Weight.Location = new System.Drawing.Point(3, 24); + this.L_Weight.Location = new System.Drawing.Point(3, 23); this.L_Weight.Name = "L_Weight"; this.L_Weight.Size = new System.Drawing.Size(57, 20); this.L_Weight.TabIndex = 2; @@ -147,31 +153,44 @@ private void InitializeComponent() this.tableLayoutPanel1.ColumnCount = 2; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 31F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 69F)); + this.tableLayoutPanel1.Controls.Add(this.L_Scale, 0, 2); this.tableLayoutPanel1.Controls.Add(this.FLP_Weight, 1, 1); this.tableLayoutPanel1.Controls.Add(this.L_Weight, 0, 1); this.tableLayoutPanel1.Controls.Add(this.FLP_Height, 1, 0); this.tableLayoutPanel1.Controls.Add(this.L_Height, 0, 0); - this.tableLayoutPanel1.Controls.Add(this.L_CP, 0, 2); - this.tableLayoutPanel1.Controls.Add(this.FLP_CP, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.FLP_CP, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.L_CP, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.FLP_Scale3, 1, 2); this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; - this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowCount = 4; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 23F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 68); + this.tableLayoutPanel1.Size = new System.Drawing.Size(204, 90); this.tableLayoutPanel1.TabIndex = 2; // + // L_Scale + // + this.L_Scale.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.L_Scale.Location = new System.Drawing.Point(3, 46); + this.L_Scale.Name = "L_Scale"; + this.L_Scale.Size = new System.Drawing.Size(57, 20); + this.L_Scale.TabIndex = 6; + this.L_Scale.Text = "Scale:"; + this.L_Scale.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // // FLP_Weight // this.FLP_Weight.Controls.Add(this.NUD_WeightScalar); this.FLP_Weight.Controls.Add(this.TB_WeightAbs); this.FLP_Weight.Controls.Add(this.L_SizeW); - this.FLP_Weight.Location = new System.Drawing.Point(63, 24); + this.FLP_Weight.Location = new System.Drawing.Point(63, 23); this.FLP_Weight.Margin = new System.Windows.Forms.Padding(0); this.FLP_Weight.Name = "FLP_Weight"; - this.FLP_Weight.Size = new System.Drawing.Size(140, 21); + this.FLP_Weight.Size = new System.Drawing.Size(140, 20); this.FLP_Weight.TabIndex = 4; // // NUD_WeightScalar @@ -212,7 +231,7 @@ private void InitializeComponent() this.L_SizeW.Size = new System.Drawing.Size(24, 20); this.L_SizeW.TabIndex = 9; this.L_SizeW.Text = "XS"; - this.L_SizeW.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.L_SizeW.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // FLP_Height // @@ -233,14 +252,54 @@ private void InitializeComponent() this.L_SizeH.Size = new System.Drawing.Size(24, 20); this.L_SizeH.TabIndex = 8; this.L_SizeH.Text = "XL"; - this.L_SizeH.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.L_SizeH.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // FLP_Scale3 + // + this.FLP_Scale3.Controls.Add(this.NUD_Scale); + this.FLP_Scale3.Controls.Add(this.L_SizeS); + this.FLP_Scale3.Location = new System.Drawing.Point(63, 46); + this.FLP_Scale3.Margin = new System.Windows.Forms.Padding(0); + this.FLP_Scale3.Name = "FLP_Scale3"; + this.FLP_Scale3.Size = new System.Drawing.Size(140, 20); + this.FLP_Scale3.TabIndex = 5; + // + // NUD_Scale + // + this.NUD_Scale.Location = new System.Drawing.Point(0, 0); + this.NUD_Scale.Margin = new System.Windows.Forms.Padding(0); + this.NUD_Scale.Maximum = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.NUD_Scale.Name = "NUD_Scale"; + this.NUD_Scale.Size = new System.Drawing.Size(40, 20); + this.NUD_Scale.TabIndex = 3; + this.NUD_Scale.Value = new decimal(new int[] { + 255, + 0, + 0, + 0}); + this.NUD_Scale.ValueChanged += new System.EventHandler(this.NUD_Scale_ValueChanged); + this.NUD_Scale.Click += new System.EventHandler(this.ClickScalarEntry); + // + // L_SizeS + // + this.L_SizeS.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.L_SizeS.Location = new System.Drawing.Point(43, 0); + this.L_SizeS.Name = "L_SizeS"; + this.L_SizeS.Size = new System.Drawing.Size(44, 20); + this.L_SizeS.TabIndex = 9; + this.L_SizeS.Text = "XXXS"; + this.L_SizeS.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // SizeCP // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.Controls.Add(this.tableLayoutPanel1); this.Name = "SizeCP"; - this.Size = new System.Drawing.Size(204, 68); + this.Size = new System.Drawing.Size(200, 90); this.FLP_CP.ResumeLayout(false); this.FLP_CP.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.NUD_HeightScalar)).EndInit(); @@ -250,6 +309,8 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.NUD_WeightScalar)).EndInit(); this.FLP_Height.ResumeLayout(false); this.FLP_Height.PerformLayout(); + this.FLP_Scale3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Scale)).EndInit(); this.ResumeLayout(false); } @@ -270,5 +331,9 @@ private void InitializeComponent() private System.Windows.Forms.FlowLayoutPanel FLP_Height; private System.Windows.Forms.Label L_SizeW; private System.Windows.Forms.Label L_SizeH; + private System.Windows.Forms.Label L_Scale; + private System.Windows.Forms.FlowLayoutPanel FLP_Scale3; + private System.Windows.Forms.NumericUpDown NUD_Scale; + private System.Windows.Forms.Label L_SizeS; } } diff --git a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs index 3b2ed488b..778d551cb 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/SizeCP.cs @@ -1,4 +1,5 @@ using System; +using System.Drawing; using System.Globalization; using System.Windows.Forms; using PKHeX.Core; @@ -8,6 +9,7 @@ namespace PKHeX.WinForms.Controls; public partial class SizeCP : UserControl { private IScaledSize? ss; + private IScaledSize3? scale; private IScaledSizeValue? sv; private ICombatPower? pk; private bool Loading; @@ -20,12 +22,14 @@ public SizeCP() private readonly bool Initialized; private static readonly string[] SizeClass = Enum.GetNames(typeof(PokeSize)); + private static readonly string[] SizeClassDetailed = Enum.GetNames(typeof(PokeSizeDetailed)); public void LoadPKM(PKM entity) { pk = entity as ICombatPower; ss = entity as IScaledSize; sv = entity as IScaledSizeValue; + scale = entity as IScaledSize3; if (ss == null) return; TryResetStats(); @@ -65,6 +69,10 @@ private void LoadStoredValues() TB_HeightAbs.Text = GetString(sv.HeightAbsolute); TB_WeightAbs.Text = GetString(sv.WeightAbsolute); } + if (scale != null) + { + NUD_Scale.Value = scale.Scale; + } if (pk != null) { MT_CP.Text = Math.Min(65535, pk.Stat_CP).ToString(); @@ -92,8 +100,18 @@ private void NUD_HeightScalar_ValueChanged(object sender, EventArgs e) if (ss != null) { if (!Loading) + { ss.HeightScalar = (byte) NUD_HeightScalar.Value; - L_SizeH.Text = SizeClass[(int)PokeSizeUtil.GetSizeRating(ss.HeightScalar)]; + if (ss is PA8) // Height copied to Scale + NUD_Scale.Value = ss.HeightScalar; + } + var label = L_SizeH; + var value = ss.HeightScalar; + label.Text = SizeClass[(int)PokeSizeUtil.GetSizeRating(value)]; + if (value is 255 && scale is PA8) // Alpha or (unlikely, user error?) + label.ForeColor = Color.Red; + else + label.ResetForeColor(); } if (!CHK_Auto.Checked || Loading || sv == null) @@ -102,8 +120,6 @@ private void NUD_HeightScalar_ValueChanged(object sender, EventArgs e) sv.ResetWeight(); TB_HeightAbs.Text = GetString(sv.HeightAbsolute); TB_WeightAbs.Text = GetString(sv.WeightAbsolute); - if (sv is PA8 a) - a.HeightScalarCopy = a.HeightScalar; } private void NUD_WeightScalar_ValueChanged(object sender, EventArgs e) @@ -112,7 +128,13 @@ private void NUD_WeightScalar_ValueChanged(object sender, EventArgs e) { if (!Loading) ss.WeightScalar = (byte) NUD_WeightScalar.Value; - L_SizeW.Text = SizeClass[(int)PokeSizeUtil.GetSizeRating(ss.WeightScalar)]; + var label = L_SizeW; + var value = ss.WeightScalar; + label.Text = SizeClass[(int)PokeSizeUtil.GetSizeRating(value)]; + if (value is 255 && scale is PA8) // Alpha or (unlikely, user error?) + label.ForeColor = Color.Red; + else + label.ResetForeColor(); } if (!CHK_Auto.Checked || Loading || sv == null) @@ -121,6 +143,27 @@ private void NUD_WeightScalar_ValueChanged(object sender, EventArgs e) TB_WeightAbs.Text = GetString(sv.WeightAbsolute); } + private void NUD_Scale_ValueChanged(object sender, EventArgs e) + { + if (scale != null) + { + if (!Loading) + { + scale.Scale = (byte)NUD_Scale.Value; + if (scale is PA8) // Height copied to Scale + NUD_HeightScalar.Value = scale.Scale; + } + + var label = L_SizeS; + var value = scale.Scale; + label.Text = SizeClassDetailed[(int)PokeSizeDetailedUtil.GetSizeRating(value)]; + if (value is 0 or 255) // Tiny or Jumbo Mark possible. + label.ForeColor = Color.Red; + else + label.ResetForeColor(); + } + } + private void TB_HeightAbs_TextChanged(object sender, EventArgs e) { if (sv == null || Loading) @@ -145,9 +188,11 @@ public void ToggleVisibility(PKM entity) { bool isCP = entity is ICombatPower; bool isAbsolute = entity is IScaledSizeValue; + bool isScale3 = entity is IScaledSize3; MT_CP.Visible = L_CP.Visible = isCP; TB_HeightAbs.Visible = TB_WeightAbs.Visible = isAbsolute; FLP_CP.Visible = isCP || isAbsolute; // Auto checkbox + L_Scale.Visible = FLP_Scale3.Visible = isScale3; } private void ClickScalarEntry(object sender, EventArgs e) diff --git a/PKHeX.WinForms/Controls/PKM Editor/StatEditor.Designer.cs b/PKHeX.WinForms/Controls/PKM Editor/StatEditor.Designer.cs index 3090999bb..ae43e3323 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/StatEditor.Designer.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/StatEditor.Designer.cs @@ -1,4 +1,4 @@ -namespace PKHeX.WinForms.Controls +namespace PKHeX.WinForms.Controls { partial class StatEditor { @@ -111,6 +111,16 @@ private void InitializeComponent() this.FLP_Characteristic = new System.Windows.Forms.FlowLayoutPanel(); this.Label_CharacteristicPrefix = new System.Windows.Forms.Label(); this.L_Characteristic = new System.Windows.Forms.Label(); + this.FLP_TeraType = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_TeraInner = new System.Windows.Forms.FlowLayoutPanel(); + this.FLP_TeraTypeDefaultPane = new System.Windows.Forms.FlowLayoutPanel(); + this.PB_TeraType2 = new PKHeX.WinForms.Controls.TypePictureBox(); + this.PB_TeraType1 = new PKHeX.WinForms.Controls.TypePictureBox(); + this.L_TeraTypeOriginal = new System.Windows.Forms.Label(); + this.CB_TeraTypeOriginal = new System.Windows.Forms.ComboBox(); + this.L_TeraTypeOverride = new System.Windows.Forms.Label(); + this.CB_TeraTypeOverride = new System.Windows.Forms.ComboBox(); + this.PB_TeraType = new System.Windows.Forms.PictureBox(); this.PAN_BTN = new System.Windows.Forms.Panel(); this.BTN_RandomAVs = new System.Windows.Forms.Button(); this.BTN_RandomIVs = new System.Windows.Forms.Button(); @@ -144,6 +154,12 @@ private void InitializeComponent() this.FLP_StatsTotalRight.SuspendLayout(); this.FLP_HPType.SuspendLayout(); this.FLP_Characteristic.SuspendLayout(); + this.FLP_TeraType.SuspendLayout(); + this.FLP_TeraInner.SuspendLayout(); + this.FLP_TeraTypeDefaultPane.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType)).BeginInit(); this.PAN_BTN.SuspendLayout(); this.FLP_DynamaxLevel.SuspendLayout(); this.FLP_AlphaNoble.SuspendLayout(); @@ -161,13 +177,14 @@ private void InitializeComponent() this.FLP_Stats.Controls.Add(this.FLP_StatsTotal); this.FLP_Stats.Controls.Add(this.FLP_HPType); this.FLP_Stats.Controls.Add(this.FLP_Characteristic); + this.FLP_Stats.Controls.Add(this.FLP_TeraType); this.FLP_Stats.Controls.Add(this.PAN_BTN); this.FLP_Stats.Controls.Add(this.FLP_DynamaxLevel); this.FLP_Stats.Controls.Add(this.FLP_AlphaNoble); this.FLP_Stats.Dock = System.Windows.Forms.DockStyle.Fill; this.FLP_Stats.Location = new System.Drawing.Point(0, 0); this.FLP_Stats.Name = "FLP_Stats"; - this.FLP_Stats.Size = new System.Drawing.Size(312, 318); + this.FLP_Stats.Size = new System.Drawing.Size(312, 381); this.FLP_Stats.TabIndex = 106; // // FLP_StatHeader @@ -392,7 +409,7 @@ private void InitializeComponent() this.Stat_HP.Mask = "00000"; this.Stat_HP.Name = "Stat_HP"; this.Stat_HP.PromptChar = ' '; - this.Stat_HP.Size = new System.Drawing.Size(37, 20); + this.Stat_HP.Size = new System.Drawing.Size(36, 20); this.Stat_HP.TabIndex = 45; this.Stat_HP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_HP.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -510,7 +527,7 @@ private void InitializeComponent() this.Stat_ATK.Mask = "00000"; this.Stat_ATK.Name = "Stat_ATK"; this.Stat_ATK.PromptChar = ' '; - this.Stat_ATK.Size = new System.Drawing.Size(37, 20); + this.Stat_ATK.Size = new System.Drawing.Size(36, 20); this.Stat_ATK.TabIndex = 46; this.Stat_ATK.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_ATK.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -628,7 +645,7 @@ private void InitializeComponent() this.Stat_DEF.Mask = "00000"; this.Stat_DEF.Name = "Stat_DEF"; this.Stat_DEF.PromptChar = ' '; - this.Stat_DEF.Size = new System.Drawing.Size(37, 20); + this.Stat_DEF.Size = new System.Drawing.Size(36, 20); this.Stat_DEF.TabIndex = 47; this.Stat_DEF.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_DEF.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -769,7 +786,7 @@ private void InitializeComponent() this.Stat_SPA.Mask = "00000"; this.Stat_SPA.Name = "Stat_SPA"; this.Stat_SPA.PromptChar = ' '; - this.Stat_SPA.Size = new System.Drawing.Size(37, 20); + this.Stat_SPA.Size = new System.Drawing.Size(36, 20); this.Stat_SPA.TabIndex = 48; this.Stat_SPA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_SPA.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -887,7 +904,7 @@ private void InitializeComponent() this.Stat_SPD.Mask = "00000"; this.Stat_SPD.Name = "Stat_SPD"; this.Stat_SPD.PromptChar = ' '; - this.Stat_SPD.Size = new System.Drawing.Size(37, 20); + this.Stat_SPD.Size = new System.Drawing.Size(36, 20); this.Stat_SPD.TabIndex = 49; this.Stat_SPD.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_SPD.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -1005,7 +1022,7 @@ private void InitializeComponent() this.Stat_SPE.Mask = "00000"; this.Stat_SPE.Name = "Stat_SPE"; this.Stat_SPE.PromptChar = ' '; - this.Stat_SPE.Size = new System.Drawing.Size(37, 20); + this.Stat_SPE.Size = new System.Drawing.Size(36, 20); this.Stat_SPE.TabIndex = 50; this.Stat_SPE.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.Stat_SPE.TextChanged += new System.EventHandler(this.UpdateHackedStatText); @@ -1126,18 +1143,17 @@ private void InitializeComponent() this.Label_HiddenPowerPrefix.Location = new System.Drawing.Point(0, 0); this.Label_HiddenPowerPrefix.Margin = new System.Windows.Forms.Padding(0); this.Label_HiddenPowerPrefix.Name = "Label_HiddenPowerPrefix"; - this.Label_HiddenPowerPrefix.Size = new System.Drawing.Size(174, 21); + this.Label_HiddenPowerPrefix.Size = new System.Drawing.Size(140, 21); this.Label_HiddenPowerPrefix.TabIndex = 29; this.Label_HiddenPowerPrefix.Text = "Hidden Power Type:"; this.Label_HiddenPowerPrefix.TextAlign = System.Drawing.ContentAlignment.MiddleRight; // // CB_HPType // - this.CB_HPType.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; - this.CB_HPType.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_HPType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.CB_HPType.DropDownWidth = 80; this.CB_HPType.FormattingEnabled = true; - this.CB_HPType.Location = new System.Drawing.Point(174, 0); + this.CB_HPType.Location = new System.Drawing.Point(140, 0); this.CB_HPType.Margin = new System.Windows.Forms.Padding(0); this.CB_HPType.Name = "CB_HPType"; this.CB_HPType.Size = new System.Drawing.Size(70, 21); @@ -1148,7 +1164,7 @@ private void InitializeComponent() // this.Label_HiddenPowerPower.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.Label_HiddenPowerPower.Location = new System.Drawing.Point(244, 0); + this.Label_HiddenPowerPower.Location = new System.Drawing.Point(210, 0); this.Label_HiddenPowerPower.Margin = new System.Windows.Forms.Padding(0); this.Label_HiddenPowerPower.Name = "Label_HiddenPowerPower"; this.Label_HiddenPowerPower.Size = new System.Drawing.Size(28, 21); @@ -1187,13 +1203,128 @@ private void InitializeComponent() this.L_Characteristic.Text = "(char)"; this.L_Characteristic.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // FLP_TeraType + // + this.FLP_TeraType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_TeraType.Controls.Add(this.FLP_TeraInner); + this.FLP_TeraType.Controls.Add(this.PB_TeraType); + this.FLP_TeraType.Location = new System.Drawing.Point(0, 211); + this.FLP_TeraType.Margin = new System.Windows.Forms.Padding(0); + this.FLP_TeraType.Name = "FLP_TeraType"; + this.FLP_TeraType.Size = new System.Drawing.Size(312, 61); + this.FLP_TeraType.TabIndex = 135; + // + // FLP_TeraInner + // + this.FLP_TeraInner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_TeraInner.Controls.Add(this.FLP_TeraTypeDefaultPane); + this.FLP_TeraInner.Controls.Add(this.L_TeraTypeOriginal); + this.FLP_TeraInner.Controls.Add(this.CB_TeraTypeOriginal); + this.FLP_TeraInner.Controls.Add(this.L_TeraTypeOverride); + this.FLP_TeraInner.Controls.Add(this.CB_TeraTypeOverride); + this.FLP_TeraInner.Location = new System.Drawing.Point(0, 0); + this.FLP_TeraInner.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); + this.FLP_TeraInner.Name = "FLP_TeraInner"; + this.FLP_TeraInner.Size = new System.Drawing.Size(214, 60); + this.FLP_TeraInner.TabIndex = 136; + // + // FLP_TeraTypeDefaultPane + // + this.FLP_TeraTypeDefaultPane.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.FLP_TeraTypeDefaultPane.Controls.Add(this.PB_TeraType2); + this.FLP_TeraTypeDefaultPane.Controls.Add(this.PB_TeraType1); + this.FLP_TeraTypeDefaultPane.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.FLP_TeraTypeDefaultPane.Location = new System.Drawing.Point(0, 0); + this.FLP_TeraTypeDefaultPane.Margin = new System.Windows.Forms.Padding(0); + this.FLP_TeraTypeDefaultPane.Name = "FLP_TeraTypeDefaultPane"; + this.FLP_TeraTypeDefaultPane.Size = new System.Drawing.Size(210, 10); + this.FLP_TeraTypeDefaultPane.TabIndex = 137; + // + // PB_TeraType2 + // + this.PB_TeraType2.Location = new System.Drawing.Point(175, 0); + this.PB_TeraType2.Margin = new System.Windows.Forms.Padding(0); + this.PB_TeraType2.Name = "PB_TeraType2"; + this.PB_TeraType2.Size = new System.Drawing.Size(35, 10); + this.PB_TeraType2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.PB_TeraType2.TabIndex = 46; + this.PB_TeraType2.TabStop = false; + this.PB_TeraType2.Click += new System.EventHandler(this.PB_TeraType2_Click); + // + // PB_TeraType1 + // + this.PB_TeraType1.Location = new System.Drawing.Point(140, 0); + this.PB_TeraType1.Margin = new System.Windows.Forms.Padding(0); + this.PB_TeraType1.Name = "PB_TeraType1"; + this.PB_TeraType1.Size = new System.Drawing.Size(35, 10); + this.PB_TeraType1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.PB_TeraType1.TabIndex = 47; + this.PB_TeraType1.TabStop = false; + this.PB_TeraType1.Click += new System.EventHandler(this.PB_TeraType1_Click); + // + // L_TeraTypeOriginal + // + this.L_TeraTypeOriginal.Location = new System.Drawing.Point(0, 10); + this.L_TeraTypeOriginal.Margin = new System.Windows.Forms.Padding(0); + this.L_TeraTypeOriginal.Name = "L_TeraTypeOriginal"; + this.L_TeraTypeOriginal.Size = new System.Drawing.Size(140, 21); + this.L_TeraTypeOriginal.TabIndex = 29; + this.L_TeraTypeOriginal.Text = "Original Tera Type:"; + this.L_TeraTypeOriginal.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.L_TeraTypeOriginal.Click += new System.EventHandler(this.L_TeraTypeOriginal_Click); + // + // CB_TeraTypeOriginal + // + this.CB_TeraTypeOriginal.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_TeraTypeOriginal.DropDownWidth = 80; + this.CB_TeraTypeOriginal.FormattingEnabled = true; + this.CB_TeraTypeOriginal.Location = new System.Drawing.Point(140, 10); + this.CB_TeraTypeOriginal.Margin = new System.Windows.Forms.Padding(0); + this.CB_TeraTypeOriginal.Name = "CB_TeraTypeOriginal"; + this.CB_TeraTypeOriginal.Size = new System.Drawing.Size(70, 21); + this.CB_TeraTypeOriginal.TabIndex = 44; + this.CB_TeraTypeOriginal.SelectedIndexChanged += new System.EventHandler(this.ChangeTeraType); + // + // L_TeraTypeOverride + // + this.L_TeraTypeOverride.Location = new System.Drawing.Point(0, 31); + this.L_TeraTypeOverride.Margin = new System.Windows.Forms.Padding(0); + this.L_TeraTypeOverride.Name = "L_TeraTypeOverride"; + this.L_TeraTypeOverride.Size = new System.Drawing.Size(140, 21); + this.L_TeraTypeOverride.TabIndex = 29; + this.L_TeraTypeOverride.Text = "Override Tera Type:"; + this.L_TeraTypeOverride.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.L_TeraTypeOverride.Click += new System.EventHandler(this.L_TeraTypeOverride_Click); + // + // CB_TeraTypeOverride + // + this.CB_TeraTypeOverride.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_TeraTypeOverride.DropDownWidth = 80; + this.CB_TeraTypeOverride.FormattingEnabled = true; + this.CB_TeraTypeOverride.Location = new System.Drawing.Point(140, 31); + this.CB_TeraTypeOverride.Margin = new System.Windows.Forms.Padding(0); + this.CB_TeraTypeOverride.Name = "CB_TeraTypeOverride"; + this.CB_TeraTypeOverride.Size = new System.Drawing.Size(70, 21); + this.CB_TeraTypeOverride.TabIndex = 44; + this.CB_TeraTypeOverride.SelectedIndexChanged += new System.EventHandler(this.ChangeTeraType); + // + // PB_TeraType + // + this.PB_TeraType.Location = new System.Drawing.Point(214, 0); + this.PB_TeraType.Margin = new System.Windows.Forms.Padding(0); + this.PB_TeraType.Name = "PB_TeraType"; + this.PB_TeraType.Size = new System.Drawing.Size(60, 60); + this.PB_TeraType.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.PB_TeraType.TabIndex = 45; + this.PB_TeraType.TabStop = false; + // // PAN_BTN // this.PAN_BTN.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.PAN_BTN.Controls.Add(this.BTN_RandomAVs); this.PAN_BTN.Controls.Add(this.BTN_RandomIVs); this.PAN_BTN.Controls.Add(this.BTN_RandomEVs); - this.PAN_BTN.Location = new System.Drawing.Point(3, 214); + this.PAN_BTN.Location = new System.Drawing.Point(3, 275); this.PAN_BTN.Name = "PAN_BTN"; this.PAN_BTN.Size = new System.Drawing.Size(267, 31); this.PAN_BTN.TabIndex = 132; @@ -1234,7 +1365,7 @@ private void InitializeComponent() this.FLP_DynamaxLevel.Controls.Add(this.L_DynamaxLevel); this.FLP_DynamaxLevel.Controls.Add(this.CB_DynamaxLevel); this.FLP_DynamaxLevel.Controls.Add(this.CHK_Gigantamax); - this.FLP_DynamaxLevel.Location = new System.Drawing.Point(0, 248); + this.FLP_DynamaxLevel.Location = new System.Drawing.Point(0, 309); this.FLP_DynamaxLevel.Margin = new System.Windows.Forms.Padding(0); this.FLP_DynamaxLevel.Name = "FLP_DynamaxLevel"; this.FLP_DynamaxLevel.Size = new System.Drawing.Size(272, 21); @@ -1289,7 +1420,7 @@ private void InitializeComponent() this.FLP_AlphaNoble.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.FLP_AlphaNoble.Controls.Add(this.CHK_IsAlpha); this.FLP_AlphaNoble.Controls.Add(this.CHK_IsNoble); - this.FLP_AlphaNoble.Location = new System.Drawing.Point(0, 269); + this.FLP_AlphaNoble.Location = new System.Drawing.Point(0, 330); this.FLP_AlphaNoble.Margin = new System.Windows.Forms.Padding(0); this.FLP_AlphaNoble.Name = "FLP_AlphaNoble"; this.FLP_AlphaNoble.Size = new System.Drawing.Size(270, 31); @@ -1323,7 +1454,7 @@ private void InitializeComponent() this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; this.Controls.Add(this.FLP_Stats); this.Name = "StatEditor"; - this.Size = new System.Drawing.Size(312, 318); + this.Size = new System.Drawing.Size(312, 381); this.FLP_Stats.ResumeLayout(false); this.FLP_StatHeader.ResumeLayout(false); this.FLP_HackedStats.ResumeLayout(false); @@ -1352,6 +1483,12 @@ private void InitializeComponent() this.FLP_StatsTotalRight.PerformLayout(); this.FLP_HPType.ResumeLayout(false); this.FLP_Characteristic.ResumeLayout(false); + this.FLP_TeraType.ResumeLayout(false); + this.FLP_TeraInner.ResumeLayout(false); + this.FLP_TeraTypeDefaultPane.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.PB_TeraType)).EndInit(); this.PAN_BTN.ResumeLayout(false); this.FLP_DynamaxLevel.ResumeLayout(false); this.FLP_DynamaxLevel.PerformLayout(); @@ -1457,5 +1594,15 @@ private void InitializeComponent() private System.Windows.Forms.FlowLayoutPanel FLP_AlphaNoble; public System.Windows.Forms.CheckBox CHK_IsAlpha; public System.Windows.Forms.CheckBox CHK_IsNoble; + private System.Windows.Forms.FlowLayoutPanel FLP_TeraType; + private System.Windows.Forms.Label L_TeraTypeOriginal; + public System.Windows.Forms.ComboBox CB_TeraTypeOriginal; + private System.Windows.Forms.FlowLayoutPanel FLP_TeraInner; + private System.Windows.Forms.Label L_TeraTypeOverride; + public System.Windows.Forms.ComboBox CB_TeraTypeOverride; + private System.Windows.Forms.PictureBox PB_TeraType; + private System.Windows.Forms.FlowLayoutPanel FLP_TeraTypeDefaultPane; + private PKHeX.WinForms.Controls.TypePictureBox PB_TeraType2; + private PKHeX.WinForms.Controls.TypePictureBox PB_TeraType1; } } diff --git a/PKHeX.WinForms/Controls/PKM Editor/StatEditor.cs b/PKHeX.WinForms/Controls/PKM Editor/StatEditor.cs index 15cab6d0f..a287daa1a 100644 --- a/PKHeX.WinForms/Controls/PKM Editor/StatEditor.cs +++ b/PKHeX.WinForms/Controls/PKM Editor/StatEditor.cs @@ -3,6 +3,8 @@ using System.Windows.Forms; using PKHeX.Core; using PKHeX.Drawing; +using PKHeX.Drawing.Misc; +using PKHeX.Drawing.PokeSprite; namespace PKHeX.WinForms.Controls; @@ -389,6 +391,12 @@ public void UpdateStats() LoadBST(pi); LoadPartyStats(Entity); } + if (Entity is ITeraType) + { + var pi = Entity.PersonalInfo; + PB_TeraType1.SetType(pi.Type1); + PB_TeraType2.SetType(pi.Type2); + } } private void LoadBST(IBaseStat pi) @@ -586,8 +594,9 @@ public void ToggleInterface(PKM pk, int gen) FLP_StatsTotal.Visible = gen >= 3; FLP_Characteristic.Visible = gen >= 3; FLP_HPType.Visible = gen <= 7 || pk is PB8; + FLP_TeraType.Visible = FLP_TeraInner.Visible = pk is ITeraType; Label_HiddenPowerPower.Visible = gen <= 5; - FLP_DynamaxLevel.Visible = gen >= 8; + FLP_DynamaxLevel.Visible = gen == 8; FLP_AlphaNoble.Visible = pk is PA8; switch (gen) @@ -640,11 +649,42 @@ static void SetEVMaskSize(Size s, string Mask, MaskedTextBox[] arr) } } + private const string TeraOverrideNone = "---"; + private const byte TeraOverrideNoneValue = TeraTypeUtil.OverrideNone; + + private void L_TeraTypeOriginal_Click(object sender, EventArgs e) + { + var pi = Entity.PersonalInfo; + var current = WinFormsUtil.GetIndex(CB_TeraTypeOriginal); + var update = pi.Type1 == current ? pi.Type2 : pi.Type1; + SetOriginalTeraType(update); + } + + private void SetOriginalTeraType(byte value) + { + CB_TeraTypeOriginal.SelectedValue = (int)value; + CB_TeraTypeOverride.SelectedValue = (int)TeraOverrideNoneValue; + } + + private void PB_TeraType1_Click(object sender, EventArgs e) => SetOriginalTeraType(Entity.PersonalInfo.Type1); + private void PB_TeraType2_Click(object sender, EventArgs e) => SetOriginalTeraType(Entity.PersonalInfo.Type2); + public void InitializeDataSources() { ChangingFields = true; + CB_HPType.InitializeBinding(); - CB_HPType.DataSource = Util.GetCBList(GameInfo.Strings.types.AsSpan(1, 16)); + CB_TeraTypeOriginal.InitializeBinding(); + CB_TeraTypeOverride.InitializeBinding(); + + var types = GameInfo.Strings.types; + CB_HPType.DataSource = Util.GetCBList(types.AsSpan(1, 16)); + + var tera = Util.GetCBList(types); + tera.Insert(0, new(TeraOverrideNone, TeraOverrideNoneValue)); + CB_TeraTypeOriginal.DataSource = new BindingSource(tera, null); + CB_TeraTypeOverride.DataSource = new BindingSource(tera, null); + ChangingFields = false; } @@ -659,4 +699,45 @@ private void CHK_IsAlpha_CheckedChanged(object sender, EventArgs e) if (!ChangingFields) ((PKMEditor) MainEditor).UpdateSprite(); } + + private void L_TeraTypeOverride_Click(object sender, EventArgs e) => CB_TeraTypeOverride.SelectedValue = (int)TeraOverrideNoneValue; + + private void ChangeTeraType(object sender, EventArgs e) + { + if (ChangingFields && sender == CB_TeraTypeOriginal) + return; + + var original = (byte)WinFormsUtil.GetIndex(CB_TeraTypeOriginal); + var update = (byte)WinFormsUtil.GetIndex(CB_TeraTypeOverride); + if (!ChangingFields && Entity is ITeraType t) // Store back + { + if (sender == CB_TeraTypeOriginal) + t.TeraTypeOriginal = (MoveType)original; + else if (sender == CB_TeraTypeOverride) + t.TeraTypeOverride = (MoveType)update; + } + + var type = update; + if (type == TeraOverrideNoneValue) + type = original; + PB_TeraType.Image = TypeSpriteUtil.GetTypeSpriteGem(type); + if (!ChangingFields) + ((PKMEditor)MainEditor).UpdateSprite(); + } +} + +public sealed class TypePictureBox : PictureBox +{ + private byte Type; + + public void SetType(byte type) => BackColor = TypeColor.GetTypeSpriteColor(Type = type); + private readonly ToolTip Tip = new() { InitialDelay = 500, ReshowDelay = 500, ShowAlways = true }; + + // Show a tooltip when hovered. + protected override void OnMouseHover(EventArgs e) + { + base.OnMouseHover(e); + var name = GameInfo.Strings.types[Type]; + Tip.SetToolTip(this, name); + } } diff --git a/PKHeX.WinForms/Controls/SAV Editor/BoxMenuStrip.cs b/PKHeX.WinForms/Controls/SAV Editor/BoxMenuStrip.cs index a5e45273f..182465248 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/BoxMenuStrip.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/BoxMenuStrip.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using PKHeX.Core; @@ -67,9 +67,11 @@ private void AddItem(ISaveFileProvider sav, ToolStripDropDownItem parent, IBoxMa [BoxManipType.SortTraining] = Resources.showdown, [BoxManipType.SortOwner] = Resources.users, [BoxManipType.SortType] = Resources.main, + [BoxManipType.SortTypeTera] = Resources.main, [BoxManipType.SortVersion] = Resources.numlohi, [BoxManipType.SortBST] = Resources.vallohi, [BoxManipType.SortCP] = Resources.vallohi, + [BoxManipType.SortScale] = Resources.vallohi, [BoxManipType.SortLegal] = Resources.export, [BoxManipType.SortEncounterType] = Resources.about, diff --git a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs index 17f31717e..5eb7580d6 100644 --- a/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs +++ b/PKHeX.WinForms/Controls/SAV Editor/SAVEditor.cs @@ -547,19 +547,26 @@ private void B_OpenBoxLayout_Click(object sender, EventArgs e) SAV8SWSH swsh => new SAV_Trainer8(swsh), SAV8BS bs => new SAV_Trainer8b(bs), SAV8LA la => new SAV_Trainer8a(la), + SAV9SV sv => new SAV_Trainer9(sv), _ => new SAV_SimpleTrainer(sav), }; private void B_OpenRaids_Click(object sender, EventArgs e) { - if (SAV is not SAV8SWSH swsh) - return; - if (sender == B_Raids) - OpenDialog(new SAV_Raid8(swsh, swsh.Raid)); - else if (sender == B_RaidArmor) - OpenDialog(new SAV_Raid8(swsh, swsh.RaidArmor)); - else - OpenDialog(new SAV_Raid8(swsh, swsh.RaidCrown)); + if (SAV is SAV9SV sv) + { + if (sender == B_Raids) + OpenDialog(new SAV_Raid9(sv, sv.Raid)); + } + else if (SAV is SAV8SWSH swsh) + { + if (sender == B_Raids) + OpenDialog(new SAV_Raid8(swsh, swsh.Raid)); + else if (sender == B_RaidArmor) + OpenDialog(new SAV_Raid8(swsh, swsh.RaidArmor)); + else + OpenDialog(new SAV_Raid8(swsh, swsh.RaidCrown)); + } } private void B_OtherSlots_Click(object sender, EventArgs e) @@ -642,6 +649,7 @@ private void B_OpenPokedex_Click(object sender, EventArgs e) SAV8SWSH swsh => new SAV_PokedexSWSH(swsh), SAV8BS bs => new SAV_PokedexBDSP(bs), SAV8LA la => new SAV_PokedexLA(la), + SAV9SV swsh => new SAV_PokedexSV(swsh), _ => (Form?)null, }; form?.ShowDialog(); @@ -1122,7 +1130,7 @@ private void ToggleViewSubEditors(SaveFile sav) B_OpenRTCEditor.Visible = sav.Generation == 2 || sav is IGen3Hoenn; B_MailBox.Visible = sav is SAV2 or SAV3 or SAV4 or SAV5; - B_Raids.Visible = sav is SAV8SWSH; + B_Raids.Visible = sav is SAV8SWSH or SAV9SV; B_RaidArmor.Visible = sav is SAV8SWSH {SaveRevision: >= 1}; B_RaidCrown.Visible = sav is SAV8SWSH {SaveRevision: >= 2}; GB_SAVtools.Visible = B_Blocks.Visible = true; diff --git a/PKHeX.WinForms/Properties/PKHeXSettings.cs b/PKHeX.WinForms/Properties/PKHeXSettings.cs index 922767aec..95e6a881b 100644 --- a/PKHeX.WinForms/Properties/PKHeXSettings.cs +++ b/PKHeX.WinForms/Properties/PKHeXSettings.cs @@ -127,7 +127,7 @@ public sealed class StartupSettings : IStartupSettings public List RecentlyLoaded { get; set; } = new(MaxRecentCount); // Don't let invalid values slip into the startup version. - private GameVersion _defaultSaveVersion = GameVersion.PLA; + private GameVersion _defaultSaveVersion = PKX.Version; private string _language = GameLanguage.DefaultLanguage; [Browsable(false)] @@ -382,11 +382,23 @@ public sealed class SpriteSettings : ISpriteSettings [LocalizedDescription("Opacity for the Encounter Type stripe layer.")] public byte ShowEncounterOpacityStripe { get; set; } = 0x5F; // 0xFF opaque + [LocalizedDescription("Amount of pixels thick to show when displaying the encounter type color stripe.")] + public int ShowEncounterThicknessStripe { get; set; } = 4; // pixels + [LocalizedDescription("Show a thin stripe to indicate the percent of level-up progress")] public bool ShowExperiencePercent { get; set; } - [LocalizedDescription("Amount of pixels thick to show when displaying the encounter type color stripe.")] - public int ShowEncounterThicknessStripe { get; set; } = 4; // pixels + [LocalizedDescription("Show a background to differentiate the Tera Type for PKM slots")] + public SpriteBackgroundType ShowTeraType { get; set; } = SpriteBackgroundType.BottomStripe; + + [LocalizedDescription("Amount of pixels thick to show when displaying the Tera Type color stripe.")] + public int ShowTeraThicknessStripe { get; set; } = 4; // pixels + + [LocalizedDescription("Opacity for the Tera Type background layer.")] + public byte ShowTeraOpacityBackground { get; set; } = 0xFF; // 0xFF opaque + + [LocalizedDescription("Opacity for the Tera Type stripe layer.")] + public byte ShowTeraOpacityStripe { get; set; } = 0xAF; // 0xFF opaque } [Serializable] diff --git a/PKHeX.WinForms/Properties/Resources.Designer.cs b/PKHeX.WinForms/Properties/Resources.Designer.cs index 13e497129..4902dba9b 100644 --- a/PKHeX.WinForms/Properties/Resources.Designer.cs +++ b/PKHeX.WinForms/Properties/Resources.Designer.cs @@ -214,13 +214,12 @@ public class Resources { /// Looks up a localized string similar to PKHeX - By Kaphotics ///http://projectpokemon.org/pkhex/ /// - ///22/03/18 - New Update: - /// - Added support for BDSP v1.3 save data format. - /// - Legality: - /// - - Added: Experience above level 100 is now checked. - /// - - Fixed: PLA Massive Mass Outbreak now correctly identify Overqwil/etc evolutions captured directly in the wild. - /// - Added: Batch editor can now copy properties using * -- for example, .PID=*EncryptionConstant will copy the EC to PID. - /// - Added: Sprites now show an orange-colored line (instead of yellow) i [rest of string was truncated]";. + ///22/09/13 - New Update: + /// - Legality: Fixed small regressions in move / ribbon / memory legality checks. + /// - Changed: RNG pidiv detection speed drastically improved. Not that you'd really notice since everything is already fast. + /// - Fixed: BW personal data API has been regenerated to fix previous corrupted return values. + /// - Fixed: Colosseum/XD playtime values now set the Hour value correctly. + /// - Fixed: Gen1 OT name now writes the final terminator 0x [rest of string was truncated]";. /// public static string changelog { get { @@ -458,6 +457,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap gen_sv { + get { + object obj = ResourceManager.GetObject("gen_sv", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -572,10 +581,10 @@ public class Resources { /// Looks up a localized string similar to About=Über ///BatchEditor=Batch Editor ///ErrorWindow=Fehler - ///KChart=KTabelle + ///KChart=Tabelle ///Main=PKHeX ///MemoryAmie=Erinnerung / Ami Editor - ///MoveShopEditor=Move Shop Editor + ///MoveShopEditor=Attacken Tutor Editor ///RibbonEditor=Band Editor ///SAV_Apricorn=Aprikoko Editor ///SAV_BerryField=Beerenfeld Ansicht @@ -585,9 +594,9 @@ public class Resources { ///SAV_Capture7GG=Fang Statistik Editor ///SAV_CGearSkin=C-Gear Skin ///SAV_Database=Datenbank - ///SAV_Encounters=Datenbank + ///SAV_Encounters=Begegnungen ///SAV_EventFlags=Event Flag Editor - ///SAV_EventReset1=Event [rest of string was truncated]";. + ///SAV_EventReset1 [rest of string was truncated]";. /// public static string lang_de { get { @@ -674,25 +683,24 @@ public class Resources { } /// - /// Looks up a localized string similar to About=About - ///BatchEditor=Batch Editor - ///ErrorWindow=Error + /// Looks up a localized string similar to About=Info + ///BatchEditor=Editor Batch + ///ErrorWindow=Errore ///KChart=KChart ///Main=PKHeX - ///MemoryAmie=Memory / Amie Editor - ///MoveShopEditor=Move Shop Editor - ///RibbonEditor=Ribbon Editor - ///SAV_Apricorn=Apricorn Editor - ///SAV_BerryField=Berry Field Viewer - ///SAV_BlockDump8=Savedata Block Dump - ///SAV_BoxLayout=Box Layout Editor - ///SAV_BoxList=Storage Viewer - ///SAV_Capture7GG=Capture Record Editor + ///MemoryAmie=Editor Memorie / Poké Io e Te + ///MoveShopEditor=Editor Negozio Mosse + ///RibbonEditor=Editor Fiocchi + ///SAV_Apricorn=Editor Ghicocche + ///SAV_BerryField=Visualizzatore Campi di Bacche + ///SAV_BlockDump8=Dump Blocchi di Salvataggio + ///SAV_BoxLayout=Editor Disposizione dei Box + ///SAV_BoxList=Visualizzatore Storage + ///SAV_Capture7GG=Editor Record di Catture ///SAV_CGearSkin=C-Gear Skin ///SAV_Database=Database ///SAV_Encounters=Database - ///SAV_EventFlags=Event Flag Editor - ///SAV_EventReset1=Event Re [rest of string was truncated]";. + ///SA [rest of string was truncated]";. /// public static string lang_it { get { @@ -793,7 +801,7 @@ public class Resources { return ResourceManager.GetString("lang_zh", resourceCulture); } } - + /// /// Looks up a localized string similar to About=關於 ///BatchEditor=批量編輯器 diff --git a/PKHeX.WinForms/Properties/Resources.resx b/PKHeX.WinForms/Properties/Resources.resx index 24d940b75..330a07ca8 100644 --- a/PKHeX.WinForms/Properties/Resources.resx +++ b/PKHeX.WinForms/Properties/Resources.resx @@ -391,4 +391,7 @@ ..\Resources\img\Accents\gender_2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\Markings\gen_sv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_6.png b/PKHeX.WinForms/Resources/img/Markings/gen_6.png index 358d511ff..670a4d60a 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_6.png and b/PKHeX.WinForms/Resources/img/Markings/gen_6.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_7.png b/PKHeX.WinForms/Resources/img/Markings/gen_7.png index d3bde742d..9ad72e092 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_7.png and b/PKHeX.WinForms/Resources/img/Markings/gen_7.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_8.png b/PKHeX.WinForms/Resources/img/Markings/gen_8.png index 1551a60fc..2282df5ed 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_8.png and b/PKHeX.WinForms/Resources/img/Markings/gen_8.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_bs.png b/PKHeX.WinForms/Resources/img/Markings/gen_bs.png index 8e8ea9f8e..120ad76cd 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_bs.png and b/PKHeX.WinForms/Resources/img/Markings/gen_bs.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_gg.png b/PKHeX.WinForms/Resources/img/Markings/gen_gg.png index 80237f932..8e99cbeb6 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_gg.png and b/PKHeX.WinForms/Resources/img/Markings/gen_gg.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_go.png b/PKHeX.WinForms/Resources/img/Markings/gen_go.png index cec84dc73..234609203 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_go.png and b/PKHeX.WinForms/Resources/img/Markings/gen_go.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_la.png b/PKHeX.WinForms/Resources/img/Markings/gen_la.png index 756a39631..50d087eb6 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_la.png and b/PKHeX.WinForms/Resources/img/Markings/gen_la.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_sv.png b/PKHeX.WinForms/Resources/img/Markings/gen_sv.png new file mode 100644 index 000000000..1c41a138b Binary files /dev/null and b/PKHeX.WinForms/Resources/img/Markings/gen_sv.png differ diff --git a/PKHeX.WinForms/Resources/img/Markings/gen_vc.png b/PKHeX.WinForms/Resources/img/Markings/gen_vc.png index f5e76cfce..8ea6aef4f 100644 Binary files a/PKHeX.WinForms/Resources/img/Markings/gen_vc.png and b/PKHeX.WinForms/Resources/img/Markings/gen_vc.png differ diff --git a/PKHeX.WinForms/Resources/text/changelog.txt b/PKHeX.WinForms/Resources/text/changelog.txt index f879ad785..dfb4822e5 100644 --- a/PKHeX.WinForms/Resources/text/changelog.txt +++ b/PKHeX.WinForms/Resources/text/changelog.txt @@ -1,7 +1,28 @@ PKHeX - By Kaphotics http://projectpokemon.org/pkhex/ -22/09/13 - New Update: +22/11/24 - New Update: + - Introducing Scarlet & Violet Support! Thanks @SciresM, @sora10pls, @Lusamine! + - - Initial Legality Checking is provided. Please refer to the forums when reporting legality issues for SV parsing. + - - Save Data is similar to SW/SH; a pokedex, trainer, inventory, Raid, and block data editor are provided. + - - Encounter legality has been reverse engineered & modeled to pre-compute possible met locations for overworld interactables. + - Added: + - - Gen9 SV wild encounters are now generated with RNG patterns matching the game. Thanks @Lusamine ! + - - Gen9 SV zone unlock cheat to fly to all locations. Thanks @sora10pls ! + - - Gen9 Tera Type is indicated on the Stats page as well as mini sprite previews. Clicking the Original label will toggle the original type. + - - Gen9 Obedience Level tracks the level the entity arrived with the current handler. + - - Gen4 Ranch support extended. Thanks @Zazsona ! + - - Ribbon Editor now sorts and highlights valid ribbons that can be applied. + - Changed: + - - Gen3/4 LCRNG reversal algorithms improved (50x faster!). Thanks @StarfBerry (Parzival)! + - - Display precision of Height/Weight float values now shows a round-trip equal value instead of potentially truncating decimals. + - - Clicking stat labels now changes nature amplification. Refer to the shortcut list for more info. + - - Settings window can now be resized. + - - Gen3 mGBA saves with new RTC footer now are recognized correctly. Thanks @Bl4ckSh4rk ! + - Fixed: + - - Too many things to list! Thanks everyone who has highlighted issues / contributed fixes in the past 2.5 months! + +22/09/13 - New Update: (315677) [5587991] - Legality: Fixed small regressions in move / ribbon / memory legality checks. - Changed: RNG pidiv detection speed drastically improved. Not that you'd really notice since everything is already fast. - Fixed: BW personal data API has been regenerated to fix previous corrupted return values. diff --git a/PKHeX.WinForms/Resources/text/lang_de.txt b/PKHeX.WinForms/Resources/text/lang_de.txt index 2e48ddc0f..69687f190 100644 --- a/PKHeX.WinForms/Resources/text/lang_de.txt +++ b/PKHeX.WinForms/Resources/text/lang_de.txt @@ -34,7 +34,7 @@ SAV_Misc8b=Sonstiges SAV_MysteryGiftDB=Datenbank SAV_OPower=O-Kraft Editor SAV_Poffin8b=Knursp Editor -SAV_Pokebean=‎Pokébohnen Editor +SAV_Pokebean=Pokébohnen Editor SAV_PokeBlockORAS=Pokéblock Editor SAV_Pokedex4=Pokédex Editor SAV_Pokedex5=Pokédex Editor @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=Pokédex Editor (ORAS) SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=Pokédex Editor +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Pokédex Editor SAV_PokedexXY=Pokédex Editor (XY) -SAV_Pokepuff=‎Pofflé Editor +SAV_Pokepuff=Pofflé Editor SAV_Raid8=Raid Parameter Editor +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=Wanderpokémon Editor SAV_RTC3=Uhr (RTC) Editor SAV_SealStickers8b=Sticker @@ -61,6 +63,7 @@ SAV_Trainer7GG=Trainer Editor SAV_Trainer8=Trainer Editor SAV_Trainer8a=Trainer Editor SAV_Trainer8b=Trainer Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=Untergrund Editor SAV_Underground8b=Untergrund Items Editor SAV_Wondercard=Geheimgeschenk Editor @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Deckkraft der Begegnungs Typen S LocalizedDescription.ShowEncounterThicknessStripe=Anzahl der Pixel des farbigen Streifens der Begegnungs Typen. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Finde automatisch den zuletzt geöffneten Spielstand beim Öffnen einer neuen Datei. LocalizedDescription.Unicode=Unicode @@ -165,7 +172,7 @@ Main.B_OpenOPowers=O-Kräfte Main.B_OpenPokeBeans=Pokébohnen Main.B_OpenPokeblocks=Pokériegel Main.B_OpenPokedex=Pokédex -Main.B_OpenPokepuffs=‎Pofflés +Main.B_OpenPokepuffs=Pofflés Main.B_OpenRTCEditor=Uhr (RTC) Main.B_OpenSealStickers=Sticker Main.B_OpenSecretBase=Geheimbasis @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME Tracker: Main.L_MetTimeOfDay=Tageszeit: Main.L_Misc=Sonstiges Main.L_NSparkle=Ns Glanz: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Status Wesen: Main.L_Party=Team: Main.L_ReadOnlyOther=Dieser Tab ist nur lesbar. Main.L_Resort=Resort Main.L_SaveSlot=Save Slot: +Main.L_Scale=Scale: Main.L_Secure1=Secure Value 1: Main.L_Secure2=Secure Value 2: Main.L_ShadowID=Crypto ID: Main.L_ShinyLeaf=Glänzendes Blatt: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Gewicht: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -366,11 +377,13 @@ Main.mnu_SortOwner=Besitzer Main.mnu_SortParty=Sortiere Team Main.mnu_SortPotential=DV Potential Main.mnu_SortRandom=Zufall +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Schillernd Main.mnu_SortSpecies=Pokédex Nr. Main.mnu_SortSpeciesReverse=Pokédex Nr. (umgekehrt) Main.mnu_SortTraining=EV Training Main.mnu_SortType=Typ +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Verwendung Main.mnu_SortVersion=Version Main.mnuDelete=Löschen @@ -492,6 +505,7 @@ SAV_CGearSkin.B_ExportPNG=Speichere .png SAV_CGearSkin.B_ImportCGB=Öffne .cgb/.psk SAV_CGearSkin.B_ImportPNG=Öffne .png SAV_CGearSkin.B_Save=Speichern +SAV_Database.B_Add=Add SAV_Database.B_Reset=Filter zurücksetzen SAV_Database.B_Search=Suchen! SAV_Database.CHK_IsEgg=Ei @@ -531,6 +545,7 @@ SAV_Database.Menu_SearchSettings=Such-Einstellungen SAV_Database.Menu_Tools=Werkzeuge SAV_Database.Tab_Advanced=Erweitert SAV_Database.Tab_General=Haupt +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Filter zurücksetzen SAV_Encounters.B_Search=Suchen! SAV_Encounters.CHK_IsEgg=Ei @@ -896,6 +911,7 @@ SAV_Misc8b.B_Shaymin=Shaymin Event freischalten SAV_Misc8b.B_Spiritomb=Alle Untergrund NPCs grüßen (Kryppuk) SAV_Misc8b.B_Zones=Alle Zonen freischalten SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Filter zurücksetzen SAV_MysteryGiftDB.B_Search=Suchen! SAV_MysteryGiftDB.CHK_IsEgg=Ei @@ -1182,6 +1198,31 @@ SAV_PokedexSM.GB_Encountered=Gesehen SAV_PokedexSM.GB_Language=Sprachen SAV_PokedexSM.GB_Owned=Gefangen SAV_PokedexSM.L_goto=gehe zu: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Abbrechen SAV_PokedexSWSH.B_GiveAll=Alle SAV_PokedexSWSH.B_Modify=Bearbeiten... @@ -1244,9 +1285,13 @@ SAV_Pokepuff.B_Cancel=Abbr. SAV_Pokepuff.B_None=Keins SAV_Pokepuff.B_Save=OK SAV_Pokepuff.B_Sort=Sortieren -SAV_Raid8.B_ActivateAll=Aktiviere alle SAV_Raid8.B_Cancel=Abbrechen SAV_Raid8.B_Save=Speichern +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=Abbrechen SAV_Roamer3.B_Save=Speichern SAV_Roamer3.CHK_Active=Wanderer (Aktiv) @@ -1621,6 +1666,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Karte SAV_Trainer8b.Tab_Overview=Übersicht +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=Abbrechen SAV_Underground.B_Save=Speichern SAV_Underground.GB_UScores=Wertungen diff --git a/PKHeX.WinForms/Resources/text/lang_en.txt b/PKHeX.WinForms/Resources/text/lang_en.txt index 4facfac6c..83baed831 100644 --- a/PKHeX.WinForms/Resources/text/lang_en.txt +++ b/PKHeX.WinForms/Resources/text/lang_en.txt @@ -34,7 +34,7 @@ SAV_Misc8b=Misc Editor SAV_MysteryGiftDB=Database SAV_OPower=O-Power Editor SAV_Poffin8b=Poffin Editor -SAV_Pokebean=‎Poké Beans Editor +SAV_Pokebean=Poké Beans Editor SAV_PokeBlockORAS=Pokéblock Editor SAV_Pokedex4=Pokédex Editor SAV_Pokedex5=Pokédex Editor @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=Pokédex Editor (ORAS) SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=Pokédex Editor +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Pokédex Editor SAV_PokedexXY=Pokédex Editor (XY) -SAV_Pokepuff=‎Poké Puffs Editor +SAV_Pokepuff=Poké Puffs Editor SAV_Raid8=Raid Parameter Editor +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=Roamer Editor SAV_RTC3=Real Time Clock Editor SAV_SealStickers8b=Seal Sticker List @@ -61,6 +63,7 @@ SAV_Trainer7GG=Trainer Data Editor SAV_Trainer8=Trainer Data Editor SAV_Trainer8a=Trainer Data Editor SAV_Trainer8b=Trainer Data Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=Underground Editor SAV_Underground8b=Underground Items Editor SAV_Wondercard=Mystery Gift I/O @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Automatically locates the most recently saved Save File when opening a new file. LocalizedDescription.Unicode=Unicode @@ -165,7 +172,7 @@ Main.B_OpenOPowers=O-Powers Main.B_OpenPokeBeans=Poké Beans Main.B_OpenPokeblocks=Pokéblocks Main.B_OpenPokedex=Pokédex -Main.B_OpenPokepuffs=‎Poké Puffs +Main.B_OpenPokepuffs=Poké Puffs Main.B_OpenRTCEditor=Clock (RTC) Main.B_OpenSealStickers=Seal Stickers Main.B_OpenSecretBase=Secret Base @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME Tracker: Main.L_MetTimeOfDay=Time of Day: Main.L_Misc=Misc Main.L_NSparkle=N's Sparkle: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Stat Nature: Main.L_Party=Party: Main.L_ReadOnlyOther=This tab is read only. Main.L_Resort=Resort Main.L_SaveSlot=Save Slot: +Main.L_Scale=Scale: Main.L_Secure1=Secure Value 1: Main.L_Secure2=Secure Value 2: Main.L_ShadowID=Shadow ID: Main.L_ShinyLeaf=Shiny Leaf: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Weight: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -363,14 +374,16 @@ Main.mnu_SortLevel=Level (Low to High) Main.mnu_SortLevelReverse=Level (High to Low) Main.mnu_SortName=Species Name Main.mnu_SortOwner=Ownership -Main.mnu_SortParty=SortParty +Main.mnu_SortParty=Party Main.mnu_SortPotential=IV Potential Main.mnu_SortRandom=Random +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Shiny Main.mnu_SortSpecies=Pokédex No. Main.mnu_SortSpeciesReverse=Pokédex No. (Reverse) Main.mnu_SortTraining=EV Training Main.mnu_SortType=Type +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Usage Main.mnu_SortVersion=Version Main.mnuDelete=Delete @@ -488,6 +501,7 @@ SAV_CGearSkin.B_ExportPNG=Export .png SAV_CGearSkin.B_ImportCGB=Import .cgb/.psk SAV_CGearSkin.B_ImportPNG=Import .png SAV_CGearSkin.B_Save=Save +SAV_Database.B_Add=Add SAV_Database.B_Reset=Reset Filters SAV_Database.B_Search=Search! SAV_Database.CHK_IsEgg=Egg @@ -527,6 +541,7 @@ SAV_Database.Menu_SearchSettings=Search Settings SAV_Database.Menu_Tools=Tools SAV_Database.Tab_Advanced=Advanced SAV_Database.Tab_General=General +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Reset Filters SAV_Encounters.B_Search=Search! SAV_Encounters.CHK_IsEgg=Egg @@ -892,6 +907,7 @@ SAV_Misc8b.B_Shaymin=Unlock Shaymin Event SAV_Misc8b.B_Spiritomb=Greet all Underground NPCs (Spiritomb) SAV_Misc8b.B_Zones=Unlock All Zones SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Reset Filters SAV_MysteryGiftDB.B_Search=Search! SAV_MysteryGiftDB.CHK_IsEgg=Egg @@ -1178,6 +1194,31 @@ SAV_PokedexSM.GB_Encountered=Seen SAV_PokedexSM.GB_Language=Languages SAV_PokedexSM.GB_Owned=Owned SAV_PokedexSM.L_goto=goto: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Cancel SAV_PokedexSWSH.B_GiveAll=Check All SAV_PokedexSWSH.B_Modify=Modify... @@ -1240,9 +1281,13 @@ SAV_Pokepuff.B_Cancel=Cancel SAV_Pokepuff.B_None=None SAV_Pokepuff.B_Save=Save SAV_Pokepuff.B_Sort=Sort -SAV_Raid8.B_ActivateAll=Activate All SAV_Raid8.B_Cancel=Cancel SAV_Raid8.B_Save=Save +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=Cancel SAV_Roamer3.B_Save=Save SAV_Roamer3.CHK_Active=Roaming (Active) @@ -1617,6 +1662,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Overview +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=Cancel SAV_Underground.B_Save=Save SAV_Underground.GB_UScores=Scores diff --git a/PKHeX.WinForms/Resources/text/lang_es.txt b/PKHeX.WinForms/Resources/text/lang_es.txt index e2ab45f2e..8193d4860 100644 --- a/PKHeX.WinForms/Resources/text/lang_es.txt +++ b/PKHeX.WinForms/Resources/text/lang_es.txt @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=Editor de Pokédex SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=Editor de Pokédex +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Editor de Pokédex SAV_PokedexXY=Editor de Pokédex SAV_Pokepuff=Editor de Pokélitos SAV_Raid8=Editor de parámetros de Incursión +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=Editor de Pokémon Errante SAV_RTC3=Editor de Reloj de Tiempo Real SAV_SealStickers8b=Seal Sticker List @@ -61,6 +63,7 @@ SAV_Trainer7GG=Editor de datos del Entrenador SAV_Trainer8=Editor de datos del Entrenador SAV_Trainer8a=Trainer Data Editor SAV_Trainer8b=Trainer Data Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=Editor del Subsuelo SAV_Underground8b=Underground Items Editor SAV_Wondercard=Editor de Tarjetas Misteriosas @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Localiza automáticamente el archivo de guardado más reciente al abrir un nuevo archivo. LocalizedDescription.Unicode=Unicode @@ -235,15 +242,19 @@ Main.L_HomeTracker=Rastreador HOME: Main.L_MetTimeOfDay=Momento del día: Main.L_Misc=Misc. Main.L_NSparkle=Brillo de N +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Nat. Estad.: Main.L_Party=Equipo: Main.L_ReadOnlyOther=Sólo lectura. Main.L_Resort=Resortear Main.L_SaveSlot=Ranura de guardado: +Main.L_Scale=Scale: Main.L_Secure1=Valor seguro 1: Main.L_Secure2=Valor seguro 2: Main.L_ShadowID=ID Oscuro: Main.L_ShinyLeaf=Hoja dorada: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Peso: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -366,11 +377,13 @@ Main.mnu_SortOwner=EO Main.mnu_SortParty=Equipo Main.mnu_SortPotential=Potencial de IVs Main.mnu_SortRandom=Aleatorio +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Variocolor Main.mnu_SortSpecies=N.º PokéDex Main.mnu_SortSpeciesReverse=N.º PokéDex (inverso) Main.mnu_SortTraining=Entrenamiento de EVs Main.mnu_SortType=Tipo +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Uso Main.mnu_SortVersion=Versión Main.mnuDelete=Borrar @@ -488,6 +501,7 @@ SAV_CGearSkin.B_ExportPNG=Exportar .png SAV_CGearSkin.B_ImportCGB=Importar .cgb/.psk SAV_CGearSkin.B_ImportPNG=Importar .png SAV_CGearSkin.B_Save=Guardar +SAV_Database.B_Add=Add SAV_Database.B_Reset=Borrar filtros SAV_Database.B_Search=¡Buscar! SAV_Database.CHK_IsEgg=Huevo @@ -527,6 +541,7 @@ SAV_Database.Menu_SearchSettings=Opciones de búsqueda SAV_Database.Menu_Tools=Herramientas SAV_Database.Tab_Advanced=Avanzado SAV_Database.Tab_General=General +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Reiniciar filtros SAV_Encounters.B_Search=¡Buscar! SAV_Encounters.CHK_IsEgg=Huevo @@ -892,6 +907,7 @@ SAV_Misc8b.B_Shaymin=Unlock Shaymin Event SAV_Misc8b.B_Spiritomb=Greet all Underground NPCs (Spiritomb) SAV_Misc8b.B_Zones=Unlock All Zones SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Borrar filtros SAV_MysteryGiftDB.B_Search=¡Buscar! SAV_MysteryGiftDB.CHK_IsEgg=Huevo @@ -1178,6 +1194,31 @@ SAV_PokedexSM.GB_Encountered=Visto SAV_PokedexSM.GB_Language=Idiomas SAV_PokedexSM.GB_Owned=Obtenido SAV_PokedexSM.L_goto=Ir a: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Cancelar SAV_PokedexSWSH.B_GiveAll=Registrar SAV_PokedexSWSH.B_Modify=Modificar... @@ -1240,9 +1281,13 @@ SAV_Pokepuff.B_Cancel=Cancelar SAV_Pokepuff.B_None=Ninguno SAV_Pokepuff.B_Save=Guardar SAV_Pokepuff.B_Sort=Editar -SAV_Raid8.B_ActivateAll=Activar todas SAV_Raid8.B_Cancel=Cancelar SAV_Raid8.B_Save=Guardar +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=Cancelar SAV_Roamer3.B_Save=Guardar SAV_Roamer3.CHK_Active=Errante (activo) @@ -1617,6 +1662,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Overview +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=Cancelar SAV_Underground.B_Save=Guardar SAV_Underground.GB_UScores=Puntajes diff --git a/PKHeX.WinForms/Resources/text/lang_fr.txt b/PKHeX.WinForms/Resources/text/lang_fr.txt index 94eb0127b..1de7924f0 100644 --- a/PKHeX.WinForms/Resources/text/lang_fr.txt +++ b/PKHeX.WinForms/Resources/text/lang_fr.txt @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=Éditeur Pokédex (ROSA) SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=Éditeur Pokédex +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Éditeur Pokédex SAV_PokedexXY=Éditeur Pokédex (XY) SAV_Pokepuff=Éditeur Poké Puffs SAV_Raid8=Éditeur de paramètres de raid +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=Éditeur itinérant SAV_RTC3=Éditeur d'horloge en temps réel SAV_SealStickers8b=Seal Sticker List @@ -61,6 +63,7 @@ SAV_Trainer7GG=Éditeur de données de l'entraîneur SAV_Trainer8=Éditeur de données de l'entraîneur SAV_Trainer8a=Trainer Data Editor SAV_Trainer8b=Trainer Data Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=Éditeur souterrain SAV_Underground8b=Underground Items Editor SAV_Wondercard=Cadeau Mystère I/O @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Automatically locates the most recently saved Save File when opening a new file. LocalizedDescription.Unicode=Unicode @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME Tracker: Main.L_MetTimeOfDay=Time of Day: Main.L_Misc=Misc Main.L_NSparkle=N's Sparkle: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Stat Nature: Main.L_Party=Équipe : Main.L_ReadOnlyOther=Cet onglet est en lecture seule. Main.L_Resort=Resort Main.L_SaveSlot=Save Slot: +Main.L_Scale=Scale: Main.L_Secure1=Secure Value 1: Main.L_Secure2=Secure Value 2: Main.L_ShadowID=Shadow ID: Main.L_ShinyLeaf=Shiny Leaf: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Weight: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -363,14 +374,16 @@ Main.mnu_SortLevel=Level (Low to High) Main.mnu_SortLevelReverse=Level (High to Low) Main.mnu_SortName=Species Name Main.mnu_SortOwner=Ownership -Main.mnu_SortParty=SortParty +Main.mnu_SortParty=Party Main.mnu_SortPotential=IV Potential Main.mnu_SortRandom=Random +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Shiny Main.mnu_SortSpecies=Pokédex No. Main.mnu_SortSpeciesReverse=Pokédex No. (Reverse) Main.mnu_SortTraining=EV Training Main.mnu_SortType=Type +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Usage Main.mnu_SortVersion=Version Main.mnuDelete=Effacer @@ -492,6 +505,7 @@ SAV_CGearSkin.B_ExportPNG=Export .png SAV_CGearSkin.B_ImportCGB=Import .cgb/.psk SAV_CGearSkin.B_ImportPNG=Import .png SAV_CGearSkin.B_Save=Sauvegarder +SAV_Database.B_Add=Add SAV_Database.B_Reset=Réinit. Filtres SAV_Database.B_Search=Rechercher SAV_Database.CHK_IsEgg=Œuf @@ -531,6 +545,7 @@ SAV_Database.Menu_SearchSettings=Search Settings SAV_Database.Menu_Tools=Tools SAV_Database.Tab_Advanced=Advanced SAV_Database.Tab_General=General +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Reset Filters SAV_Encounters.B_Search=Search! SAV_Encounters.CHK_IsEgg=Egg @@ -896,6 +911,7 @@ SAV_Misc8b.B_Shaymin=Unlock Shaymin Event SAV_Misc8b.B_Spiritomb=Greet all Underground NPCs (Spiritomb) SAV_Misc8b.B_Zones=Unlock All Zones SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Reset Filters SAV_MysteryGiftDB.B_Search=Search! SAV_MysteryGiftDB.CHK_IsEgg=Egg @@ -1182,6 +1198,31 @@ SAV_PokedexSM.GB_Encountered=Rencontré SAV_PokedexSM.GB_Language=Langues SAV_PokedexSM.GB_Owned=Capturé SAV_PokedexSM.L_goto=goto: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Cancel SAV_PokedexSWSH.B_GiveAll=Check All SAV_PokedexSWSH.B_Modify=Modify... @@ -1244,9 +1285,13 @@ SAV_Pokepuff.B_Cancel=Cancel SAV_Pokepuff.B_None=None SAV_Pokepuff.B_Save=Save SAV_Pokepuff.B_Sort=Sort -SAV_Raid8.B_ActivateAll=Activate All SAV_Raid8.B_Cancel=Cancel SAV_Raid8.B_Save=Save +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=Cancel SAV_Roamer3.B_Save=Save SAV_Roamer3.CHK_Active=Roaming (Active) @@ -1621,6 +1666,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Overview +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=Cancel SAV_Underground.B_Save=Save SAV_Underground.GB_UScores=Scores diff --git a/PKHeX.WinForms/Resources/text/lang_it.txt b/PKHeX.WinForms/Resources/text/lang_it.txt index bddb12f20..75fd25c89 100644 --- a/PKHeX.WinForms/Resources/text/lang_it.txt +++ b/PKHeX.WinForms/Resources/text/lang_it.txt @@ -34,7 +34,7 @@ SAV_Misc8b=Editor vari SAV_MysteryGiftDB=Database SAV_OPower=Editor Poteri-O SAV_Poffin8b=Editor Poffin -SAV_Pokebean=‎Editor Pokégioli +SAV_Pokebean=Editor Pokégioli SAV_PokeBlockORAS=Editor Pokémelle SAV_Pokedex4=Editor Pokédex SAV_Pokedex5=Editor Pokédex @@ -44,10 +44,12 @@ SAV_PokedexLA=Editor Pokédex SAV_PokedexORAS=Editor Pokédex (ROZA) SAV_PokedexResearchEditorLA=Editor Ricerche del Pokédex SAV_PokedexSM=Editor Pokédex +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Editor Pokédex SAV_PokedexXY=Editor Pokédex (XY) -SAV_Pokepuff=‎Editor Pokébignè +SAV_Pokepuff=Editor Pokébignè SAV_Raid8=Editor Parametri Raid +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=Editor Vaganti SAV_RTC3=Editor Orologio in tempo reale SAV_SealStickers8b=Lista Bolli @@ -61,6 +63,7 @@ SAV_Trainer7GG=Editor Dati Allenatore SAV_Trainer8=Editor Dati Allenatore SAV_Trainer8a=Editor Dati Allenatore SAV_Trainer8b=Editor Dati Allenatore +SAV_Trainer9=Trainer Data Editor SAV_Underground=Editor Sotterranei SAV_Underground8b=Editor Strumenti Sotterranei SAV_Wondercard=Dono Segreto I/O @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacità per la barra del Tipo d LocalizedDescription.ShowEncounterThicknessStripe=Spessore dei Pixel da mostrare per la barra del Tipo di Incontro. LocalizedDescription.ShowExperiencePercent=Mostra una piccola barra per indicare la percentuale di progresso di Aumento Livello LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Quale modalità di costruzione sprite utilizzare LocalizedDescription.TryDetectRecentSave=Localizza automaticamente l'ultimo File salvato quando apri un nuovo File. LocalizedDescription.Unicode=Unicode @@ -165,7 +172,7 @@ Main.B_OpenOPowers=Poteri O Main.B_OpenPokeBeans=Pokégioli Main.B_OpenPokeblocks=Pokémelle Main.B_OpenPokedex=Pokédex -Main.B_OpenPokepuffs=‎Pokébignè +Main.B_OpenPokepuffs=Pokébignè Main.B_OpenRTCEditor=Orologio (RTC) Main.B_OpenSealStickers=Bolli Main.B_OpenSecretBase=Basi Segrete @@ -235,15 +242,19 @@ Main.L_HomeTracker=Monitoraggio HOME: Main.L_MetTimeOfDay=Fase del giorno: Main.L_Misc=Varie Main.L_NSparkle=Scintillio di N: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Natura Statistiche: Main.L_Party=Squadra: Main.L_ReadOnlyOther=Questa sezione è di sola lettura. Main.L_Resort=Resort Main.L_SaveSlot=Slot Salvataggio: +Main.L_Scale=Scale: Main.L_Secure1=Secure Value 1: Main.L_Secure2=Secure Value 2: Main.L_ShadowID=ID Ombra: Main.L_ShinyLeaf=Foglialucente: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Peso: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -366,11 +377,13 @@ Main.mnu_SortOwner=Proprietà Main.mnu_SortParty=RiordinaSquadra Main.mnu_SortPotential=Potenziale IV Main.mnu_SortRandom=Casuale +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Shiny Main.mnu_SortSpecies=Numero Pokédex Main.mnu_SortSpeciesReverse=Numero Pokédex (Reverse) Main.mnu_SortTraining=Allenamento EV Main.mnu_SortType=Tipo +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Utilizzo Main.mnu_SortVersion=Versione Main.mnuDelete=Elimina @@ -492,6 +505,7 @@ SAV_CGearSkin.B_ExportPNG=Esporta .png SAV_CGearSkin.B_ImportCGB=Importa .cgb/.psk SAV_CGearSkin.B_ImportPNG=Importa .png SAV_CGearSkin.B_Save=Salva +SAV_Database.B_Add=Add SAV_Database.B_Reset=Reset Filtri SAV_Database.B_Search=Cerca! SAV_Database.CHK_IsEgg=Uovo @@ -531,6 +545,7 @@ SAV_Database.Menu_SearchSettings=Impostazioni Ricerca SAV_Database.Menu_Tools=Strumenti SAV_Database.Tab_Advanced=Avanzate SAV_Database.Tab_General=Generale +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Reset Filtri SAV_Encounters.B_Search=Cerca! SAV_Encounters.CHK_IsEgg=Uova @@ -902,6 +917,7 @@ SAV_Misc8b.B_Shaymin=Sblocca l'Evento di Shaymin SAV_Misc8b.B_Spiritomb=Incontra tutti gli NPC nei Sotterranei (Spiritomb) SAV_Misc8b.B_Zones=Sblocca tutte le zone SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Reset Filtri SAV_MysteryGiftDB.B_Search=Cerca! SAV_MysteryGiftDB.CHK_IsEgg=Uovo @@ -1188,6 +1204,31 @@ SAV_PokedexSM.GB_Encountered=Visti: SAV_PokedexSM.GB_Language=Lingue SAV_PokedexSM.GB_Owned=Ottenuto SAV_PokedexSM.L_goto=goto: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Annulla SAV_PokedexSWSH.B_GiveAll=Sel. Tutto SAV_PokedexSWSH.B_Modify=Modifica... @@ -1250,9 +1291,13 @@ SAV_Pokepuff.B_Cancel=Annulla SAV_Pokepuff.B_None=Nessuno SAV_Pokepuff.B_Save=Salva SAV_Pokepuff.B_Sort=Ordina -SAV_Raid8.B_ActivateAll=Attiva Tutto SAV_Raid8.B_Cancel=Annulla SAV_Raid8.B_Save=Salva +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=Annulla SAV_Roamer3.B_Save=Salva SAV_Roamer3.CHK_Active=Vaganti (Attivo) @@ -1627,6 +1672,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Panoramica +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=Annulla SAV_Underground.B_Save=Salva SAV_Underground.GB_UScores=Punteggi diff --git a/PKHeX.WinForms/Resources/text/lang_ja.txt b/PKHeX.WinForms/Resources/text/lang_ja.txt index 101211db5..36df43b33 100644 --- a/PKHeX.WinForms/Resources/text/lang_ja.txt +++ b/PKHeX.WinForms/Resources/text/lang_ja.txt @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=ポケモン図鑑 SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=ポケモン図鑑 +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=Pokédex Editor SAV_PokedexXY=ポケモン図鑑 SAV_Pokepuff=ポフレ SAV_Raid8=Raid Parameter Editor +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=徘徊ポケモン SAV_RTC3=Real Time Clock SAV_SealStickers8b=Seal Sticker List @@ -61,6 +63,7 @@ SAV_Trainer7GG=Trainer Data Editor SAV_Trainer8=Trainer Data Editor SAV_Trainer8a=Trainer Data Editor SAV_Trainer8b=Trainer Data Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=ちかつうろ SAV_Underground8b=Underground Items Editor SAV_Wondercard=ふしぎなおくりもの @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Automatically locates the most recently saved Save File when opening a new file. LocalizedDescription.Unicode=Unicode @@ -165,7 +172,7 @@ Main.B_OpenOPowers= Oパワー Main.B_OpenPokeBeans=ポケマメ Main.B_OpenPokeblocks=ポロック Main.B_OpenPokedex=ポケモン図鑑 -Main.B_OpenPokepuffs=‎ポフレ +Main.B_OpenPokepuffs=ポフレ Main.B_OpenRTCEditor=時刻 Main.B_OpenSealStickers=Seal Stickers Main.B_OpenSecretBase=ひみつきち @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME Tracker: Main.L_MetTimeOfDay=出会った時間 Main.L_Misc=その他 Main.L_NSparkle=Nのポケモン +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=Stat Nature: Main.L_Party=手持ちポケモン Main.L_ReadOnlyOther=このタブは読み取り専用です Main.L_Resort=レポート Main.L_SaveSlot=セーブスロット: +Main.L_Scale=Scale: Main.L_Secure1=Secure Value 1: Main.L_Secure2=Secure Value 2: Main.L_ShadowID=ダークポケモンID Main.L_ShinyLeaf=かがやくはっぱ +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=Weight: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -363,14 +374,16 @@ Main.mnu_SortLevel=Level (Low to High) Main.mnu_SortLevelReverse=Level (High to Low) Main.mnu_SortName=Species Name Main.mnu_SortOwner=Ownership -Main.mnu_SortParty=SortParty +Main.mnu_SortParty=Party Main.mnu_SortPotential=IV Potential Main.mnu_SortRandom=Random +Main.mnu_SortScale=Scale Main.mnu_SortShiny=Shiny Main.mnu_SortSpecies=Pokédex No. Main.mnu_SortSpeciesReverse=Pokédex No. (Reverse) Main.mnu_SortTraining=EV Training Main.mnu_SortType=Type +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Usage Main.mnu_SortVersion=Version Main.mnuDelete=消去 @@ -492,6 +505,7 @@ SAV_CGearSkin.B_ExportPNG=.pngの書き出し SAV_CGearSkin.B_ImportCGB=.cgb/.pskの読み込み SAV_CGearSkin.B_ImportPNG=.pngの読み込み SAV_CGearSkin.B_Save=保存 +SAV_Database.B_Add=Add SAV_Database.B_Reset=フィルターリセット SAV_Database.B_Search=検索 SAV_Database.CHK_IsEgg=タマゴ @@ -531,6 +545,7 @@ SAV_Database.Menu_SearchSettings=検索設定 SAV_Database.Menu_Tools=Tools SAV_Database.Tab_Advanced=Advanced SAV_Database.Tab_General=General +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=Reset Filters SAV_Encounters.B_Search=Search! SAV_Encounters.CHK_IsEgg=Egg @@ -896,6 +911,7 @@ SAV_Misc8b.B_Shaymin=Unlock Shaymin Event SAV_Misc8b.B_Spiritomb=Greet all Underground NPCs (Spiritomb) SAV_Misc8b.B_Zones=Unlock All Zones SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=Reset Filters SAV_MysteryGiftDB.B_Search=検索 SAV_MysteryGiftDB.CHK_IsEgg=タマゴ @@ -1182,6 +1198,31 @@ SAV_PokedexSM.GB_Encountered=遭遇済み SAV_PokedexSM.GB_Language=言語 SAV_PokedexSM.GB_Owned=捕獲済み SAV_PokedexSM.L_goto=ポケモン +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=Cancel SAV_PokedexSWSH.B_GiveAll=Check All SAV_PokedexSWSH.B_Modify=Modify... @@ -1244,9 +1285,13 @@ SAV_Pokepuff.B_Cancel=キャンセル SAV_Pokepuff.B_None=なし SAV_Pokepuff.B_Save=保存 SAV_Pokepuff.B_Sort=ソート -SAV_Raid8.B_ActivateAll=Activate All SAV_Raid8.B_Cancel=Cancel SAV_Raid8.B_Save=Save +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=キャンセル SAV_Roamer3.B_Save=保存 SAV_Roamer3.CHK_Active=Roaming (Active) @@ -1621,6 +1666,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Overview +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=キャンセル SAV_Underground.B_Save=保存 SAV_Underground.GB_UScores=Scores diff --git a/PKHeX.WinForms/Resources/text/lang_ko.txt b/PKHeX.WinForms/Resources/text/lang_ko.txt index fc38efb1a..ab6999061 100644 --- a/PKHeX.WinForms/Resources/text/lang_ko.txt +++ b/PKHeX.WinForms/Resources/text/lang_ko.txt @@ -34,7 +34,7 @@ SAV_Misc8b=Misc Editor SAV_MysteryGiftDB=데이터베이스 SAV_OPower=O파워 편집 도구 SAV_Poffin8b=Poffin Editor -SAV_Pokebean=‎포켓콩 편집 도구 +SAV_Pokebean=포켓콩 편집 도구 SAV_PokeBlockORAS=포켓몬스넥 편집 도구 SAV_Pokedex4=포켓몬 도감 편집 도구 SAV_Pokedex5=포켓몬 도감 편집 도구 @@ -44,10 +44,12 @@ SAV_PokedexLA=Pokédex Editor SAV_PokedexORAS=포켓몬 도감 편집 도구 (ORAS) SAV_PokedexResearchEditorLA=Pokédex Research Editor SAV_PokedexSM=포켓몬 도감 편집 도구 +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=포켓몬 도감 편집 도구 SAV_PokedexXY=포켓몬 도감 편집 도구 (XY) SAV_Pokepuff=포플레 편집 도구 SAV_Raid8=레이드 매개변수 편집 도구 +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=배회 편집 도구 SAV_RTC3=RTC 편집 도구 SAV_SealStickers8b=Seal Sticker List @@ -61,6 +63,7 @@ SAV_Trainer7GG=트레이너 데이터 편집 도구 SAV_Trainer8=트레이너 데이터 편집 도구 SAV_Trainer8a=Trainer Data Editor SAV_Trainer8b=Trainer Data Editor +SAV_Trainer9=Trainer Data Editor SAV_Underground=지하통로 점수 편집 도구 SAV_Underground8b=Underground Items Editor SAV_Wondercard=이상한소포 I/O @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=Automatically locates the most recently saved Save File when opening a new file. LocalizedDescription.Unicode=유니코드 사용 @@ -165,7 +172,7 @@ Main.B_OpenOPowers=O파워 Main.B_OpenPokeBeans=포켓콩 Main.B_OpenPokeblocks=포켓몬스넥 Main.B_OpenPokedex=포켓몬 도감 -Main.B_OpenPokepuffs=‎포켓파를레 +Main.B_OpenPokepuffs=포켓파를레 Main.B_OpenRTCEditor=Clock (RTC) Main.B_OpenSealStickers=Seal Stickers Main.B_OpenSecretBase=비밀기지 @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME Tracker: Main.L_MetTimeOfDay=Time of Day: Main.L_Misc=기타 Main.L_NSparkle=N's Sparkle: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=능력치 성격: Main.L_Party=파티: Main.L_ReadOnlyOther=이 탭은 읽기 전용입니다. Main.L_Resort=리조트 Main.L_SaveSlot=세이브 슬롯: +Main.L_Scale=Scale: Main.L_Secure1=보안 값 1: Main.L_Secure2=보안 값 2: Main.L_ShadowID=다크 ID: Main.L_ShinyLeaf=빛나는나뭇잎: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=몸무게: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -366,11 +377,13 @@ Main.mnu_SortOwner=어버이 Main.mnu_SortParty=파티 Main.mnu_SortPotential=IV 합계 Main.mnu_SortRandom=무작위 +Main.mnu_SortScale=Scale Main.mnu_SortShiny=이로치 Main.mnu_SortSpecies=도감 번호 Main.mnu_SortSpeciesReverse=도감 번호 (내림차순) Main.mnu_SortTraining=EV 합계 Main.mnu_SortType=유형 +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=Usage Main.mnu_SortVersion=버전 Main.mnuDelete=삭제 @@ -488,6 +501,7 @@ SAV_CGearSkin.B_ExportPNG=.png 파일 내보내기 SAV_CGearSkin.B_ImportCGB=.cgb/.psk 파일 가져오기 SAV_CGearSkin.B_ImportPNG=.png 파일 가져오기 SAV_CGearSkin.B_Save=저장 +SAV_Database.B_Add=Add SAV_Database.B_Reset=필터 초기화 SAV_Database.B_Search=검색! SAV_Database.CHK_IsEgg=알 @@ -527,6 +541,7 @@ SAV_Database.Menu_SearchSettings=검색 설정 SAV_Database.Menu_Tools=도구 SAV_Database.Tab_Advanced=고급 SAV_Database.Tab_General=일반 +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=필터 초기화 SAV_Encounters.B_Search=검색! SAV_Encounters.CHK_IsEgg=알 @@ -892,6 +907,7 @@ SAV_Misc8b.B_Shaymin=Unlock Shaymin Event SAV_Misc8b.B_Spiritomb=Greet all Underground NPCs (Spiritomb) SAV_Misc8b.B_Zones=Unlock All Zones SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=필터 초기화 SAV_MysteryGiftDB.B_Search=검색! SAV_MysteryGiftDB.CHK_IsEgg=알 @@ -1178,6 +1194,31 @@ SAV_PokedexSM.GB_Encountered=만남 SAV_PokedexSM.GB_Language=언어 SAV_PokedexSM.GB_Owned=소유함 SAV_PokedexSM.L_goto=이동: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=취소 SAV_PokedexSWSH.B_GiveAll=모두 선택 SAV_PokedexSWSH.B_Modify=편집... @@ -1240,9 +1281,13 @@ SAV_Pokepuff.B_Cancel=취소 SAV_Pokepuff.B_None=모두 제거 SAV_Pokepuff.B_Save=저장 SAV_Pokepuff.B_Sort=정렬 -SAV_Raid8.B_ActivateAll=모두 활성화 SAV_Raid8.B_Cancel=취소 SAV_Raid8.B_Save=저장 +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=취소 SAV_Roamer3.B_Save=저장 SAV_Roamer3.CHK_Active=배회 (켜짐) @@ -1617,6 +1662,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=Map SAV_Trainer8b.Tab_Overview=Overview +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=취소 SAV_Underground.B_Save=저장 SAV_Underground.GB_UScores=Scores diff --git a/PKHeX.WinForms/Resources/text/lang_zh.txt b/PKHeX.WinForms/Resources/text/lang_zh.txt index 5a87068db..6a1ee774c 100644 --- a/PKHeX.WinForms/Resources/text/lang_zh.txt +++ b/PKHeX.WinForms/Resources/text/lang_zh.txt @@ -44,10 +44,12 @@ SAV_PokedexLA=图鉴编辑 SAV_PokedexORAS=图鉴编辑 SAV_PokedexResearchEditorLA=图鉴研究编辑 SAV_PokedexSM=图鉴编辑 +SAV_PokedexSV=Pokédex Editor SAV_PokedexSWSH=图鉴编辑 SAV_PokedexXY=图鉴编辑 SAV_Pokepuff=宝芙蕾 SAV_Raid8=巢穴参数编辑器 +SAV_Raid9=Raid Parameter Editor SAV_Roamer3=游走传说 SAV_RTC3=时钟编辑 SAV_SealStickers8b=球壳装饰列表 @@ -61,6 +63,7 @@ SAV_Trainer7GG=训练家资料 SAV_Trainer8=训练家资料 SAV_Trainer8a=训练家资料 SAV_Trainer8b=训练家资料 +SAV_Trainer9=Trainer Data Editor SAV_Underground=地下世界编辑 SAV_Underground8b=地下世界编辑 SAV_Wondercard=神秘礼物导入导出 @@ -136,6 +139,10 @@ LocalizedDescription.ShowEncounterOpacityStripe=Opacity for the Encounter Type s LocalizedDescription.ShowEncounterThicknessStripe=Amount of pixels thick to show when displaying the encounter type color stripe. LocalizedDescription.ShowExperiencePercent=Show a thin stripe to indicate the percent of level-up progress LocalizedDescription.ShowLegalBallsFirst=When showing the list of balls to select, show the legal balls before the illegal balls rather than sorting by Ball ID. +LocalizedDescription.ShowTeraOpacityBackground=Opacity for the Tera Type background layer. +LocalizedDescription.ShowTeraOpacityStripe=Opacity for the Tera Type stripe layer. +LocalizedDescription.ShowTeraThicknessStripe=Amount of pixels thick to show when displaying the Tera Type color stripe. +LocalizedDescription.ShowTeraType=Show a background to differentiate the Tera Type for PKM slots. LocalizedDescription.SpritePreference=Choice for which sprite building mode to use. LocalizedDescription.TryDetectRecentSave=打开新存档时,自动定位到上次保存的存档地址。 LocalizedDescription.Unicode=使用Unicode显示性别符号,禁用时使用ASCII @@ -235,15 +242,19 @@ Main.L_HomeTracker=HOME追踪: Main.L_MetTimeOfDay=遇见时段: Main.L_Misc=杂项 Main.L_NSparkle=N闪光特效: +Main.L_ObedienceLevel=Obedience Level: Main.L_OriginalNature=薄荷修正: Main.L_Party=队伍: Main.L_ReadOnlyOther=此选项卡不可编辑。 Main.L_Resort=度假胜地 Main.L_SaveSlot=存档槽: +Main.L_Scale=Scale: Main.L_Secure1=安全值 1: Main.L_Secure2=安全值 2: Main.L_ShadowID=黑暗ID: Main.L_ShinyLeaf=异色叶片: +Main.L_TeraTypeOriginal=Original Tera Type: +Main.L_TeraTypeOverride=Override Tera Type: Main.L_Weight=体重: Main.L_XP1=+XP: Main.L_XP2=+XP: @@ -366,11 +377,13 @@ Main.mnu_SortOwner=按初训家 Main.mnu_SortParty=同行队伍排序 Main.mnu_SortPotential=按个体值和 Main.mnu_SortRandom=随机 +Main.mnu_SortScale=Scale Main.mnu_SortShiny=按是否异色 Main.mnu_SortSpecies=按图鉴编号(升序) Main.mnu_SortSpeciesReverse=按图鉴编号(降序) Main.mnu_SortTraining=按努力值和 Main.mnu_SortType=按属性 +Main.mnu_SortTypeTera=Tera Type Main.mnu_SortUsage=按亲密度 Main.mnu_SortVersion=按来源版本 Main.mnuDelete=删除 @@ -488,6 +501,7 @@ SAV_CGearSkin.B_ExportPNG=导出.png SAV_CGearSkin.B_ImportCGB=导入.cgb/.psk SAV_CGearSkin.B_ImportPNG=导入.png SAV_CGearSkin.B_Save=保存 +SAV_Database.B_Add=Add SAV_Database.B_Reset=重置筛选 SAV_Database.B_Search=检索! SAV_Database.CHK_IsEgg=蛋 @@ -527,6 +541,7 @@ SAV_Database.Menu_SearchSettings=检索设定 SAV_Database.Menu_Tools=工具 SAV_Database.Tab_Advanced=高级 SAV_Database.Tab_General=一般 +SAV_Encounters.B_Add=Add SAV_Encounters.B_Reset=重置筛选 SAV_Encounters.B_Search=搜索! SAV_Encounters.CHK_IsEgg=蛋 @@ -892,6 +907,7 @@ SAV_Misc8b.B_Shaymin=解锁谢米事件 SAV_Misc8b.B_Spiritomb=与所有地下NPC打过招呼(花岩怪) SAV_Misc8b.B_Zones=解锁所有区域 SAV_Misc8b.TAB_Main=Main +SAV_MysteryGiftDB.B_Add=Add SAV_MysteryGiftDB.B_Reset=重置筛选 SAV_MysteryGiftDB.B_Search=检索! SAV_MysteryGiftDB.CHK_IsEgg=蛋 @@ -1178,6 +1194,31 @@ SAV_PokedexSM.GB_Encountered=见过 SAV_PokedexSM.GB_Language=语言: SAV_PokedexSM.GB_Owned=已捕获 SAV_PokedexSM.L_goto=转到: +SAV_PokedexSV.B_Cancel=Cancel +SAV_PokedexSV.B_GiveAll=Check All +SAV_PokedexSV.B_Modify=Modify All... +SAV_PokedexSV.B_Save=Save +SAV_PokedexSV.CHK_DisplayShiny=Shiny +SAV_PokedexSV.CHK_G=Gender Different +SAV_PokedexSV.CHK_IsNew=New +SAV_PokedexSV.CHK_LangCHS=ChineseS +SAV_PokedexSV.CHK_LangCHT=ChineseT +SAV_PokedexSV.CHK_LangENG=English +SAV_PokedexSV.CHK_LangFRE=French +SAV_PokedexSV.CHK_LangGER=German +SAV_PokedexSV.CHK_LangITA=Italian +SAV_PokedexSV.CHK_LangJPN=Japanese +SAV_PokedexSV.CHK_LangKOR=Korean +SAV_PokedexSV.CHK_LangSPA=Spanish +SAV_PokedexSV.CHK_SeenFemale=Female +SAV_PokedexSV.CHK_SeenGenderless=Genderless +SAV_PokedexSV.CHK_SeenMale=Male +SAV_PokedexSV.CHK_SeenShiny=Shiny +SAV_PokedexSV.GB_Displayed=Displayed +SAV_PokedexSV.GB_Language=Languages +SAV_PokedexSV.groupBox1=Seen +SAV_PokedexSV.L_DisplayedForm=Displayed Form: +SAV_PokedexSV.L_goto=goto: SAV_PokedexSWSH.B_Cancel=取消 SAV_PokedexSWSH.B_GiveAll=全勾选 SAV_PokedexSWSH.B_Modify=修改... @@ -1240,9 +1281,13 @@ SAV_Pokepuff.B_Cancel=取消 SAV_Pokepuff.B_None=清空 SAV_Pokepuff.B_Save=保存 SAV_Pokepuff.B_Sort=排序 -SAV_Raid8.B_ActivateAll=激活全部 SAV_Raid8.B_Cancel=取消 SAV_Raid8.B_Save=保存 +SAV_Raid9.B_Cancel=Cancel +SAV_Raid9.B_Save=Save +SAV_Raid9.B_Star6=Set All 6-Star +SAV_Raid9.L_SeedCurrent=Current Seed: +SAV_Raid9.L_SeedTomorrow=Tomorrow: SAV_Roamer3.B_Cancel=取消 SAV_Roamer3.B_Save=保存 SAV_Roamer3.CHK_Active=游走中(激活) @@ -1617,6 +1662,25 @@ SAV_Trainer8b.Label_SID=SID: SAV_Trainer8b.Label_TID=TID: SAV_Trainer8b.Tab_BadgeMap=地图 SAV_Trainer8b.Tab_Overview=概览 +SAV_Trainer9.B_Cancel=Cancel +SAV_Trainer9.B_MaxCash=+ +SAV_Trainer9.B_MaxLP=+ +SAV_Trainer9.B_Save=Save +SAV_Trainer9.GB_Map=Map Position +SAV_Trainer9.L_Hours=Hrs: +SAV_Trainer9.L_Language=Language: +SAV_Trainer9.L_LP=LP: +SAV_Trainer9.L_Minutes=Min: +SAV_Trainer9.L_Money=$: +SAV_Trainer9.L_Seconds=Sec: +SAV_Trainer9.L_TrainerName=Trainer Name: +SAV_Trainer9.L_X=X Coordinate: +SAV_Trainer9.L_Y=Y Coordinate: +SAV_Trainer9.L_Z=Z Coordinate: +SAV_Trainer9.Label_SID=SID: +SAV_Trainer9.Label_TID=TID: +SAV_Trainer9.Tab_MiscValues=Misc +SAV_Trainer9.Tab_Overview=Overview SAV_Underground.B_Cancel=取消 SAV_Underground.B_Save=保存 SAV_Underground.GB_UScores=分数 diff --git a/PKHeX.WinForms/Subforms/KChart.cs b/PKHeX.WinForms/Subforms/KChart.cs index b45e27015..cbe4e4740 100644 --- a/PKHeX.WinForms/Subforms/KChart.cs +++ b/PKHeX.WinForms/Subforms/KChart.cs @@ -36,7 +36,7 @@ public KChart(SaveFile sav) for (byte f = 0; f < fc; f++) { var name = f == 0 ? species[s] : $"{species[s]}-{(f < formNames.Length ? formNames[f] : f.ToString())}"; - PopEntry(s, f, name); + PopEntry(s, f, name, pt); } } @@ -45,27 +45,27 @@ public KChart(SaveFile sav) DGV.Sort(DGV.Columns[0], ListSortDirection.Ascending); } - private void PopEntry(ushort species, byte form, string name) + private void PopEntry(ushort species, byte form, string name, IPersonalTable pt) { - var p = SAV.Personal.GetFormEntry(species, form); - if (p.HP == 0) + if (!pt.IsPresentInGame(species, form)) return; + var p = pt.GetFormEntry(species, form); var row = new DataGridViewRow(); row.CreateCells(DGV); var cells = row.Cells; int c = 0; var bst = p.GetBaseStatTotal(); - cells[c++].Value = species.ToString("000") + (form > 0 ? $"-{form:00}" : ""); + cells[c++].Value = species.ToString(pt.MaxSpeciesID > 999 ? "0000" : "000") + (form > 0 ? $"-{form:00}" : ""); cells[c++].Value = SpriteUtil.GetSprite(species, form, 0, 0, 0, false, Shiny.Never, SAV.Generation); cells[c++].Value = name; cells[c++].Value = GetIsNative(p, species); cells[c].Style.BackColor = ColorUtil.ColorBaseStatTotal(bst); cells[c++].Value = bst.ToString("000"); cells[c++].Value = p.CatchRate.ToString("000"); - cells[c++].Value = TypeSpriteUtil.GetTypeSprite(p.Type1, SAV.Generation); - cells[c++].Value = p.Type1 == p.Type2 ? SpriteUtil.Spriter.Transparent : TypeSpriteUtil.GetTypeSprite(p.Type2, SAV.Generation); + cells[c++].Value = TypeSpriteUtil.GetTypeSpriteWide(p.Type1, SAV.Generation); + cells[c++].Value = p.Type1 == p.Type2 ? SpriteUtil.Spriter.Transparent : TypeSpriteUtil.GetTypeSpriteWide(p.Type2, SAV.Generation); cells[c].Style.BackColor = ColorUtil.ColorBaseStat(p.HP); cells[c++].Value = p.HP.ToString("000"); cells[c].Style.BackColor = ColorUtil.ColorBaseStat(p.ATK); @@ -93,6 +93,7 @@ private void PopEntry(ushort species, byte form, string name) PersonalInfo8SWSH ss => ss.IsInDex, PersonalInfo8BDSP bs => bs.IsInDex, PersonalInfo8LA bs => bs.IsPresentInGame, + PersonalInfo9SV sv => sv.IsInDex, _ => true, }; } diff --git a/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs index 9e95687ce..d98fbb1e0 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/BatchEditor.cs @@ -36,7 +36,8 @@ public BatchEditor(PKM pk, SaveFile sav) private void B_Open_Click(object sender, EventArgs e) { - if (!B_Go.Enabled) return; + if (!B_Go.Enabled) + return; using var fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() != DialogResult.OK) return; @@ -62,6 +63,7 @@ private void B_Add_Click(object sender, EventArgs e) if (s.Length == 0) { WinFormsUtil.Alert(MsgBEPropertyInvalid); return; } + // If we already have text, add a new line (except if the last line is blank). if (RTB_Instructions.Lines.Length != 0 && RTB_Instructions.Lines[^1].Length > 0) s = Environment.NewLine + s; diff --git a/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs b/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs index f5a5534f4..addbd79ef 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/MemoryAmie.cs @@ -149,7 +149,7 @@ private void LoadFields() // Affection no longer stored in gen8+, so only show in gen6/7. L_OT_Affection.Visible = L_CT_Affection.Visible = M_OT_Affection.Visible = M_CT_Affection.Visible = Entity.Format <= 7; - L_Sociability.Visible = MT_Sociability.Visible = Entity.Format >= 8; + L_Sociability.Visible = MT_Sociability.Visible = Entity is ISociability; } private void SaveFields() @@ -299,7 +299,8 @@ private void ChangeMemory(object sender, EventArgs e) if (m == CB_CTMemory || m == CB_OTMemory) UpdateMemoryDisplay(m); - if (!init) return; + if (!init) + return; RTB_OT.Text = GetMemoryString(CB_OTMemory, CB_OTVar, CB_OTQual, CB_OTFeel, Entity.OT_Name); RTB_CT.Text = GetMemoryString(CB_CTMemory, CB_CTVar, CB_CTQual, CB_CTFeel, Entity.HT_Name); } @@ -331,7 +332,8 @@ private void ChangeCountryText(object sender, EventArgs e) private void Update255_MTB(object sender, EventArgs e) { - if (sender is not MaskedTextBox tb) return; + if (sender is not MaskedTextBox tb) + return; if (Util.ToInt32(tb.Text) > byte.MaxValue) tb.Text = "255"; } diff --git a/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs index 160789c7c..f0380ca9d 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/RibbonEditor.cs @@ -18,6 +18,8 @@ public partial class RibbonEditor : Form private const string PrefixCHK = "CHK_"; private const string PrefixPB = "PB_"; + private const int AffixedNone = -1; + public RibbonEditor(PKM pk) { Entity = pk; @@ -27,7 +29,7 @@ public RibbonEditor(PKM pk) int vertScrollWidth = SystemInformation.VerticalScrollBarWidth; TLP_Ribbons.Padding = FLP_Ribbons.Padding = new Padding(0, 0, vertScrollWidth, 0); - // Updating a Control display with autosized elements on every row addition is cpu intensive. Disable layout updates while populating. + // Updating a Control display with auto-sized elements on every row addition is cpu intensive. Disable layout updates while populating. TLP_Ribbons.SuspendLayout(); FLP_Ribbons.Scroll += WinFormsUtil.PanelScroll; TLP_Ribbons.Scroll += WinFormsUtil.PanelScroll; @@ -50,7 +52,7 @@ private void InitializeAffixed(PKM pk) static ComboItem GetComboItem(int ribbonIndex) => new(GetRibbonPropertyName(ribbonIndex), ribbonIndex); var none = GameInfo.GetStrings(Main.CurrentLanguage).Move[0]; - var ds = new List(1 + count) { new(none, -1) }; + var ds = new List(1 + count) { new(none, AffixedNone) }; var list = Enumerable.Range(0, count).Select(GetComboItem).OrderBy(z => z.Text); ds.AddRange(list); @@ -75,8 +77,33 @@ private void PopulateRibbons() // Add Ribbons foreach (var rib in riblist) AddRibbonSprite(rib); - foreach (var rib in riblist.OrderBy(z => RibbonStrings.GetName(z.Name))) - AddRibbonChoice(rib); + + var pk = Entity; + var la = new LegalityAnalysis(pk); + Span ribbons = stackalloc RibbonResult[riblist.Count]; + var args = new RibbonVerifierArguments(pk, la.EncounterOriginal, la.Info.EvoChainsAllGens); + var count = RibbonVerifier.GetRibbonResults(args, ribbons); + var slice = ribbons[..count]; + + var dict = new Dictionary(slice.Length); + foreach (var r in slice) + dict.Add(r.PropertyName, r); + + var clone = pk.Clone(); + RibbonApplicator.SetAllValidRibbons(clone); + var otherList = RibbonInfo.GetRibbonInfo(clone); + var preferred = riblist + .OrderBy(z => GetSortOrder(z.Name, dict, otherList)) + .ThenBy(z => RibbonStrings.GetName(z.Name)); + + foreach (var rib in preferred) + { + var name = rib.Name; + Color color = dict.TryGetValue(name, out var r) + ? r.IsMissing ? Color.LightYellow : Color.Pink + : GetColor(otherList, name); + AddRibbonChoice(rib, color); + } // Force auto-size foreach (var style in TLP_Ribbons.RowStyles.OfType()) @@ -85,6 +112,28 @@ private void PopulateRibbons() style.SizeType = SizeType.AutoSize; } + private static int GetSortOrder(string name, IReadOnlyDictionary dict, List otherList) + { + if (name.StartsWith("RibbonMark")) + return 99; + var other = otherList.Find(z => z.Name == name); + if (other is { HasRibbon: true }) + return 0; + if (dict.TryGetValue(name, out var r)) + return r.IsMissing ? 1 : 2; + return 3; // last + } + + private static Color GetColor(List otherList, string ribName) + { + if (ribName.StartsWith("RibbonMark")) + return Color.SeaShell; + var other = otherList.Find(z => z.Name == ribName); + if (other is null) + return Color.Transparent; + return other.HasRibbon ? Color.PaleGreen : Color.Transparent; + } + private void AddRibbonSprite(RibbonInfo rib) { var name = rib.Name; @@ -97,7 +146,7 @@ private void AddRibbonSprite(RibbonInfo rib) FLP_Ribbons.Controls.Add(pb); } - private void AddRibbonChoice(RibbonInfo rib) + private void AddRibbonChoice(RibbonInfo rib, Color color) { // Get row we add to int row = TLP_Ribbons.RowCount; @@ -110,17 +159,18 @@ private void AddRibbonChoice(RibbonInfo rib) Text = RibbonStrings.GetName(rib.Name), Padding = Padding.Empty, Margin = Padding.Empty, + BackColor = color, AutoSize = true, }; TLP_Ribbons.Controls.Add(label, 1, row); if (rib.Type is RibbonValueType.Byte) // numeric count ribbon - AddRibbonNumericUpDown(rib, row); + AddRibbonNumericUpDown(rib, row, label); else // boolean ribbon AddRibbonCheckBox(rib, row, label); } - private void AddRibbonNumericUpDown(RibbonInfo rib, int row) + private void AddRibbonNumericUpDown(RibbonInfo rib, int row, Control label) { var nud = new NumericUpDown { @@ -140,8 +190,12 @@ private void AddRibbonNumericUpDown(RibbonInfo rib, int row) pb.Visible = (rib.RibbonCount = (byte)nud.Value) != 0; pb.BackgroundImage = RibbonSpriteUtil.GetRibbonSprite(rib.Name, (int)nud.Maximum, (int)nud.Value); }; - nud.Value = rib.RibbonCount > nud.Maximum ? nud.Maximum : rib.RibbonCount; + + // Setting value will trigger above event + nud.Value = Math.Min(rib.MaxCount, rib.RibbonCount); TLP_Ribbons.Controls.Add(nud, 0, row); + + label.Click += (s, e) => nud.Value = (nud.Value == 0) ? nud.Maximum : 0; } private void AddRibbonCheckBox(RibbonInfo rib, int row, Control label) @@ -159,6 +213,8 @@ private void AddRibbonCheckBox(RibbonInfo rib, int row, Control label) rib.HasRibbon = chk.Checked; FLP_Ribbons.Controls[PrefixPB + rib.Name].Visible = rib.HasRibbon; }; + + // Setting value will trigger above event chk.Checked = rib.HasRibbon; TLP_Ribbons.Controls.Add(chk, 0, row); @@ -196,12 +252,12 @@ private void B_None_Click(object sender, EventArgs e) { RibbonApplicator.RemoveAllValidRibbons(Entity); if (Entity is IRibbonSetAffixed affixed) - affixed.AffixedRibbon = -1; + affixed.AffixedRibbon = AffixedNone; Close(); return; } - CB_Affixed.SelectedValue = -1; + CB_Affixed.SelectedValue = AffixedNone; foreach (var c in TLP_Ribbons.Controls.OfType()) c.Checked = false; foreach (var n in TLP_Ribbons.Controls.OfType()) diff --git a/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.Designer.cs b/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.Designer.cs index 1019e6098..25bba0ab3 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.Designer.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.Designer.cs @@ -1,4 +1,4 @@ -namespace PKHeX.WinForms +namespace PKHeX.WinForms { partial class TechRecordEditor { @@ -87,6 +87,7 @@ private void InitializeComponent() this.CLB_Flags.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.CLB_Flags.CheckOnClick = true; this.CLB_Flags.FormattingEnabled = true; this.CLB_Flags.Location = new System.Drawing.Point(12, 12); this.CLB_Flags.Name = "CLB_Flags"; diff --git a/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.cs b/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.cs index 3817eb1cb..b263e7287 100644 --- a/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.cs +++ b/PKHeX.WinForms/Subforms/PKM Editors/TechRecordEditor.cs @@ -6,12 +6,12 @@ namespace PKHeX.WinForms; public partial class TechRecordEditor : Form { - private readonly ITechRecord8 Record; + private readonly ITechRecord Record; private readonly PKM Entity; - public TechRecordEditor(ITechRecord8 techRecord8, PKM pk) + public TechRecordEditor(ITechRecord techRecord, PKM pk) { - Record = techRecord8; + Record = techRecord; Entity = pk; InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); @@ -40,13 +40,15 @@ private void B_Save_Click(object sender, EventArgs e) private void LoadRecords() { - for (int i = 0; i < PersonalInfo8SWSH.CountTR; i++) + var range = Record.TechRecordPermitIndexes; + for (int i = 0; i < range.Length; i++) CLB_Flags.SetItemChecked(i, Record.GetMoveRecordFlag(i)); } private void Save() { - for (int i = 0; i < PersonalInfo8SWSH.CountTR; i++) + var range = Record.TechRecordPermitIndexes; + for (int i = 0; i < range.Length; i++) Record.SetMoveRecordFlag(i, CLB_Flags.GetItemChecked(i)); } @@ -55,7 +57,7 @@ private void B_All_Click(object sender, EventArgs e) Save(); if (ModifierKeys == Keys.Shift) { - Record.SetRecordFlags(true); + Record.SetRecordFlags(true, Record.RecordCountUsed); } else if (ModifierKeys == Keys.Control) { diff --git a/PKHeX.WinForms/Subforms/SAV_Database.Designer.cs b/PKHeX.WinForms/Subforms/SAV_Database.Designer.cs index e0f728c7d..b8741e983 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.Designer.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.Designer.cs @@ -99,8 +99,8 @@ private void InitializeComponent() this.TC_SearchSettings = new System.Windows.Forms.TabControl(); this.Tab_General = new System.Windows.Forms.TabPage(); this.Tab_Advanced = new System.Windows.Forms.TabPage(); - this.RTB_Instructions = new System.Windows.Forms.RichTextBox(); this.B_Add = new System.Windows.Forms.Button(); + this.RTB_Instructions = new System.Windows.Forms.RichTextBox(); this.menuStrip1.SuspendLayout(); this.P_Results.SuspendLayout(); this.FLP_Egg.SuspendLayout(); @@ -890,6 +890,7 @@ private void InitializeComponent() this.CB_Format.FormattingEnabled = true; this.CB_Format.Items.AddRange(new object[] { "Any", + ".pk9", ".pk8", ".pk7", ".pk6", @@ -987,6 +988,17 @@ private void InitializeComponent() this.Tab_Advanced.Text = "Advanced"; this.Tab_Advanced.UseVisualStyleBackColor = true; // + // B_Add + // + this.B_Add.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.B_Add.Location = new System.Drawing.Point(196, -1); + this.B_Add.Name = "B_Add"; + this.B_Add.Size = new System.Drawing.Size(57, 23); + this.B_Add.TabIndex = 122; + this.B_Add.Text = "Add"; + this.B_Add.UseVisualStyleBackColor = true; + this.B_Add.Click += new System.EventHandler(this.B_Add_Click); + // // RTB_Instructions // this.RTB_Instructions.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -999,17 +1011,6 @@ private void InitializeComponent() this.RTB_Instructions.TabIndex = 120; this.RTB_Instructions.Text = ""; // - // B_Add - // - this.B_Add.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.B_Add.Location = new System.Drawing.Point(196, -1); - this.B_Add.Name = "B_Add"; - this.B_Add.Size = new System.Drawing.Size(57, 23); - this.B_Add.TabIndex = 122; - this.B_Add.Text = "Add"; - this.B_Add.UseVisualStyleBackColor = true; - this.B_Add.Click += new System.EventHandler(this.B_Add_Click); - // // SAV_Database // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); diff --git a/PKHeX.WinForms/Subforms/SAV_Database.cs b/PKHeX.WinForms/Subforms/SAV_Database.cs index 329d07701..360255ad9 100644 --- a/PKHeX.WinForms/Subforms/SAV_Database.cs +++ b/PKHeX.WinForms/Subforms/SAV_Database.cs @@ -389,10 +389,13 @@ private static List LoadPKMSaves(string pkmdb, SaveFile sav, List pk is PK9 || PersonalTable.SV .IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameSWSH(ISpeciesForm pk) => pk is PK8 || PersonalTable.SWSH.IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameBDSP(ISpeciesForm pk) => pk is PB8 || PersonalTable.BDSP.IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGamePLA (ISpeciesForm pk) => pk is PA8 || PersonalTable.LA .IsPresentInGame(pk.Species, pk.Form); - if (sav is SAV8SWSH) + if (sav is SAV9SV) + result.RemoveAll(z => !IsPresentInGameSV(z.Entity)); + else if (sav is SAV8SWSH) result.RemoveAll(z => !IsPresentInGameSWSH(z.Entity)); else if (sav is SAV8BS) result.RemoveAll(z => !IsPresentInGameBDSP(z.Entity)); diff --git a/PKHeX.WinForms/Subforms/SAV_Encounters.cs b/PKHeX.WinForms/Subforms/SAV_Encounters.cs index eb4534fb3..4d6a77a90 100644 --- a/PKHeX.WinForms/Subforms/SAV_Encounters.cs +++ b/PKHeX.WinForms/Subforms/SAV_Encounters.cs @@ -247,11 +247,13 @@ private IEnumerable SearchDatabase(CancellationToken token) if (Main.Settings.EncounterDb.FilterUnavailableSpecies) { + static bool IsPresentInGameSV (ISpeciesForm pk) => PersonalTable.SV .IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameSWSH(ISpeciesForm pk) => PersonalTable.SWSH.IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameBDSP(ISpeciesForm pk) => PersonalTable.BDSP.IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameLA (ISpeciesForm pk) => PersonalTable.LA .IsPresentInGame(pk.Species, pk.Form); results = SAV switch { + SAV9SV => results.Where(IsPresentInGameSV), SAV8SWSH => results.Where(IsPresentInGameSWSH), SAV8BS => results.Where(IsPresentInGameBDSP), SAV8LA => results.Where(IsPresentInGameLA), diff --git a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.Designer.cs b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.Designer.cs index edef2d3dc..13742b24b 100644 --- a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.Designer.cs +++ b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.Designer.cs @@ -497,6 +497,7 @@ private void InitializeComponent() this.CB_Format.FormattingEnabled = true; this.CB_Format.Items.AddRange(new object[] { "Any", + ".wc9", ".wc8", ".wc7", ".wc6", diff --git a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs index bd70fe16a..78c8ca45d 100644 --- a/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs +++ b/PKHeX.WinForms/Subforms/SAV_MysteryGiftDB.cs @@ -149,7 +149,7 @@ private void ClickSaveMG(object sender, EventArgs e) WinFormsUtil.Alert(MsgExportWC3DataFail); return; } - WinFormsUtil.ExportMGDialog(g, SAV.Version); + WinFormsUtil.ExportMGDialog(g); } private int GetSenderIndex(object sender) @@ -224,11 +224,13 @@ private void LoadDatabase() if (Main.Settings.MysteryDb.FilterUnavailableSpecies) { + static bool IsPresentInGameSV (ISpeciesForm pk) => PersonalTable.SV. IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameSWSH(ISpeciesForm pk) => PersonalTable.SWSH.IsPresentInGame(pk.Species, pk.Form); static bool IsPresentInGameBDSP(ISpeciesForm pk) => PersonalTable.BDSP.IsPresentInGame(pk.Species, pk.Form); - static bool IsPresentInGameLA(ISpeciesForm pk) => PersonalTable.LA.IsPresentInGame(pk.Species, pk.Form); + static bool IsPresentInGameLA (ISpeciesForm pk) => PersonalTable.LA. IsPresentInGame(pk.Species, pk.Form); db = SAV switch { + SAV9SV => db.Where(IsPresentInGameSV), SAV8SWSH => db.Where(IsPresentInGameSWSH), SAV8BS => db.Where(IsPresentInGameBDSP), SAV8LA => db.Where(IsPresentInGameLA), diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs index 53e704c6e..1c8c4447f 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs @@ -424,27 +424,31 @@ private void B_FunfestMissions_Click(object sender, EventArgs e) private void NUD_EntreeBlackLV_ValueChanged(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetNudMax(isBlack: true); SetEntreeExpTooltip(isBlack: true); } private void NUD_EntreeWhiteLV_ValueChanged(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetNudMax(isBlack: false); SetEntreeExpTooltip(isBlack: false); } private void NUD_EntreeBlackEXP_ValueChanged(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntreeExpTooltip(isBlack: true); } private void NUD_EntreeWhiteEXP_ValueChanged(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntreeExpTooltip(isBlack: false); } @@ -569,7 +573,7 @@ private void SetGenders(EntreeSlot slot) private void B_RandForest_Click(object sender, EventArgs e) { - var source = (SAV is SAV5BW ? Encounters5.DreamWorld_BW : Encounters5.DreamWorld_B2W2).Concat(Encounters5.DreamWorld_Common).ToList(); + var source = (SAV is SAV5BW ? Encounters5BW.DreamWorld_BW : Encounters5B2W2.DreamWorld_B2W2).Concat(Encounters5DR.DreamWorld_Common).ToList(); var rnd = Util.Rand; Span moves = stackalloc ushort[4]; foreach (var s in AllSlots) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs index 906decc32..44860c4e0 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Pokedex5.cs @@ -43,7 +43,8 @@ public SAV_Pokedex5(SaveFile sav) private void ChangeCBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -56,7 +57,8 @@ private void ChangeCBSpecies(object sender, EventArgs e) private void ChangeLBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -335,7 +337,9 @@ private void UpdateDisplayedForm(object sender, ItemCheckEventArgs e) return; // Only allow one form to be displayed if the user sets a new display value - if (e.NewValue != CheckState.Checked) return; + if (e.NewValue != CheckState.Checked) + return; + for (int i = 0; i < CLB_FormDisplayed.Items.Count; i++) { if (i != e.Index) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs index f44a09efe..15b71f11c 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_BoxLayout.cs @@ -30,7 +30,7 @@ public SAV_BoxLayout(SaveFile sav, int box) TB_BoxName.MaxLength = SAV.Generation switch { 6 or 7 => 14, - 8 => 16, + >=8 => 16, _ => 8, }; editing = false; @@ -70,6 +70,9 @@ static void AddPlaceholder(ComboBox cb, int count) case 8: AddPlaceholder(CB_BG, 19); return true; + case 9: + AddPlaceholder(CB_BG, 20); + return true; default: return false; } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs index ba22cf010..46893a668 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_HallOfFame.cs @@ -18,13 +18,17 @@ public partial class SAV_HallOfFame : Form private readonly IReadOnlyList gendersymbols = Main.GenderSymbols; private readonly byte[] data; + private const int Count = 16; + private const int StructureSize = 0x1B4; + private const int StructureTotal = Count * StructureSize; + public SAV_HallOfFame(SAV6 sav) { InitializeComponent(); WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); SAV = (SAV6)(Origin = sav).Clone(); - data = SAV.Data.Slice(SAV.HoF, 0x1B40); // Copy HoF section of save into Data + data = SAV.Data.Slice(SAV.HoF, StructureTotal); // Copy HoF section of save into Data Setup(); LB_DataEntry.SelectedIndex = 0; NUP_PartyIndex_ValueChanged(this, EventArgs.Empty); @@ -74,7 +78,7 @@ private void DisplayEntry(object sender, EventArgs e) RTB.Font = new Font("Courier New", 8); RTB.LanguageOption = RichTextBoxLanguageOptions.DualFont; int index = LB_DataEntry.SelectedIndex; - int offset = index * 0x1B4; + int offset = index * StructureSize; uint vnd = ReadUInt32LittleEndian(data.AsSpan(offset + 0x1B0)); uint vn = vnd & 0xFF; @@ -159,7 +163,7 @@ private void NUP_PartyIndex_ValueChanged(object sender, EventArgs e) { editing = false; int index = LB_DataEntry.SelectedIndex; - int offset = (index * 0x1B4) + ((Convert.ToInt32(NUP_PartyIndex.Value)-1) * HallFame6Entity.SIZE); + int offset = (index * StructureSize) + ((Convert.ToInt32(NUP_PartyIndex.Value)-1) * HallFame6Entity.SIZE); if (offset < 0) return; @@ -202,7 +206,7 @@ private void Write_Entry(object sender, EventArgs e) int index = LB_DataEntry.SelectedIndex; int partymember = Convert.ToInt32(NUP_PartyIndex.Value) - 1; - int offset = (index * 0x1B4) + (partymember * HallFame6Entity.SIZE); + int offset = (index * StructureSize) + (partymember * HallFame6Entity.SIZE); var span = data.AsSpan(offset, HallFame6Entity.SIZE); var entry = new HallFame6Entity(span) { @@ -225,7 +229,7 @@ private void Write_Entry(object sender, EventArgs e) OT_Gender = (uint)EntityGender.GetFromString(Label_OTGender.Text) & 1, }; - offset = index * 0x1B4; + offset = index * StructureSize; uint vnd = 0; uint date = 0; @@ -355,15 +359,23 @@ private void B_CopyText_Click(object sender, EventArgs e) private void B_Delete_Click(object sender, EventArgs e) { - if (LB_DataEntry.SelectedIndex < 1) { WinFormsUtil.Alert("Cannot delete your first Hall of Fame Clear entry."); return; } + if (LB_DataEntry.SelectedIndex < 1) + { + WinFormsUtil.Alert("Cannot delete your first Hall of Fame Clear entry."); + return; + } + int index = LB_DataEntry.SelectedIndex; - if (WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Delete Entry {index} from your records?") != DialogResult.Yes) + var prompt = WinFormsUtil.Prompt(MessageBoxButtons.YesNo, $"Delete Entry {index} from your records?"); + if (prompt != DialogResult.Yes) return; - int offset = index * 0x1B4; - if (index != 15) Array.Copy(data, offset + 0x1B4, data, offset, 0x1B4 * (15 - index)); + int offset = index * StructureSize; + if (index != 15) + Array.Copy(data, offset + StructureSize, data, offset, StructureSize * (Count - 1 - index)); + // Ensure Last Entry is Cleared - Array.Copy(new byte[0x1B4], 0, data, 0x1B4 * 15, 0x1B4); + data.AsSpan(StructureSize * (Count - 1), StructureSize).Fill(0); DisplayEntry(LB_DataEntry, EventArgs.Empty); } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs index d536ed531..1f6d9ef15 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexORAS.cs @@ -46,7 +46,8 @@ public SAV_PokedexORAS(SaveFile sav) private void ChangeCBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -59,7 +60,8 @@ private void ChangeCBSpecies(object sender, EventArgs e) private void ChangeLBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -348,7 +350,8 @@ private void UpdateDisplayedForm(object sender, ItemCheckEventArgs e) return; // Only allow one form to be displayed if the user sets a new display value - if (e.NewValue != CheckState.Checked) return; + if (e.NewValue != CheckState.Checked) + return; for (int i = 0; i < CLB_FormDisplayed.Items.Count; i++) { if (i != e.Index) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs index 4e2a200ba..f0dcc5cc6 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_PokedexXY.cs @@ -46,7 +46,8 @@ public SAV_PokedexXY(SaveFile sav) private void ChangeCBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -59,7 +60,8 @@ private void ChangeCBSpecies(object sender, EventArgs e) private void ChangeLBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -340,7 +342,9 @@ private void UpdateDisplayedForm(object sender, ItemCheckEventArgs e) return; // Only allow one form to be displayed if the user sets a new display value - if (e.NewValue != CheckState.Checked) return; + if (e.NewValue != CheckState.Checked) + return; + for (int i = 0; i < CLB_FormDisplayed.Items.Count; i++) { if (i != e.Index) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs index 9dcfac1f8..6f5c7eab1 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen6/SAV_SecretBase.cs @@ -322,7 +322,7 @@ private void SetAbilityList() private void SetAbilityList(ushort species, byte form, int abilityIndex) { var abilities = PersonalTable.AO.GetFormEntry(species, form); - var list = GameInfo.FilteredSources.GetAbilityList(abilities, 6); + var list = GameInfo.FilteredSources.GetAbilityList(abilities); CB_Ability.DataSource = new BindingSource(list, null); CB_Ability.SelectedIndex = abilityIndex < 3 ? abilityIndex : 0; } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs index 57bf03cc7..cce086446 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_FestivalPlaza.cs @@ -673,7 +673,8 @@ private void LB_FacilityIndex_DrawItem(object? sender, DrawItemEventArgs? e) private void B_DelVisitor_Click(object sender, EventArgs e) { - if (entry < 0) return; + if (entry < 0) + return; var facility = f[entry]; // there is a unknown value when not introduced...no reproducibility, just mistake? if (facility.IsIntroduced) @@ -690,7 +691,8 @@ private void B_DelVisitor_Click(object sender, EventArgs e) private void B_ImportParty_Click(object sender, EventArgs e) { - if (!SAV.HasParty) return; + if (!SAV.HasParty) + return; var party = SAV.PartyData; string msg = string.Empty; for (int i = 0; i < 3; i++) @@ -719,7 +721,8 @@ private void MnuSave_Click(object sender, EventArgs e) private void NUD_Grade_ValueChanged(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; int max = (Math.Min(49, (int)NUD_Grade.Value) / 10 * 3) + 2; editing = true; if (NUD_Defeated.Value > max) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexGG.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexGG.cs index 6a6b0e9b5..11efd3a01 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexGG.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_PokedexGG.cs @@ -62,21 +62,24 @@ private void B_Counts_Click(object sender, EventArgs e) private void ChangeCBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; currentSpecies = (ushort)WinFormsUtil.GetIndex(CB_Species); LB_Species.SelectedIndex = currentSpecies - 1; // Since we don't allow index0 in combobox, everything is shifted by 1 LB_Species.TopIndex = LB_Species.SelectedIndex; - if (!allModifying) FillLBForms(); + if (!allModifying) + FillLBForms(); GetEntry(); editing = false; } private void ChangeLBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -89,8 +92,10 @@ private void ChangeLBSpecies(object sender, EventArgs e) private void ChangeLBForms(object sender, EventArgs e) { - if (allModifying) return; - if (editing) return; + if (allModifying) + return; + if (editing) + return; SetEntry(); editing = true; @@ -127,7 +132,8 @@ private void ChangeLBForms(object sender, EventArgs e) private bool FillLBForms() { - if (allModifying) return false; + if (allModifying) + return false; LB_Forms.DataSource = null; LB_Forms.Items.Clear(); @@ -135,7 +141,8 @@ private bool FillLBForms() var bspecies = Dex.GetBaseSpecies(fspecies); bool hasForms = FormInfo.HasFormSelection(SAV.Personal[bspecies], bspecies, 7); LB_Forms.Enabled = hasForms; - if (!hasForms) return false; + if (!hasForms) + return false; var ds = FormConverter.GetFormList(bspecies, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Context).ToList(); if (ds.Count == 1 && string.IsNullOrEmpty(ds[0])) { diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs index 15b614e6e..2febf20f5 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen7/SAV_Trainer7.cs @@ -581,14 +581,16 @@ private void UpdateBattleStyle(object sender, EventArgs e) private void UpdateBallThrowTypeLearned(object sender, EventArgs e) { - if (Loading) return; + if (Loading) + return; if (!LB_BallThrowTypeLearned.GetSelected(0)) LB_BallThrowTypeLearned.SetSelected(0, true); } private void UpdateBallThrowTypeUnlocked(object sender, EventArgs e) { - if (Loading) return; + if (Loading) + return; for (int i = 0; i < 2; i++) { if (!LB_BallThrowTypeUnlocked.GetSelected(i)) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_BlockDump8.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_BlockDump8.cs index 15437895a..9564939ab 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_BlockDump8.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_BlockDump8.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -95,7 +95,7 @@ private void UpdateBlockSummaryControls() if (obj != null) { var props = ReflectUtil.GetPropertiesCanWritePublicDeclared(obj.GetType()); - if (props.Count() > 1) + if (props.Count() > 1 || ModifierKeys == Keys.Shift) { PG_BlockView.Visible = true; PG_BlockView.SelectedObject = obj; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_PokedexBDSP.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_PokedexBDSP.cs index c301fe149..74099f77a 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_PokedexBDSP.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_PokedexBDSP.cs @@ -42,7 +42,8 @@ public SAV_PokedexBDSP(SaveFile sav) private void ChangeCBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; @@ -55,7 +56,8 @@ private void ChangeCBSpecies(object sender, EventArgs e) private void ChangeLBSpecies(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; SetEntry(); editing = true; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.Designer.cs index 546964050..cc74d2651 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.Designer.cs @@ -1,4 +1,4 @@ -namespace PKHeX.WinForms +namespace PKHeX.WinForms { partial class SAV_Raid8 { @@ -30,53 +30,8 @@ private void InitializeComponent() { this.B_Cancel = new System.Windows.Forms.Button(); this.B_Save = new System.Windows.Forms.Button(); - this.L_Saying5 = new System.Windows.Forms.Label(); - this.L_Saying4 = new System.Windows.Forms.Label(); - this.L_Saying3 = new System.Windows.Forms.Label(); - this.L_Saying2 = new System.Windows.Forms.Label(); - this.L_Saying1 = new System.Windows.Forms.Label(); - this.TB_Saying5 = new System.Windows.Forms.TextBox(); - this.TB_Saying4 = new System.Windows.Forms.TextBox(); - this.TB_Saying3 = new System.Windows.Forms.TextBox(); - this.TB_Saying2 = new System.Windows.Forms.TextBox(); - this.TB_Saying1 = new System.Windows.Forms.TextBox(); - this.TB_MBMS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBMN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBRS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBRN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBTS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBTN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBDS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBDN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBSS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MBSN = new System.Windows.Forms.MaskedTextBox(); - this.L_SuperB = new System.Windows.Forms.Label(); - this.L_NormalB = new System.Windows.Forms.Label(); - this.L_MultiB = new System.Windows.Forms.Label(); - this.L_RotationB = new System.Windows.Forms.Label(); - this.L_TriplesB = new System.Windows.Forms.Label(); - this.L_DoublesB = new System.Windows.Forms.Label(); - this.L_SinglesB = new System.Windows.Forms.Label(); - this.TB_MCMS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCMN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCRS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCRN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCTS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCTN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCDS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCDN = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCSS = new System.Windows.Forms.MaskedTextBox(); - this.TB_MCSN = new System.Windows.Forms.MaskedTextBox(); - this.L_SuperC = new System.Windows.Forms.Label(); - this.L_NormalC = new System.Windows.Forms.Label(); - this.L_MultiC = new System.Windows.Forms.Label(); - this.L_RotationC = new System.Windows.Forms.Label(); - this.L_TriplesC = new System.Windows.Forms.Label(); - this.L_DoublesC = new System.Windows.Forms.Label(); - this.L_SinglesC = new System.Windows.Forms.Label(); this.PG_Den = new System.Windows.Forms.PropertyGrid(); this.CB_Den = new System.Windows.Forms.ComboBox(); - this.B_ActivateAll = new System.Windows.Forms.Button(); this.SuspendLayout(); // // B_Cancel @@ -101,314 +56,6 @@ private void InitializeComponent() this.B_Save.UseVisualStyleBackColor = true; this.B_Save.Click += new System.EventHandler(this.B_Save_Click); // - // L_Saying5 - // - this.L_Saying5.Location = new System.Drawing.Point(0, 0); - this.L_Saying5.Name = "L_Saying5"; - this.L_Saying5.Size = new System.Drawing.Size(100, 23); - this.L_Saying5.TabIndex = 0; - // - // L_Saying4 - // - this.L_Saying4.Location = new System.Drawing.Point(0, 0); - this.L_Saying4.Name = "L_Saying4"; - this.L_Saying4.Size = new System.Drawing.Size(100, 23); - this.L_Saying4.TabIndex = 0; - // - // L_Saying3 - // - this.L_Saying3.Location = new System.Drawing.Point(0, 0); - this.L_Saying3.Name = "L_Saying3"; - this.L_Saying3.Size = new System.Drawing.Size(100, 23); - this.L_Saying3.TabIndex = 0; - // - // L_Saying2 - // - this.L_Saying2.Location = new System.Drawing.Point(0, 0); - this.L_Saying2.Name = "L_Saying2"; - this.L_Saying2.Size = new System.Drawing.Size(100, 23); - this.L_Saying2.TabIndex = 0; - // - // L_Saying1 - // - this.L_Saying1.Location = new System.Drawing.Point(0, 0); - this.L_Saying1.Name = "L_Saying1"; - this.L_Saying1.Size = new System.Drawing.Size(100, 23); - this.L_Saying1.TabIndex = 0; - // - // TB_Saying5 - // - this.TB_Saying5.Location = new System.Drawing.Point(0, 0); - this.TB_Saying5.Name = "TB_Saying5"; - this.TB_Saying5.Size = new System.Drawing.Size(100, 20); - this.TB_Saying5.TabIndex = 0; - // - // TB_Saying4 - // - this.TB_Saying4.Location = new System.Drawing.Point(0, 0); - this.TB_Saying4.Name = "TB_Saying4"; - this.TB_Saying4.Size = new System.Drawing.Size(100, 20); - this.TB_Saying4.TabIndex = 0; - // - // TB_Saying3 - // - this.TB_Saying3.Location = new System.Drawing.Point(0, 0); - this.TB_Saying3.Name = "TB_Saying3"; - this.TB_Saying3.Size = new System.Drawing.Size(100, 20); - this.TB_Saying3.TabIndex = 0; - // - // TB_Saying2 - // - this.TB_Saying2.Location = new System.Drawing.Point(0, 0); - this.TB_Saying2.Name = "TB_Saying2"; - this.TB_Saying2.Size = new System.Drawing.Size(100, 20); - this.TB_Saying2.TabIndex = 0; - // - // TB_Saying1 - // - this.TB_Saying1.Location = new System.Drawing.Point(0, 0); - this.TB_Saying1.Name = "TB_Saying1"; - this.TB_Saying1.Size = new System.Drawing.Size(100, 20); - this.TB_Saying1.TabIndex = 0; - // - // TB_MBMS - // - this.TB_MBMS.Location = new System.Drawing.Point(0, 0); - this.TB_MBMS.Name = "TB_MBMS"; - this.TB_MBMS.Size = new System.Drawing.Size(100, 20); - this.TB_MBMS.TabIndex = 0; - // - // TB_MBMN - // - this.TB_MBMN.Location = new System.Drawing.Point(0, 0); - this.TB_MBMN.Name = "TB_MBMN"; - this.TB_MBMN.Size = new System.Drawing.Size(100, 20); - this.TB_MBMN.TabIndex = 0; - // - // TB_MBRS - // - this.TB_MBRS.Location = new System.Drawing.Point(0, 0); - this.TB_MBRS.Name = "TB_MBRS"; - this.TB_MBRS.Size = new System.Drawing.Size(100, 20); - this.TB_MBRS.TabIndex = 0; - // - // TB_MBRN - // - this.TB_MBRN.Location = new System.Drawing.Point(0, 0); - this.TB_MBRN.Name = "TB_MBRN"; - this.TB_MBRN.Size = new System.Drawing.Size(100, 20); - this.TB_MBRN.TabIndex = 0; - // - // TB_MBTS - // - this.TB_MBTS.Location = new System.Drawing.Point(0, 0); - this.TB_MBTS.Name = "TB_MBTS"; - this.TB_MBTS.Size = new System.Drawing.Size(100, 20); - this.TB_MBTS.TabIndex = 0; - // - // TB_MBTN - // - this.TB_MBTN.Location = new System.Drawing.Point(0, 0); - this.TB_MBTN.Name = "TB_MBTN"; - this.TB_MBTN.Size = new System.Drawing.Size(100, 20); - this.TB_MBTN.TabIndex = 0; - // - // TB_MBDS - // - this.TB_MBDS.Location = new System.Drawing.Point(0, 0); - this.TB_MBDS.Name = "TB_MBDS"; - this.TB_MBDS.Size = new System.Drawing.Size(100, 20); - this.TB_MBDS.TabIndex = 0; - // - // TB_MBDN - // - this.TB_MBDN.Location = new System.Drawing.Point(0, 0); - this.TB_MBDN.Name = "TB_MBDN"; - this.TB_MBDN.Size = new System.Drawing.Size(100, 20); - this.TB_MBDN.TabIndex = 0; - // - // TB_MBSS - // - this.TB_MBSS.Location = new System.Drawing.Point(0, 0); - this.TB_MBSS.Name = "TB_MBSS"; - this.TB_MBSS.Size = new System.Drawing.Size(100, 20); - this.TB_MBSS.TabIndex = 0; - // - // TB_MBSN - // - this.TB_MBSN.Location = new System.Drawing.Point(0, 0); - this.TB_MBSN.Name = "TB_MBSN"; - this.TB_MBSN.Size = new System.Drawing.Size(100, 20); - this.TB_MBSN.TabIndex = 0; - // - // L_SuperB - // - this.L_SuperB.Location = new System.Drawing.Point(0, 0); - this.L_SuperB.Name = "L_SuperB"; - this.L_SuperB.Size = new System.Drawing.Size(100, 23); - this.L_SuperB.TabIndex = 0; - // - // L_NormalB - // - this.L_NormalB.Location = new System.Drawing.Point(0, 0); - this.L_NormalB.Name = "L_NormalB"; - this.L_NormalB.Size = new System.Drawing.Size(100, 23); - this.L_NormalB.TabIndex = 0; - // - // L_MultiB - // - this.L_MultiB.Location = new System.Drawing.Point(0, 0); - this.L_MultiB.Name = "L_MultiB"; - this.L_MultiB.Size = new System.Drawing.Size(100, 23); - this.L_MultiB.TabIndex = 0; - // - // L_RotationB - // - this.L_RotationB.Location = new System.Drawing.Point(0, 0); - this.L_RotationB.Name = "L_RotationB"; - this.L_RotationB.Size = new System.Drawing.Size(100, 23); - this.L_RotationB.TabIndex = 0; - // - // L_TriplesB - // - this.L_TriplesB.Location = new System.Drawing.Point(0, 0); - this.L_TriplesB.Name = "L_TriplesB"; - this.L_TriplesB.Size = new System.Drawing.Size(100, 23); - this.L_TriplesB.TabIndex = 0; - // - // L_DoublesB - // - this.L_DoublesB.Location = new System.Drawing.Point(0, 0); - this.L_DoublesB.Name = "L_DoublesB"; - this.L_DoublesB.Size = new System.Drawing.Size(100, 23); - this.L_DoublesB.TabIndex = 0; - // - // L_SinglesB - // - this.L_SinglesB.Location = new System.Drawing.Point(0, 0); - this.L_SinglesB.Name = "L_SinglesB"; - this.L_SinglesB.Size = new System.Drawing.Size(100, 23); - this.L_SinglesB.TabIndex = 0; - // - // TB_MCMS - // - this.TB_MCMS.Location = new System.Drawing.Point(0, 0); - this.TB_MCMS.Name = "TB_MCMS"; - this.TB_MCMS.Size = new System.Drawing.Size(100, 20); - this.TB_MCMS.TabIndex = 0; - // - // TB_MCMN - // - this.TB_MCMN.Location = new System.Drawing.Point(0, 0); - this.TB_MCMN.Name = "TB_MCMN"; - this.TB_MCMN.Size = new System.Drawing.Size(100, 20); - this.TB_MCMN.TabIndex = 0; - // - // TB_MCRS - // - this.TB_MCRS.Location = new System.Drawing.Point(0, 0); - this.TB_MCRS.Name = "TB_MCRS"; - this.TB_MCRS.Size = new System.Drawing.Size(100, 20); - this.TB_MCRS.TabIndex = 0; - // - // TB_MCRN - // - this.TB_MCRN.Location = new System.Drawing.Point(0, 0); - this.TB_MCRN.Name = "TB_MCRN"; - this.TB_MCRN.Size = new System.Drawing.Size(100, 20); - this.TB_MCRN.TabIndex = 0; - // - // TB_MCTS - // - this.TB_MCTS.Location = new System.Drawing.Point(0, 0); - this.TB_MCTS.Name = "TB_MCTS"; - this.TB_MCTS.Size = new System.Drawing.Size(100, 20); - this.TB_MCTS.TabIndex = 0; - // - // TB_MCTN - // - this.TB_MCTN.Location = new System.Drawing.Point(0, 0); - this.TB_MCTN.Name = "TB_MCTN"; - this.TB_MCTN.Size = new System.Drawing.Size(100, 20); - this.TB_MCTN.TabIndex = 0; - // - // TB_MCDS - // - this.TB_MCDS.Location = new System.Drawing.Point(0, 0); - this.TB_MCDS.Name = "TB_MCDS"; - this.TB_MCDS.Size = new System.Drawing.Size(100, 20); - this.TB_MCDS.TabIndex = 0; - // - // TB_MCDN - // - this.TB_MCDN.Location = new System.Drawing.Point(0, 0); - this.TB_MCDN.Name = "TB_MCDN"; - this.TB_MCDN.Size = new System.Drawing.Size(100, 20); - this.TB_MCDN.TabIndex = 0; - // - // TB_MCSS - // - this.TB_MCSS.Location = new System.Drawing.Point(0, 0); - this.TB_MCSS.Name = "TB_MCSS"; - this.TB_MCSS.Size = new System.Drawing.Size(100, 20); - this.TB_MCSS.TabIndex = 0; - // - // TB_MCSN - // - this.TB_MCSN.Location = new System.Drawing.Point(0, 0); - this.TB_MCSN.Name = "TB_MCSN"; - this.TB_MCSN.Size = new System.Drawing.Size(100, 20); - this.TB_MCSN.TabIndex = 0; - // - // L_SuperC - // - this.L_SuperC.Location = new System.Drawing.Point(0, 0); - this.L_SuperC.Name = "L_SuperC"; - this.L_SuperC.Size = new System.Drawing.Size(100, 23); - this.L_SuperC.TabIndex = 0; - // - // L_NormalC - // - this.L_NormalC.Location = new System.Drawing.Point(0, 0); - this.L_NormalC.Name = "L_NormalC"; - this.L_NormalC.Size = new System.Drawing.Size(100, 23); - this.L_NormalC.TabIndex = 0; - // - // L_MultiC - // - this.L_MultiC.Location = new System.Drawing.Point(0, 0); - this.L_MultiC.Name = "L_MultiC"; - this.L_MultiC.Size = new System.Drawing.Size(100, 23); - this.L_MultiC.TabIndex = 0; - // - // L_RotationC - // - this.L_RotationC.Location = new System.Drawing.Point(0, 0); - this.L_RotationC.Name = "L_RotationC"; - this.L_RotationC.Size = new System.Drawing.Size(100, 23); - this.L_RotationC.TabIndex = 0; - // - // L_TriplesC - // - this.L_TriplesC.Location = new System.Drawing.Point(0, 0); - this.L_TriplesC.Name = "L_TriplesC"; - this.L_TriplesC.Size = new System.Drawing.Size(100, 23); - this.L_TriplesC.TabIndex = 0; - // - // L_DoublesC - // - this.L_DoublesC.Location = new System.Drawing.Point(0, 0); - this.L_DoublesC.Name = "L_DoublesC"; - this.L_DoublesC.Size = new System.Drawing.Size(100, 23); - this.L_DoublesC.TabIndex = 0; - // - // L_SinglesC - // - this.L_SinglesC.Location = new System.Drawing.Point(0, 0); - this.L_SinglesC.Name = "L_SinglesC"; - this.L_SinglesC.Size = new System.Drawing.Size(100, 23); - this.L_SinglesC.TabIndex = 0; - // // PG_Den // this.PG_Den.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -431,23 +78,11 @@ private void InitializeComponent() this.CB_Den.TabIndex = 3; this.CB_Den.SelectedIndexChanged += new System.EventHandler(this.CB_Den_SelectedIndexChanged); // - // B_ActivateAll - // - this.B_ActivateAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.B_ActivateAll.Location = new System.Drawing.Point(13, 289); - this.B_ActivateAll.Name = "B_ActivateAll"; - this.B_ActivateAll.Size = new System.Drawing.Size(103, 23); - this.B_ActivateAll.TabIndex = 4; - this.B_ActivateAll.Text = "Activate All"; - this.B_ActivateAll.UseVisualStyleBackColor = true; - this.B_ActivateAll.Click += new System.EventHandler(this.B_ActivateAll_Click); - // // SAV_Raid8 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(314, 321); - this.Controls.Add(this.B_ActivateAll); this.Controls.Add(this.CB_Den); this.Controls.Add(this.PG_Den); this.Controls.Add(this.B_Save); @@ -467,52 +102,7 @@ private void InitializeComponent() private System.Windows.Forms.Button B_Cancel; private System.Windows.Forms.Button B_Save; - private System.Windows.Forms.Label L_Saying5; - private System.Windows.Forms.Label L_Saying4; - private System.Windows.Forms.Label L_Saying3; - private System.Windows.Forms.Label L_Saying2; - private System.Windows.Forms.Label L_Saying1; - private System.Windows.Forms.TextBox TB_Saying5; - private System.Windows.Forms.TextBox TB_Saying4; - private System.Windows.Forms.TextBox TB_Saying3; - private System.Windows.Forms.TextBox TB_Saying2; - private System.Windows.Forms.TextBox TB_Saying1; - private System.Windows.Forms.Label L_SuperB; - private System.Windows.Forms.Label L_NormalB; - private System.Windows.Forms.Label L_MultiB; - private System.Windows.Forms.Label L_RotationB; - private System.Windows.Forms.Label L_TriplesB; - private System.Windows.Forms.Label L_DoublesB; - private System.Windows.Forms.Label L_SinglesB; - private System.Windows.Forms.Label L_SuperC; - private System.Windows.Forms.Label L_NormalC; - private System.Windows.Forms.Label L_MultiC; - private System.Windows.Forms.Label L_RotationC; - private System.Windows.Forms.Label L_TriplesC; - private System.Windows.Forms.Label L_DoublesC; - private System.Windows.Forms.Label L_SinglesC; - private System.Windows.Forms.MaskedTextBox TB_MBMS; - private System.Windows.Forms.MaskedTextBox TB_MBMN; - private System.Windows.Forms.MaskedTextBox TB_MBRS; - private System.Windows.Forms.MaskedTextBox TB_MBRN; - private System.Windows.Forms.MaskedTextBox TB_MBTS; - private System.Windows.Forms.MaskedTextBox TB_MBTN; - private System.Windows.Forms.MaskedTextBox TB_MBDS; - private System.Windows.Forms.MaskedTextBox TB_MBDN; - private System.Windows.Forms.MaskedTextBox TB_MBSS; - private System.Windows.Forms.MaskedTextBox TB_MBSN; - private System.Windows.Forms.MaskedTextBox TB_MCMS; - private System.Windows.Forms.MaskedTextBox TB_MCMN; - private System.Windows.Forms.MaskedTextBox TB_MCRS; - private System.Windows.Forms.MaskedTextBox TB_MCRN; - private System.Windows.Forms.MaskedTextBox TB_MCTS; - private System.Windows.Forms.MaskedTextBox TB_MCTN; - private System.Windows.Forms.MaskedTextBox TB_MCDS; - private System.Windows.Forms.MaskedTextBox TB_MCDN; - private System.Windows.Forms.MaskedTextBox TB_MCSS; - private System.Windows.Forms.MaskedTextBox TB_MCSN; private System.Windows.Forms.PropertyGrid PG_Den; private System.Windows.Forms.ComboBox CB_Den; - private System.Windows.Forms.Button B_ActivateAll; } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.cs index 71d1201c1..822b8a089 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen8/SAV_Raid8.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using System.Windows.Forms; using PKHeX.Core; @@ -36,27 +36,4 @@ private void B_Save_Click(object sender, EventArgs e) } private void CB_Den_SelectedIndexChanged(object sender, EventArgs e) => LoadDen(CB_Den.SelectedIndex); - - private void B_ActivateAll_Click(object sender, EventArgs e) - { - bool alt = (ModifierKeys & Keys.Alt) != 0; - if (alt) - { - if ((ModifierKeys & Keys.Control) == 0) - { - Raids.DectivateAllRaids(); - LoadDen(CB_Den.SelectedIndex); - } - var txt = Raids.DumpAll(); - var concat = string.Join(Environment.NewLine, txt); - if (WinFormsUtil.SetClipboardText(concat)) - System.Media.SystemSounds.Asterisk.Play(); - return; - } - - bool rare = (ModifierKeys & Keys.Control) != 0; - bool isEvent = (ModifierKeys & Keys.Shift) != 0; - Raids.ActivateAllRaids(rare, isEvent); - LoadDen(CB_Den.SelectedIndex); - } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.Designer.cs new file mode 100644 index 000000000..4bebc87eb --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.Designer.cs @@ -0,0 +1,560 @@ +namespace PKHeX.WinForms +{ + partial class SAV_PokedexSV + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.B_Cancel = new System.Windows.Forms.Button(); + this.LB_Species = new System.Windows.Forms.ListBox(); + this.L_goto = new System.Windows.Forms.Label(); + this.CB_Species = new System.Windows.Forms.ComboBox(); + this.B_GiveAll = new System.Windows.Forms.Button(); + this.B_Save = new System.Windows.Forms.Button(); + this.B_Modify = new System.Windows.Forms.Button(); + this.modifyMenu = new System.Windows.Forms.ContextMenuStrip(this.components); + this.mnuSeenNone = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuSeenAll = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuCaughtNone = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuCaughtAll = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuComplete = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuFormNone = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuForm1 = new System.Windows.Forms.ToolStripMenuItem(); + this.mnuFormAll = new System.Windows.Forms.ToolStripMenuItem(); + this.CB_DisplayForm = new System.Windows.Forms.ComboBox(); + this.GB_Displayed = new System.Windows.Forms.GroupBox(); + this.CB_Gender = new System.Windows.Forms.ComboBox(); + this.CHK_G = new System.Windows.Forms.CheckBox(); + this.CHK_DisplayShiny = new System.Windows.Forms.CheckBox(); + this.CB_State = new System.Windows.Forms.ComboBox(); + this.GB_Language = new System.Windows.Forms.GroupBox(); + this.CHK_LangCHT = new System.Windows.Forms.CheckBox(); + this.CHK_LangCHS = new System.Windows.Forms.CheckBox(); + this.CHK_LangKOR = new System.Windows.Forms.CheckBox(); + this.CHK_LangSPA = new System.Windows.Forms.CheckBox(); + this.CHK_LangGER = new System.Windows.Forms.CheckBox(); + this.CHK_LangITA = new System.Windows.Forms.CheckBox(); + this.CHK_LangFRE = new System.Windows.Forms.CheckBox(); + this.CHK_LangENG = new System.Windows.Forms.CheckBox(); + this.CHK_LangJPN = new System.Windows.Forms.CheckBox(); + this.CLB_FormSeen = new System.Windows.Forms.CheckedListBox(); + this.CHK_SeenShiny = new System.Windows.Forms.CheckBox(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.CHK_SeenFemale = new System.Windows.Forms.CheckBox(); + this.CHK_SeenMale = new System.Windows.Forms.CheckBox(); + this.CHK_SeenGenderless = new System.Windows.Forms.CheckBox(); + this.CHK_IsNew = new System.Windows.Forms.CheckBox(); + this.L_DisplayedForm = new System.Windows.Forms.Label(); + this.modifyMenu.SuspendLayout(); + this.GB_Displayed.SuspendLayout(); + this.GB_Language.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // B_Cancel + // + this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Cancel.Location = new System.Drawing.Point(429, 294); + this.B_Cancel.Name = "B_Cancel"; + this.B_Cancel.Size = new System.Drawing.Size(80, 23); + this.B_Cancel.TabIndex = 0; + this.B_Cancel.Text = "Cancel"; + this.B_Cancel.UseVisualStyleBackColor = true; + this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click); + // + // LB_Species + // + this.LB_Species.FormattingEnabled = true; + this.LB_Species.Location = new System.Drawing.Point(12, 40); + this.LB_Species.Name = "LB_Species"; + this.LB_Species.Size = new System.Drawing.Size(160, 277); + this.LB_Species.TabIndex = 2; + this.LB_Species.SelectedIndexChanged += new System.EventHandler(this.ChangeLBSpecies); + // + // L_goto + // + this.L_goto.AutoSize = true; + this.L_goto.Location = new System.Drawing.Point(12, 16); + this.L_goto.Name = "L_goto"; + this.L_goto.Size = new System.Drawing.Size(31, 13); + this.L_goto.TabIndex = 20; + this.L_goto.Text = "goto:"; + // + // CB_Species + // + this.CB_Species.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_Species.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_Species.DropDownWidth = 95; + this.CB_Species.FormattingEnabled = true; + this.CB_Species.Items.AddRange(new object[] { + "0"}); + this.CB_Species.Location = new System.Drawing.Point(50, 13); + this.CB_Species.Name = "CB_Species"; + this.CB_Species.Size = new System.Drawing.Size(122, 21); + this.CB_Species.TabIndex = 21; + this.CB_Species.SelectedIndexChanged += new System.EventHandler(this.ChangeCBSpecies); + this.CB_Species.SelectedValueChanged += new System.EventHandler(this.ChangeCBSpecies); + // + // B_GiveAll + // + this.B_GiveAll.Location = new System.Drawing.Point(178, 11); + this.B_GiveAll.Name = "B_GiveAll"; + this.B_GiveAll.Size = new System.Drawing.Size(60, 23); + this.B_GiveAll.TabIndex = 23; + this.B_GiveAll.Text = "Check All"; + this.B_GiveAll.UseVisualStyleBackColor = true; + this.B_GiveAll.Click += new System.EventHandler(this.B_GiveAll_Click); + // + // B_Save + // + this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Save.Location = new System.Drawing.Point(429, 265); + this.B_Save.Name = "B_Save"; + this.B_Save.Size = new System.Drawing.Size(80, 23); + this.B_Save.TabIndex = 24; + this.B_Save.Text = "Save"; + this.B_Save.UseVisualStyleBackColor = true; + this.B_Save.Click += new System.EventHandler(this.B_Save_Click); + // + // B_Modify + // + this.B_Modify.Location = new System.Drawing.Point(429, 11); + this.B_Modify.Name = "B_Modify"; + this.B_Modify.Size = new System.Drawing.Size(80, 23); + this.B_Modify.TabIndex = 25; + this.B_Modify.Text = "Modify All..."; + this.B_Modify.UseVisualStyleBackColor = true; + this.B_Modify.Click += new System.EventHandler(this.B_Modify_Click); + // + // modifyMenu + // + this.modifyMenu.ImageScalingSize = new System.Drawing.Size(20, 20); + this.modifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.mnuSeenNone, + this.mnuSeenAll, + this.mnuCaughtNone, + this.mnuCaughtAll, + this.mnuComplete}); + this.modifyMenu.Name = "modifyMenu"; + this.modifyMenu.Size = new System.Drawing.Size(150, 114); + // + // mnuSeenNone + // + this.mnuSeenNone.Name = "mnuSeenNone"; + this.mnuSeenNone.Size = new System.Drawing.Size(201, 22); + this.mnuSeenNone.Text = "Seen none"; + this.mnuSeenNone.Click += new System.EventHandler(this.SeenNone); + // + // mnuSeenAll + // + this.mnuSeenAll.Name = "mnuSeenAll"; + this.mnuSeenAll.Size = new System.Drawing.Size(201, 22); + this.mnuSeenAll.Text = "Seen all"; + this.mnuSeenAll.Click += new System.EventHandler(this.SeenAll); + // + // mnuCaughtNone + // + this.mnuCaughtNone.Name = "mnuCaughtNone"; + this.mnuCaughtNone.Size = new System.Drawing.Size(201, 22); + this.mnuCaughtNone.Text = "Caught none"; + this.mnuCaughtNone.Click += new System.EventHandler(this.CaughtNone); + // + // mnuCaughtAll + // + this.mnuCaughtAll.Name = "mnuCaughtAll"; + this.mnuCaughtAll.Size = new System.Drawing.Size(201, 22); + this.mnuCaughtAll.Text = "Caught all"; + this.mnuCaughtAll.Click += new System.EventHandler(this.CaughtAll); + // + // mnuComplete + // + this.mnuComplete.Name = "mnuComplete"; + this.mnuComplete.Size = new System.Drawing.Size(201, 22); + this.mnuComplete.Text = "Complete Dex"; + this.mnuComplete.Click += new System.EventHandler(this.CompleteDex); + // + // mnuFormNone + // + this.mnuFormNone.Name = "mnuFormNone"; + this.mnuFormNone.Size = new System.Drawing.Size(32, 19); + // + // mnuForm1 + // + this.mnuForm1.Name = "mnuForm1"; + this.mnuForm1.Size = new System.Drawing.Size(32, 19); + // + // mnuFormAll + // + this.mnuFormAll.Name = "mnuFormAll"; + this.mnuFormAll.Size = new System.Drawing.Size(32, 19); + // + // CB_DisplayForm + // + this.CB_DisplayForm.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_DisplayForm.FormattingEnabled = true; + this.CB_DisplayForm.Items.AddRange(new object[] { + "♂", + "♀", + "-"}); + this.CB_DisplayForm.Location = new System.Drawing.Point(6, 100); + this.CB_DisplayForm.Name = "CB_DisplayForm"; + this.CB_DisplayForm.Size = new System.Drawing.Size(103, 21); + this.CB_DisplayForm.TabIndex = 45; + // + // GB_Displayed + // + this.GB_Displayed.Controls.Add(this.L_DisplayedForm); + this.GB_Displayed.Controls.Add(this.CB_Gender); + this.GB_Displayed.Controls.Add(this.CHK_G); + this.GB_Displayed.Controls.Add(this.CHK_DisplayShiny); + this.GB_Displayed.Controls.Add(this.CB_DisplayForm); + this.GB_Displayed.Location = new System.Drawing.Point(307, 40); + this.GB_Displayed.Name = "GB_Displayed"; + this.GB_Displayed.Size = new System.Drawing.Size(115, 128); + this.GB_Displayed.TabIndex = 44; + this.GB_Displayed.TabStop = false; + this.GB_Displayed.Text = "Displayed"; + // + // CB_Gender + // + this.CB_Gender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Gender.FormattingEnabled = true; + this.CB_Gender.Items.AddRange(new object[] { + "♂", + "♀", + "-"}); + this.CB_Gender.Location = new System.Drawing.Point(5, 19); + this.CB_Gender.Name = "CB_Gender"; + this.CB_Gender.Size = new System.Drawing.Size(40, 21); + this.CB_Gender.TabIndex = 24; + // + // CHK_G + // + this.CHK_G.AutoSize = true; + this.CHK_G.Location = new System.Drawing.Point(5, 54); + this.CHK_G.Name = "CHK_G"; + this.CHK_G.Size = new System.Drawing.Size(104, 17); + this.CHK_G.TabIndex = 10; + this.CHK_G.Text = "Gender Different"; + this.CHK_G.UseVisualStyleBackColor = true; + // + // CHK_DisplayShiny + // + this.CHK_DisplayShiny.AutoSize = true; + this.CHK_DisplayShiny.Location = new System.Drawing.Point(48, 21); + this.CHK_DisplayShiny.Name = "CHK_DisplayShiny"; + this.CHK_DisplayShiny.Size = new System.Drawing.Size(52, 17); + this.CHK_DisplayShiny.TabIndex = 9; + this.CHK_DisplayShiny.Text = "Shiny"; + this.CHK_DisplayShiny.UseVisualStyleBackColor = true; + // + // CB_State + // + this.CB_State.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; + this.CB_State.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.CB_State.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_State.DropDownWidth = 95; + this.CB_State.FormattingEnabled = true; + this.CB_State.Items.AddRange(new object[] { + "None", + "Heard Of", + "Seen", + "Captured"}); + this.CB_State.Location = new System.Drawing.Point(244, 12); + this.CB_State.Name = "CB_State"; + this.CB_State.Size = new System.Drawing.Size(108, 21); + this.CB_State.TabIndex = 46; + // + // GB_Language + // + this.GB_Language.Controls.Add(this.CHK_LangCHT); + this.GB_Language.Controls.Add(this.CHK_LangCHS); + this.GB_Language.Controls.Add(this.CHK_LangKOR); + this.GB_Language.Controls.Add(this.CHK_LangSPA); + this.GB_Language.Controls.Add(this.CHK_LangGER); + this.GB_Language.Controls.Add(this.CHK_LangITA); + this.GB_Language.Controls.Add(this.CHK_LangFRE); + this.GB_Language.Controls.Add(this.CHK_LangENG); + this.GB_Language.Controls.Add(this.CHK_LangJPN); + this.GB_Language.Location = new System.Drawing.Point(307, 173); + this.GB_Language.Name = "GB_Language"; + this.GB_Language.Size = new System.Drawing.Size(115, 145); + this.GB_Language.TabIndex = 47; + this.GB_Language.TabStop = false; + this.GB_Language.Text = "Languages"; + // + // CHK_LangCHT + // + this.CHK_LangCHT.AutoSize = true; + this.CHK_LangCHT.Location = new System.Drawing.Point(6, 126); + this.CHK_LangCHT.Name = "CHK_LangCHT"; + this.CHK_LangCHT.Size = new System.Drawing.Size(71, 17); + this.CHK_LangCHT.TabIndex = 21; + this.CHK_LangCHT.Text = "ChineseT"; + this.CHK_LangCHT.UseVisualStyleBackColor = true; + // + // CHK_LangCHS + // + this.CHK_LangCHS.AutoSize = true; + this.CHK_LangCHS.Location = new System.Drawing.Point(6, 112); + this.CHK_LangCHS.Name = "CHK_LangCHS"; + this.CHK_LangCHS.Size = new System.Drawing.Size(71, 17); + this.CHK_LangCHS.TabIndex = 20; + this.CHK_LangCHS.Text = "ChineseS"; + this.CHK_LangCHS.UseVisualStyleBackColor = true; + // + // CHK_LangKOR + // + this.CHK_LangKOR.AutoSize = true; + this.CHK_LangKOR.Location = new System.Drawing.Point(6, 98); + this.CHK_LangKOR.Name = "CHK_LangKOR"; + this.CHK_LangKOR.Size = new System.Drawing.Size(60, 17); + this.CHK_LangKOR.TabIndex = 19; + this.CHK_LangKOR.Text = "Korean"; + this.CHK_LangKOR.UseVisualStyleBackColor = true; + // + // CHK_LangSPA + // + this.CHK_LangSPA.AutoSize = true; + this.CHK_LangSPA.Location = new System.Drawing.Point(6, 84); + this.CHK_LangSPA.Name = "CHK_LangSPA"; + this.CHK_LangSPA.Size = new System.Drawing.Size(64, 17); + this.CHK_LangSPA.TabIndex = 18; + this.CHK_LangSPA.Text = "Spanish"; + this.CHK_LangSPA.UseVisualStyleBackColor = true; + // + // CHK_LangGER + // + this.CHK_LangGER.AutoSize = true; + this.CHK_LangGER.Location = new System.Drawing.Point(6, 70); + this.CHK_LangGER.Name = "CHK_LangGER"; + this.CHK_LangGER.Size = new System.Drawing.Size(63, 17); + this.CHK_LangGER.TabIndex = 17; + this.CHK_LangGER.Text = "German"; + this.CHK_LangGER.UseVisualStyleBackColor = true; + // + // CHK_LangITA + // + this.CHK_LangITA.AutoSize = true; + this.CHK_LangITA.Location = new System.Drawing.Point(6, 56); + this.CHK_LangITA.Name = "CHK_LangITA"; + this.CHK_LangITA.Size = new System.Drawing.Size(54, 17); + this.CHK_LangITA.TabIndex = 16; + this.CHK_LangITA.Text = "Italian"; + this.CHK_LangITA.UseVisualStyleBackColor = true; + // + // CHK_LangFRE + // + this.CHK_LangFRE.AutoSize = true; + this.CHK_LangFRE.Location = new System.Drawing.Point(6, 42); + this.CHK_LangFRE.Name = "CHK_LangFRE"; + this.CHK_LangFRE.Size = new System.Drawing.Size(59, 17); + this.CHK_LangFRE.TabIndex = 15; + this.CHK_LangFRE.Text = "French"; + this.CHK_LangFRE.UseVisualStyleBackColor = true; + // + // CHK_LangENG + // + this.CHK_LangENG.AutoSize = true; + this.CHK_LangENG.Location = new System.Drawing.Point(6, 28); + this.CHK_LangENG.Name = "CHK_LangENG"; + this.CHK_LangENG.Size = new System.Drawing.Size(60, 17); + this.CHK_LangENG.TabIndex = 14; + this.CHK_LangENG.Text = "English"; + this.CHK_LangENG.UseVisualStyleBackColor = true; + // + // CHK_LangJPN + // + this.CHK_LangJPN.AutoSize = true; + this.CHK_LangJPN.Location = new System.Drawing.Point(6, 14); + this.CHK_LangJPN.Name = "CHK_LangJPN"; + this.CHK_LangJPN.Size = new System.Drawing.Size(72, 17); + this.CHK_LangJPN.TabIndex = 13; + this.CHK_LangJPN.Text = "Japanese"; + this.CHK_LangJPN.UseVisualStyleBackColor = true; + // + // CLB_FormSeen + // + this.CLB_FormSeen.FormattingEnabled = true; + this.CLB_FormSeen.Location = new System.Drawing.Point(180, 133); + this.CLB_FormSeen.Name = "CLB_FormSeen"; + this.CLB_FormSeen.Size = new System.Drawing.Size(119, 184); + this.CLB_FormSeen.TabIndex = 48; + // + // CHK_SeenShiny + // + this.CHK_SeenShiny.AutoSize = true; + this.CHK_SeenShiny.Location = new System.Drawing.Point(5, 65); + this.CHK_SeenShiny.Name = "CHK_SeenShiny"; + this.CHK_SeenShiny.Size = new System.Drawing.Size(52, 17); + this.CHK_SeenShiny.TabIndex = 25; + this.CHK_SeenShiny.Text = "Shiny"; + this.CHK_SeenShiny.UseVisualStyleBackColor = true; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.CHK_SeenGenderless); + this.groupBox1.Controls.Add(this.CHK_SeenShiny); + this.groupBox1.Controls.Add(this.CHK_SeenFemale); + this.groupBox1.Controls.Add(this.CHK_SeenMale); + this.groupBox1.Location = new System.Drawing.Point(178, 40); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(121, 87); + this.groupBox1.TabIndex = 49; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Seen"; + // + // CHK_SeenFemale + // + this.CHK_SeenFemale.AutoSize = true; + this.CHK_SeenFemale.Location = new System.Drawing.Point(5, 28); + this.CHK_SeenFemale.Name = "CHK_SeenFemale"; + this.CHK_SeenFemale.Size = new System.Drawing.Size(60, 17); + this.CHK_SeenFemale.TabIndex = 9; + this.CHK_SeenFemale.Text = "Female"; + this.CHK_SeenFemale.UseVisualStyleBackColor = true; + // + // CHK_SeenMale + // + this.CHK_SeenMale.AutoSize = true; + this.CHK_SeenMale.Location = new System.Drawing.Point(5, 14); + this.CHK_SeenMale.Name = "CHK_SeenMale"; + this.CHK_SeenMale.Size = new System.Drawing.Size(49, 17); + this.CHK_SeenMale.TabIndex = 11; + this.CHK_SeenMale.Text = "Male"; + this.CHK_SeenMale.UseVisualStyleBackColor = true; + // + // CHK_SeenGenderless + // + this.CHK_SeenGenderless.AutoSize = true; + this.CHK_SeenGenderless.Location = new System.Drawing.Point(5, 42); + this.CHK_SeenGenderless.Name = "CHK_SeenGenderless"; + this.CHK_SeenGenderless.Size = new System.Drawing.Size(79, 17); + this.CHK_SeenGenderless.TabIndex = 12; + this.CHK_SeenGenderless.Text = "Genderless"; + this.CHK_SeenGenderless.UseVisualStyleBackColor = true; + // + // CHK_IsNew + // + this.CHK_IsNew.AutoSize = true; + this.CHK_IsNew.Location = new System.Drawing.Point(355, 15); + this.CHK_IsNew.Name = "CHK_IsNew"; + this.CHK_IsNew.Size = new System.Drawing.Size(48, 17); + this.CHK_IsNew.TabIndex = 46; + this.CHK_IsNew.Text = "New"; + this.CHK_IsNew.UseVisualStyleBackColor = true; + // + // L_DisplayedForm + // + this.L_DisplayedForm.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.L_DisplayedForm.AutoSize = true; + this.L_DisplayedForm.Location = new System.Drawing.Point(3, 84); + this.L_DisplayedForm.Name = "L_DisplayedForm"; + this.L_DisplayedForm.Size = new System.Drawing.Size(82, 13); + this.L_DisplayedForm.TabIndex = 50; + this.L_DisplayedForm.Text = "Displayed Form:"; + // + // SAV_PokedexSV + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(521, 327); + this.Controls.Add(this.CHK_IsNew); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.CLB_FormSeen); + this.Controls.Add(this.GB_Language); + this.Controls.Add(this.CB_State); + this.Controls.Add(this.GB_Displayed); + this.Controls.Add(this.B_Modify); + this.Controls.Add(this.B_Save); + this.Controls.Add(this.B_GiveAll); + this.Controls.Add(this.CB_Species); + this.Controls.Add(this.L_goto); + this.Controls.Add(this.LB_Species); + this.Controls.Add(this.B_Cancel); + this.Icon = global::PKHeX.WinForms.Properties.Resources.Icon; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "SAV_PokedexSV"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Pokédex Editor"; + this.modifyMenu.ResumeLayout(false); + this.GB_Displayed.ResumeLayout(false); + this.GB_Displayed.PerformLayout(); + this.GB_Language.ResumeLayout(false); + this.GB_Language.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button B_Cancel; + private System.Windows.Forms.ListBox LB_Species; + private System.Windows.Forms.Label L_goto; + private System.Windows.Forms.ComboBox CB_Species; + private System.Windows.Forms.Button B_GiveAll; + private System.Windows.Forms.Button B_Save; + private System.Windows.Forms.Button B_Modify; + private System.Windows.Forms.ContextMenuStrip modifyMenu; + private System.Windows.Forms.ToolStripMenuItem mnuSeenNone; + private System.Windows.Forms.ToolStripMenuItem mnuSeenAll; + private System.Windows.Forms.ToolStripMenuItem mnuCaughtNone; + private System.Windows.Forms.ToolStripMenuItem mnuCaughtAll; + private System.Windows.Forms.ToolStripMenuItem mnuComplete; + private System.Windows.Forms.ToolStripMenuItem mnuFormNone; + private System.Windows.Forms.ToolStripMenuItem mnuForm1; + private System.Windows.Forms.ToolStripMenuItem mnuFormAll; + private System.Windows.Forms.ComboBox CB_DisplayForm; + private System.Windows.Forms.GroupBox GB_Displayed; + private System.Windows.Forms.CheckBox CHK_DisplayShiny; + private System.Windows.Forms.ComboBox CB_State; + private System.Windows.Forms.ComboBox CB_Gender; + private System.Windows.Forms.CheckBox CHK_G; + private System.Windows.Forms.GroupBox GB_Language; + private System.Windows.Forms.CheckBox CHK_LangCHT; + private System.Windows.Forms.CheckBox CHK_LangCHS; + private System.Windows.Forms.CheckBox CHK_LangKOR; + private System.Windows.Forms.CheckBox CHK_LangSPA; + private System.Windows.Forms.CheckBox CHK_LangGER; + private System.Windows.Forms.CheckBox CHK_LangITA; + private System.Windows.Forms.CheckBox CHK_LangFRE; + private System.Windows.Forms.CheckBox CHK_LangENG; + private System.Windows.Forms.CheckBox CHK_LangJPN; + private System.Windows.Forms.CheckedListBox CLB_FormSeen; + private System.Windows.Forms.CheckBox CHK_SeenShiny; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.CheckBox CHK_SeenGenderless; + private System.Windows.Forms.CheckBox CHK_SeenFemale; + private System.Windows.Forms.CheckBox CHK_SeenMale; + private System.Windows.Forms.CheckBox CHK_IsNew; + private System.Windows.Forms.Label L_DisplayedForm; + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.cs new file mode 100644 index 000000000..0d24fbfb7 --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_PokedexSV.cs @@ -0,0 +1,279 @@ +using System; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using PKHeX.Core; + +namespace PKHeX.WinForms; + +public partial class SAV_PokedexSV : Form +{ + private readonly SAV9SV Origin; + private readonly SAV9SV SAV; + private readonly Zukan9 Dex; + + private int lastIndex = -1; + private readonly bool CanSave; + private readonly bool Loading; + + public SAV_PokedexSV(SAV9SV sav) + { + InitializeComponent(); + WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); + SAV = (SAV9SV)(Origin = sav).Clone(); + Dex = SAV.Blocks.Zukan; + + Loading = true; + // Clear Listbox and ComboBox + LB_Species.Items.Clear(); + CB_Species.Items.Clear(); + + // Fill List + CB_Species.InitializeBinding(); + var species = GameInfo.SpeciesDataSource.Where(z => SAV.Personal.IsSpeciesInGame((ushort)z.Value)).ToArray(); + CB_Species.DataSource = new BindingSource(species, null); + + var list = species + .Select(z => new DexMap(z)) + .OrderBy(z => z.DexIndex).ToArray(); + + var lbi = LB_Species.Items; + for (var i = 0; i < list.Length; i++) + { + var n = list[i]; + var display = n.DexIndex == int.MaxValue ? "***" : n.DexIndex.ToString("000"); + lbi.Add($"{display} - {n.Name}"); + n.ListIndex = i; + } + + ListBoxToSpecies = list; + LB_Species.SelectedIndex = 0; + CB_Species.KeyDown += WinFormsUtil.RemoveDropCB; + Loading = false; + CanSave = true; + lastIndex = 0; + GetEntry(0); + } + + private record DexMap + { + public ushort Species { get; } + public int DexIndex { get; } + public string Name { get; } + public int ListIndex { get; set; } + + public DexMap(ComboItem c) + { + Species = (ushort)c.Value; + Name = c.Text; + DexIndex = GetDexIndex(Species); + } + + private static int GetDexIndex(int species) + { + var entry = PersonalTable.SV.GetFormEntry((ushort)species, 0); + if (entry.DexIndex != 0) + return entry.DexIndex; + for (byte i = 1; i < entry.FormCount; i++) + { + entry = PersonalTable.SV.GetFormEntry((ushort)species, i); + if (entry.DexIndex != 0) + return entry.DexIndex; + } + return int.MaxValue; + } + } + + private DexMap[] ListBoxToSpecies { get; } + + private ushort GetSpecies(int listBoxIndex) => Array.Find(ListBoxToSpecies, z => z.ListIndex == listBoxIndex)?.Species ?? 0; + private int GetIndex(int species) => Array.Find(ListBoxToSpecies, z => z.Species == species)?.ListIndex ?? 0; + + private void ChangeCBSpecies(object sender, EventArgs e) + { + if (Loading) + return; + + var species = (ushort)WinFormsUtil.GetIndex(CB_Species); + var index = GetIndex(species); + if (LB_Species.SelectedIndex != index) + LB_Species.SelectedIndex = index; // trigger event + } + + private void ChangeLBSpecies(object sender, EventArgs e) + { + if (Loading || LB_Species.SelectedIndex < 0) + return; + + SetEntry(lastIndex); + lastIndex = LB_Species.SelectedIndex; + GetEntry(lastIndex); + } + + private void GetEntry(int index) + { + if (!CanSave || Loading || index < 0) + return; + var species = GetSpecies(index); + GetEntry(species); + } + + private void GetEntry(ushort species) + { + var entry = SAV.Zukan.Get(species); + var forms = GetFormList(species); + if (forms[0].Length == 0) + forms[0] = GameInfo.Strings.Types[0]; + + CB_State.SelectedIndex = (int)entry.GetState(); + CHK_IsNew.Checked = entry.GetDisplayIsNew(); + + CHK_SeenMale.Checked = entry.GetIsGenderSeen(0); + CHK_SeenFemale.Checked = entry.GetIsGenderSeen(1); + CHK_SeenGenderless.Checked = entry.GetIsGenderSeen(2); + CHK_SeenShiny.Checked = entry.GetSeenIsShiny(); + + CLB_FormSeen.Items.Clear(); + for (byte i = 0; i < forms.Length; i++) + CLB_FormSeen.Items.Add(forms[i], entry.GetIsFormSeen(i)); + + CB_DisplayForm.Items.Clear(); + CB_DisplayForm.Items.AddRange(forms); + CB_Gender.SelectedIndex = (int)entry.GetDisplayGender(); + CHK_DisplayShiny.Checked = entry.GetDisplayIsShiny(); + CHK_G.Checked = entry.GetDisplayGenderIsDifferent(); + CB_DisplayForm.SelectedIndex = (int)entry.GetDisplayForm(); + + CHK_LangJPN.Checked = entry.GetLanguageFlag((int)LanguageID.Japanese); + CHK_LangENG.Checked = entry.GetLanguageFlag((int)LanguageID.English); + CHK_LangFRE.Checked = entry.GetLanguageFlag((int)LanguageID.French); + CHK_LangITA.Checked = entry.GetLanguageFlag((int)LanguageID.Italian); + CHK_LangGER.Checked = entry.GetLanguageFlag((int)LanguageID.German); + CHK_LangSPA.Checked = entry.GetLanguageFlag((int)LanguageID.Spanish); + CHK_LangKOR.Checked = entry.GetLanguageFlag((int)LanguageID.Korean); + CHK_LangCHS.Checked = entry.GetLanguageFlag((int)LanguageID.ChineseS); + CHK_LangCHT.Checked = entry.GetLanguageFlag((int)LanguageID.ChineseT); + } + + private static string[] GetFormList(in ushort species) + { + var s = GameInfo.Strings; + if (species == (int)Species.Alcremie) + return FormConverter.GetAlcremieFormList(s.forms); + return FormConverter.GetFormList(species, s.Types, s.forms, GameInfo.GenderSymbolASCII, EntityContext.Gen9).ToArray(); + } + + private void SetEntry(int index) + { + if (!CanSave || Loading || index < 0) + return; + var species = GetSpecies(index); + SetEntry(species); + } + + private void SetEntry(ushort species) + { + var entry = SAV.Zukan.Get(species); + entry.SetState((uint)CB_State.SelectedIndex); + entry.SetDisplayIsNew(CHK_IsNew.Checked); + + entry.SetIsGenderSeen(0, CHK_SeenMale.Checked); + entry.SetIsGenderSeen(1, CHK_SeenFemale.Checked); + entry.SetIsGenderSeen(2, CHK_SeenGenderless.Checked); + entry.SetSeenIsShiny(CHK_SeenShiny.Checked); + + for (byte i = 0; i < CLB_FormSeen.Items.Count; i++) + entry.SetIsFormSeen(i, CLB_FormSeen.GetItemChecked(i)); + + entry.SetDisplayGender(CB_Gender.SelectedIndex); + entry.SetDisplayIsShiny(CHK_DisplayShiny.Checked); + entry.SetDisplayGenderIsDifferent(CHK_G.Checked); + entry.SetDisplayForm((uint)CB_DisplayForm.SelectedIndex); + + entry.SetLanguageFlag((int)LanguageID.Japanese, CHK_LangJPN.Checked); + entry.SetLanguageFlag((int)LanguageID.English, CHK_LangENG.Checked); + entry.SetLanguageFlag((int)LanguageID.French, CHK_LangFRE.Checked); + entry.SetLanguageFlag((int)LanguageID.Italian, CHK_LangITA.Checked); + entry.SetLanguageFlag((int)LanguageID.German, CHK_LangGER.Checked); + entry.SetLanguageFlag((int)LanguageID.Spanish, CHK_LangSPA.Checked); + entry.SetLanguageFlag((int)LanguageID.Korean, CHK_LangKOR.Checked); + entry.SetLanguageFlag((int)LanguageID.ChineseS, CHK_LangCHS.Checked); + entry.SetLanguageFlag((int)LanguageID.ChineseT, CHK_LangCHT.Checked); + } + + private void B_Cancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void B_Save_Click(object sender, EventArgs e) + { + SetEntry(lastIndex); + Origin.CopyChangesFrom(SAV); + Close(); + } + + private void B_GiveAll_Click(object sender, EventArgs e) + { + SetEntry(lastIndex); + bool shiny = ModifierKeys == Keys.Shift; + var species = GetSpecies(lastIndex); + Dex.SetDexEntryAll(species, shiny); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } + + private void B_Modify_Click(object sender, EventArgs e) + { + Button btn = (Button)sender; + modifyMenu.Show(btn.PointToScreen(new Point(0, btn.Height))); + } + + private void SeenNone(object sender, EventArgs e) + { + var species = GetSpecies(lastIndex); + SetEntry(species); + Dex.SeenNone(); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } + + private void SeenAll(object sender, EventArgs e) + { + var species = GetSpecies(lastIndex); + SetEntry(species); + bool shiny = ModifierKeys == Keys.Shift; + Dex.SeenAll(shiny); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } + + private void CaughtNone(object sender, EventArgs e) + { + var species = GetSpecies(lastIndex); + SetEntry(species); + Dex.CaughtNone(); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } + + private void CaughtAll(object sender, EventArgs e) + { + var species = GetSpecies(lastIndex); + SetEntry(species); + bool shiny = ModifierKeys == Keys.Shift; + Dex.CaughtAll(shiny); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } + + private void CompleteDex(object sender, EventArgs e) + { + var species = GetSpecies(lastIndex); + SetEntry(species); + bool shiny = ModifierKeys == Keys.Shift; + Dex.CompleteDex(shiny); + System.Media.SystemSounds.Asterisk.Play(); + GetEntry(species); + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.Designer.cs new file mode 100644 index 000000000..0bee41e99 --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.Designer.cs @@ -0,0 +1,178 @@ +namespace PKHeX.WinForms +{ + partial class SAV_Raid9 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.B_Cancel = new System.Windows.Forms.Button(); + this.B_Save = new System.Windows.Forms.Button(); + this.PG_Raid = new System.Windows.Forms.PropertyGrid(); + this.CB_Raid = new System.Windows.Forms.ComboBox(); + this.TB_SeedTomorrow = new System.Windows.Forms.TextBox(); + this.TB_SeedToday = new System.Windows.Forms.TextBox(); + this.L_SeedCurrent = new System.Windows.Forms.Label(); + this.L_SeedTomorrow = new System.Windows.Forms.Label(); + this.B_Star6 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // B_Cancel + // + this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Cancel.Location = new System.Drawing.Point(227, 286); + this.B_Cancel.Name = "B_Cancel"; + this.B_Cancel.Size = new System.Drawing.Size(75, 23); + this.B_Cancel.TabIndex = 0; + this.B_Cancel.Text = "Cancel"; + this.B_Cancel.UseVisualStyleBackColor = true; + this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click); + // + // B_Save + // + this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Save.Location = new System.Drawing.Point(227, 260); + this.B_Save.Name = "B_Save"; + this.B_Save.Size = new System.Drawing.Size(75, 23); + this.B_Save.TabIndex = 1; + this.B_Save.Text = "Save"; + this.B_Save.UseVisualStyleBackColor = true; + this.B_Save.Click += new System.EventHandler(this.B_Save_Click); + // + // PG_Raid + // + this.PG_Raid.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.PG_Raid.Location = new System.Drawing.Point(12, 32); + this.PG_Raid.Name = "PG_Raid"; + this.PG_Raid.PropertySort = System.Windows.Forms.PropertySort.NoSort; + this.PG_Raid.Size = new System.Drawing.Size(290, 224); + this.PG_Raid.TabIndex = 2; + this.PG_Raid.ToolbarVisible = false; + // + // CB_Raid + // + this.CB_Raid.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Raid.FormattingEnabled = true; + this.CB_Raid.Location = new System.Drawing.Point(12, 5); + this.CB_Raid.Name = "CB_Raid"; + this.CB_Raid.Size = new System.Drawing.Size(103, 21); + this.CB_Raid.TabIndex = 3; + this.CB_Raid.SelectedIndexChanged += new System.EventHandler(this.CB_Raid_SelectedIndexChanged); + // + // TB_SeedTomorrow + // + this.TB_SeedTomorrow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.TB_SeedTomorrow.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_SeedTomorrow.Location = new System.Drawing.Point(101, 288); + this.TB_SeedTomorrow.MaxLength = 16; + this.TB_SeedTomorrow.Name = "TB_SeedTomorrow"; + this.TB_SeedTomorrow.Size = new System.Drawing.Size(120, 20); + this.TB_SeedTomorrow.TabIndex = 17; + this.TB_SeedTomorrow.Text = "0000000000000000"; + // + // TB_SeedToday + // + this.TB_SeedToday.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.TB_SeedToday.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_SeedToday.Location = new System.Drawing.Point(101, 262); + this.TB_SeedToday.MaxLength = 16; + this.TB_SeedToday.Name = "TB_SeedToday"; + this.TB_SeedToday.Size = new System.Drawing.Size(120, 20); + this.TB_SeedToday.TabIndex = 16; + this.TB_SeedToday.Text = "0000000000000000"; + // + // L_SeedCurrent + // + this.L_SeedCurrent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.L_SeedCurrent.Location = new System.Drawing.Point(12, 262); + this.L_SeedCurrent.Name = "L_SeedCurrent"; + this.L_SeedCurrent.Size = new System.Drawing.Size(83, 20); + this.L_SeedCurrent.TabIndex = 18; + this.L_SeedCurrent.Text = "Current Seed:"; + this.L_SeedCurrent.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // L_SeedTomorrow + // + this.L_SeedTomorrow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.L_SeedTomorrow.Location = new System.Drawing.Point(12, 289); + this.L_SeedTomorrow.Name = "L_SeedTomorrow"; + this.L_SeedTomorrow.Size = new System.Drawing.Size(83, 20); + this.L_SeedTomorrow.TabIndex = 19; + this.L_SeedTomorrow.Text = "Tomorrow:"; + this.L_SeedTomorrow.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // B_Star6 + // + this.B_Star6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Star6.Location = new System.Drawing.Point(178, 5); + this.B_Star6.Name = "B_Star6"; + this.B_Star6.Size = new System.Drawing.Size(124, 23); + this.B_Star6.TabIndex = 20; + this.B_Star6.Text = "Set All 6-Star"; + this.B_Star6.UseVisualStyleBackColor = true; + this.B_Star6.Click += new System.EventHandler(this.B_Star6_Click); + // + // SAV_Raid9 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(314, 321); + this.Controls.Add(this.B_Star6); + this.Controls.Add(this.L_SeedTomorrow); + this.Controls.Add(this.L_SeedCurrent); + this.Controls.Add(this.TB_SeedTomorrow); + this.Controls.Add(this.TB_SeedToday); + this.Controls.Add(this.CB_Raid); + this.Controls.Add(this.PG_Raid); + this.Controls.Add(this.B_Save); + this.Controls.Add(this.B_Cancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = global::PKHeX.WinForms.Properties.Resources.Icon; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(330, 360); + this.Name = "SAV_Raid9"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Raid Parameter Editor"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button B_Cancel; + private System.Windows.Forms.Button B_Save; + private System.Windows.Forms.PropertyGrid PG_Raid; + private System.Windows.Forms.ComboBox CB_Raid; + private System.Windows.Forms.TextBox TB_SeedTomorrow; + private System.Windows.Forms.TextBox TB_SeedToday; + private System.Windows.Forms.Label L_SeedCurrent; + private System.Windows.Forms.Label L_SeedTomorrow; + private System.Windows.Forms.Button B_Star6; + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.cs new file mode 100644 index 000000000..8177fe8df --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Raid9.cs @@ -0,0 +1,89 @@ +using System; +using System.Linq; +using System.Windows.Forms; +using PKHeX.Core; +using static PKHeX.Core.MessageStrings; + +namespace PKHeX.WinForms; + +public partial class SAV_Raid9 : Form +{ + private readonly SaveFile Origin; + private readonly SAV9SV SAV; + private readonly RaidSpawnList9 Raids; + + public SAV_Raid9(SaveFile sav, RaidSpawnList9 raid) + { + InitializeComponent(); + WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); + SAV = (SAV9SV)(Origin = sav).Clone(); + Raids = raid; + CB_Raid.Items.AddRange(Enumerable.Range(1, raid.CountUsed).Select(z => (object)$"Raid {z:000}").ToArray()); + CB_Raid.SelectedIndex = 0; + + TB_SeedToday.Text = Raids.CurrentSeed.ToString("X16"); + TB_SeedTomorrow.Text = Raids.TomorrowSeed.ToString("X16"); + + TB_SeedToday.Validated += UpdateStringSeed; + TB_SeedTomorrow.Validated += UpdateStringSeed; + } + + private void LoadRaid(int index) => PG_Raid.SelectedObject = Raids.GetRaid(index); + + private void B_Cancel_Click(object sender, EventArgs e) + { + // We've been editing the original save file blocks. Restore the clone's data. + Origin.CopyChangesFrom(SAV); + Close(); + } + + private void B_Save_Click(object sender, EventArgs e) + { + ValidateChildren(); + Validate(); + Close(); + } + + private void CB_Raid_SelectedIndexChanged(object sender, EventArgs e) => LoadRaid(CB_Raid.SelectedIndex); + + private void UpdateStringSeed(object? sender, EventArgs e) + { + if (sender is not TextBox tb) + return; + + if (string.IsNullOrWhiteSpace(tb.Text)) + { + tb.Undo(); + return; + } + + string filterText = Util.GetOnlyHex(tb.Text); + if (string.IsNullOrWhiteSpace(filterText) || filterText.Length != tb.Text.Length) + { + WinFormsUtil.Alert(MsgProgramErrorExpectedHex, tb.Text); + tb.Undo(); + return; + } + + // Write final value back to the save + var value = ulong.Parse(tb.Text, System.Globalization.NumberStyles.HexNumber); + if (tb == TB_SeedToday) + Raids.CurrentSeed = value; + else if (tb == TB_SeedTomorrow) + Raids.TomorrowSeed = value; + } + + private void B_Star6_Click(object sender, EventArgs e) + { + foreach (var raid in Raids.GetAllRaids()) + { + if (raid.AreaID == 0) + continue; + raid.IsEnabled = true; + raid.Content = TeraRaidContentType.Black6; + raid.IsClaimedLeaguePoints = false; + } + CB_Raid_SelectedIndexChanged(sender, e); + System.Media.SystemSounds.Asterisk.Play(); + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.Designer.cs new file mode 100644 index 000000000..3c6d3ea0c --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.Designer.cs @@ -0,0 +1,888 @@ +namespace PKHeX.WinForms +{ + partial class SAV_Trainer9 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.B_Cancel = new System.Windows.Forms.Button(); + this.B_Save = new System.Windows.Forms.Button(); + this.TB_OTName = new System.Windows.Forms.TextBox(); + this.L_TrainerName = new System.Windows.Forms.Label(); + this.MT_Money = new System.Windows.Forms.MaskedTextBox(); + this.L_Money = new System.Windows.Forms.Label(); + this.L_Saying5 = new System.Windows.Forms.Label(); + this.L_Saying4 = new System.Windows.Forms.Label(); + this.L_Saying3 = new System.Windows.Forms.Label(); + this.L_Saying2 = new System.Windows.Forms.Label(); + this.L_Saying1 = new System.Windows.Forms.Label(); + this.TB_Saying5 = new System.Windows.Forms.TextBox(); + this.TB_Saying4 = new System.Windows.Forms.TextBox(); + this.TB_Saying3 = new System.Windows.Forms.TextBox(); + this.TB_Saying2 = new System.Windows.Forms.TextBox(); + this.TB_Saying1 = new System.Windows.Forms.TextBox(); + this.L_Seconds = new System.Windows.Forms.Label(); + this.L_Minutes = new System.Windows.Forms.Label(); + this.MT_Seconds = new System.Windows.Forms.MaskedTextBox(); + this.MT_Minutes = new System.Windows.Forms.MaskedTextBox(); + this.L_Hours = new System.Windows.Forms.Label(); + this.MT_Hours = new System.Windows.Forms.MaskedTextBox(); + this.L_Language = new System.Windows.Forms.Label(); + this.B_MaxCash = new System.Windows.Forms.Button(); + this.CB_Language = new System.Windows.Forms.ComboBox(); + this.CB_Game = new System.Windows.Forms.ComboBox(); + this.CB_Gender = new System.Windows.Forms.ComboBox(); + this.TB_MBMS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBMN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBRS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBRN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBTS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBTN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBDS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBDN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBSS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MBSN = new System.Windows.Forms.MaskedTextBox(); + this.L_SuperB = new System.Windows.Forms.Label(); + this.L_NormalB = new System.Windows.Forms.Label(); + this.L_MultiB = new System.Windows.Forms.Label(); + this.L_RotationB = new System.Windows.Forms.Label(); + this.L_TriplesB = new System.Windows.Forms.Label(); + this.L_DoublesB = new System.Windows.Forms.Label(); + this.L_SinglesB = new System.Windows.Forms.Label(); + this.TB_MCMS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCMN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCRS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCRN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCTS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCTN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCDS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCDN = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCSS = new System.Windows.Forms.MaskedTextBox(); + this.TB_MCSN = new System.Windows.Forms.MaskedTextBox(); + this.L_SuperC = new System.Windows.Forms.Label(); + this.L_NormalC = new System.Windows.Forms.Label(); + this.L_MultiC = new System.Windows.Forms.Label(); + this.L_RotationC = new System.Windows.Forms.Label(); + this.L_TriplesC = new System.Windows.Forms.Label(); + this.L_DoublesC = new System.Windows.Forms.Label(); + this.L_SinglesC = new System.Windows.Forms.Label(); + this.TC_Editor = new System.Windows.Forms.TabControl(); + this.Tab_Overview = new System.Windows.Forms.TabPage(); + this.MT_LP = new System.Windows.Forms.MaskedTextBox(); + this.B_MaxLP = new System.Windows.Forms.Button(); + this.L_LP = new System.Windows.Forms.Label(); + this.trainerID1 = new PKHeX.WinForms.Controls.TrainerID(); + this.Tab_MiscValues = new System.Windows.Forms.TabPage(); + this.GB_Map = new System.Windows.Forms.GroupBox(); + this.NUD_Z = new System.Windows.Forms.NumericUpDown(); + this.NUD_Y = new System.Windows.Forms.NumericUpDown(); + this.NUD_X = new System.Windows.Forms.NumericUpDown(); + this.L_Y = new System.Windows.Forms.Label(); + this.L_Z = new System.Windows.Forms.Label(); + this.L_X = new System.Windows.Forms.Label(); + this.TC_Editor.SuspendLayout(); + this.Tab_Overview.SuspendLayout(); + this.Tab_MiscValues.SuspendLayout(); + this.GB_Map.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Z)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Y)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_X)).BeginInit(); + this.SuspendLayout(); + // + // B_Cancel + // + this.B_Cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Cancel.Location = new System.Drawing.Point(294, 331); + this.B_Cancel.Name = "B_Cancel"; + this.B_Cancel.Size = new System.Drawing.Size(75, 23); + this.B_Cancel.TabIndex = 0; + this.B_Cancel.Text = "Cancel"; + this.B_Cancel.UseVisualStyleBackColor = true; + this.B_Cancel.Click += new System.EventHandler(this.B_Cancel_Click); + // + // B_Save + // + this.B_Save.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.B_Save.Location = new System.Drawing.Point(375, 331); + this.B_Save.Name = "B_Save"; + this.B_Save.Size = new System.Drawing.Size(75, 23); + this.B_Save.TabIndex = 1; + this.B_Save.Text = "Save"; + this.B_Save.UseVisualStyleBackColor = true; + this.B_Save.Click += new System.EventHandler(this.B_Save_Click); + // + // TB_OTName + // + this.TB_OTName.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.TB_OTName.Location = new System.Drawing.Point(99, 7); + this.TB_OTName.MaxLength = 12; + this.TB_OTName.Name = "TB_OTName"; + this.TB_OTName.Size = new System.Drawing.Size(93, 20); + this.TB_OTName.TabIndex = 2; + this.TB_OTName.Text = "WWWWWWWWWWWW"; + this.TB_OTName.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.TB_OTName.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ClickOT); + // + // L_TrainerName + // + this.L_TrainerName.Location = new System.Drawing.Point(7, 9); + this.L_TrainerName.Name = "L_TrainerName"; + this.L_TrainerName.Size = new System.Drawing.Size(87, 16); + this.L_TrainerName.TabIndex = 3; + this.L_TrainerName.Text = "Trainer Name:"; + this.L_TrainerName.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // MT_Money + // + this.MT_Money.Location = new System.Drawing.Point(119, 29); + this.MT_Money.Mask = "0000000"; + this.MT_Money.Name = "MT_Money"; + this.MT_Money.Size = new System.Drawing.Size(52, 20); + this.MT_Money.TabIndex = 4; + this.MT_Money.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // L_Money + // + this.L_Money.AutoSize = true; + this.L_Money.Location = new System.Drawing.Point(102, 32); + this.L_Money.Name = "L_Money"; + this.L_Money.Size = new System.Drawing.Size(16, 13); + this.L_Money.TabIndex = 5; + this.L_Money.Text = "$:"; + // + // L_Saying5 + // + this.L_Saying5.Location = new System.Drawing.Point(0, 0); + this.L_Saying5.Name = "L_Saying5"; + this.L_Saying5.Size = new System.Drawing.Size(100, 23); + this.L_Saying5.TabIndex = 0; + // + // L_Saying4 + // + this.L_Saying4.Location = new System.Drawing.Point(0, 0); + this.L_Saying4.Name = "L_Saying4"; + this.L_Saying4.Size = new System.Drawing.Size(100, 23); + this.L_Saying4.TabIndex = 0; + // + // L_Saying3 + // + this.L_Saying3.Location = new System.Drawing.Point(0, 0); + this.L_Saying3.Name = "L_Saying3"; + this.L_Saying3.Size = new System.Drawing.Size(100, 23); + this.L_Saying3.TabIndex = 0; + // + // L_Saying2 + // + this.L_Saying2.Location = new System.Drawing.Point(0, 0); + this.L_Saying2.Name = "L_Saying2"; + this.L_Saying2.Size = new System.Drawing.Size(100, 23); + this.L_Saying2.TabIndex = 0; + // + // L_Saying1 + // + this.L_Saying1.Location = new System.Drawing.Point(0, 0); + this.L_Saying1.Name = "L_Saying1"; + this.L_Saying1.Size = new System.Drawing.Size(100, 23); + this.L_Saying1.TabIndex = 0; + // + // TB_Saying5 + // + this.TB_Saying5.Location = new System.Drawing.Point(0, 0); + this.TB_Saying5.Name = "TB_Saying5"; + this.TB_Saying5.Size = new System.Drawing.Size(100, 20); + this.TB_Saying5.TabIndex = 0; + // + // TB_Saying4 + // + this.TB_Saying4.Location = new System.Drawing.Point(0, 0); + this.TB_Saying4.Name = "TB_Saying4"; + this.TB_Saying4.Size = new System.Drawing.Size(100, 20); + this.TB_Saying4.TabIndex = 0; + // + // TB_Saying3 + // + this.TB_Saying3.Location = new System.Drawing.Point(0, 0); + this.TB_Saying3.Name = "TB_Saying3"; + this.TB_Saying3.Size = new System.Drawing.Size(100, 20); + this.TB_Saying3.TabIndex = 0; + // + // TB_Saying2 + // + this.TB_Saying2.Location = new System.Drawing.Point(0, 0); + this.TB_Saying2.Name = "TB_Saying2"; + this.TB_Saying2.Size = new System.Drawing.Size(100, 20); + this.TB_Saying2.TabIndex = 0; + // + // TB_Saying1 + // + this.TB_Saying1.Location = new System.Drawing.Point(0, 0); + this.TB_Saying1.Name = "TB_Saying1"; + this.TB_Saying1.Size = new System.Drawing.Size(100, 20); + this.TB_Saying1.TabIndex = 0; + // + // L_Seconds + // + this.L_Seconds.AutoSize = true; + this.L_Seconds.Location = new System.Drawing.Point(147, 141); + this.L_Seconds.Name = "L_Seconds"; + this.L_Seconds.Size = new System.Drawing.Size(29, 13); + this.L_Seconds.TabIndex = 30; + this.L_Seconds.Text = "Sec:"; + // + // L_Minutes + // + this.L_Minutes.AutoSize = true; + this.L_Minutes.Location = new System.Drawing.Point(95, 141); + this.L_Minutes.Name = "L_Minutes"; + this.L_Minutes.Size = new System.Drawing.Size(27, 13); + this.L_Minutes.TabIndex = 29; + this.L_Minutes.Text = "Min:"; + // + // MT_Seconds + // + this.MT_Seconds.Location = new System.Drawing.Point(177, 138); + this.MT_Seconds.Mask = "00"; + this.MT_Seconds.Name = "MT_Seconds"; + this.MT_Seconds.Size = new System.Drawing.Size(22, 20); + this.MT_Seconds.TabIndex = 28; + this.MT_Seconds.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.MT_Seconds.TextChanged += new System.EventHandler(this.Change255); + // + // MT_Minutes + // + this.MT_Minutes.Location = new System.Drawing.Point(122, 138); + this.MT_Minutes.Mask = "00"; + this.MT_Minutes.Name = "MT_Minutes"; + this.MT_Minutes.Size = new System.Drawing.Size(22, 20); + this.MT_Minutes.TabIndex = 27; + this.MT_Minutes.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.MT_Minutes.TextChanged += new System.EventHandler(this.Change255); + // + // L_Hours + // + this.L_Hours.AutoSize = true; + this.L_Hours.Location = new System.Drawing.Point(23, 141); + this.L_Hours.Name = "L_Hours"; + this.L_Hours.Size = new System.Drawing.Size(26, 13); + this.L_Hours.TabIndex = 26; + this.L_Hours.Text = "Hrs:"; + // + // MT_Hours + // + this.MT_Hours.Location = new System.Drawing.Point(55, 138); + this.MT_Hours.Mask = "00000"; + this.MT_Hours.Name = "MT_Hours"; + this.MT_Hours.Size = new System.Drawing.Size(38, 20); + this.MT_Hours.TabIndex = 25; + this.MT_Hours.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // L_Language + // + this.L_Language.Location = new System.Drawing.Point(-7, 107); + this.L_Language.Name = "L_Language"; + this.L_Language.Size = new System.Drawing.Size(100, 13); + this.L_Language.TabIndex = 21; + this.L_Language.Text = "Language:"; + this.L_Language.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // B_MaxCash + // + this.B_MaxCash.Location = new System.Drawing.Point(172, 29); + this.B_MaxCash.Name = "B_MaxCash"; + this.B_MaxCash.Size = new System.Drawing.Size(20, 20); + this.B_MaxCash.TabIndex = 16; + this.B_MaxCash.Text = "+"; + this.B_MaxCash.UseVisualStyleBackColor = true; + // + // CB_Language + // + this.CB_Language.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Language.FormattingEnabled = true; + this.CB_Language.Location = new System.Drawing.Point(99, 104); + this.CB_Language.Name = "CB_Language"; + this.CB_Language.Size = new System.Drawing.Size(93, 21); + this.CB_Language.TabIndex = 15; + // + // CB_Game + // + this.CB_Game.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Game.FormattingEnabled = true; + this.CB_Game.Items.AddRange(new object[] { + "Scarlet", + "Violet"}); + this.CB_Game.Location = new System.Drawing.Point(141, 77); + this.CB_Game.Name = "CB_Game"; + this.CB_Game.Size = new System.Drawing.Size(89, 21); + this.CB_Game.TabIndex = 24; + // + // CB_Gender + // + this.CB_Gender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.CB_Gender.FormattingEnabled = true; + this.CB_Gender.Items.AddRange(new object[] { + "♂", + "♀"}); + this.CB_Gender.Location = new System.Drawing.Point(99, 77); + this.CB_Gender.Name = "CB_Gender"; + this.CB_Gender.Size = new System.Drawing.Size(40, 21); + this.CB_Gender.TabIndex = 22; + // + // TB_MBMS + // + this.TB_MBMS.Location = new System.Drawing.Point(0, 0); + this.TB_MBMS.Name = "TB_MBMS"; + this.TB_MBMS.Size = new System.Drawing.Size(100, 20); + this.TB_MBMS.TabIndex = 0; + // + // TB_MBMN + // + this.TB_MBMN.Location = new System.Drawing.Point(0, 0); + this.TB_MBMN.Name = "TB_MBMN"; + this.TB_MBMN.Size = new System.Drawing.Size(100, 20); + this.TB_MBMN.TabIndex = 0; + // + // TB_MBRS + // + this.TB_MBRS.Location = new System.Drawing.Point(0, 0); + this.TB_MBRS.Name = "TB_MBRS"; + this.TB_MBRS.Size = new System.Drawing.Size(100, 20); + this.TB_MBRS.TabIndex = 0; + // + // TB_MBRN + // + this.TB_MBRN.Location = new System.Drawing.Point(0, 0); + this.TB_MBRN.Name = "TB_MBRN"; + this.TB_MBRN.Size = new System.Drawing.Size(100, 20); + this.TB_MBRN.TabIndex = 0; + // + // TB_MBTS + // + this.TB_MBTS.Location = new System.Drawing.Point(0, 0); + this.TB_MBTS.Name = "TB_MBTS"; + this.TB_MBTS.Size = new System.Drawing.Size(100, 20); + this.TB_MBTS.TabIndex = 0; + // + // TB_MBTN + // + this.TB_MBTN.Location = new System.Drawing.Point(0, 0); + this.TB_MBTN.Name = "TB_MBTN"; + this.TB_MBTN.Size = new System.Drawing.Size(100, 20); + this.TB_MBTN.TabIndex = 0; + // + // TB_MBDS + // + this.TB_MBDS.Location = new System.Drawing.Point(0, 0); + this.TB_MBDS.Name = "TB_MBDS"; + this.TB_MBDS.Size = new System.Drawing.Size(100, 20); + this.TB_MBDS.TabIndex = 0; + // + // TB_MBDN + // + this.TB_MBDN.Location = new System.Drawing.Point(0, 0); + this.TB_MBDN.Name = "TB_MBDN"; + this.TB_MBDN.Size = new System.Drawing.Size(100, 20); + this.TB_MBDN.TabIndex = 0; + // + // TB_MBSS + // + this.TB_MBSS.Location = new System.Drawing.Point(0, 0); + this.TB_MBSS.Name = "TB_MBSS"; + this.TB_MBSS.Size = new System.Drawing.Size(100, 20); + this.TB_MBSS.TabIndex = 0; + // + // TB_MBSN + // + this.TB_MBSN.Location = new System.Drawing.Point(0, 0); + this.TB_MBSN.Name = "TB_MBSN"; + this.TB_MBSN.Size = new System.Drawing.Size(100, 20); + this.TB_MBSN.TabIndex = 0; + // + // L_SuperB + // + this.L_SuperB.Location = new System.Drawing.Point(0, 0); + this.L_SuperB.Name = "L_SuperB"; + this.L_SuperB.Size = new System.Drawing.Size(100, 23); + this.L_SuperB.TabIndex = 0; + // + // L_NormalB + // + this.L_NormalB.Location = new System.Drawing.Point(0, 0); + this.L_NormalB.Name = "L_NormalB"; + this.L_NormalB.Size = new System.Drawing.Size(100, 23); + this.L_NormalB.TabIndex = 0; + // + // L_MultiB + // + this.L_MultiB.Location = new System.Drawing.Point(0, 0); + this.L_MultiB.Name = "L_MultiB"; + this.L_MultiB.Size = new System.Drawing.Size(100, 23); + this.L_MultiB.TabIndex = 0; + // + // L_RotationB + // + this.L_RotationB.Location = new System.Drawing.Point(0, 0); + this.L_RotationB.Name = "L_RotationB"; + this.L_RotationB.Size = new System.Drawing.Size(100, 23); + this.L_RotationB.TabIndex = 0; + // + // L_TriplesB + // + this.L_TriplesB.Location = new System.Drawing.Point(0, 0); + this.L_TriplesB.Name = "L_TriplesB"; + this.L_TriplesB.Size = new System.Drawing.Size(100, 23); + this.L_TriplesB.TabIndex = 0; + // + // L_DoublesB + // + this.L_DoublesB.Location = new System.Drawing.Point(0, 0); + this.L_DoublesB.Name = "L_DoublesB"; + this.L_DoublesB.Size = new System.Drawing.Size(100, 23); + this.L_DoublesB.TabIndex = 0; + // + // L_SinglesB + // + this.L_SinglesB.Location = new System.Drawing.Point(0, 0); + this.L_SinglesB.Name = "L_SinglesB"; + this.L_SinglesB.Size = new System.Drawing.Size(100, 23); + this.L_SinglesB.TabIndex = 0; + // + // TB_MCMS + // + this.TB_MCMS.Location = new System.Drawing.Point(0, 0); + this.TB_MCMS.Name = "TB_MCMS"; + this.TB_MCMS.Size = new System.Drawing.Size(100, 20); + this.TB_MCMS.TabIndex = 0; + // + // TB_MCMN + // + this.TB_MCMN.Location = new System.Drawing.Point(0, 0); + this.TB_MCMN.Name = "TB_MCMN"; + this.TB_MCMN.Size = new System.Drawing.Size(100, 20); + this.TB_MCMN.TabIndex = 0; + // + // TB_MCRS + // + this.TB_MCRS.Location = new System.Drawing.Point(0, 0); + this.TB_MCRS.Name = "TB_MCRS"; + this.TB_MCRS.Size = new System.Drawing.Size(100, 20); + this.TB_MCRS.TabIndex = 0; + // + // TB_MCRN + // + this.TB_MCRN.Location = new System.Drawing.Point(0, 0); + this.TB_MCRN.Name = "TB_MCRN"; + this.TB_MCRN.Size = new System.Drawing.Size(100, 20); + this.TB_MCRN.TabIndex = 0; + // + // TB_MCTS + // + this.TB_MCTS.Location = new System.Drawing.Point(0, 0); + this.TB_MCTS.Name = "TB_MCTS"; + this.TB_MCTS.Size = new System.Drawing.Size(100, 20); + this.TB_MCTS.TabIndex = 0; + // + // TB_MCTN + // + this.TB_MCTN.Location = new System.Drawing.Point(0, 0); + this.TB_MCTN.Name = "TB_MCTN"; + this.TB_MCTN.Size = new System.Drawing.Size(100, 20); + this.TB_MCTN.TabIndex = 0; + // + // TB_MCDS + // + this.TB_MCDS.Location = new System.Drawing.Point(0, 0); + this.TB_MCDS.Name = "TB_MCDS"; + this.TB_MCDS.Size = new System.Drawing.Size(100, 20); + this.TB_MCDS.TabIndex = 0; + // + // TB_MCDN + // + this.TB_MCDN.Location = new System.Drawing.Point(0, 0); + this.TB_MCDN.Name = "TB_MCDN"; + this.TB_MCDN.Size = new System.Drawing.Size(100, 20); + this.TB_MCDN.TabIndex = 0; + // + // TB_MCSS + // + this.TB_MCSS.Location = new System.Drawing.Point(0, 0); + this.TB_MCSS.Name = "TB_MCSS"; + this.TB_MCSS.Size = new System.Drawing.Size(100, 20); + this.TB_MCSS.TabIndex = 0; + // + // TB_MCSN + // + this.TB_MCSN.Location = new System.Drawing.Point(0, 0); + this.TB_MCSN.Name = "TB_MCSN"; + this.TB_MCSN.Size = new System.Drawing.Size(100, 20); + this.TB_MCSN.TabIndex = 0; + // + // L_SuperC + // + this.L_SuperC.Location = new System.Drawing.Point(0, 0); + this.L_SuperC.Name = "L_SuperC"; + this.L_SuperC.Size = new System.Drawing.Size(100, 23); + this.L_SuperC.TabIndex = 0; + // + // L_NormalC + // + this.L_NormalC.Location = new System.Drawing.Point(0, 0); + this.L_NormalC.Name = "L_NormalC"; + this.L_NormalC.Size = new System.Drawing.Size(100, 23); + this.L_NormalC.TabIndex = 0; + // + // L_MultiC + // + this.L_MultiC.Location = new System.Drawing.Point(0, 0); + this.L_MultiC.Name = "L_MultiC"; + this.L_MultiC.Size = new System.Drawing.Size(100, 23); + this.L_MultiC.TabIndex = 0; + // + // L_RotationC + // + this.L_RotationC.Location = new System.Drawing.Point(0, 0); + this.L_RotationC.Name = "L_RotationC"; + this.L_RotationC.Size = new System.Drawing.Size(100, 23); + this.L_RotationC.TabIndex = 0; + // + // L_TriplesC + // + this.L_TriplesC.Location = new System.Drawing.Point(0, 0); + this.L_TriplesC.Name = "L_TriplesC"; + this.L_TriplesC.Size = new System.Drawing.Size(100, 23); + this.L_TriplesC.TabIndex = 0; + // + // L_DoublesC + // + this.L_DoublesC.Location = new System.Drawing.Point(0, 0); + this.L_DoublesC.Name = "L_DoublesC"; + this.L_DoublesC.Size = new System.Drawing.Size(100, 23); + this.L_DoublesC.TabIndex = 0; + // + // L_SinglesC + // + this.L_SinglesC.Location = new System.Drawing.Point(0, 0); + this.L_SinglesC.Name = "L_SinglesC"; + this.L_SinglesC.Size = new System.Drawing.Size(100, 23); + this.L_SinglesC.TabIndex = 0; + // + // TC_Editor + // + this.TC_Editor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TC_Editor.Controls.Add(this.Tab_Overview); + this.TC_Editor.Controls.Add(this.Tab_MiscValues); + this.TC_Editor.Location = new System.Drawing.Point(12, 12); + this.TC_Editor.Name = "TC_Editor"; + this.TC_Editor.SelectedIndex = 0; + this.TC_Editor.Size = new System.Drawing.Size(438, 313); + this.TC_Editor.TabIndex = 54; + // + // Tab_Overview + // + this.Tab_Overview.Controls.Add(this.MT_Seconds); + this.Tab_Overview.Controls.Add(this.MT_LP); + this.Tab_Overview.Controls.Add(this.MT_Hours); + this.Tab_Overview.Controls.Add(this.B_MaxLP); + this.Tab_Overview.Controls.Add(this.L_Seconds); + this.Tab_Overview.Controls.Add(this.L_LP); + this.Tab_Overview.Controls.Add(this.L_Hours); + this.Tab_Overview.Controls.Add(this.trainerID1); + this.Tab_Overview.Controls.Add(this.MT_Minutes); + this.Tab_Overview.Controls.Add(this.L_Minutes); + this.Tab_Overview.Controls.Add(this.TB_OTName); + this.Tab_Overview.Controls.Add(this.CB_Gender); + this.Tab_Overview.Controls.Add(this.CB_Game); + this.Tab_Overview.Controls.Add(this.L_TrainerName); + this.Tab_Overview.Controls.Add(this.MT_Money); + this.Tab_Overview.Controls.Add(this.L_Money); + this.Tab_Overview.Controls.Add(this.L_Language); + this.Tab_Overview.Controls.Add(this.CB_Language); + this.Tab_Overview.Controls.Add(this.B_MaxCash); + this.Tab_Overview.Location = new System.Drawing.Point(4, 22); + this.Tab_Overview.Name = "Tab_Overview"; + this.Tab_Overview.Padding = new System.Windows.Forms.Padding(3); + this.Tab_Overview.Size = new System.Drawing.Size(430, 287); + this.Tab_Overview.TabIndex = 0; + this.Tab_Overview.Text = "Overview"; + this.Tab_Overview.UseVisualStyleBackColor = true; + // + // MT_LP + // + this.MT_LP.Location = new System.Drawing.Point(119, 51); + this.MT_LP.Mask = "0000000"; + this.MT_LP.Name = "MT_LP"; + this.MT_LP.Size = new System.Drawing.Size(52, 20); + this.MT_LP.TabIndex = 70; + this.MT_LP.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // B_MaxLP + // + this.B_MaxLP.Location = new System.Drawing.Point(172, 51); + this.B_MaxLP.Name = "B_MaxLP"; + this.B_MaxLP.Size = new System.Drawing.Size(20, 20); + this.B_MaxLP.TabIndex = 71; + this.B_MaxLP.Text = "+"; + this.B_MaxLP.UseVisualStyleBackColor = true; + // + // L_LP + // + this.L_LP.Location = new System.Drawing.Point(82, 50); + this.L_LP.Name = "L_LP"; + this.L_LP.Size = new System.Drawing.Size(32, 20); + this.L_LP.TabIndex = 68; + this.L_LP.Text = "LP:"; + this.L_LP.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // trainerID1 + // + this.trainerID1.Location = new System.Drawing.Point(6, 26); + this.trainerID1.Name = "trainerID1"; + this.trainerID1.Size = new System.Drawing.Size(90, 74); + this.trainerID1.TabIndex = 66; + // + // Tab_MiscValues + // + this.Tab_MiscValues.Controls.Add(this.GB_Map); + this.Tab_MiscValues.Location = new System.Drawing.Point(4, 22); + this.Tab_MiscValues.Name = "Tab_MiscValues"; + this.Tab_MiscValues.Padding = new System.Windows.Forms.Padding(3); + this.Tab_MiscValues.Size = new System.Drawing.Size(430, 287); + this.Tab_MiscValues.TabIndex = 4; + this.Tab_MiscValues.Text = "Misc"; + this.Tab_MiscValues.UseVisualStyleBackColor = true; + // + // GB_Map + // + this.GB_Map.Controls.Add(this.NUD_Z); + this.GB_Map.Controls.Add(this.NUD_Y); + this.GB_Map.Controls.Add(this.NUD_X); + this.GB_Map.Controls.Add(this.L_Y); + this.GB_Map.Controls.Add(this.L_Z); + this.GB_Map.Controls.Add(this.L_X); + this.GB_Map.Location = new System.Drawing.Point(6, 6); + this.GB_Map.Name = "GB_Map"; + this.GB_Map.Size = new System.Drawing.Size(203, 156); + this.GB_Map.TabIndex = 59; + this.GB_Map.TabStop = false; + this.GB_Map.Text = "Map Position"; + // + // NUD_Z + // + this.NUD_Z.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.NUD_Z.DecimalPlaces = 5; + this.NUD_Z.Location = new System.Drawing.Point(93, 68); + this.NUD_Z.Maximum = new decimal(new int[] { + 99999999, + 0, + 0, + 0}); + this.NUD_Z.Minimum = new decimal(new int[] { + 99999999, + 0, + 0, + -2147483648}); + this.NUD_Z.Name = "NUD_Z"; + this.NUD_Z.Size = new System.Drawing.Size(96, 20); + this.NUD_Z.TabIndex = 53; + this.NUD_Z.ValueChanged += new System.EventHandler(this.ChangeMapValue); + // + // NUD_Y + // + this.NUD_Y.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.NUD_Y.DecimalPlaces = 5; + this.NUD_Y.Location = new System.Drawing.Point(93, 94); + this.NUD_Y.Maximum = new decimal(new int[] { + 99999999, + 0, + 0, + 0}); + this.NUD_Y.Minimum = new decimal(new int[] { + 99999999, + 0, + 0, + -2147483648}); + this.NUD_Y.Name = "NUD_Y"; + this.NUD_Y.Size = new System.Drawing.Size(96, 20); + this.NUD_Y.TabIndex = 51; + this.NUD_Y.ValueChanged += new System.EventHandler(this.ChangeMapValue); + // + // NUD_X + // + this.NUD_X.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.NUD_X.DecimalPlaces = 5; + this.NUD_X.Location = new System.Drawing.Point(93, 42); + this.NUD_X.Maximum = new decimal(new int[] { + 99999999, + 0, + 0, + 0}); + this.NUD_X.Minimum = new decimal(new int[] { + 99999999, + 0, + 0, + -2147483648}); + this.NUD_X.Name = "NUD_X"; + this.NUD_X.Size = new System.Drawing.Size(96, 20); + this.NUD_X.TabIndex = 50; + this.NUD_X.ValueChanged += new System.EventHandler(this.ChangeMapValue); + // + // L_Y + // + this.L_Y.Location = new System.Drawing.Point(6, 94); + this.L_Y.Name = "L_Y"; + this.L_Y.Size = new System.Drawing.Size(80, 20); + this.L_Y.TabIndex = 49; + this.L_Y.Text = "Y Coordinate:"; + this.L_Y.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // L_Z + // + this.L_Z.Location = new System.Drawing.Point(6, 68); + this.L_Z.Name = "L_Z"; + this.L_Z.Size = new System.Drawing.Size(80, 20); + this.L_Z.TabIndex = 48; + this.L_Z.Text = "Z Coordinate:"; + this.L_Z.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // L_X + // + this.L_X.Location = new System.Drawing.Point(6, 42); + this.L_X.Name = "L_X"; + this.L_X.Size = new System.Drawing.Size(80, 20); + this.L_X.TabIndex = 47; + this.L_X.Text = "X Coordinate:"; + this.L_X.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // SAV_Trainer9 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(458, 363); + this.Controls.Add(this.TC_Editor); + this.Controls.Add(this.B_Save); + this.Controls.Add(this.B_Cancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = global::PKHeX.WinForms.Properties.Resources.Icon; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "SAV_Trainer9"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Trainer Data Editor"; + this.TC_Editor.ResumeLayout(false); + this.Tab_Overview.ResumeLayout(false); + this.Tab_Overview.PerformLayout(); + this.Tab_MiscValues.ResumeLayout(false); + this.GB_Map.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Z)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_Y)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUD_X)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button B_Cancel; + private System.Windows.Forms.Button B_Save; + private System.Windows.Forms.TextBox TB_OTName; + private System.Windows.Forms.Label L_TrainerName; + private System.Windows.Forms.MaskedTextBox MT_Money; + private System.Windows.Forms.Label L_Money; + private System.Windows.Forms.Label L_Saying5; + private System.Windows.Forms.Label L_Saying4; + private System.Windows.Forms.Label L_Saying3; + private System.Windows.Forms.Label L_Saying2; + private System.Windows.Forms.Label L_Saying1; + private System.Windows.Forms.TextBox TB_Saying5; + private System.Windows.Forms.TextBox TB_Saying4; + private System.Windows.Forms.TextBox TB_Saying3; + private System.Windows.Forms.TextBox TB_Saying2; + private System.Windows.Forms.TextBox TB_Saying1; + private System.Windows.Forms.ComboBox CB_Language; + private System.Windows.Forms.Button B_MaxCash; + private System.Windows.Forms.Label L_SuperB; + private System.Windows.Forms.Label L_NormalB; + private System.Windows.Forms.Label L_MultiB; + private System.Windows.Forms.Label L_RotationB; + private System.Windows.Forms.Label L_TriplesB; + private System.Windows.Forms.Label L_DoublesB; + private System.Windows.Forms.Label L_SinglesB; + private System.Windows.Forms.Label L_SuperC; + private System.Windows.Forms.Label L_NormalC; + private System.Windows.Forms.Label L_MultiC; + private System.Windows.Forms.Label L_RotationC; + private System.Windows.Forms.Label L_TriplesC; + private System.Windows.Forms.Label L_DoublesC; + private System.Windows.Forms.Label L_SinglesC; + private System.Windows.Forms.Label L_Language; + private System.Windows.Forms.ComboBox CB_Game; + private System.Windows.Forms.ComboBox CB_Gender; + private System.Windows.Forms.MaskedTextBox TB_MBMS; + private System.Windows.Forms.MaskedTextBox TB_MBMN; + private System.Windows.Forms.MaskedTextBox TB_MBRS; + private System.Windows.Forms.MaskedTextBox TB_MBRN; + private System.Windows.Forms.MaskedTextBox TB_MBTS; + private System.Windows.Forms.MaskedTextBox TB_MBTN; + private System.Windows.Forms.MaskedTextBox TB_MBDS; + private System.Windows.Forms.MaskedTextBox TB_MBDN; + private System.Windows.Forms.MaskedTextBox TB_MBSS; + private System.Windows.Forms.MaskedTextBox TB_MBSN; + private System.Windows.Forms.MaskedTextBox TB_MCMS; + private System.Windows.Forms.MaskedTextBox TB_MCMN; + private System.Windows.Forms.MaskedTextBox TB_MCRS; + private System.Windows.Forms.MaskedTextBox TB_MCRN; + private System.Windows.Forms.MaskedTextBox TB_MCTS; + private System.Windows.Forms.MaskedTextBox TB_MCTN; + private System.Windows.Forms.MaskedTextBox TB_MCDS; + private System.Windows.Forms.MaskedTextBox TB_MCDN; + private System.Windows.Forms.MaskedTextBox TB_MCSS; + private System.Windows.Forms.MaskedTextBox TB_MCSN; + private System.Windows.Forms.Label L_Seconds; + private System.Windows.Forms.Label L_Minutes; + private System.Windows.Forms.MaskedTextBox MT_Seconds; + private System.Windows.Forms.MaskedTextBox MT_Minutes; + private System.Windows.Forms.Label L_Hours; + private System.Windows.Forms.MaskedTextBox MT_Hours; + private System.Windows.Forms.TabControl TC_Editor; + private System.Windows.Forms.TabPage Tab_Overview; + private Controls.TrainerID trainerID1; + private System.Windows.Forms.Label L_LP; + private System.Windows.Forms.TabPage Tab_MiscValues; + private System.Windows.Forms.GroupBox GB_Map; + private System.Windows.Forms.NumericUpDown NUD_Z; + private System.Windows.Forms.NumericUpDown NUD_Y; + private System.Windows.Forms.NumericUpDown NUD_X; + private System.Windows.Forms.Label L_Y; + private System.Windows.Forms.Label L_Z; + private System.Windows.Forms.Label L_X; + private System.Windows.Forms.MaskedTextBox MT_LP; + private System.Windows.Forms.Button B_MaxLP; + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.cs new file mode 100644 index 000000000..53d281fa9 --- /dev/null +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9.cs @@ -0,0 +1,148 @@ +using System; +using System.Linq; +using System.Windows.Forms; +using PKHeX.Core; + +namespace PKHeX.WinForms; + +public partial class SAV_Trainer9 : Form +{ + private readonly SaveFile Origin; + private readonly SAV9SV SAV; + + public SAV_Trainer9(SaveFile sav) + { + InitializeComponent(); + WinFormsUtil.TranslateInterface(this, Main.CurrentLanguage); + SAV = (SAV9SV)(Origin = sav).Clone(); + + Loading = true; + if (Main.Unicode) + { + TB_OTName.Font = FontUtil.GetPKXFont(); + } + + B_MaxCash.Click += (sender, e) => MT_Money.Text = SAV.MaxMoney.ToString(); + B_MaxLP.Click += (sender, e) => MT_LP.Text = SAV.MaxMoney.ToString(); + + var games = GameInfo.Strings.gamelist; + CB_Game.Items.Clear(); + CB_Game.Items.Add(games[(int)GameVersion.SL]); + CB_Game.Items.Add(games[(int)GameVersion.VL]); + + CB_Gender.Items.Clear(); + CB_Gender.Items.AddRange(Main.GenderSymbols.Take(2).ToArray()); // m/f depending on unicode selection + + GetComboBoxes(); + GetTextBoxes(); + LoadMap(); + + Loading = false; + } + + private readonly bool Loading; + private bool MapUpdated; + + private void LoadMap() + { + try + { + NUD_X.Value = (decimal)SAV.X; + NUD_Z.Value = (decimal)SAV.Y; + NUD_Y.Value = (decimal)SAV.Z; + } + // If we can't accurately represent the coordinates, don't allow them to be changed. + catch { GB_Map.Enabled = false; } + } + + private void GetComboBoxes() + { + CB_Language.InitializeBinding(); + CB_Language.DataSource = GameInfo.LanguageDataSource(SAV.Generation); + } + + private void GetTextBoxes() + { + // Get Data + CB_Game.SelectedIndex = SAV.Game - (int)GameVersion.SL; + CB_Gender.SelectedIndex = SAV.Gender; + + // Display Data + TB_OTName.Text = SAV.OT; + trainerID1.LoadIDValues(SAV); + MT_Money.Text = SAV.Money.ToString(); + MT_LP.Text = SAV.LeaguePoints.ToString(); + CB_Language.SelectedValue = SAV.Language; + + // Load Play Time + MT_Hours.Text = SAV.PlayedHours.ToString(); + MT_Minutes.Text = SAV.PlayedMinutes.ToString(); + MT_Seconds.Text = SAV.PlayedSeconds.ToString(); + } + + private void Save() + { + SaveTrainerInfo(); + SaveMap(); + } + + private void SaveMap() + { + if (!MapUpdated) + return; + SAV.SetCoordinates((float)NUD_X.Value, (float)NUD_Y.Value, (float)NUD_Z.Value); + } + + private void SaveTrainerInfo() + { + SAV.Game = (byte)(CB_Game.SelectedIndex + (int)GameVersion.SL); + SAV.Gender = (byte)CB_Gender.SelectedIndex; + + SAV.Money = Util.ToUInt32(MT_Money.Text); + SAV.LeaguePoints = Util.ToUInt32(MT_LP.Text); + SAV.Language = WinFormsUtil.GetIndex(CB_Language); + SAV.OT = TB_OTName.Text; + + // Save PlayTime + SAV.PlayedHours = ushort.Parse(MT_Hours.Text); + SAV.PlayedMinutes = ushort.Parse(MT_Minutes.Text)%60; + SAV.PlayedSeconds = ushort.Parse(MT_Seconds.Text)%60; + } + + private void ClickOT(object sender, MouseEventArgs e) + { + TextBox tb = sender as TextBox ?? TB_OTName; + // Special Character Form + if (ModifierKeys != Keys.Control) + return; + + var d = new TrashEditor(tb, SAV); + d.ShowDialog(); + tb.Text = d.FinalString; + } + + private void B_Cancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void B_Save_Click(object sender, EventArgs e) + { + Save(); + Origin.CopyChangesFrom(SAV); + Close(); + } + + private void ChangeMapValue(object sender, EventArgs e) + { + if (!Loading) + MapUpdated = true; + } + + private void Change255(object sender, EventArgs e) + { + MaskedTextBox box = (MaskedTextBox)sender; + if (box.Text.Length == 0) box.Text = "0"; + if (Util.ToInt32(box.Text) > 255) box.Text = "255"; + } +} diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventWork.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventWork.cs index 7b4d629cc..e27ebe501 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_EventWork.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_EventWork.cs @@ -248,6 +248,7 @@ private static string[] GetStringList(GameVersion game, string type) private static string GetGameFilePrefix(GameVersion game) => game switch { + SL or VL or SV => "sv", BD or SP or BDSP => "bdsp", SW or SH or SWSH => "swsh", GP or GE or GG => "gg", diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_MailBox.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_MailBox.cs index 0ef74c470..79a37f60c 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_MailBox.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_MailBox.cs @@ -470,7 +470,8 @@ private void B_Delete_Click(object sender, EventArgs e) private void EntryControl(object sender, EventArgs e) { - if (editing) return; + if (editing) + return; editing = true; int partyIndex = LB_PartyHeld.SelectedIndex; int pcIndex = LB_PCBOX.SelectedIndex; @@ -569,9 +570,11 @@ private void Label_OTGender_Click(object sender, EventArgs e) private void NUD_MailIDn_ValueChanged(object sender, EventArgs e) { - if (editing || Gen != 3) return; + if (editing || Gen != 3) + return; int index = Array.IndexOf(PKMNUDs, (NumericUpDown)sender); - if (index < 0 || index >= p.Count) return; + if (index < 0 || index >= p.Count) + return; ((PK3)p[index]).HeldMailID = (sbyte)PKMNUDs[index].Value; } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs index 90542dacd..dc5090c04 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimplePokedex.cs @@ -78,13 +78,15 @@ private void B_CaughtNone_Click(object sender, EventArgs e) private void CLB_Seen_ItemCheck(object sender, ItemCheckEventArgs e) { - if (!initialized) return; + if (!initialized) + return; seen[e.Index] = e.NewValue == CheckState.Checked; } private void CLB_Caught_ItemCheck(object sender, ItemCheckEventArgs e) { - if (!initialized) return; + if (!initialized) + return; caught[e.Index] = e.NewValue == CheckState.Checked; } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs index a6e22b66f..496ce1303 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_SimpleTrainer.cs @@ -18,7 +18,7 @@ public SAV_SimpleTrainer(SaveFile sav) Loading = true; cba = new[] {CHK_1, CHK_2, CHK_3, CHK_4, CHK_5, CHK_6, CHK_7, CHK_8}; - TB_OTName.MaxLength = SAV.OTLength; + TB_OTName.MaxLength = SAV.MaxStringLengthOT; B_MaxCash.Click += (sender, e) => MT_Money.Text = SAV.MaxMoney.ToString(); B_MaxCoins.Click += (sender, e) => MT_Coins.Text = SAV.MaxCoins.ToString(); MT_Money.Mask = "".PadRight((int)Math.Floor(Math.Log10(SAV.MaxMoney) + 1), '0'); diff --git a/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs b/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs index 9fa18ef7e..3cd290688 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/SAV_Wondercard.cs @@ -132,7 +132,7 @@ private void SetCardID(int cardID) // Mystery Gift IO (.file<->window) private void B_Import_Click(object sender, EventArgs e) { - var fileFilter = WinFormsUtil.GetMysterGiftFilter(SAV.Generation, SAV.Version); + var fileFilter = WinFormsUtil.GetMysterGiftFilter(SAV.Context); using var import = new OpenFileDialog { Filter = fileFilter }; if (import.ShowDialog() != DialogResult.OK) return; @@ -153,7 +153,7 @@ private void B_Output_Click(object sender, EventArgs e) { if (mg == null) return; - WinFormsUtil.ExportMGDialog(mg, SAV.Version); + WinFormsUtil.ExportMGDialog(mg); } private static int GetLastUnfilledByType(MysteryGift gift, MysteryGiftAlbum album) diff --git a/PKHeX.WinForms/Subforms/SettingsEditor.Designer.cs b/PKHeX.WinForms/Subforms/SettingsEditor.Designer.cs index dffaee809..7ffcdf98c 100644 --- a/PKHeX.WinForms/Subforms/SettingsEditor.Designer.cs +++ b/PKHeX.WinForms/Subforms/SettingsEditor.Designer.cs @@ -88,16 +88,16 @@ private void InitializeComponent() // SettingsEditor // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; - this.AutoSize = true; this.ClientSize = new System.Drawing.Size(334, 311); this.Controls.Add(this.B_Reset); this.Controls.Add(this.tabControl1); this.Controls.Add(this.FLP_Blank); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = global::PKHeX.WinForms.Properties.Resources.Icon; this.KeyPreview = true; this.MaximizeBox = false; this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(350, 350); this.Name = "SettingsEditor"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Settings"; diff --git a/PKHeX.WinForms/Subforms/SettingsEditor.cs b/PKHeX.WinForms/Subforms/SettingsEditor.cs index 3ffa07e6b..4b6cb38e6 100644 --- a/PKHeX.WinForms/Subforms/SettingsEditor.cs +++ b/PKHeX.WinForms/Subforms/SettingsEditor.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.IO; using System.Linq; using System.Windows.Forms; @@ -38,7 +38,8 @@ public SettingsEditor(object obj) private void LoadSettings(object obj) { var type = obj.GetType(); - var props = ReflectUtil.GetPropertiesCanWritePublicDeclared(type); + var props = ReflectUtil.GetPropertiesCanWritePublicDeclared(type) + .OrderBy(z => z); foreach (var p in props) { var state = ReflectUtil.GetValue(obj, p); diff --git a/PKHeX.WinForms/Util/DevUtil.cs b/PKHeX.WinForms/Util/DevUtil.cs index 0748579d6..c9a0a1254 100644 --- a/PKHeX.WinForms/Util/DevUtil.cs +++ b/PKHeX.WinForms/Util/DevUtil.cs @@ -1,4 +1,4 @@ -#if DEBUG +#if DEBUG using System; using System.Collections.Generic; using System.IO; @@ -96,6 +96,7 @@ private static void UpdateTranslations() "BTN_Shinytize", // ☆ $"{nameof(Main)}.L_SizeH", // height rating $"{nameof(Main)}.L_SizeW", // weight rating + $"{nameof(Main)}.L_SizeS", // scale rating $"{nameof(Main)}.B_Box", // << and >> arrows $"{nameof(Main)}.L_Characteristic=", // Characterstic (dynamic) $"{nameof(Main)}.L_Potential", // ★☆☆☆ IV judge evaluation diff --git a/PKHeX.WinForms/Util/WinFormsUtil.cs b/PKHeX.WinForms/Util/WinFormsUtil.cs index d8edc1f13..f8f388e7e 100644 --- a/PKHeX.WinForms/Util/WinFormsUtil.cs +++ b/PKHeX.WinForms/Util/WinFormsUtil.cs @@ -411,13 +411,12 @@ private static void ExportSAV(SaveFile sav, string path) /// Opens a dialog to save a file. /// /// to be saved. - /// Game the gift originates from /// Result of whether or not the file was saved. - public static bool ExportMGDialog(DataMysteryGift gift, GameVersion origin) + public static bool ExportMGDialog(DataMysteryGift gift) { using var sfd = new SaveFileDialog { - Filter = GetMysterGiftFilter(gift.Generation, origin), + Filter = GetMysterGiftFilter(gift.Context), FileName = Util.CleanFileName(gift.FileName), }; if (sfd.ShowDialog() != DialogResult.OK) @@ -433,19 +432,19 @@ public static bool ExportMGDialog(DataMysteryGift gift, GameVersion origin) /// /// Gets the File Dialog filter for a Mystery Gift I/O operation. /// - /// Format specifier for the - /// Game the format originated from/to - public static string GetMysterGiftFilter(int format, GameVersion origin) => format switch + /// Context specifier for the + public static string GetMysterGiftFilter(EntityContext context) => context switch { - 4 => "Gen4 Mystery Gift|*.pgt;*.pcd;*.wc4" + all, - 5 => "Gen5 Mystery Gift|*.pgf" + all, - 6 => "Gen6 Mystery Gift|*.wc6;*.wc6full" + all, - 7 => GameVersion.GG.Contains(origin) - ? "Beluga Gift Record|*.wr7" + all - : "Gen7 Mystery Gift|*.wc7;*.wc7full" + all, - 8 when GameVersion.BDSP.Contains(origin) => "BD/SP Gift|*.wb8" + all, - 8 when GameVersion.PLA.Contains(origin) => "Legends: Arceus Gift|*.wa8" + all, - 8 => "Gen8 Mystery Gift|*.wc8" + all, + EntityContext.Gen4 => "Gen4 Mystery Gift|*.pgt;*.pcd;*.wc4" + all, + EntityContext.Gen5 => "Gen5 Mystery Gift|*.pgf" + all, + EntityContext.Gen6 => "Gen6 Mystery Gift|*.wc6;*.wc6full" + all, + EntityContext.Gen7 => "Gen7 Mystery Gift|*.wc7;*.wc7full" + all, + EntityContext.Gen8 => "Gen8 Mystery Gift|*.wc8" + all, + EntityContext.Gen9 => "Gen9 Mystery Gift|*.wc9" + all, + + EntityContext.Gen7b => "Beluga Gift Record|*.wr7" + all, + EntityContext.Gen8b => "BD/SP Gift|*.wb8" + all, + EntityContext.Gen8a => "Legends: Arceus Gift|*.wa8" + all, _ => string.Empty, }; diff --git a/README.md b/README.md index 4621f3e27..b64c70745 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ PKHeX expects save files that are not encrypted with console-specific keys. Use ## Screenshots -![Main Window](https://i.imgur.com/RBcUanJ.png) +![Main Window](https://i.imgur.com/hwLl705.png) ## Building diff --git a/Tests/PKHeX.Core.Tests/General/GeneralTests.cs b/Tests/PKHeX.Core.Tests/General/GeneralTests.cs index 827869345..d5465ed18 100644 --- a/Tests/PKHeX.Core.Tests/General/GeneralTests.cs +++ b/Tests/PKHeX.Core.Tests/General/GeneralTests.cs @@ -20,6 +20,13 @@ public void BDSP_Hypothesis() GameVersion.SP.Should().Be((GameVersion)49); } + [Fact] + public void SV_Hypothesis() + { + GameVersion.SL.Should().Be((GameVersion)50); + GameVersion.VL.Should().Be((GameVersion)51); + } + [Fact] public void StringsLoad() => GameInfo.GetStrings(GameLanguage.DefaultLanguage); diff --git a/Tests/PKHeX.Core.Tests/General/MarshalTests.cs b/Tests/PKHeX.Core.Tests/General/MarshalTests.cs index 5022cba07..c1f998d84 100644 --- a/Tests/PKHeX.Core.Tests/General/MarshalTests.cs +++ b/Tests/PKHeX.Core.Tests/General/MarshalTests.cs @@ -16,5 +16,6 @@ public void MarshalSize() Marshal.SizeOf(typeof(EvolutionMethod)).Should().Be(8); Marshal.SizeOf(typeof(Moveset)).Should().Be(8); Marshal.SizeOf(typeof(IndividualValueSet)).Should().BeLessOrEqualTo(8); + Marshal.SizeOf(typeof(GenerateParam9)).Should().BeLessOrEqualTo(8); } } diff --git a/Tests/PKHeX.Core.Tests/Legality/ShadowTests.cs b/Tests/PKHeX.Core.Tests/Legality/ShadowTests.cs index 12b50cca5..5d3b0d428 100644 --- a/Tests/PKHeX.Core.Tests/Legality/ShadowTests.cs +++ b/Tests/PKHeX.Core.Tests/Legality/ShadowTests.cs @@ -3,6 +3,8 @@ using FluentAssertions; using PKHeX.Core; using Xunit; +using static PKHeX.Core.Encounters3XDTeams; +using static PKHeX.Core.Encounters3ColoTeams; namespace PKHeX.Tests.Legality.Shadow; @@ -11,40 +13,40 @@ public static class ValidityTests public static IEnumerable Lock1() { // Zubat (F) (Serious) - yield return new object[] { Encounters3Teams.Poochyena, 0xAF4E3161, new[] { 11, 29, 25, 6, 23, 10 } }; + yield return new object[] { Poochyena, 0xAF4E3161, new[] { 11, 29, 25, 6, 23, 10 } }; // Murkrow (M) (Docile) - yield return new object[] { Encounters3Teams.Pineco, 0xC3A0F1E5, new[] { 30, 3, 9, 10, 27, 30 } }; + yield return new object[] { Pineco, 0xC3A0F1E5, new[] { 30, 3, 9, 10, 27, 30 } }; } public static IEnumerable Lock2() { // Goldeen (F) (Serious) // Horsea (M) (Quirky) - yield return new object[] { Encounters3Teams.Spheal, 0xA459BF44, new[] { 0, 11, 4, 28, 6, 13 } }; + yield return new object[] { Spheal, 0xA459BF44, new[] { 0, 11, 4, 28, 6, 13 } }; // Kirlia (M) (Hardy) // Linoone (F) (Hardy) - yield return new object[] { Encounters3Teams.Natu, 0x8E14DAB6, new[] { 29, 24, 30, 16, 3, 18 } }; + yield return new object[] { Natu, 0x8E14DAB6, new[] { 29, 24, 30, 16, 3, 18 } }; // Remoraid (M) (Docile) -- 73DB58CC // Golbat (M) (Bashful) -- F6B04390 - yield return new object[] { Encounters3Teams.Roselia, 0x30E87CC7, new[] { 22, 11, 8, 26, 4, 29 } }; + yield return new object[] { Roselia, 0x30E87CC7, new[] { 22, 11, 8, 26, 4, 29 } }; // 519AEF0E // Duskull (M) (Quirky) -- 45BE3B97 // Spinarak (F) (Hardy) -- E18F5A3E - yield return new object[] { Encounters3Teams.ColoMakuhita, 0xC252FEBA, new[] { 15, 9, 17, 16, 24, 22 } }; + yield return new object[] { ColoMakuhita, 0xC252FEBA, new[] { 15, 9, 17, 16, 24, 22 } }; // 559C5F72 -- Quirky F => skip // Duskull (M) (Quirky) -- A5AC2CCB // Spinarak (F) (Hardy) -- D08FF135 - yield return new object[] { Encounters3Teams.ColoMakuhita, 0x61C676FC, new[] { 20, 28, 21, 18, 9, 1 } }; + yield return new object[] { ColoMakuhita, 0x61C676FC, new[] { 20, 28, 21, 18, 9, 1 } }; // 3CCB97BA -- Quirky F => skip * 2, Hardy Skip // Duskull (M) (Quirky) -- 7F0D6783 @ 161 // Spinarak (F) (Hardy) -- 6C03F545 @ 182 - yield return new object[] { Encounters3Teams.ColoMakuhita, 0x3B27608D, new[] { 7, 12, 5, 19, 3, 7 } }; + yield return new object[] { ColoMakuhita, 0x3B27608D, new[] { 7, 12, 5, 19, 3, 7 } }; } public static IEnumerable Lock3() @@ -52,17 +54,17 @@ public static IEnumerable Lock3() // Luvdisc (F) (Docile) // Beautifly (M) (Hardy) // Roselia (M) (Quirky) - yield return new object[] { Encounters3Teams.Delcatty, 0x9BECA2A6, new[] { 31, 31, 25, 13, 22, 1 } }; + yield return new object[] { Delcatty, 0x9BECA2A6, new[] { 31, 31, 25, 13, 22, 1 } }; // Kadabra (M) (Docile) // Sneasel (F) (Hardy) // Misdreavus (F) (Bashful) - yield return new object[] { Encounters3Teams.Meowth, 0x77D87601, new[] { 10, 27, 26, 13, 30, 19 } }; + yield return new object[] { Meowth, 0x77D87601, new[] { 10, 27, 26, 13, 30, 19 } }; // Ralts (M) (Docile) // Voltorb (-) (Hardy) // Bagon (F) (Quirky) - yield return new object[] { Encounters3Teams.Numel, 0x37F95B26, new[] { 11, 8, 5, 10, 28, 14 } }; + yield return new object[] { Numel, 0x37F95B26, new[] { 11, 8, 5, 10, 28, 14 } }; } public static IEnumerable Lock4() @@ -71,25 +73,25 @@ public static IEnumerable Lock4() // Jumpluff (M) (Docile) // Azumarill (F) (Hardy) // Shadow Tangela - yield return new object[] { Encounters3Teams.Butterfree, 0x2E49AC34, new[] { 15, 24, 7, 2, 11, 2 } }; + yield return new object[] { Butterfree, 0x2E49AC34, new[] { 15, 24, 7, 2, 11, 2 } }; // Huntail (M) (Docile) // Cacturne (F) (Hardy) // Weezing (F) (Serious) // Ursaring (F) (Bashful) - yield return new object[] { Encounters3Teams.Arbok, 0x1973FD07, new[] { 13, 30, 3, 16, 20, 9 } }; + yield return new object[] { Arbok, 0x1973FD07, new[] { 13, 30, 3, 16, 20, 9 } }; // Lairon (F) (Bashful) // Sealeo (F) (Serious) // Slowking (F) (Docile) // Ursaring (M) (Quirky) - yield return new object[] { Encounters3Teams.Primeape, 0x33893D4C, new[] { 26, 25, 24, 28, 29, 30 } }; + yield return new object[] { Primeape, 0x33893D4C, new[] { 26, 25, 24, 28, 29, 30 } }; } public static IEnumerable Lock5() { // many prior, all non shadow - yield return new object[] { Encounters3Teams.Seedot, 0x8CBD29DB, new[] { 19, 29, 30, 0, 7, 2 } }; + yield return new object[] { Seedot, 0x8CBD29DB, new[] { 19, 29, 30, 0, 7, 2 } }; } [Theory] @@ -127,7 +129,7 @@ public static IEnumerable TestData() new uint[] {0xF2AC8419, 0xADA208E3, 0xDB3A0BA6, 0x5EEF1076}, new uint[] {0x9D28899D, 0xA3ECC9F0, 0x606EC6F0, 0x451FAE3C}, }, - Encounters3Teams.Delcatty, + Delcatty, }; yield return new object[] { @@ -144,7 +146,7 @@ public static IEnumerable TestData() new uint[] {0xC7315E32, 0x76566AA1, 0xC0CE436E, 0x98C45DA8, 0x9D1BDC4A}, new uint[] {0xB687F0AF, 0xC01DB6C6, 0xAD6DEC75, 0xDB041314, 0x0D949325}, }, - Encounters3Teams.Butterfree, + Butterfree, }; } @@ -177,7 +179,7 @@ public static void VerifyResults(IReadOnlyList results, TeamLock[] team) } } - public static readonly uint[] Mawile = + public static readonly uint[] MawileTeamPIDs = { 0x4C3005E8, // Loudred 0xD28DE40E, // Girafarig (re - rolled 64 times to next viable match) @@ -187,7 +189,7 @@ public static void VerifyResults(IReadOnlyList results, TeamLock[] team) [Fact] public static void VerifyMawileAntishiny() { - VerifyResultsAntiShiny(Mawile, Encounters3Teams.Mawile, 12345, 51882, stackalloc[] {31, 30, 29, 31, 23, 27}); + VerifyResultsAntiShiny(MawileTeamPIDs, Mawile, 12345, 51882, stackalloc[] {31, 30, 29, 31, 23, 27}); } private static void VerifyResultsAntiShiny(ReadOnlySpan resultPIDs, TeamLock[] team, int tid, int sid, ReadOnlySpan ivs) diff --git a/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs b/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs index 58fdf6e4a..3f02ae637 100644 --- a/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs +++ b/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using FluentAssertions; using PKHeX.Core; @@ -61,38 +61,40 @@ private static void CheckMetLocations(string language) { var strings = GameInfo.GetStrings(language); - const string prefix = "met"; - nameof(strings.metBW2_00000).StartsWith(prefix).Should() - .BeTrue("expected field name to exist prior to using reflection to fetch all"); - var metstrings = typeof(GameStrings).GetFields().Where(z => z.Name.StartsWith(prefix)); + var sets = typeof(GameStrings).GetFields() + .Where(z => typeof(ILocationSet).IsAssignableFrom(z.FieldType)); bool iterated = false; - var duplicates = new List(); - foreach (var p in metstrings) + var duplicates = new List(0); + foreach (var setField in sets) { iterated = true; - var name = p.Name; - var value = p.GetValue(strings); - Assert.NotNull(value); - var arr = (string[])value!; - var hs = new HashSet(); + var name = setField.Name; + var group = setField.GetValue(strings) as ILocationSet; + Assert.NotNull(group); - bool sm0 = name == nameof(GameStrings.metSM_00000); - for (int i = 0; i < arr.Length; i++) + foreach (var (bank, arr) in group.GetAll()) { - var line = arr[i]; - if (line.Length == 0) - continue; - if (sm0 && i % 2 != 0) - continue; + var hs = new HashSet(); + bool sm0 = bank == 0 && name == nameof(GameStrings.Gen7); + for (int index = 0; index < arr.Length; index++) + { + var line = arr[index]; + if (line.Length == 0) + continue; + if (sm0 && index % 2 != 0) + continue; - if (hs.Contains(line)) - duplicates.Add($"{name}\t{line}"); - hs.Add(line); + if (hs.Contains(line)) + duplicates.Add($"{name}\t{line}"); + hs.Add(line); + } } + + if (duplicates.Count != 0) + Assert.Fail($"Found duplicates for {name}. Debug this test to inspect the list of duplicate location IDs."); } - duplicates.Count.Should().Be(0, "expected no duplicate strings."); iterated.Should().BeTrue(); } }