diff --git a/pokemongo_bot/cell_workers/follow_path.py b/pokemongo_bot/cell_workers/follow_path.py index f17445b041..6b2ed51cbe 100644 --- a/pokemongo_bot/cell_workers/follow_path.py +++ b/pokemongo_bot/cell_workers/follow_path.py @@ -97,10 +97,10 @@ def load_gpx(self): def find_closest_point_idx(self, points): return_idx = 0 min_distance = float("inf"); + for index in range(len(points)): point = points[index] - botlat = self.bot.api._position_lat - botlng = self.bot.api._position_lng + botlat, botlng, _ = self.bot.api.get_position() lat = point['lat'] lng = point['lng'] @@ -142,9 +142,7 @@ def work(self): if self.status == STATUS_LOITERING and time.time() < self.loiter_end_time: return WorkerResult.SUCCESS - last_lat = self.bot.api._position_lat - last_lng = self.bot.api._position_lng - last_alt = self.bot.api._position_alt + last_lat, last_lng, last_alt = self.bot.api.get_position() point = self.points[self.ptr] lat = point['lat'] diff --git a/pokemongo_bot/walkers/polyline_walker.py b/pokemongo_bot/walkers/polyline_walker.py index 21b9b2c89a..16bbd4a98f 100644 --- a/pokemongo_bot/walkers/polyline_walker.py +++ b/pokemongo_bot/walkers/polyline_walker.py @@ -15,8 +15,8 @@ class PolylineWalker(StepWalker): def __init__(self, bot, dest_lat, dest_lng): super(PolylineWalker, self).__init__(bot, dest_lat, dest_lng) - self.polyline_walker = PolylineObjectHandler.cached_polyline(tuple(self.api.get_position()[:2]), - (self.destLat, self.destLng), self.speed) + + self.actual_pos = tuple(self.api.get_position()[:2]) self.dist = distance( self.bot.position[0], @@ -26,7 +26,8 @@ def __init__(self, bot, dest_lat, dest_lng): ) def step(self): - cLat, cLng = self.api._position_lat, self.api._position_lng + self.polyline_walker = PolylineObjectHandler.cached_polyline(self.actual_pos, + (self.destLat, self.destLng), self.speed) if self.dist < 10: # 10m, add config? set it at constants? return True @@ -36,8 +37,10 @@ def step(self): self.polyline_walker.pause() cLat, cLng = self.polyline_walker.get_pos() - alt = uniform(self.bot.config.alt_min, self.bot.config.alt_max) - self.api.set_position(cLat, cLng, alt) + cAlt = self.polyline_walker.get_alt() + self.api.set_position(cLat, cLng, cAlt) + self.actual_pos = (cLat, cLng) # might be a case this instance is reused in the future... + self.bot.heartbeat() return False