From 5f94a2e0f4825f998494b0647af2d14412405dca Mon Sep 17 00:00:00 2001 From: Kurt Date: Tue, 23 May 2017 20:10:57 -0700 Subject: [PATCH] Update encountertrade ability legality check check for encountertrade edge case first, then ability capsule Closes #1163 --- PKHeX.Core/Legality/Checks.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index cb48769d4..1eaed640b 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -1458,11 +1458,10 @@ namespace PKHeX.Core if (!(AbilityUnchanged ?? false) || EncounterAbility == 0 || pkm.AbilityNumber == EncounterAbility) return false; - if (pkm.Format >= 6 && abilities[0] != abilities[1] && pkm.AbilityNumber < 4) // Ability Capsule - AddLine(Severity.Valid, V109, CheckIdentifier.Ability); - else if (pkm.Gen3 && EncounterMatch is EncounterTrade && EncounterAbility == 1 << abilval) - // Edge case (Static PID?) + if (EncounterMatch is EncounterTrade z && EncounterAbility == 1 << abilval && z.Species == pkm.Species) // Edge case (Static PID?) AddLine(Severity.Valid, V115, CheckIdentifier.Ability); + else if (pkm.Format >= 6 && abilities[0] != abilities[1] && pkm.AbilityNumber < 4) // Ability Capsule + AddLine(Severity.Valid, V109, CheckIdentifier.Ability); else AddLine(Severity.Invalid, V223, CheckIdentifier.Ability); return true;