mirror of
https://github.com/kwsch/PKHeX
synced 2024-09-20 06:11:55 +00:00
Update 22.11.24
Adds support for Scarlet & Violet. Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com> Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com> Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
This commit is contained in:
parent
313f32a0d0
commit
03182ebd3d
2111 changed files with 55130 additions and 16970 deletions
2
.github/README-de.md
vendored
2
.github/README-de.md
vendored
|
@ -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
|
||||
|
||||
|
|
2
.github/README-es.md
vendored
2
.github/README-es.md
vendored
|
@ -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
|
||||
|
||||
|
|
2
.github/README-fr.md
vendored
2
.github/README-fr.md
vendored
|
@ -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
|
||||
|
||||
|
|
2
.github/README-it.md
vendored
2
.github/README-it.md
vendored
|
@ -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
|
||||
|
||||
|
|
2
.github/README-zhHK.md
vendored
2
.github/README-zhHK.md
vendored
|
@ -24,7 +24,7 @@ PKHeX 所讀取檔案須未經主機唯一密鑰加密,因而請使用儲存
|
|||
|
||||
## 螢幕擷取截圖
|
||||
|
||||
![主介面](https://i.imgur.com/RBcUanJ.png)
|
||||
![主介面](https://i.imgur.com/CHgFTXb.png)
|
||||
|
||||
## 構建
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<Version>22.09.13</Version>
|
||||
<Version>22.11.24</Version>
|
||||
<LangVersion>10</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<NeutralLanguage>en</NeutralLanguage>
|
||||
|
|
|
@ -62,7 +62,7 @@ public static class RibbonApplicator
|
|||
// 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
|
||||
|
|
|
@ -13,7 +13,7 @@ public static class TechnicalRecordApplicator
|
|||
/// <param name="pk">Pokémon to modify.</param>
|
||||
/// <param name="value">Value to set for the record.</param>
|
||||
/// <param name="max">Max record to set.</param>
|
||||
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 class TechnicalRecordApplicator
|
|||
/// Clears the Technical Record flags for the <see cref="pk"/>.
|
||||
/// </summary>
|
||||
/// <param name="pk">Pokémon to modify.</param>
|
||||
public static void ClearRecordFlags(this ITechRecord8 pk) => pk.SetRecordFlags(false, 112);
|
||||
public static void ClearRecordFlags(this ITechRecord pk) => pk.SetRecordFlags(false, pk.RecordCountTotal);
|
||||
|
||||
/// <summary>
|
||||
/// Sets the Technical Record flags for the <see cref="pk"/> based on the current moves.
|
||||
/// </summary>
|
||||
/// <param name="pk">Pokémon to modify.</param>
|
||||
/// <param name="moves">Moves to set flags for. If a move is not a Technical Record, it is skipped.</param>
|
||||
public static void SetRecordFlags(this ITechRecord8 pk, ReadOnlySpan<ushort> moves)
|
||||
public static void SetRecordFlags(this ITechRecord pk, ReadOnlySpan<ushort> moves)
|
||||
{
|
||||
var permit = pk.TechRecordPermitFlags;
|
||||
var moveIDs = pk.TechRecordPermitIndexes;
|
||||
|
@ -43,7 +43,7 @@ public static class TechnicalRecordApplicator
|
|||
if (index == -1)
|
||||
continue;
|
||||
if (permit[index])
|
||||
pk.SetMoveRecordFlag(index, true);
|
||||
pk.SetMoveRecordFlag(index);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -51,13 +51,13 @@ public static class TechnicalRecordApplicator
|
|||
/// Sets all the Technical Record flags for the <see cref="pk"/> if they are permitted to be learned in-game.
|
||||
/// </summary>
|
||||
/// <param name="pk">Pokémon to modify.</param>
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -237,8 +237,10 @@ public static class CommonEdits
|
|||
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);
|
||||
|
|
|
@ -3,7 +3,7 @@ namespace PKHeX.Core;
|
|||
/// <summary>
|
||||
/// Interface containing details relevant for battling.
|
||||
/// </summary>
|
||||
public interface IBattleTemplate : ISpeciesForm, IGigantamax, IDynamaxLevel, INature
|
||||
public interface IBattleTemplate : ISpeciesForm, IGigantamaxReadOnly, IDynamaxLevelReadOnly, INatureReadOnly, ITeraTypeReadOnly
|
||||
{
|
||||
/// <summary>
|
||||
/// <see cref="PKM.Context"/> of the Set entity it is specific to.
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -21,6 +21,7 @@ public static class Pokerus
|
|||
{
|
||||
PA8 pa8 => HasVisitedAnother(pa8),
|
||||
PB7 => false,
|
||||
PK9 => false,
|
||||
_ => true,
|
||||
};
|
||||
|
||||
|
|
|
@ -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)),
|
||||
};
|
||||
|
|
|
@ -30,9 +30,11 @@ public enum BoxManipType
|
|||
SortTraining,
|
||||
SortOwner,
|
||||
SortType,
|
||||
SortTypeTera,
|
||||
SortVersion,
|
||||
SortBST,
|
||||
SortCP,
|
||||
SortScale,
|
||||
SortLegal,
|
||||
SortEncounterType,
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
|
@ -56,6 +56,7 @@ public static partial class Extensions
|
|||
SAV8SWSH ss => GetExtraSlots8(ss),
|
||||
SAV8BS bs => GetExtraSlots8b(bs),
|
||||
SAV8LA la => GetExtraSlots8a(la),
|
||||
SAV9SV sv => GetExtraSlots9(sv),
|
||||
_ => None,
|
||||
};
|
||||
|
||||
|
@ -220,8 +221,17 @@ public static partial class Extensions
|
|||
};
|
||||
}
|
||||
|
||||
private static List<SlotInfoMisc> GetExtraSlots8a(SAV8LA sav)
|
||||
private static List<SlotInfoMisc> GetExtraSlots8a(SAV8LA _)
|
||||
{
|
||||
return new List<SlotInfoMisc>();
|
||||
}
|
||||
|
||||
private static List<SlotInfoMisc> GetExtraSlots9(SAV9SV sav)
|
||||
{
|
||||
var list = new List<SlotInfoMisc>();
|
||||
var block = sav.Blocks.GetBlockSafe(SaveBlockAccessor9SV.KFusedCalyrex);
|
||||
var c = new SlotInfoMisc(block.Data, 3, 0, true) { Type = StorageSlotType.Fused };
|
||||
list.Add(c);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,16 +77,19 @@ public static class ShowdownParsing
|
|||
|
||||
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 class ShowdownParsing
|
|||
(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 class ShowdownParsing
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ushort Species { get; private set; }
|
||||
|
||||
|
@ -48,7 +55,7 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
public int Friendship { get; private set; } = 255;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int Nature { get; set; } = -1;
|
||||
public int Nature { get; private set; } = -1;
|
||||
|
||||
/// <inheritdoc/>
|
||||
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};
|
||||
|
||||
/// <inheritdoc/>
|
||||
public int HiddenPowerType { get; set; } = -1;
|
||||
public int HiddenPowerType { get; private set; } = -1;
|
||||
|
||||
public MoveType TeraType { get; private set; } = MoveType.Any;
|
||||
|
||||
/// <inheritdoc/>
|
||||
public ushort[] Moves { get; } = {0, 0, 0, 0};
|
||||
|
||||
/// <inheritdoc/>
|
||||
public bool CanGigantamax { get; set; }
|
||||
public bool CanGigantamax { get; private set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public byte DynamaxLevel { get; set; } = 10;
|
||||
public byte DynamaxLevel { get; private set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// Any lines that failed to be parsed.
|
||||
|
@ -101,7 +110,7 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
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 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
"IVs" => ParseLineIVs(value),
|
||||
"Level" => ParseLevel(value),
|
||||
"Dynamax Level" => ParseDynamax(value),
|
||||
"Tera Type" => ParseTeraType(value),
|
||||
_ => false,
|
||||
};
|
||||
|
||||
|
@ -243,6 +253,17 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the standard Text representation of the set details.
|
||||
/// </summary>
|
||||
|
@ -297,6 +318,8 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
// 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 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
_ => displayIndex,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Forces some properties to indicate the set for future display values.
|
||||
/// </summary>
|
||||
/// <param name="pk">PKM to convert to string</param>
|
||||
public void InterpretAsPreview(PKM pk)
|
||||
{
|
||||
if (pk.Format <= 2) // Nature preview from IVs
|
||||
Nature = Experience.GetNatureVC(pk.EXP);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the <see cref="PKM"/> data into an importable set format for Pokémon Showdown.
|
||||
/// </summary>
|
||||
|
@ -431,6 +464,8 @@ public sealed class ShowdownSet : IBattleTemplate
|
|||
|
||||
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++)
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
|
|
|
@ -219,6 +219,16 @@ public enum GameVersion : byte
|
|||
/// Pokémon Shining Pearl (NX)
|
||||
/// </summary>
|
||||
SP = 49,
|
||||
|
||||
/// <summary>
|
||||
/// Pokémon Scarlet (NX)
|
||||
/// </summary>
|
||||
SL = 50,
|
||||
|
||||
/// <summary>
|
||||
/// Pokémon Violet (NX)
|
||||
/// </summary>
|
||||
VL = 51,
|
||||
#endregion
|
||||
|
||||
// The following values are not actually stored values in pk data,
|
||||
|
@ -404,6 +414,14 @@ public enum GameVersion : byte
|
|||
/// <see cref="SP"/>
|
||||
BDSP,
|
||||
|
||||
/// <summary>
|
||||
/// Pokémon Scarlet & Violet
|
||||
/// </summary>
|
||||
/// <remarks>Used to lump data from the associated games as data assets are shared.</remarks>
|
||||
/// <see cref="SL"/>
|
||||
/// <see cref="VL"/>
|
||||
SV,
|
||||
|
||||
/// <summary>
|
||||
/// Generation 1 Games
|
||||
/// </summary>
|
||||
|
@ -466,6 +484,12 @@ public enum GameVersion : byte
|
|||
/// <see cref="PLA"/>
|
||||
Gen8,
|
||||
|
||||
/// <summary>
|
||||
/// Generation 9 Games
|
||||
/// </summary>
|
||||
/// <see cref="SV"/>
|
||||
Gen9,
|
||||
|
||||
/// <summary>
|
||||
/// Pocket Monsters Stadium data origin identifier
|
||||
/// </summary>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
namespace PKHeX.Core;
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 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,
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
namespace PKHeX.Core;
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// 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,
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ public sealed class FilteredGameDataSource
|
|||
}
|
||||
|
||||
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 sealed class FilteredGameDataSource
|
|||
|
||||
private static IEnumerable<ComboItem> 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<ComboItem> FilterAbove(IReadOnlyList<ComboItem> species, int limit)
|
||||
{
|
||||
foreach (var s in species)
|
||||
{
|
||||
if (s.Value <= limit)
|
||||
yield return s;
|
||||
}
|
||||
}
|
||||
|
||||
static IEnumerable<ComboItem> FilterUnavailable<T>(IReadOnlyList<ComboItem> 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<ComboItem> GetFilteredMoves(IGameValueLimit sav, GameDataSource source, bool HaX = false)
|
||||
|
@ -80,10 +102,10 @@ public sealed class FilteredGameDataSource
|
|||
|
||||
public IReadOnlyList<ComboItem> GetAbilityList(PKM pk)
|
||||
{
|
||||
return GetAbilityList(pk.PersonalInfo, pk.Format);
|
||||
return GetAbilityList(pk.PersonalInfo);
|
||||
}
|
||||
|
||||
public IReadOnlyList<ComboItem> GetAbilityList(IPersonalAbility pi, int format)
|
||||
public IReadOnlyList<ComboItem> GetAbilityList(IPersonalAbility pi)
|
||||
{
|
||||
var list = new ComboItem[pi.AbilityCount];
|
||||
|
||||
|
@ -92,7 +114,8 @@ public sealed class FilteredGameDataSource
|
|||
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;
|
||||
|
|
|
@ -50,11 +50,13 @@ public sealed class GameDataSource
|
|||
}
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary> Strings that this object's lists were generated with. </summary>
|
||||
|
@ -83,11 +85,12 @@ public sealed class GameDataSource
|
|||
return Util.GetVariedCBListBall(itemList, ball_nums, ball_vals);
|
||||
}
|
||||
|
||||
private static IReadOnlyList<ComboItem> GetVersionList(GameStrings s)
|
||||
private static ComboItem[] GetVersionList(GameStrings s)
|
||||
{
|
||||
var list = s.gamelist;
|
||||
ReadOnlySpan<byte> games = stackalloc byte[]
|
||||
{
|
||||
50, 51, // 9 sv
|
||||
47, // 8 legends arceus
|
||||
48, 49, // 8 bdsp
|
||||
44, 45, // 8 swsh
|
||||
|
@ -107,6 +110,8 @@ public sealed class GameDataSource
|
|||
39, 40, 41, // 7vc2
|
||||
35, 36, 37, 38, // 7vc1
|
||||
34, // 7go
|
||||
|
||||
00,
|
||||
};
|
||||
|
||||
return Util.GetUnsortedCBList(list, games);
|
||||
|
|
|
@ -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 sealed class GameStrings : IBasicStrings
|
|||
|
||||
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 sealed class GameStrings : IBasicStrings
|
|||
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 sealed class GameStrings : IBasicStrings
|
|||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
|
||||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
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<string, int>();
|
||||
|
@ -565,40 +621,37 @@ public sealed class GameStrings : IBasicStrings
|
|||
}
|
||||
|
||||
#if !DEBUG
|
||||
var maxCounts = new Dictionary<string, int>(counts);
|
||||
var maxCounts = new Dictionary<string, int>(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<string>(),
|
||||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
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 @@ public sealed class GameStrings : IBasicStrings
|
|||
/// <returns>Location name. May be an empty string if no location name is known for that location value.</returns>
|
||||
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.
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the location names array for a specified generation.
|
||||
/// </summary>
|
||||
/// <param name="gen">Generation to get location names for.</param>
|
||||
/// <param name="version">Version of origin</param>
|
||||
/// <returns>List of location names.</returns>
|
||||
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,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Gets the location names array for a specified generation.
|
||||
/// </summary>
|
||||
|
@ -701,90 +778,11 @@ public sealed class GameStrings : IBasicStrings
|
|||
/// <param name="version">Version of origin</param>
|
||||
/// <param name="bankID">BankID used to choose the text bank.</param>
|
||||
/// <returns>List of location names.</returns>
|
||||
public IReadOnlyList<string> GetLocationNames(int gen, GameVersion version, int bankID = 0) => gen switch
|
||||
public ReadOnlySpan<string> 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<string>(),
|
||||
};
|
||||
|
||||
private IReadOnlyList<string> GetLocationNames4(int bankID) => bankID switch
|
||||
{
|
||||
0 => metHGSS_00000,
|
||||
2 => metHGSS_02000,
|
||||
3 => metHGSS_03000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames5(int bankID) => bankID switch
|
||||
{
|
||||
0 => metBW2_00000,
|
||||
3 => metBW2_30000,
|
||||
4 => metBW2_40000,
|
||||
6 => metBW2_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames6(int bankID) => bankID switch
|
||||
{
|
||||
0 => metXY_00000,
|
||||
3 => metXY_30000,
|
||||
4 => metXY_40000,
|
||||
6 => metXY_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames7(int bankID) => bankID switch
|
||||
{
|
||||
0 => metSM_00000,
|
||||
3 => metSM_30000,
|
||||
4 => metSM_40000,
|
||||
6 => metSM_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames7GG(int bankID) => bankID switch
|
||||
{
|
||||
0 => metGG_00000,
|
||||
3 => metGG_30000,
|
||||
4 => metGG_40000,
|
||||
6 => metGG_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames8(int bankID) => bankID switch
|
||||
{
|
||||
0 => metSWSH_00000,
|
||||
3 => metSWSH_30000,
|
||||
4 => metSWSH_40000,
|
||||
6 => metSWSH_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames8a(int bankID) => bankID switch
|
||||
{
|
||||
0 => metLA_00000,
|
||||
3 => metLA_30000,
|
||||
4 => metLA_40000,
|
||||
6 => metLA_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
public IReadOnlyList<string> GetLocationNames8b(int bankID) => bankID switch
|
||||
{
|
||||
0 => metBDSP_00000,
|
||||
3 => metBDSP_30000,
|
||||
4 => metBDSP_40000,
|
||||
6 => metBDSP_60000,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
var set = GetLocations(gen, version);
|
||||
if (set is null)
|
||||
return Array.Empty<string>();
|
||||
return set.GetLocationNames(bankID);
|
||||
}
|
||||
}
|
||||
|
|
27
PKHeX.Core/Game/GameStrings/LocationSet/ILocationSet.cs
Normal file
27
PKHeX.Core/Game/GameStrings/LocationSet/ILocationSet.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Stores location names for a given game group.
|
||||
/// </summary>
|
||||
public interface ILocationSet
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the location name group for the requested location bank group ID.
|
||||
/// </summary>
|
||||
ReadOnlySpan<string> GetLocationNames(int bankID);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the location name for the requested location ID.
|
||||
/// </summary>
|
||||
string GetLocationName(int locationID);
|
||||
|
||||
/// <summary>
|
||||
/// Gets all groups -- ONLY USE FOR UNIT TESTING.
|
||||
/// </summary>
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
IEnumerable<(int Bank, string[] Names)> GetAll();
|
||||
}
|
25
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet0.cs
Normal file
25
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet0.cs
Normal file
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
public sealed record LocationSet0(string[] Met0) : ILocationSet
|
||||
{
|
||||
public ReadOnlySpan<string> GetLocationNames(int bankID) => bankID switch
|
||||
{
|
||||
0 => Met0,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
36
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs
Normal file
36
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet4.cs
Normal file
|
@ -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<string> GetLocationNames(int bankID) => bankID switch
|
||||
{
|
||||
0 => Met0,
|
||||
2 => Met2,
|
||||
3 => Met3,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
39
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet6.cs
Normal file
39
PKHeX.Core/Game/GameStrings/LocationSet/LocationSet6.cs
Normal file
|
@ -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<string> GetLocationNames(int bankID) => bankID switch
|
||||
{
|
||||
0 => Met0,
|
||||
3 => Met3,
|
||||
4 => Met4,
|
||||
6 => Met6,
|
||||
_ => Array.Empty<string>(),
|
||||
};
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
|
@ -24,7 +24,7 @@ public sealed class MemoryStrings
|
|||
item8 = new Lazy<List<ComboItem>>(() => GetItems(EntityContext.Gen8));
|
||||
genloc = new Lazy<List<ComboItem>>(() => Util.GetCBList(s.genloc));
|
||||
moves = new Lazy<List<ComboItem>>(() => Util.GetCBList(s.movelist));
|
||||
specific = new Lazy<List<ComboItem>>(() => Util.GetCBList(s.metXY_00000, Locations6.Met0));
|
||||
specific = new Lazy<List<ComboItem>>(() => Util.GetCBList(s.Gen6.Met0, Locations6.Met0));
|
||||
}
|
||||
|
||||
private List<ComboItem> GetItems(EntityContext context)
|
||||
|
|
|
@ -21,6 +21,7 @@ public sealed class MetDataSource
|
|||
private readonly List<ComboItem> MetGen8;
|
||||
private readonly List<ComboItem> MetGen8a;
|
||||
private readonly List<ComboItem> MetGen8b;
|
||||
private readonly List<ComboItem> MetGen9;
|
||||
|
||||
private IReadOnlyList<ComboItem>? MetGen4Transfer;
|
||||
private IReadOnlyList<ComboItem>? MetGen5Transfer;
|
||||
|
@ -38,38 +39,39 @@ public sealed class MetDataSource
|
|||
MetGen8 = CreateGen8(s);
|
||||
MetGen8a = CreateGen8a(s);
|
||||
MetGen8b = CreateGen8b(s);
|
||||
MetGen9 = CreateGen9(s);
|
||||
}
|
||||
|
||||
private static List<ComboItem> 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<ComboItem> 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<ComboItem> 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<ComboItem> 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 @@ public sealed class MetDataSource
|
|||
|
||||
private static List<ComboItem> 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 @@ public sealed class MetDataSource
|
|||
|
||||
private static List<ComboItem> 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<ComboItem> 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<ComboItem> 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<ComboItem> 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 @@ public sealed class MetDataSource
|
|||
|
||||
private static List<ComboItem> 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 @@ public sealed class MetDataSource
|
|||
private static List<ComboItem> CreateGen8b(GameStrings s)
|
||||
{
|
||||
// Manually add invalid (-1) location from SWSH as ID 65535
|
||||
var locations = new List<ComboItem> { 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<ComboItem> { 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<ComboItem> 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 @@ public sealed class MetDataSource
|
|||
SW or SH => Partition2(MetGen8, IsMetLocation8SWSH),
|
||||
BD or SP => Partition2(MetGen8b, IsMetLocation8BDSP),
|
||||
PLA => Partition2(MetGen8a, IsMetLocation8LA),
|
||||
SL or VL => Partition2(MetGen9, IsMetLocation9SV),
|
||||
_ => new List<ComboItem>(GetLocationListModified(version, context)),
|
||||
};
|
||||
|
||||
|
|
|
@ -77,6 +77,9 @@ public static class GameUtil
|
|||
SW or SH => SWSH,
|
||||
BD or SP => BDSP,
|
||||
PLA => PLA,
|
||||
|
||||
// Gen9
|
||||
SL or VL => SV,
|
||||
_ => Invalid,
|
||||
};
|
||||
|
||||
|
@ -95,6 +98,7 @@ public static class GameUtil
|
|||
6 => AS,
|
||||
7 => UM,
|
||||
8 => SH,
|
||||
9 => VL,
|
||||
_ => Invalid,
|
||||
};
|
||||
|
||||
|
@ -114,6 +118,7 @@ public static class GameUtil
|
|||
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 class GameUtil
|
|||
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 class GameUtil
|
|||
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,
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
|||
/// <summary> Solaceon Town in <see cref="GameVersion.BDSP"/> </summary>
|
||||
public const ushort HatchLocation8b = 446;
|
||||
|
||||
/// <summary> South Province (Area One) in <see cref="GameVersion.SV"/> </summary>
|
||||
public const ushort HatchLocation9 = 6;
|
||||
|
||||
/// <summary> Generation 1 -> Generation 7 Transfer Location (Kanto) </summary>
|
||||
public const ushort Transfer1 = 30013;
|
||||
|
||||
|
@ -169,6 +174,7 @@ public static class Locations
|
|||
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 class Locations
|
|||
4 => Daycare4,
|
||||
5 => Daycare5,
|
||||
8 when version is GameVersion.BD or GameVersion.SP => Daycare8b,
|
||||
9 => Picnic9,
|
||||
_ => Daycare5,
|
||||
};
|
||||
|
||||
|
@ -194,4 +201,5 @@ public static class Locations
|
|||
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
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
47
PKHeX.Core/Game/Locations/Locations9.cs
Normal file
47
PKHeX.Core/Game/Locations/Locations9.cs
Normal file
|
@ -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 };
|
||||
}
|
69
PKHeX.Core/Legality/Areas/EncounterArea9.cs
Normal file
69
PKHeX.Core/Legality/Areas/EncounterArea9.cs
Normal file
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using static System.Buffers.Binary.BinaryPrimitives;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <inheritdoc cref="EncounterArea" />
|
||||
/// <summary>
|
||||
/// <see cref="GameVersion.SWSH"/> encounter area
|
||||
/// </summary>
|
||||
public sealed record EncounterArea9 : EncounterArea
|
||||
{
|
||||
public readonly EncounterSlot9[] Slots;
|
||||
|
||||
protected override IReadOnlyList<EncounterSlot> 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<byte> areaData, GameVersion game) : base(game)
|
||||
{
|
||||
Location = areaData[0];
|
||||
Slots = ReadSlots(areaData[2..]);
|
||||
}
|
||||
|
||||
private EncounterSlot9[] ReadSlots(ReadOnlySpan<byte> 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<EncounterSlot> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 @@ public static class Breeding
|
|||
{
|
||||
3 => SplitBreed_3,
|
||||
4 or 5 or 6 or 7 or 8 => SplitBreed,
|
||||
// Gen9 does not have split-breed egg generation.
|
||||
_ => Array.Empty<ushort>(),
|
||||
};
|
||||
|
||||
|
@ -205,5 +207,12 @@ public static class Breeding
|
|||
(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,
|
||||
};
|
||||
}
|
||||
|
|
|
@ -203,6 +203,8 @@ public sealed class BulkAnalysis
|
|||
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 @@ public sealed class BulkAnalysis
|
|||
|
||||
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
|
||||
|
|
|
@ -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 @@ public static partial class Legal
|
|||
6 => MaxSpeciesID_6,
|
||||
7 => MaxSpeciesID_7b,
|
||||
8 => MaxSpeciesID_8a,
|
||||
9 => MaxSpeciesID_9,
|
||||
_ => -1,
|
||||
};
|
||||
|
||||
|
@ -90,6 +96,7 @@ public static partial class Legal
|
|||
6 => (int) LanguageID.Korean,
|
||||
7 => (int) LanguageID.ChineseT,
|
||||
8 => (int) LanguageID.ChineseT,
|
||||
9 => (int) LanguageID.ChineseT,
|
||||
_ => -1,
|
||||
};
|
||||
|
||||
|
|
|
@ -32,28 +32,34 @@ public static class EncounterEvent
|
|||
/// <summary>Event Database for Generation 8</summary>
|
||||
public static IReadOnlyList<WC8> MGDB_G8 { get; private set; } = Array.Empty<WC8>();
|
||||
|
||||
/// <summary>Event Database for Generation 8 <see cref="GameVersion.BDSP"/></summary>
|
||||
/// <summary>Event Database for Generation 8 <see cref="GameVersion.PLA"/></summary>
|
||||
public static IReadOnlyList<WA8> MGDB_G8A { get; private set; } = Array.Empty<WA8>();
|
||||
|
||||
/// <summary>Event Database for Generation 8 <see cref="GameVersion.BDSP"/></summary>
|
||||
public static IReadOnlyList<WB8> MGDB_G8B { get; private set; } = Array.Empty<WB8>();
|
||||
|
||||
/// <summary>Event Database for Generation 9 <see cref="GameVersion.SV"/></summary>
|
||||
public static IReadOnlyList<WC9> MGDB_G9 { get; private set; } = Array.Empty<WC9>();
|
||||
|
||||
/// <summary>Indicates if the databases are initialized.</summary>
|
||||
public static bool Initialized => MGDB_G3.Count != 0;
|
||||
|
||||
private static PCD[] GetPCDDB(ReadOnlySpan<byte> bin) => Get(bin, PCD.Size, d => new PCD(d));
|
||||
private static PGF[] GetPGFDB(ReadOnlySpan<byte> bin) => Get(bin, PGF.Size, d => new PGF(d));
|
||||
private static PCD[] GetPCDDB(ReadOnlySpan<byte> bin) => Get(bin, PCD.Size, static d => new PCD(d));
|
||||
private static PGF[] GetPGFDB(ReadOnlySpan<byte> bin) => Get(bin, PGF.Size, static d => new PGF(d));
|
||||
|
||||
private static WC6[] GetWC6DB(ReadOnlySpan<byte> wc6bin, ReadOnlySpan<byte> wc6full) => WC6Full.GetArray(wc6full, wc6bin);
|
||||
private static WC7[] GetWC7DB(ReadOnlySpan<byte> wc7bin, ReadOnlySpan<byte> wc7full) => WC7Full.GetArray(wc7full, wc7bin);
|
||||
|
||||
private static WB7[] GetWB7DB(ReadOnlySpan<byte> bin) => Get(bin, WB7.SizeFull, d => new WB7(d));
|
||||
private static WC8[] GetWC8DB(ReadOnlySpan<byte> bin) => Get(bin, WC8.Size, d => new WC8(d));
|
||||
private static WB8[] GetWB8DB(ReadOnlySpan<byte> bin) => Get(bin, WB8.Size, d => new WB8(d));
|
||||
private static WA8[] GetWA8DB(ReadOnlySpan<byte> bin) => Get(bin, WA8.Size, d => new WA8(d));
|
||||
private static WB7[] GetWB7DB(ReadOnlySpan<byte> bin) => Get(bin, WB7.SizeFull, static d => new WB7(d));
|
||||
private static WC8[] GetWC8DB(ReadOnlySpan<byte> bin) => Get(bin, WC8.Size, static d => new WC8(d));
|
||||
private static WB8[] GetWB8DB(ReadOnlySpan<byte> bin) => Get(bin, WB8.Size, static d => new WB8(d));
|
||||
private static WA8[] GetWA8DB(ReadOnlySpan<byte> bin) => Get(bin, WA8.Size, static d => new WA8(d));
|
||||
private static WC9[] GetWC9DB(ReadOnlySpan<byte> bin) => Get(bin, WC9.Size, static d => new WC9(d));
|
||||
|
||||
private static T[] Get<T>(ReadOnlySpan<byte> bin, int size, Func<byte[], T> 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 class EncounterEvent
|
|||
ICollection<WC8> g8 = GetWC8DB(Util.GetBinaryResource("wc8.pkl"));
|
||||
ICollection<WB8> b8 = GetWB8DB(Util.GetBinaryResource("wb8.pkl"));
|
||||
ICollection<WA8> a8 = GetWA8DB(Util.GetBinaryResource("wa8.pkl"));
|
||||
ICollection<WC9> 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 @@ public static class EncounterEvent
|
|||
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 @@ public static class EncounterEvent
|
|||
MGDB_G8 = SetArray(g8);
|
||||
MGDB_G8A = SetArray(a8);
|
||||
MGDB_G8B = SetArray(b8);
|
||||
MGDB_G9 = SetArray(g9);
|
||||
}
|
||||
|
||||
private static IEnumerable<MysteryGift> GetGifts(IEnumerable<string> paths)
|
||||
|
@ -137,6 +148,10 @@ public static class EncounterEvent
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets all event gifts.
|
||||
/// </summary>
|
||||
/// <param name="sorted">If true, the result will be sorted by ascending species ID. Otherwise, will be ordered by generation ascending.</param>
|
||||
public static IEnumerable<MysteryGift> GetAllEvents(bool sorted = true)
|
||||
{
|
||||
var regular = new IReadOnlyList<MysteryGift>[]
|
||||
|
@ -149,6 +164,7 @@ public static class EncounterEvent
|
|||
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);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
@ -8,7 +8,8 @@ namespace PKHeX.Core;
|
|||
/// </summary>
|
||||
internal static class EncounterUtil
|
||||
{
|
||||
internal static BinLinkerAccessor Get(string resource, string ident) => BinLinkerAccessor.Get(Util.GetBinaryResource($"encounter_{resource}.pkl"), ident);
|
||||
internal static ReadOnlySpan<byte> Get(string resource) => Util.GetBinaryResource($"encounter_{resource}.pkl");
|
||||
internal static BinLinkerAccessor Get(string resource, string ident) => BinLinkerAccessor.Get(Get(resource), ident);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the relevant <see cref="EncounterStatic"/> objects that appear in the relevant game.
|
||||
|
@ -16,11 +17,37 @@ internal static class EncounterUtil
|
|||
/// <param name="source">Table of valid encounters that appear for the game pairing</param>
|
||||
/// <param name="game">Game to filter for</param>
|
||||
/// <returns>Array of encounter objects that can be encountered in the input game</returns>
|
||||
internal static T[] GetEncounters<T>(T[] source, GameVersion game) where T : EncounterStatic
|
||||
internal static T[] GetEncounters<T>(T[] source, GameVersion game) where T : IVersion
|
||||
{
|
||||
return Array.FindAll(source, s => s.Version.Contains(game));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the relevant <see cref="EncounterStatic"/> objects that appear in the relevant game.
|
||||
/// </summary>
|
||||
/// <param name="source">Table of valid encounters that appear for the game pairing</param>
|
||||
/// <param name="exclude">Game to filter out</param>
|
||||
/// <returns>Array of encounter objects that can be encountered in the input game</returns>
|
||||
internal static T[] GetEncounters<T>(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<T>(EvoCriteria[] chain, IEnumerable<T> possible) where T : class, IEncounterTemplate
|
||||
{
|
||||
// MinBy grading: prefer species-form match, select lowest min level encounter.
|
||||
|
|
|
@ -1,618 +0,0 @@
|
|||
using static PKHeX.Core.EncounterUtil;
|
||||
using static PKHeX.Core.GameVersion;
|
||||
using static PKHeX.Core.AbilityPermission;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 5 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -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
|
||||
}
|
|
@ -1,664 +0,0 @@
|
|||
using static PKHeX.Core.GameVersion;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
// Distribution Nest Encounters (BCAT)
|
||||
internal static partial class Encounters8Nest
|
||||
{
|
||||
/// <summary>
|
||||
/// Nest distribution raids for <see cref="GameVersion.SWSH"/> available during base game era.
|
||||
/// </summary>
|
||||
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
|
||||
};
|
||||
}
|
|
@ -1,296 +0,0 @@
|
|||
using static PKHeX.Core.GameVersion;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
// Distribution Nest Encounters (BCAT)
|
||||
internal static partial class Encounters8Nest
|
||||
{
|
||||
/// <summary>
|
||||
/// Nest distribution raids for <see cref="GameVersion.SWSH"/> available after Isle of Armor expansion and before Crown Tundra.
|
||||
/// </summary>
|
||||
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
|
||||
};
|
||||
}
|
|
@ -1,936 +0,0 @@
|
|||
namespace PKHeX.Core;
|
||||
|
||||
// Distribution Nest Encounters (BCAT)
|
||||
internal static partial class Encounters8Nest
|
||||
{
|
||||
/// <summary>
|
||||
/// Nest distribution raids for <see cref="GameVersion.SWSH"/> available after Crown Tundra expansion.
|
||||
/// </summary>
|
||||
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
|
||||
};
|
||||
}
|
|
@ -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
|
||||
}
|
111
PKHeX.Core/Legality/Encounters/Data/Encounters9.cs
Normal file
111
PKHeX.Core/Legality/Encounters/Data/Encounters9.cs
Normal file
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 9 Encounters
|
||||
/// </summary>
|
||||
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<EncounterStatic>(GetEncounters(Encounter_SV, SL), Tera, Fixed);
|
||||
internal static readonly EncounterStatic[] StaticVL = ArrayUtil.ConcatAll<EncounterStatic>(GetEncounters(Encounter_SV, VL), Tera, Fixed);
|
||||
}
|
106
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3Colo.cs
Normal file
106
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3Colo.cs
Normal file
|
@ -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)
|
||||
};
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
// ReSharper disable StringLiteralTypo
|
||||
// ReSharper disable StringLiteralTypo
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Team listings for <see cref="GameVersion.CXD"/> that have a shadow Pokémon afterwards.
|
||||
/// </summary>
|
||||
public static class Encounters3Shadow
|
||||
public static class Encounters3ColoShadow
|
||||
{
|
||||
#region Colosseum
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using static PKHeX.Core.Encounters3ColoShadow;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Permutations of teams, where a team may have multiple shadow Pokémon or alternate/re-battle scenarios.
|
||||
/// </summary>
|
||||
public static class Encounters3ColoTeams
|
||||
{
|
||||
public static readonly TeamLock[] First = Array.Empty<TeamLock>();
|
||||
|
||||
// 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};
|
||||
}
|
|
@ -7,78 +7,14 @@ namespace PKHeX.Core;
|
|||
/// <summary>
|
||||
/// Generation 3 Encounters
|
||||
/// </summary>
|
||||
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 @@ internal static class 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 @@ internal static class 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);
|
||||
}
|
103
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3RSE.cs
Normal file
103
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3RSE.cs
Normal file
|
@ -0,0 +1,103 @@
|
|||
using static PKHeX.Core.EncounterUtil;
|
||||
using static PKHeX.Core.GameVersion;
|
||||
using static PKHeX.Core.AbilityPermission;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 3 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
|
@ -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<EncounterStatic>(Encounter_ColoGift, Encounter_Colo, Encounter_XDGift, Encounter_XD);
|
||||
|
||||
#endregion
|
||||
internal static readonly EncounterStatic[] Encounter_CXD = ArrayUtil.ConcatAll<EncounterStatic>(Encounters3Colo.Encounter_ColoGift, Encounters3Colo.Encounter_Colo, Encounter_XDGift, Encounter_XD);
|
||||
}
|
1007
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDShadow.cs
Normal file
1007
PKHeX.Core/Legality/Encounters/Data/Gen3/Encounters3XDShadow.cs
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,27 +1,15 @@
|
|||
using System;
|
||||
using static PKHeX.Core.Encounters3Shadow;
|
||||
using System;
|
||||
using static PKHeX.Core.Encounters3XDShadow;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Permutations of teams, where a team may have multiple shadow Pokémon or alternate/re-battle scenarios.
|
||||
/// </summary>
|
||||
public static class Encounters3Teams
|
||||
public static class Encounters3XDTeams
|
||||
{
|
||||
public static readonly TeamLock[] First = Array.Empty<TeamLock>();
|
||||
|
||||
// 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 };
|
|
@ -8,21 +8,13 @@ namespace PKHeX.Core;
|
|||
/// <summary>
|
||||
/// Generation 4 Encounters
|
||||
/// </summary>
|
||||
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 @@ internal static class 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 @@ internal static class 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<EncounterStatic>(Encounter_HGSS, Encounter_PokeWalker), HG);
|
||||
internal static readonly EncounterStatic[] StaticSS = GetEncounters(ArrayUtil.ConcatAll<EncounterStatic>(Encounter_HGSS, Encounter_PokeWalker), SS);
|
||||
}
|
144
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4HGSS.cs
Normal file
144
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters4HGSS.cs
Normal file
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 4 Encounters
|
||||
/// </summary>
|
||||
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<EncounterStatic>(Encounter_HGSS, Encounter_PokeWalker), HG);
|
||||
internal static readonly EncounterStatic[] StaticSS = GetEncounters(ArrayUtil.ConcatAll<EncounterStatic>(Encounter_HGSS, Encounter_PokeWalker), SS);
|
||||
}
|
230
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5B2W2.cs
Normal file
230
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5B2W2.cs
Normal file
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 5 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
199
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5BW.cs
Normal file
199
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5BW.cs
Normal file
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 5 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
223
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5DR.cs
Normal file
223
PKHeX.Core/Legality/Encounters/Data/Gen45/Encounters5DR.cs
Normal file
|
@ -0,0 +1,223 @@
|
|||
using static PKHeX.Core.AbilityPermission;
|
||||
using static PKHeX.Core.GameVersion;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 5 Encounters
|
||||
/// </summary>
|
||||
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
|
||||
}
|
|
@ -7,87 +7,20 @@ namespace PKHeX.Core;
|
|||
/// <summary>
|
||||
/// Generation 6 Encounters
|
||||
/// </summary>
|
||||
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 @@ internal static class 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 @@ internal static class 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);
|
||||
}
|
102
PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6XY.cs
Normal file
102
PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters6XY.cs
Normal file
|
@ -0,0 +1,102 @@
|
|||
using static PKHeX.Core.EncounterUtil;
|
||||
using static PKHeX.Core.GameVersion;
|
||||
using static PKHeX.Core.AbilityPermission;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 6 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
|
@ -3,7 +3,7 @@ using static PKHeX.Core.GameVersion;
|
|||
|
||||
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);
|
137
PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7SM.cs
Normal file
137
PKHeX.Core/Legality/Encounters/Data/Gen67/Encounters7SM.cs
Normal file
|
@ -0,0 +1,137 @@
|
|||
using static PKHeX.Core.EncounterUtil;
|
||||
using static PKHeX.Core.GameVersion;
|
||||
using static PKHeX.Core.AbilityPermission;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 7 Encounters
|
||||
/// </summary>
|
||||
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);
|
||||
}
|
|
@ -7,133 +7,12 @@ namespace PKHeX.Core;
|
|||
/// <summary>
|
||||
/// Generation 7 Encounters
|
||||
/// </summary>
|
||||
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 @@ internal static class 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);
|
||||
}
|
File diff suppressed because it is too large
Load diff
334
PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8Nest.cs
Normal file
334
PKHeX.Core/Legality/Encounters/Data/Gen8/Encounters8Nest.cs
Normal file
|
@ -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<byte[]> 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<byte>(), // 093 : None
|
||||
Array.Empty<byte>(), // 094 : None
|
||||
Array.Empty<byte>(), // 095 : None
|
||||
Array.Empty<byte>(), // 096 : None
|
||||
Array.Empty<byte>(), // 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<byte>(), // 140 : None
|
||||
Array.Empty<byte>(), // 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
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode.
|
||||
/// </summary>
|
||||
internal static readonly HashSet<byte> InaccessibleRank12DistributionLocations = new() {154,178,186,188,190,192,194,226,228,230,234}; // Areas that are entirely restricted to water
|
||||
|
||||
/// <summary>
|
||||
/// Location IDs containing Dens that cannot be accessed without Rotom Bike's Water Mode.
|
||||
/// </summary>
|
||||
internal static readonly Dictionary<byte, byte[]> 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;
|
||||
}
|
||||
}
|
|
@ -4,30 +4,6 @@ using static PKHeX.Core.EncounterServerDateCheck;
|
|||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Provides indication that the encounter may or may not have a specific date range to consider.
|
||||
/// </summary>
|
||||
public interface IEncounterServerDate
|
||||
{
|
||||
/// <summary>
|
||||
/// If true, the date range it may be acquired at is restricted to a specific date range.
|
||||
/// </summary>
|
||||
bool IsDateRestricted { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration indicating if a date range check is satisfied.
|
||||
/// </summary>
|
||||
public enum EncounterServerDateCheck
|
||||
{
|
||||
/// <summary> No need to consider date range. </summary>
|
||||
None,
|
||||
/// <summary> Date does fall within the range it was available. </summary>
|
||||
Valid,
|
||||
/// <summary> Date does NOT fall within the range it was available. </summary>
|
||||
Invalid,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logic to check if a date obtained is within the date of availability.
|
||||
/// </summary>
|
||||
|
@ -109,4 +85,9 @@ public static class EncounterServerDate
|
|||
{9016, (new(2022, 05, 18), Never)}, // Hidden Ability Chimchar
|
||||
{9017, (new(2022, 05, 18), Never)}, // Hidden Ability Piplup
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Minimum date the gift can be received.
|
||||
/// </summary>
|
||||
public static Dictionary<int, (DateTime Start, DateTime? End)> WC9Gifts = new(0);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration indicating if a date range check is satisfied.
|
||||
/// </summary>
|
||||
public enum EncounterServerDateCheck
|
||||
{
|
||||
/// <summary> No need to consider date range. </summary>
|
||||
None,
|
||||
/// <summary> Date does fall within the range it was available. </summary>
|
||||
Valid,
|
||||
/// <summary> Date does NOT fall within the range it was available. </summary>
|
||||
Invalid,
|
||||
}
|
|
@ -32,4 +32,4 @@ public static class EncountersGO
|
|||
return BinLinkerAccessor.Get(data, ident);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
|
@ -0,0 +1,12 @@
|
|||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Provides indication that the encounter may or may not have a specific date range to consider.
|
||||
/// </summary>
|
||||
public interface IEncounterServerDate
|
||||
{
|
||||
/// <summary>
|
||||
/// If true, the date range it may be acquired at is restricted to a specific date range.
|
||||
/// </summary>
|
||||
bool IsDateRestricted { get; }
|
||||
}
|
|
@ -85,6 +85,8 @@ public sealed record EncounterEgg(ushort Species, byte Form, byte Level, int Gen
|
|||
{
|
||||
s.HeightScalar = PokeSizeUtil.GetRandomScalar();
|
||||
s.WeightScalar = PokeSizeUtil.GetRandomScalar();
|
||||
if (pk is IScaledSize3 s3)
|
||||
s3.Scale = PokeSizeUtil.GetRandomScalar();
|
||||
}
|
||||
|
||||
return pk;
|
||||
|
@ -136,6 +138,9 @@ public sealed record EncounterEgg(ushort Species, byte Form, byte Level, int Gen
|
|||
{
|
||||
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)
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace PKHeX.Core;
|
|||
/// Encounter Slot found in <see cref="GameVersion.SWSH"/>.
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterSlot"/>
|
||||
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 @@ public sealed record EncounterSlot8a : EncounterSlot, IAlpha, IMasteryInitialMov
|
|||
|
||||
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 @@ public sealed record EncounterSlot8a : EncounterSlot, IAlpha, IMasteryInitialMov
|
|||
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;
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Encounter Slot found in <see cref="GameVersion.SWSH"/>.
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterSlot"/>
|
||||
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();
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using static PKHeX.Core.Species;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
|
@ -31,7 +32,7 @@ public sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 @@ public sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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 sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
|
||||
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 @@ public sealed record EncounterSlot8GO : EncounterSlotGO, IFixedOTFriendship
|
|||
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,
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -200,4 +215,5 @@ public enum PogoImportFormat : byte
|
|||
PB7 = 1,
|
||||
PK8 = 2,
|
||||
PA8 = 3,
|
||||
PK9 = 4,
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ public enum PogoType : byte
|
|||
Raid = 10,
|
||||
/// <summary> Mythical Pokémon captured after completing Raid Battles. </summary>
|
||||
RaidM,
|
||||
/// <summary> Ultra Beasts captured after completing Raid Battles. Only Beast Balls can be used. </summary>
|
||||
RaidUB,
|
||||
|
||||
/// <summary> Pokémon captured after completing Field Research. </summary>
|
||||
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 class PogoTypeExtensions
|
|||
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,
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
using System;
|
||||
using System.Buffers.Binary;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Generation 9 Fixed Spawn Encounter
|
||||
/// </summary>
|
||||
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<byte> 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<byte> 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();
|
||||
}
|
||||
}
|
|
@ -107,9 +107,9 @@ public abstract record EncounterStatic(GameVersion Version) : IEncounterable, IM
|
|||
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 abstract record EncounterStatic(GameVersion Version) : IEncounterable, IM
|
|||
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
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace PKHeX.Core;
|
|||
/// Generation 6 Static Encounter
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterStatic"/>
|
||||
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;
|
||||
|
|
|
@ -6,17 +6,17 @@ namespace PKHeX.Core;
|
|||
/// Generation 8 Static Encounter
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterStatic"/>
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -28,6 +28,15 @@ public sealed record EncounterStatic8N : EncounterStatic8Nest<EncounterStatic8N>
|
|||
FlawlessIVCount = val;
|
||||
}
|
||||
|
||||
public static EncounterStatic8N Read(ReadOnlySpan<byte> 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
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using static PKHeX.Core.Encounters8Nest;
|
||||
|
||||
namespace PKHeX.Core;
|
||||
|
@ -11,13 +12,45 @@ public sealed record EncounterStatic8ND : EncounterStatic8Nest<EncounterStatic8N
|
|||
/// <summary>
|
||||
/// Distribution raid index for <see cref="GameVersion.SWSH"/>
|
||||
/// </summary>
|
||||
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<byte> 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 @@ public sealed record EncounterStatic8ND : EncounterStatic8Nest<EncounterStatic8N
|
|||
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),
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,15 +8,15 @@ namespace PKHeX.Core;
|
|||
/// Generation 8 Nest Encounter (Raid)
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterStatic"/>
|
||||
public abstract record EncounterStatic8Nest<T>(GameVersion Version) : EncounterStatic(Version), IGigantamax, IDynamaxLevel where T : EncounterStatic8Nest<T>
|
||||
public abstract record EncounterStatic8Nest<T>(GameVersion Version) : EncounterStatic(Version), IGigantamaxReadOnly, IDynamaxLevelReadOnly where T : EncounterStatic8Nest<T>
|
||||
{
|
||||
public sealed override int Generation => 8;
|
||||
public override EntityContext Context => EntityContext.Gen8;
|
||||
public static Func<PKM, T, bool>? VerifyCorrelation { private get; set; }
|
||||
public static Action<PKM, T, EncounterCriteria>? 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)
|
||||
|
|
|
@ -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;
|
|||
/// <inheritdoc cref="EncounterStatic8Nest{T}"/>
|
||||
public sealed record EncounterStatic8U : EncounterStatic8Nest<EncounterStatic8U>
|
||||
{
|
||||
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<EncounterStatic8U>
|
|||
FlawlessIVCount = 4;
|
||||
}
|
||||
|
||||
public static EncounterStatic8U Read(ReadOnlySpan<byte> 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)
|
||||
|
|
|
@ -6,14 +6,14 @@ namespace PKHeX.Core;
|
|||
/// Generation 8 Static Encounter
|
||||
/// </summary>
|
||||
/// <inheritdoc cref="EncounterStatic"/>
|
||||
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 @@ public sealed record EncounterStatic8a(GameVersion Version) : EncounterStatic(Ve
|
|||
pa.HeightScalar = HeightScalar;
|
||||
if (HasFixedWeight)
|
||||
pa.WeightScalar = WeightScalar;
|
||||
pa.HeightScalarCopy = pa.HeightScalar;
|
||||
pa.Scale = pa.HeightScalar;
|
||||
|
||||
pa.ResetHeight();
|
||||
pa.ResetWeight();
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue