示例#1
0
        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());
        }
示例#2
0
 private static List <MoveStatChange> GetStatChanges(EFMoves move)
 {
     return(move
            .MoveMetaStatChanges
            .Select(x => new MoveStatChange(x.Change, x.Stat.ToNamedApiResource()))
            .ToList());
 }
示例#3
0
 private static List <MachineVersionDetail> GetMachines(EFMoves move)
 {
     return(move
            .Machines
            .Select(x => new MachineVersionDetail(x.ToApiResource(), x.VersionGroup?.ToNamedApiResource()))
            .ToList());
 }
示例#4
0
 private static List <Name> GetNames(EFMoves move)
 {
     return(move
            .MoveNames
            .Select(x => new Name(x.Name, x.LocalLanguage.ToNamedApiResource()))
            .ToList());
 }
示例#5
0
 private static List <MoveFlavorText> GetFlavorTextEntries(EFMoves move)
 {
     return(move
            .MoveFlavorText
            .Select(x => new MoveFlavorText(x.FlavorText,
                                            x.Language.ToNamedApiResource(), x.VersionGroup.ToNamedApiResource()))
            .ToList());
 }
示例#6
0
 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());
 }
示例#7
0
        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());
        }
示例#8
0
        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);
        }
示例#9
0
        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
            });
        }
示例#10
0
 internal static NamedAPIResource ToNamedApiResource(this EFMoves src)
 => src.ToNamedApiResource <MovesController>();
示例#11
0
 private static NamedAPIResource GetType(EFMoves move)
 {
     return(move
            .Type?
            .ToNamedApiResource());
 }
示例#12
0
 private static NamedAPIResource GetTarget(EFMoves move)
 {
     return(move
            .Target?
            .ToNamedApiResource());
 }
示例#13
0
 private static APIResource GetSuperContestEffect(EFMoves move)
 {
     return(move
            .SuperContestEffect?
            .ToApiResource());
 }
示例#14
0
 private static NamedAPIResource GetGeneration(EFMoves move)
 {
     return(move
            .Generation?
            .ToNamedApiResource());
 }
示例#15
0
 private static NamedAPIResource GetDamageClass(EFMoves move)
 {
     return(move
            .DamageClass?
            .ToNamedApiResource());
 }