def __init__(self, arg): if type(arg) is int: self.data = DataHolder.get("https://pokeapi.co/api/v2/move/%d/" % arg) elif type(arg) is str: self.data = DataHolder.get(arg) self.type = Type(self.data["type"]["url"]) self.pp = self.data["pp"]
def __init__(self, arg): """ initializes the constructor :param arg: an url or an id """ if type(arg) is int: self.data = DataHolder.get("https://pokeapi.co/api/v2/item/%d/" % arg) elif type(arg) is str: self.data = DataHolder.get(arg) for item in self.data["attributes"]: self.attributes.append(item["name"])
def getDisplayName(self): """ Returns the name of the pokemon according to language. return type: string. """ speciesData = DataHolder.get(self.pokemonData["species"]["url"]) for name in speciesData["names"]: if name["language"]["name"] == Env().loc: return name["name"]
def __init__(self, url): """ initializes the constructor :param data: an url of the specie """ # self.pokemonData = DataHolder.get(url) # self.speciesData = DataHolder.get(url) # pknmUrl = next(var for var in self.speciesData["varieties"] if var["is_default"])[ # "pokemon"]["url"] self.pokemonData = DataHolder.get(url)
def __init__(self): pokemonGen1Data = DataHolder.get( "https://pokeapi.co/api/v2/generation/1/") for spiece in pokemonGen1Data["pokemon_species"]: pokemon = PokemonInfo(spiece["url"]) self.pokemons[str(pokemon.getPokedexId())] = { "discover": False, "caught": False, "pokemon": pokemon }
def getDisplayAbilities(self): """ returns A list of abilities this Pokémon could potentially have depending on the language of the System. return type : list. """ for abilitie in self.pokemonData["abilities"]: self.abilitiesData.append( DataHolder.get(abilitie["ability"]["url"])["names"]) for name in self.abilitiesData: for i in range(0, 10): if name[i]["language"]["name"] == Env().loc: self.abilities.append(name[i]["name"]) return self.abilities
def __init__(self, arg): if type(arg) is int: self.pokemonData = DataHolder.get( "https://pokeapi.co/api/v2/pokemon/%d/" % arg) self.speciesData = DataHolder.get( "https://pokeapi.co/api/v2/pokemon-species/%d/" % arg) elif type(arg) is str: self.pokemonData = DataHolder.get(arg) self.speciesData = DataHolder.get( self.pokemonData["species"]["url"]) self.level = GameCtx.getRandomPokemonLevel() self.captureRate = self.speciesData["capture_rate"] self.level = GameCtx.getRandomPokemonLevel() self.gender = Pokemon.NOSEX if self.speciesData[ "gender_rate"] == -1 else Pokemon.FEMALE if random.randint( 0, 8) < self.speciesData["gender_rate"] else Pokemon.MALE self.iv = GameCtx.genRadomIV() self.moves = [] moveCursor = 0 for move in self.pokemonData["moves"]: gen = next((g for g in move["version_group_details"] if g["version_group"]["name"] == "red-blue"), False) if gen and gen["move_learn_method"]["name"] == "level-up" and gen[ "level_learned_at"] <= self.level: if len(self.moves) < 4: self.moves.append(Move(move["move"]["url"])) else: self.moves[moveCursor] = Move(move["move"]["url"]) moveCursor = (moveCursor + 1) % 4 self.levels = DataHolder.get( self.speciesData["growth_rate"]["url"])["levels"] self.experience = next(level for level in self.levels if level["level"] == self.level)["experience"] self.type1 = Type( next(t for t in self.pokemonData["types"] if t["slot"] == 1)["type"]["url"]) type2 = next((t for t in self.pokemonData["types"] if t["slot"] == 2), None) self.type2 = Type(type2["type"]["url"]) if type2 != None else None self.stats = { "speed": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "speed"), "special-defense": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "special-defense"), "special-attack": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "special-attack"), "defense": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "defense"), "attack": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "attack"), "hp": next(stat for stat in self.pokemonData["stats"] if stat["stat"]["name"] == "hp") } self.fightStats = { "speed": 6, "special-defense": 6, "special-attack": 6, "defense": 6, "attack": 6, "accuracy": 6, "dodge": 6 } self.updateStats() self.hp = self.maxHp
def __init__(self, arg): if type(arg) is int: self.data = DataHolder.get( "https://pokeapi.co/api/v2/type/%d/" % id) elif type(arg) is str: self.data = DataHolder.get(arg)