From 5007cab7d3ef3602ed92835089fb8a42e63bd5d7 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 13 Nov 2016 11:48:07 -0800 Subject: [PATCH] Tidy up link gift storage If they ever decide to use it. --- PKHeX/Legality/Checks.cs | 2 ++ PKHeX/Legality/Core.cs | 2 +- PKHeX/Legality/Structures/EncounterLink.cs | 8 +++++--- PKHeX/Legality/Tables6.cs | 18 +++++++++--------- PKHeX/Legality/Tables7.cs | 4 ++++ 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/PKHeX/Legality/Checks.cs b/PKHeX/Legality/Checks.cs index 6e96a2798..8c2da84cd 100644 --- a/PKHeX/Legality/Checks.cs +++ b/PKHeX/Legality/Checks.cs @@ -340,6 +340,8 @@ private CheckResult verifyEncounter() return new CheckResult(Severity.Invalid, "Invalid Link Gift: can't obtain in XY.", CheckIdentifier.Encounter); if (pkm.AO && !enc.ORAS) return new CheckResult(Severity.Invalid, "Invalid Link Gift: can't obtain in ORAS.", CheckIdentifier.Encounter); + if (pkm.SM && !enc.SM) + return new CheckResult(Severity.Invalid, "Invalid Link Gift: can't obtain in SM.", CheckIdentifier.Encounter); if (enc.Shiny != null && (bool)enc.Shiny ^ pkm.IsShiny) return new CheckResult(Severity.Invalid, "Shiny Link gift mismatch.", CheckIdentifier.Encounter); diff --git a/PKHeX/Legality/Core.cs b/PKHeX/Legality/Core.cs index 58c79843b..640b0a359 100644 --- a/PKHeX/Legality/Core.cs +++ b/PKHeX/Legality/Core.cs @@ -213,7 +213,7 @@ internal static EncounterLink getValidLinkGifts(PKM pkm) case 6: return LinkGifts6.FirstOrDefault(g => g.Species == pkm.Species && g.Level == pkm.Met_Level); default: - return null; + return LinkGifts7.FirstOrDefault(g => g.Species == pkm.Species && g.Level == pkm.Met_Level); } } internal static EncounterSlot[] getValidWildEncounters(PKM pkm) diff --git a/PKHeX/Legality/Structures/EncounterLink.cs b/PKHeX/Legality/Structures/EncounterLink.cs index 0d54f2aea..732cf35a7 100644 --- a/PKHeX/Legality/Structures/EncounterLink.cs +++ b/PKHeX/Legality/Structures/EncounterLink.cs @@ -5,7 +5,7 @@ public class EncounterLink public int Species; public int Level; public int Location = 30011; - public int Ability = 4; + public int Ability = 1; public int Ball = 4; // Pokéball public Nature Nature = Nature.Random; public int[] IVs = { -1, -1, -1, -1, -1, -1 }; @@ -13,9 +13,11 @@ public class EncounterLink public bool Classic = true; public bool Fateful = false; public int[] RelearnMoves = new int[4]; - public bool XY = true; - public bool ORAS = true; public bool? Shiny = false; public bool OT = true; // Receiver is OT? + + public bool XY = false; + public bool ORAS = false; + public bool SM = false; } } diff --git a/PKHeX/Legality/Tables6.cs b/PKHeX/Legality/Tables6.cs index b8c6ed0af..f467fd6fb 100644 --- a/PKHeX/Legality/Tables6.cs +++ b/PKHeX/Legality/Tables6.cs @@ -533,18 +533,18 @@ public static partial class Legal private static readonly EncounterLink[] LinkGifts6 = { - new EncounterLink { Species = 154, Level = 50, Ability = 4 }, // Meganium - new EncounterLink { Species = 157, Level = 50, Ability = 4 }, // Typhlosion - new EncounterLink { Species = 160, Level = 50, Ability = 4 }, // Feraligatr + new EncounterLink { Species = 154, Level = 50, Ability = 4, XY = true, ORAS = true }, // Meganium + new EncounterLink { Species = 157, Level = 50, Ability = 4, XY = true, ORAS = true }, // Typhlosion + new EncounterLink { Species = 160, Level = 50, Ability = 4, XY = true, ORAS = true }, // Feraligatr - new EncounterLink {Species = 251, Level = 10, RelearnMoves = new[] {610, 0, 0, 0}, Ball = 11, ORAS = false }, // Celebi + new EncounterLink { Species = 251, Level = 10, Ability = 1, RelearnMoves = new[] {610, 0, 0, 0}, Ball = 11, XY = true }, // Celebi - new EncounterLink { Species = 377, Level = 50, RelearnMoves = new[] {153, 8, 444, 359 }, Ability = 4 }, // Regirock - new EncounterLink { Species = 378, Level = 50, RelearnMoves = new[] {85, 133, 58, 258 }, Ability = 4 }, // Regice - new EncounterLink { Species = 379, Level = 50, RelearnMoves = new[] {442, 157, 356, 334 }, Ability = 4 }, // Registeel + new EncounterLink { Species = 377, Level = 50, Ability = 4, RelearnMoves = new[] {153, 8, 444, 359}, XY = true, ORAS = true }, // Regirock + new EncounterLink { Species = 378, Level = 50, Ability = 4, RelearnMoves = new[] {85, 133, 58, 258}, XY = true, ORAS = true }, // Regice + new EncounterLink { Species = 379, Level = 50, Ability = 4, RelearnMoves = new[] {442, 157, 356, 334}, XY = true, ORAS = true }, // Registeel - new EncounterLink { Species = 208, Level = 40, Classic = false, Ability = 1, XY = false, OT = false }, // Steelix - new EncounterLink { Species = 362, Level = 40, Classic = false, Ability = 1, XY = false, OT = false }, // Glalie + new EncounterLink { Species = 208, Level = 40, Ability = 1, Classic = false, ORAS = true, OT = false }, // Steelix + new EncounterLink { Species = 362, Level = 40, Ability = 1, Classic = false, ORAS = true, OT = false }, // Glalie }; #endregion diff --git a/PKHeX/Legality/Tables7.cs b/PKHeX/Legality/Tables7.cs index 3361c3380..119013481 100644 --- a/PKHeX/Legality/Tables7.cs +++ b/PKHeX/Legality/Tables7.cs @@ -283,6 +283,10 @@ public static partial class Legal new EncounterTrade { Species = 663, Form = 0, Level = 59, Ability = 4, TID = 56734, SID = 00008, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Talonflame }; #endregion + private static readonly EncounterLink[] LinkGifts7 = + { + + }; private static readonly int[] WildPokeballs7 = { 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,