PKHeX/PKHeX.Core/Legality/Checks.cs
Kurt cf9e5ec37f Minor refactoring
Change Ability array to IReadOnlyList, add method to check ability index in personal data
Suppress some message warnings
Change EvolutionChain short-circuit for VC to jump from gen6 directly down to gen2. There aren't any notradeback 1 situations, so a notradeback1 will always start with g=1, so no need for the other if-continue.

Simplify pk5 conversion
2020-09-06 10:53:13 -07:00

46 lines
2.6 KiB
C#

using System.Collections.Generic;
using System.Linq;
using static PKHeX.Core.LegalityCheckStrings;
namespace PKHeX.Core
{
public partial class LegalityAnalysis
{
private static readonly Verifier Language = new LanguageVerifier();
private static readonly Verifier Nickname = new NicknameVerifier();
private static readonly Verifier EffortValues = new EffortValueVerifier();
private static readonly Verifier IndividualValues = new IndividualValueVerifier();
private static readonly Verifier Ball = new BallVerifier();
private static readonly Verifier Form = new FormVerifier();
private static readonly Verifier ConsoleRegion = new ConsoleRegionVerifier();
private static readonly Verifier Ability = new AbilityVerifier();
private static readonly Verifier Medal = new MedalVerifier();
public static readonly Verifier Ribbon = new RibbonVerifier();
private static readonly Verifier Item = new ItemVerifier();
private static readonly Verifier EncounterType = new EncounterTypeVerifier();
private static readonly Verifier HyperTraining = new HyperTrainingVerifier();
private static readonly Verifier Gender = new GenderVerifier();
private static readonly Verifier PIDEC = new PIDVerifier();
private static readonly Verifier NHarmonia = new NHarmoniaVerifier();
private static readonly Verifier CXD = new CXDVerifier();
private static readonly Verifier Memory = new MemoryVerifier();
private static readonly Verifier History = new HistoryVerifier();
private static readonly Verifier Contest = new ContestStatVerifier();
private static readonly TrainerNameVerifier Trainer = new TrainerNameVerifier();
private static readonly LevelVerifier Level = new LevelVerifier();
private static readonly MiscVerifier Misc = new MiscVerifier();
private static readonly TransferVerifier Transfer = new TransferVerifier();
private static readonly MarkVerifier Mark = new MarkVerifier();
internal static IReadOnlyList<string> MoveStrings = Util.GetMovesList(GameLanguage.DefaultLanguage);
internal static IReadOnlyList<string> SpeciesStrings = Util.GetSpeciesList(GameLanguage.DefaultLanguage);
internal static IEnumerable<string> GetMoveNames(IEnumerable<int> moves) => moves.Select(m => (uint)m >= MoveStrings.Count ? L_AError : MoveStrings[m]);
public static void ChangeLocalizationStrings(IReadOnlyList<string> moves, IReadOnlyList<string> species)
{
SpeciesStrings = species;
MoveStrings = moves;
}
}
}