Add OT name max length checks

Closes #2094
This commit is contained in:
Kurt 2018-08-15 14:58:55 -07:00
parent bc262a7cdf
commit b6de41bfa7
3 changed files with 14 additions and 12 deletions

View file

@ -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;
}
}
}
}

View file

@ -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;
}
}
}
}

View file

@ -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)
{