From dc0a43ae8ffd16ba39f81a03d605b00c4958e1cd Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 14 Jul 2017 20:42:51 -0700 Subject: [PATCH] Handle link gifts without ribbons Link gifts had the possibility of having all those ribbons (even Event3), but none were used. --- PKHeX.Core/Legality/Checks.cs | 2 -- PKHeX.Core/Legality/Structures/EncounterLink.cs | 15 +++++++++++++-- PKHeX.Core/Legality/Tables6.cs | 4 ++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index 3aea33f94..5f86ba312 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -1034,8 +1034,6 @@ private static IEnumerable VerifyRibbonSet2(PKM pkm, object encoun var sb = set2.RibbonBits(); var eb = (encounterContent as IRibbonSetEvent4).RibbonBits(); - if (encounterContent is EncounterLink) - eb[0] = true; // require Classic Ribbon if (encounterContent is EncounterStatic s && s.RibbonWishing) eb[1] = true; // require Wishing Ribbon diff --git a/PKHeX.Core/Legality/Structures/EncounterLink.cs b/PKHeX.Core/Legality/Structures/EncounterLink.cs index 1b27056a7..f451c1f09 100644 --- a/PKHeX.Core/Legality/Structures/EncounterLink.cs +++ b/PKHeX.Core/Legality/Structures/EncounterLink.cs @@ -1,6 +1,6 @@ namespace PKHeX.Core { - public class EncounterLink : IEncounterable + public class EncounterLink : IEncounterable, IRibbonSetEvent4 { public int Species { get; set; } public int Level { get; set; } @@ -9,7 +9,6 @@ public class EncounterLink : IEncounterable public int Location { get; set; } = 30011; public int Ability { get; set; } = 1; public int Ball { get; set; } = 4; // Pokéball - public bool Classic { get; set; } = true; public bool Fateful { get; set; } = false; public int[] RelearnMoves = new int[4]; public bool? Shiny { get; set; } = false; @@ -20,5 +19,17 @@ public class EncounterLink : IEncounterable public bool ORAS { get; set; } public string Name => "Pokémon Link Gift"; + + public bool RibbonClassic { get; set; } = true; + + // Unused + public bool RibbonWishing { get; set; } + public bool RibbonPremier { get; set; } + public bool RibbonEvent { get; set; } + public bool RibbonBirthday { get; set; } + public bool RibbonSpecial { get; set; } + public bool RibbonWorld { get; set; } + public bool RibbonChampionWorld { get; set; } + public bool RibbonSouvenir { get; set; } } } diff --git a/PKHeX.Core/Legality/Tables6.cs b/PKHeX.Core/Legality/Tables6.cs index c2dc6b754..7392259ad 100644 --- a/PKHeX.Core/Legality/Tables6.cs +++ b/PKHeX.Core/Legality/Tables6.cs @@ -564,8 +564,8 @@ public static partial class Legal 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, Ability = 1, Classic = false, ORAS = true, OT = false }, // Steelix - new EncounterLink { Species = 362, Level = 40, Ability = 1, Classic = false, ORAS = true, OT = false }, // Glalie + new EncounterLink { Species = 208, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Steelix + new EncounterLink { Species = 362, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Glalie }; #endregion