public static PokemonAttackStats GetMoveData(PokemonMove move) { if (BasicMoves.ContainsKey(move)) { return(BasicMoves[move]); } return(ChargedMoves.ContainsKey(move) ? ChargedMoves[move] : null); }
/// <summary> /// Process the Legacy GameMasters /// </summary> /// <param name="legacyGameMasters"></param> public static void Initialize(GameMasterTemplate currentGameMasterTemplate, IEnumerable <GameMasterTemplate> legacyGameMasterTemplates, PokemonAvailability pokemonReleases, SpecialMoves specialMoves) { PokemonReleases = pokemonReleases; foreach (var legacyGameMasterTemplate in legacyGameMasterTemplates) { foreach (var itemTemplate in legacyGameMasterTemplate.GameMaster.item_templates) { if (IsValidItemTemplate(itemTemplate, legacyGameMasterTemplate.GameMaster.timestamp_ms)) { // Get the Legacy Moves. if (!FastMoves.ContainsKey(itemTemplate.template_id)) { FastMoves.Add(itemTemplate.template_id, new List <PokemonMove>()); } List <PokemonMove> fastMoves = FastMoves[itemTemplate.template_id]; foreach (var move in itemTemplate.pokemon_settings.quick_moves) { if (!fastMoves.Contains(move)) { fastMoves.Add(move); } } if (!ChargedMoves.ContainsKey(itemTemplate.template_id)) { ChargedMoves.Add(itemTemplate.template_id, new List <PokemonMove>()); } List <PokemonMove> chargedMoves = ChargedMoves[itemTemplate.template_id]; foreach (var move in itemTemplate.pokemon_settings.cinematic_moves) { if (!chargedMoves.Contains(move)) { chargedMoves.Add(move); } } } } } foreach (var specialMove in specialMoves.Move) { if (specialMove.IsFast) { if (!FastMoves.ContainsKey(specialMove.pokemonTemplateId)) { FastMoves.Add(specialMove.pokemonTemplateId, new List <PokemonMove>()); } List <PokemonMove> fastMoves = FastMoves[specialMove.pokemonTemplateId]; if (!fastMoves.Contains(specialMove.movementId)) { fastMoves.Add(specialMove.movementId); } } else { if (!ChargedMoves.ContainsKey(specialMove.pokemonTemplateId)) { ChargedMoves.Add(specialMove.pokemonTemplateId, new List <PokemonMove>()); } List <PokemonMove> chargedMoves = ChargedMoves[specialMove.pokemonTemplateId]; if (!chargedMoves.Contains(specialMove.movementId)) { chargedMoves.Add(specialMove.movementId); } } } }