From 51ab4066532ce13a79ec1e42f8db50c4c573f8b2 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sun, 24 Jul 2016 23:48:20 +0200 Subject: [PATCH] add details info about gym (future fight gym) --- pokemongo_bot/stepper.py | 22 ++++++++++++++++++---- web/main.js | 30 ++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/pokemongo_bot/stepper.py b/pokemongo_bot/stepper.py index 4b9d2d3792..ecac388218 100644 --- a/pokemongo_bot/stepper.py +++ b/pokemongo_bot/stepper.py @@ -111,13 +111,27 @@ def _work_at_position(self, lat, lng, alt, pokemon_only=False): if 'GET_MAP_OBJECTS' in response_dict['responses']: if 'map_cells' in response_dict['responses'][ 'GET_MAP_OBJECTS']: + map_cells = response_dict['responses'][ + 'GET_MAP_OBJECTS']['map_cells'] + for cell in map_cells: + if 'forts' in cell: + for fort in cell['forts']: + if fort.get('type') != 1: + self.api.get_gym_details(gym_id=fort.get('id'), + player_latitude=lng, + player_longitude=lat, + gym_latitude=fort.get('latitude'), + gym_longitude=fort.get('longitude')) + response_gym_details = self.api.call() + item = {'id': fort.get('id')} + fort['gym_details'] = response_gym_details['responses']['GET_GYM_DETAILS'] + with open('web/location-%s.json' % (self.config.username), 'w') as outfile: json.dump( {'lat': lat, 'lng': lng, - 'cells': response_dict[ - 'responses']['GET_MAP_OBJECTS']['map_cells']}, + 'cells': map_cells}, outfile) with open('data/last-location-%s.json' % (self.config.username), 'w') as outfile: @@ -132,7 +146,7 @@ def _work_at_position(self, lat, lng, alt, pokemon_only=False): 'GET_MAP_OBJECTS']['map_cells'] position = (lat, lng, alt) # Sort all by distance from current pos- eventually this should build graph & A* it - # print(map_cells) + #print(map_cells) #print( s2sphere.from_token(x['s2_cell_id']) ) map_cells.sort(key=lambda x: distance(lat, lng, x['forts'][0]['latitude'], x[ 'forts'][0]['longitude']) if 'forts' in x and x['forts'] != [] else 1e6) @@ -191,7 +205,7 @@ def _execute_pokemon_evolve(self, pokemon, cache): return self.api.evolve_pokemon(pokemon_id=pokemon['id']) - response_dict = self.api.call() + response_dict = self.api.call() status = response_dict['responses']['EVOLVE_POKEMON']['result'] if status == 1: print('[#] Successfully evolved {}!'.format( diff --git a/web/main.js b/web/main.js index 1469d637e1..89a86732e1 100644 --- a/web/main.js +++ b/web/main.js @@ -190,16 +190,42 @@ var trainerFunc = function(data, user_index) { }); } pokemonGuard = ''; + fortName = ''; fortType = 'PokeStop'; fortTeam = ''; fortPoints = ''; + fortMembers = ''; if (fort.guard_pokemon_id != undefined) { + console.log(fort.id); pokemonGuard = 'Guard Pokemon: ' + pokemonArray[fort.guard_pokemon_id-1].Name + '
'; fortType = 'Gym'; fortTeam = 'Team: ' + teams[fort.owned_by_team] + '
'; fortPoints = 'Points: ' + fort.gym_points; + if(fort.gym_details.result == 1) + { + fortName = fort.gym_details.name; + fortMembers = '' + for (var m = 0; m < fort.gym_details.gym_state.memberships.length; m++) { + var member = fort.gym_details.gym_state.memberships[m]; + fortMembers += ''; + fortMembers += ''; + fortMembers += ''; + fortMembers += ''; + fortMembers += ''; + fortMembers += ''; + } + fortMembers += '
PokemonCPOwnerLevel
' + pokemonArray[member.pokemon_data.pokemon_id-1].Name+'' + member.pokemon_data.cp + '' + member.trainer_public_profile.name + '' + member.trainer_public_profile.level + '
'; + } + } + + var contentString = 'Id: ' + fort.id; + if(fortName != '') { + contentString += '
Name: ' + fortName; + } + contentString += '
Type: ' + fortType + '
' + pokemonGuard + fortPoints; + if(fortMembers != '') { + contentString += '
'+ fortMembers; } - var contentString = 'Id: ' + fort.id + '
Type: ' + fortType + '
' + pokemonGuard + fortPoints; info_windows[fort.id] = new google.maps.InfoWindow({ content: contentString }); @@ -399,7 +425,7 @@ function buildMenu() { pkmnImage = pad_with_zeroes(pokedex[i].inventory_item_data.pokedex_entry.pokedex_entry_number, 3) + '.png' pkmnName = pokemonArray[pkmnNum-1].Name out += 'Name: ' + pkmnName + - '
Number: ' + pkmnNum + '
Times Encountered: ' + pokedex[i].inventory_item_data.pokedex_entry.times_encountered + + '
Number: ' + pkmnNum + '
Times Encountered: ' + pokedex[i].inventory_item_data.pokedex_entry.times_encountered + '
Times Caught: ' + pokedex[i].inventory_item_data.pokedex_entry.times_captured + ''; } out += '';