private static List <PastMoveStatValues> GetPastValues(EFMoves move) { return(move .MoveChangelog .Select(moveChangelog => { var effectEntries = moveChangelog .Effect? .MoveEffectProse? .Where(m => m.ShortEffect != null && moveChangelog.Effect != null) .Select(m => new VerboseEffect(m.Effect /*TODO: Parse this result*/, m.ShortEffect, m.LocalLanguage.ToNamedApiResource())) .ToList(); return new PastMoveStatValues { Accuracy = moveChangelog.Accuracy, EffectChance = moveChangelog.EffectChance, Power = moveChangelog.Power, Pp = moveChangelog.Pp, EffectEntries = effectEntries, Type = moveChangelog.Type?.ToNamedApiResource(), VersionGroup = moveChangelog.ChangedInVersionGroup?.ToNamedApiResource() }; }) .ToList()); }
private static List <MoveStatChange> GetStatChanges(EFMoves move) { return(move .MoveMetaStatChanges .Select(x => new MoveStatChange(x.Change, x.Stat.ToNamedApiResource())) .ToList()); }
private static List <MachineVersionDetail> GetMachines(EFMoves move) { return(move .Machines .Select(x => new MachineVersionDetail(x.ToApiResource(), x.VersionGroup?.ToNamedApiResource())) .ToList()); }
private static List <Name> GetNames(EFMoves move) { return(move .MoveNames .Select(x => new Name(x.Name, x.LocalLanguage.ToNamedApiResource())) .ToList()); }
private static List <MoveFlavorText> GetFlavorTextEntries(EFMoves move) { return(move .MoveFlavorText .Select(x => new MoveFlavorText(x.FlavorText, x.Language.ToNamedApiResource(), x.VersionGroup.ToNamedApiResource())) .ToList()); }
private static List <VerboseEffect> GetEffectEntries(EFMoves move) { return(move .Effect .MoveEffectProse .Where(x => x.ShortEffect != null && x.Effect != null) .Select(x => new VerboseEffect(x.Effect, x.ShortEffect, x.LocalLanguage?.ToNamedApiResource())) .ToList()); }
private static List <AbilityEffectChange> GetEffectChanges(EFMoves move) { return(move .Effect .MoveEffectChangelog .Select(x => { var effectEntries = x.MoveEffectChangelogProse .Select(y => new Effect(y.Effect, y.LocalLanguage.ToNamedApiResource())) .ToList(); return new AbilityEffectChange(effectEntries, x.ChangedInVersionGroup?.ToNamedApiResource()); }) .ToList()); }
private static ContestComboSets GetContestCombos(EFMoves move) { var normalUseBefore = move .ContestCombosFirstMove .Select(x => x.SecondMove.ToNamedApiResource()) .ToList(); var normalUseAfter = move .ContestCombosSecondMove .Select(x => x.FirstMove.ToNamedApiResource()) .ToList(); var superUseBefore = move .SuperContestCombosFirstMove .Select(x => x.SecondMove.ToNamedApiResource()) .ToList(); var superUseAfter = move .SuperContestCombosSecondMove .Select(x => x.FirstMove.ToNamedApiResource()) .ToList(); var fnua = normalUseAfter.Any(); var fnub = normalUseBefore.Any(); var fsua = superUseAfter.Any(); var fsub = superUseBefore.Any(); return(fnua || fnub || fsua || fsub ? new ContestComboSets { Normal = new ContestComboDetail { UseAfter = fnua ? normalUseAfter : null, UseBefore = fnub ? normalUseBefore : null }, Super = new ContestComboDetail { UseAfter = fsua ? superUseAfter : null, UseBefore = fsub ? superUseBefore : null } } : null); }
private static MoveMetaData GetMeta(EFMoves move) { var meta = move.MoveMeta; return(new MoveMetaData { Ailment = meta.MetaAilment?.ToNamedApiResource(), Category = meta.MetaCategory?.ToNamedApiResource(), MinHits = meta.MinHits, MaxHits = meta.MaxHits, MinTurns = meta.MinTurns, MaxTurns = meta.MaxTurns, Drain = meta.Drain, Healing = meta.Healing, CritRate = meta.CritRate, AilmentChance = meta.AilmentChance, FlinchChance = meta.FlinchChance, StatChance = meta.StatChance }); }
internal static NamedAPIResource ToNamedApiResource(this EFMoves src) => src.ToNamedApiResource <MovesController>();
private static NamedAPIResource GetType(EFMoves move) { return(move .Type? .ToNamedApiResource()); }
private static NamedAPIResource GetTarget(EFMoves move) { return(move .Target? .ToNamedApiResource()); }
private static APIResource GetSuperContestEffect(EFMoves move) { return(move .SuperContestEffect? .ToApiResource()); }
private static NamedAPIResource GetGeneration(EFMoves move) { return(move .Generation? .ToNamedApiResource()); }
private static NamedAPIResource GetDamageClass(EFMoves move) { return(move .DamageClass? .ToNamedApiResource()); }