async def proceed(self, worker): info = worker.account_info() warning_ = info["warning"] level = info["level"] eggs = egg_count(worker) lures = lure_count(worker) await db_set_logged_in_stats(info.username, lures, eggs, level) if warning_: db_set_warned(info, datetime.datetime.now()) return True
def beh_handle_level_up(worker, previous_level): new_level = int(worker.account_info()["level"]) if previous_level and new_level != previous_level: worker.do_collect_level_up(new_level) if new_level != previous_level: db_set_account_level(worker.account_info().username, new_level) db_set_egg_count(worker.account_info().username, egg_count(worker)) db_set_lure_count(worker.account_info().username, lure_count(worker)) return new_level
async def proceed(worker): info = worker.account_info() warning_ = info["warning"] level = info["level"] eggs = egg_count(worker) lures = lure_count(worker) await db_set_logged_in_stats(info.username, lures, eggs, level) log.info("{} level {}, {} lures {} eggs".format(worker.name(), level, lures, eggs)) if warning_: db_set_warned(info, datetime.datetime.now()) return False
async def use_egg(self, cm, xp_boost_phase): has_egg = self.has_lucky_egg() egg_active = self.has_active_lucky_egg() evolving_possible = not cm or cm.can_start_evolving() previous_egg_expired = (datetime.now() > self.next_egg) if not egg_active and has_egg and previous_egg_expired: if evolving_possible or xp_boost_phase: await self.worker.do_use_lucky_egg() self.egg_number += 1 self.next_egg = datetime.now() + timedelta(minutes=90) self.egg_expiration = datetime.now() + timedelta(minutes=30) await db_set_egg_count(self.worker.account_info().username, egg_count(self.worker)) elif self.initial_fast_egg: self.initial_fast_egg = False await self.worker.do_use_lucky_egg() self.egg_number += 1 self.next_egg = datetime.now() + timedelta(minutes=60) self.egg_expiration = datetime.now() + timedelta(minutes=30) await db_set_egg_count(self.worker.account_info().username, egg_count(self.worker)) return egg_active
def use_egg(self, cm): has_egg = self.has_lucky_egg() egg_active = self.has_active_lucky_egg() evolving_possible = not cm or cm.can_start_evolving() previous_egg_expired = (datetime.now() > self.next_egg) if not egg_active and has_egg and previous_egg_expired: if evolving_possible: self.worker.do_use_lucky_egg() self.egg_number += 1 self.next_egg = datetime.now() + timedelta(minutes=90) db_set_egg_count(self.worker.account_info().username, egg_count(self.worker)) elif self.fast_egg: self.worker.do_use_lucky_egg() self.egg_number += 1 if self.first_egg: self.first_egg = False self.next_egg = datetime.now() + timedelta(minutes=60) else: self.next_egg = datetime.now() + timedelta(minutes=45) db_set_egg_count(self.worker.account_info().username, egg_count(self.worker)) return egg_active
def explain(self): self.log.info("incenses={}, has_active_incense={}, next_incense={}, eggs={}, has_active_egg={}, next_egg={}".format(str(incense_count(self.worker)), str(self.has_active_incense()), str(self.next_incense), str(egg_count(self.worker)),str(self.has_active_lucky_egg()),str(self.next_egg)))