diff --git a/PKHeX.Core/Legality/Checks.cs b/PKHeX.Core/Legality/Checks.cs index ad4344e58..8f757974f 100644 --- a/PKHeX.Core/Legality/Checks.cs +++ b/PKHeX.Core/Legality/Checks.cs @@ -355,7 +355,12 @@ private void VerifyTrade4() return; } if (pkm.HGSS) - VerifyTradeTable(Encounters4.TradeHGSS, Encounters4.TradeGift_HGSS); + { + int lang = pkm.Language; + if (EncounterMatch.Species == 25 && (lang == 2 || lang == 3)) // EN & FR + lang ^= 1; // toggle for Volty + VerifyTradeTable(Encounters4.TradeHGSS, Encounters4.TradeGift_HGSS, lang); + } else { if (EncounterMatch.Species == 129) // Magikarp @@ -403,7 +408,7 @@ private void VerifyTrade7() private void VerifyTradeTable(string[][] ots, EncounterTrade[] table) => VerifyTradeTable(ots, table, pkm.Language); private void VerifyTradeTable(string[][] ots, EncounterTrade[] table, int language) { - var validOT = language >= ots.Length ? ots[0] : ots[pkm.Language]; + var validOT = language >= ots.Length ? ots[0] : ots[language]; var index = Array.IndexOf(table, EncounterMatch); VerifyTradeOTNick(validOT, index); }