mirror of
https://github.com/kwsch/PKHeX
synced 2024-12-18 16:33:24 +00:00
9deafa851a
* Draft checks for encounter slot mastery * Check encounter mastery flags * Add moves for LA static encounters that don't follow learnset * Add moves on crossover LA static encounters * add alpha moveset population method Now generates and applies moves as the game does Updates some handling of other methods to use Span * Show better message for bad mastery init flags * Insert descending if candidates have same level Level 78 Yanmega: - [01] [10] Quick Attack - [06] [15] Gust - [11] [20] Silver Wind - [18] [28] Hypnosis - [25] [35] Air Slash - [34] [45] Ancient Power - [43] [54] Crunch - [43] [54] Bug Buzz Yields: AlphaMove Crunch* Bug Buzz* Ancient Power * Descending order due to iteration Co-authored-by: Lusamine <30205550+Lusamine@users.noreply.github.com>
116 lines
8.9 KiB
C#
116 lines
8.9 KiB
C#
using static PKHeX.Core.EncounterUtil;
|
||
using static PKHeX.Core.Shiny;
|
||
using static PKHeX.Core.GameVersion;
|
||
using static PKHeX.Core.EncounterStatic8aCorrelation;
|
||
|
||
namespace PKHeX.Core;
|
||
|
||
internal static class Encounters8a
|
||
{
|
||
internal static readonly EncounterArea8a[] SlotsLA = EncounterArea8a.GetAreas(Get("la", "la"), PLA);
|
||
|
||
private const byte M = 127; // Middle Height/Weight
|
||
private const byte A = 255; // Max Height/Weight for Alphas
|
||
private const byte U = 128; // Middle Height - Unown
|
||
|
||
internal static readonly EncounterStatic8a[] StaticLA =
|
||
{
|
||
// Gifts
|
||
new(722,000,05,M,M) { Location = 006, Gift = true, Method = Fixed, Ball = (int)Ball.LAPoke }, // Rowlet
|
||
new(155,000,05,M,M) { Location = 006, Gift = true, Method = Fixed, Ball = (int)Ball.LAPoke }, // Cyndaquil
|
||
new(501,000,05,M,M) { Location = 006, Gift = true, Method = Fixed, Ball = (int)Ball.LAPoke }, // Oshawott
|
||
new(037,001,40,M,M) { Location = 088, Gift = true, Method = Fixed, Ball = (int)Ball.LAPoke }, // Vulpix-1
|
||
new(483,000,65,M,M) { Location = 109, FlawlessIVCount = 3, Gift = true, Method = Fixed, Ball = (int)Ball.LAOrigin }, // Dialga
|
||
new(484,000,65,M,M) { Location = 109, FlawlessIVCount = 3, Gift = true, Method = Fixed, Ball = (int)Ball.LAOrigin }, // Palkia
|
||
new(493,000,75,M,M) { Location = 109, FlawlessIVCount = 3, Gift = true, Method = Fixed, Ball = (int)Ball.LAPoke, Fateful = true }, // Arceus
|
||
|
||
// Static Encounters - Scripted Table Slots
|
||
new(480,000,70,M,M) { Location = 111, FlawlessIVCount = 3, Moves = new[] {129,326,832,095} }, // Uxie
|
||
new(481,000,70,M,M) { Location = 104, FlawlessIVCount = 3, Moves = new[] {129,326,832,105} }, // Mesprit
|
||
new(482,000,70,M,M) { Location = 105, FlawlessIVCount = 3, Moves = new[] {129,458,326,832} }, // Azelf
|
||
new(485,000,70,M,M) { Location = 068, FlawlessIVCount = 3, Moves = new[] {442,242,414,463} }, // Heatran
|
||
new(488,000,70,M,M) { Location = 082, FlawlessIVCount = 3, Moves = new[] {427,094,585,849} }, // Cresselia
|
||
|
||
new(641,000,70,M,M) { Location = 090, FlawlessIVCount = 3, Moves = new[] {326,242,542,846} }, // Tornadus
|
||
new(642,000,70,M,M) { Location = 009, FlawlessIVCount = 3, Moves = new[] {326,242,087,847} }, // Thundurus
|
||
new(645,000,70,M,M) { Location = 027, FlawlessIVCount = 3, Moves = new[] {326,242,414,848} }, // Landorus
|
||
new(905,000,70,M,M) { Location = 038, FlawlessIVCount = 3, Moves = new[] {326,242,585,831} }, // Enamorus
|
||
|
||
new(077,000,15 ) { Location = 014, Shiny = Always}, // Ponyta*
|
||
new(442,000,60,M,M) { Location = 043, FlawlessIVCount = 3 }, // Spiritomb
|
||
new(570,001,27 ) { Location = 027 }, // Zorua
|
||
new(570,001,28 ) { Location = 027 }, // Zorua
|
||
new(570,001,29 ) { Location = 027 }, // Zorua
|
||
|
||
new(489,000,33 ) { Location = 064, Fateful = true, Moves = new[] {145,352,151,428} }, // Phione
|
||
new(489,000,34 ) { Location = 064, Fateful = true, Moves = new[] {145,352,151,428} }, // Phione
|
||
new(489,000,35 ) { Location = 064, Fateful = true, Moves = new[] {145,352,151,428} }, // Phione
|
||
new(489,000,36 ) { Location = 064, Fateful = true, Moves = new[] {145,352,151,428} }, // Phione
|
||
new(490,000,50,M,M) { Location = 064, FlawlessIVCount = 3, Fateful = true, Moves = new[] {352,428,585,145} }, // Manaphy
|
||
new(491,000,70,M,M) { Location = 010, FlawlessIVCount = 3, Fateful = true, Moves = new[] {506,399,094,464} }, // Darkrai
|
||
new(492,000,70,M,M) { Location = 026, FlawlessIVCount = 3, Fateful = true, Moves = new[] {403,412,414,465} }, // Shaymin
|
||
|
||
// Unown Notes
|
||
new(201,000,25,U) { Location = 040, Method = Fixed }, // Unown A
|
||
new(201,001,25,U) { Location = 056, Method = Fixed }, // Unown B
|
||
new(201,002,25,U) { Location = 081, Method = Fixed }, // Unown C
|
||
new(201,003,25,U) { Location = 008, Method = Fixed }, // Unown D
|
||
new(201,004,25,U) { Location = 022, Method = Fixed }, // Unown E
|
||
new(201,005,25,U) { Location = 010, Method = Fixed }, // Unown F
|
||
new(201,006,25,U) { Location = 017, Method = Fixed }, // Unown G
|
||
new(201,007,25,U) { Location = 006, Method = Fixed }, // Unown H
|
||
new(201,008,25,U) { Location = 023, Method = Fixed }, // Unown I
|
||
new(201,009,25,U) { Location = 072, Method = Fixed }, // Unown J
|
||
new(201,010,25,U) { Location = 043, Method = Fixed }, // Unown K
|
||
new(201,011,25,U) { Location = 086, Method = Fixed }, // Unown L
|
||
new(201,012,25,U) { Location = 037, Method = Fixed }, // Unown M
|
||
new(201,013,25,U) { Location = 009, Method = Fixed }, // Unown N
|
||
new(201,014,25,U) { Location = 102, Method = Fixed }, // Unown O
|
||
new(201,015,25,U) { Location = 075, Method = Fixed }, // Unown P
|
||
new(201,016,25,U) { Location = 058, Method = Fixed }, // Unown Q
|
||
new(201,017,25,U) { Location = 059, Method = Fixed }, // Unown R
|
||
new(201,018,25,U) { Location = 025, Method = Fixed }, // Unown S
|
||
new(201,019,25,U) { Location = 092, Method = Fixed }, // Unown T
|
||
new(201,020,25,U) { Location = 011, Method = Fixed }, // Unown U
|
||
new(201,021,25,U) { Location = 038, Method = Fixed }, // Unown V
|
||
new(201,022,25,U) { Location = 006, Method = Fixed }, // Unown W
|
||
new(201,023,25,U) { Location = 021, Method = Fixed }, // Unown X
|
||
new(201,024,25,U) { Location = 097, Method = Fixed }, // Unown Y
|
||
new(201,025,25,U) { Location = 051, Method = Fixed }, // Unown Z
|
||
new(201,026,25,U) { Location = 142, Method = Fixed }, // Unown ! at Snowfall Hot Spring
|
||
new(201,027,25,U) { Location = 006, Method = Fixed }, // Unown ?
|
||
|
||
// Future updates will handle crossovers better.
|
||
new(201,017,25,U) { Location = 009, Method = Fixed }, // Unown R (Cobalt Coastlands)
|
||
new(201,026,25,U) { Location = 099, Method = Fixed }, // Unown ! (Arena’s Approach)
|
||
new(201,026,25,U) { Location = 141, Method = Fixed }, // Unown ! (Icepeak Arena)
|
||
new(201,023,25,U) { Location = 007, Method = Fixed }, // Unown X
|
||
new(201,024,25,U) { Location = 097, Method = Fixed }, // Unown Y
|
||
new(201,006,25,U) { Location = 007, Method = Fixed }, // Unown G
|
||
|
||
new(642,000,70,M,M) { Location = 059, FlawlessIVCount = 3, Moves = new[] {326,242,087,847} }, // Thundurus (Lunker’s Lair)
|
||
new(642,000,70,M,M) { Location = 129, FlawlessIVCount = 3, Moves = new[] {326,242,087,847} }, // Thundurus (Sand’s Reach)
|
||
new(488,000,70,M,M) { Location = 010, FlawlessIVCount = 3, Moves = new[] {427,094,585,849} }, // Cresselia (Coronet Highlands)
|
||
new(491,000,70,M,M) { Location = 074, FlawlessIVCount = 3, Fateful = true, Moves = new[] {506,399,094,464} }, // Darkrai (Lonely Spring)
|
||
|
||
// Static Encounters
|
||
new(046,000,50,M,M) { Location = 019, Method = Fixed }, // paras01: Paras
|
||
new(390,000,12,M,M) { Location = 007, Method = Fixed }, // hikozaru_01: Chimchar
|
||
new(434,000,20,M,M) { Location = 008, Method = Fixed }, // skunpuu01: Stunky
|
||
new(441,000,34,M,M) { Location = 129, Method = Fixed }, // perap01: Chatot
|
||
new(450,000,34,M,M) { Location = 036, Method = Fixed, Gender = 0 }, // kabaldon01: Hippowdon
|
||
new(459,000,50,M,M) { Location = 101, Method = Fixed, Gender = 1 }, // yukikaburi01: Snover
|
||
|
||
new(483,000,65,M,M) { Location = 109, Method = Fixed, FlawlessIVCount = 3 }, // dialga01: Dialga
|
||
new(484,000,65,M,M) { Location = 109, Method = Fixed, FlawlessIVCount = 3 }, // palkia01: Palkia
|
||
new(486,000,70,M,M) { Location = 095, Method = Fixed, FlawlessIVCount = 3 }, // regigigas01: Regigigas
|
||
new(487,001,70,M,M) { Location = 067, Method = Fixed, FlawlessIVCount = 3 }, // giratina02: Giratina-1
|
||
|
||
new(362,000,64,A,A) { Location = 011, Method = Fixed, IsAlpha = true, Moves = new[] {442,059,556,242} }, // onigohri01: Glalie
|
||
new(402,000,12,A,A) { Location = 007, Method = Fixed, IsAlpha = true, Gender = 0, Moves = new[] {206,071,033,332} }, // mev002: Kricketune
|
||
new(416,000,60,A,A) { Location = 022, Method = Fixed, IsAlpha = true, Gender = 1, FlawlessIVCount = 3, Moves = new[] {188,403,408,405} }, // beequen01: Vespiquen
|
||
new(571,001,58,M,M) { Location = 111, Method = Fixed, IsAlpha = true, Moves = new[] {555,421,841,417} }, // zoroark01: Zoroark-1
|
||
new(706,001,58,M,M) { Location = 104, Method = Fixed, IsAlpha = true, Moves = new[] {231,406,842,056} }, // numelgon01: Goodra-1
|
||
new(904,000,58,M,M) { Location = 105, Method = Fixed, IsAlpha = true, Moves = new[] {301,398,401,038} }, // harysen01: Overqwil
|
||
};
|
||
}
|