public async Task <List <MovesData> > GetPokemonMoves(PokeMoves pokeMoves) { var sizeOfPokeList = pokeMoves.Pokemons.Count; var firstPokeMoves = await ObtainPokeMovesDataAsync(pokeMoves.Pokemons[0]); var secondPokeMoves = await ObtainPokeMovesDataAsync(pokeMoves.Pokemons[1]); var res = firstPokeMoves.Moves.Where(x => secondPokeMoves.Moves.Any(y => y.Move.Name == x.Move.Name)).ToList(); return(res.GetRange(0, pokeMoves.AmountMoves)); }
public void SetEncounter(string ivs, int move1, int move2, int score) { this.ivs = ivs; this.moves = moves.ToLower(); this.score = score; PokeMoves m1 = (PokeMoves)Enum.Parse(typeof(PokeMoves), move1.ToString()); PokeMoves m2 = (PokeMoves)Enum.Parse(typeof(PokeMoves), move2.ToString()); moves = "[" + PokemovesEval.Grade(pokemonId, move1, move2) + "] " + m1 + ":" + m2; if (score >= 90) { Pokemon poke = (Pokemon)Enum.Parse(typeof(Pokemon), pokemonId.ToString()); if (Properties.Settings.Default.audio_notification) { Utils.Speak(poke.ToString()); } } }
/// <summary> /// Goes through the GAME_MASTERs and collects the data we want to leverage for the PokeRef site. /// </summary> /// <param name="gameMaster"></param> /// <param name="legacyGameMasters"></param> private void CollectData(GameMasterTemplate gameMasterTemplate, IEnumerable <GameMasterTemplate> legacyGameMasterTemplates) { // Get a list of all of the GAME_MASTER files. CurrentGameMaster = gameMasterTemplate; GameMasters.Add(gameMasterTemplate.FileName, gameMasterTemplate.HaveRawGameMaster); foreach (var legacyGameMasterTemplate in legacyGameMasterTemplates) { GameMasters.Add(legacyGameMasterTemplate.FileName, legacyGameMasterTemplate.HaveRawGameMaster); } // Process the current GameMaster foreach (var itemTemplate in gameMasterTemplate.GameMaster.item_templates) { try { if (itemTemplate.pokemon_settings != null) { PokemonTranslator pokemon = new PokemonTranslator(itemTemplate); Pokemon.Add(pokemon.Key, pokemon); } else if (itemTemplate.move_settings != null) { MoveTranslator move = new MoveTranslator(itemTemplate); PokeMoves.Add(move.Key, move); } else if (itemTemplate.gender_settings != null) { GenderRatioTranslator genderRatio = new GenderRatioTranslator(itemTemplate); // Some Pokemon are duplicated and should be ignored. (E.G. Castform for each of the weathers.) if (GenderRatios.ContainsKey(genderRatio.Key)) { continue; } GenderRatios.Add(genderRatio.Key, genderRatio); } else if (itemTemplate.player_level != null) { PlayerLevel = new PlayerLevelTranslator(itemTemplate); } else if (itemTemplate.form_settings != null) { if (itemTemplate.form_settings.forms != null) { FormSettingsTranslator formSettings = new FormSettingsTranslator(itemTemplate); Forms.Add(formSettings.Key, formSettings); } } else if (itemTemplate.friendship_milestone_settings != null) { Friendships.Add(new FriendshipTranslator(itemTemplate)); } #region Data I am currently not using. //else if (itemTemplate.avatarCustomization != null) //{ //} //else if (itemTemplate.badgeSettings != null) //{ //} //else if (itemTemplate.battleSettings != null) //{ //} //else if (itemTemplate.camera != null) //{ //} //else if (itemTemplate.encounterSettings != null) //{ //} //else if (itemTemplate.gymBadgeSettings != null) //{ //} //else if (itemTemplate.gymLevel != null) //{ //} //else if (itemTemplate.iapItemDisplay != null) //{ //} //else if (itemTemplate.iapSettings != null) //{ //} //else if (itemTemplate.itemSettings != null) //{ //} //else if (itemTemplate.moveSequenceSettings != null) //{ //} //else if (itemTemplate.pokemonUpgrades != null) //{ //} //else if (itemTemplate.questSettings != null) //{ //} //else if (itemTemplate.typeEffective != null) //{ //} #endregion Data I am currently not using. } catch (Exception ex) { ConsoleOutput.OutputException(ex, $"Error processing {itemTemplate.template_id} ({gameMasterTemplate.FileName})"); } } Legacy.Initialize(gameMasterTemplate, legacyGameMasterTemplates, ManualDataSettings.PokemonAvailability, ManualDataSettings.SpecialMoves); foreach (var pokemon in Pokemon.Values) { pokemon.AssignProperties(Pokemon, GenderRatios.ContainsKey(pokemon.PokemonSettings.pokemon_id) ? GenderRatios[pokemon.PokemonSettings.pokemon_id] : null, Legacy.FastMoves.ContainsKey(pokemon.TemplateId) ? Legacy.FastMoves[pokemon.TemplateId] : null, Legacy.ChargedMoves.ContainsKey(pokemon.TemplateId) ? Legacy.ChargedMoves[pokemon.TemplateId] : null); } }
public async Task <IActionResult> GetMoves([FromBody] PokeMoves pokes) { var res = await _pokemonService.GetPokemonMoves(pokes); return(Ok(res)); }