Skip to content

Commit

Permalink
Merge pull request #6009 from PokemonGoF/revert-6006-optimizer_fix
Browse files Browse the repository at this point in the history
Revert "Optimizer fix"
  • Loading branch information
pogarek authored Apr 10, 2017
2 parents 52cca10 + 9f8dd2d commit 8c176c0
Showing 1 changed file with 73 additions and 74 deletions.
147 changes: 73 additions & 74 deletions pokemongo_bot/cell_workers/pokemon_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,104 +129,103 @@ def work(self):
if self.lock_buddy and (self.get_pokemon_slot_left() > self.config_min_slots_left):
return WorkerResult.SUCCESS

if self.get_pokemon_slot_left() > self.config_min_slots_left:
return WorkerResult.SUCCESS
self.open_inventory()

# Repeat the optimizer 2 times, to get rid of the trash evolved.
# Moved up from 227 to see if we fix issue #5999
for _ in itertools.repeat(None, 2):
self.open_inventory()
keep_all = []
try_evolve_all = []
try_upgrade_all = []
buddy_all = []

keep_all = []
try_evolve_all = []
try_upgrade_all = []
buddy_all = []
for rule in self.config_rules:
mode = rule.get("mode", "by_family")
names = rule.get("names", [])
whitelist, blacklist = self.get_colorlist(names)

for rule in self.config_rules:
mode = rule.get("mode", "by_family")
names = rule.get("names", [])
whitelist, blacklist = self.get_colorlist(names)
if mode == "by_pokemon":
for pokemon_id, pokemon_list in self.group_by_pokemon_id(inventory.pokemons().all()):
name = inventory.pokemons().name_for(pokemon_id)

if mode == "by_pokemon":
for pokemon_id, pokemon_list in self.group_by_pokemon_id(inventory.pokemons().all()):
name = inventory.pokemons().name_for(pokemon_id)
if name in blacklist:
continue

if name in blacklist:
continue
if whitelist and (name not in whitelist):
continue

if whitelist and (name not in whitelist):
continue
sorted_list = self.score_and_sort(pokemon_list, rule)

sorted_list = self.score_and_sort(pokemon_list, rule)
if len(sorted_list) == 0:
continue

if len(sorted_list) == 0:
continue
keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)
keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy
elif mode == "by_family":
for family_id, pokemon_list in self.group_by_family_id(inventory.pokemons().all()):
matching_names = self.get_family_names(family_id)

keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)
keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy
elif mode == "by_family":
for family_id, pokemon_list in self.group_by_family_id(inventory.pokemons().all()):
matching_names = self.get_family_names(family_id)
if any(n in blacklist for n in matching_names):
continue

if any(n in blacklist for n in matching_names):
continue
if whitelist and not any(n in whitelist for n in matching_names):
continue

if whitelist and not any(n in whitelist for n in matching_names):
continue
sorted_list = self.score_and_sort(pokemon_list, rule)

sorted_list = self.score_and_sort(pokemon_list, rule)
if len(sorted_list) == 0:
continue

if len(sorted_list) == 0:
continue
if family_id == 133: # "Eevee"
keep, try_evolve, try_upgrade, buddy = self.get_multi_best_pokemon_for_rule(sorted_list, rule, 3)
else:
keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)

if family_id == 133: # "Eevee"
keep, try_evolve, try_upgrade, buddy = self.get_multi_best_pokemon_for_rule(sorted_list, rule, 3)
else:
keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)
keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy
elif mode == "overall":
pokemon_list = []

keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy
elif mode == "overall":
pokemon_list = []
for pokemon in inventory.pokemons().all():
name = pokemon.name

for pokemon in inventory.pokemons().all():
name = pokemon.name
if name in blacklist:
continue

if name in blacklist:
continue
if whitelist and (name not in whitelist):
continue

if whitelist and (name not in whitelist):
continue
pokemon_list.append(pokemon)

pokemon_list.append(pokemon)
sorted_list = self.score_and_sort(pokemon_list, rule)

sorted_list = self.score_and_sort(pokemon_list, rule)
if len(sorted_list) == 0:
continue

if len(sorted_list) == 0:
continue
keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)
keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy

keep, try_evolve, try_upgrade, buddy = self.get_best_pokemon_for_rule(sorted_list, rule)
keep_all += keep
try_evolve_all += try_evolve
try_upgrade_all += try_upgrade
buddy_all += buddy
keep_all = self.unique_pokemon_list(keep_all)
try_evolve_all = self.unique_pokemon_list(try_evolve_all)
try_upgrade_all = self.unique_pokemon_list(try_upgrade_all)
buddy_all = self.unique_pokemon_list(buddy_all)

keep_all = self.unique_pokemon_list(keep_all)
try_evolve_all = self.unique_pokemon_list(try_evolve_all)
try_upgrade_all = self.unique_pokemon_list(try_upgrade_all)
buddy_all = self.unique_pokemon_list(buddy_all)
if (not self.lock_buddy) and (len(buddy_all) > 0):
new_buddy = buddy_all[0]

if (not self.lock_buddy) and (len(buddy_all) > 0):
new_buddy = buddy_all[0]
if (not self.buddy) or (self.buddy["id"] != new_buddy.unique_id):
self.set_buddy_pokemon(new_buddy)

if (not self.buddy) or (self.buddy["id"] != new_buddy.unique_id):
self.set_buddy_pokemon(new_buddy)
if self.get_pokemon_slot_left() > self.config_min_slots_left:
return WorkerResult.SUCCESS

# Repeat the optimizer 2 times, to get rid of the trash evolved.
for _ in itertools.repeat(None, 2):
transfer_all = []
evolve_all = []
upgrade_all = []
Expand Down Expand Up @@ -720,13 +719,13 @@ def transfer_pokemon(self, pokemons):
return False
except Exception:
return False

for pokemon in transfered:
candy = inventory.candies().get(pokemon.pokemon_id)

if self.config_transfer and (not self.bot.config.test):
candy.add(1)

self.emit_event("pokemon_release",
formatted="Exchanged {pokemon} [IV {iv}] [CP {cp}] [{candy} candies]",
data={"pokemon": pokemon.name,
Expand Down

0 comments on commit 8c176c0

Please sign in to comment.