diff --git a/PKHeX.Core/Legality/Core.cs b/PKHeX.Core/Legality/Core.cs index 83139d083..fc7d7c125 100644 --- a/PKHeX.Core/Legality/Core.cs +++ b/PKHeX.Core/Legality/Core.cs @@ -1397,5 +1397,15 @@ namespace PKHeX.Core return s == GameVersion.Stadium2 ? 2000 : 1999; return 2000; } + + public static int GetNicknameOTMaxLength(int gen, LanguageID lang) + { + switch (lang) + { + case LanguageID.Korean: + case LanguageID.Japanese: return gen >= 6 ? 6 : 5; + default: return gen >= 6 ? 12 : 6; + } + } } } diff --git a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs index 1e67c6c12..9dd7a15c5 100644 --- a/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/NicknameVerifier.cs @@ -75,7 +75,7 @@ namespace PKHeX.Core data.AddLine(GetInvalid(V222)); return true; } - if (nickname.Length > GetNicknameMaxLength(data.Info.Generation, (LanguageID)pkm.Language)) + if (nickname.Length > Legal.GetNicknameOTMaxLength(data.Info.Generation, (LanguageID)pkm.Language)) { data.AddLine(GetInvalid(V1)); return true; @@ -177,7 +177,7 @@ namespace PKHeX.Core else if (pkm.Korean && StringConverter.GetIsG2Korean(str)) { if (str.Length > 5) - data.AddLine(GetInvalid(V38)); + data.AddLine(GetInvalid(V1)); } else { @@ -417,15 +417,5 @@ namespace PKHeX.Core return true; return ((EncounterTrade)EncounterMatch).IsNicknamed; } - - private static int GetNicknameMaxLength(int gen, LanguageID lang) - { - switch (lang) - { - case LanguageID.Korean: - case LanguageID.Japanese: return gen >= 6 ? 6 : 5; - default: return gen >= 6 ? 12 : 6; - } - } } } diff --git a/PKHeX.Core/Legality/Verifiers/TrainerNameVerifier.cs b/PKHeX.Core/Legality/Verifiers/TrainerNameVerifier.cs index af2db829b..a94faeb34 100644 --- a/PKHeX.Core/Legality/Verifiers/TrainerNameVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/TrainerNameVerifier.cs @@ -58,6 +58,8 @@ namespace PKHeX.Core if (pkm.VC) VerifyOTG1(data); + else if (ot.Length > Legal.GetNicknameOTMaxLength(data.Info.Generation, (LanguageID)pkm.Language)) + data.AddLine(GetInvalid(V38)); if (Legal.CheckWordFilter) {