Fix: No items enroute in Luofu_StargazerNavalia_F1_X521Y595

This commit is contained in:
LmeSzinc 2024-04-15 02:38:04 +08:00
parent aa700b81db
commit d4fe1959a8
3 changed files with 17 additions and 9 deletions

View File

@ -28,3 +28,8 @@ class Route(RouteBase):
self.clear_item(item_X504Y610) self.clear_item(item_X504Y610)
self.clear_event(event_X510Y626) self.clear_event(event_X510Y626)
# ===== End of generated waypoints ===== # ===== End of generated waypoints =====
def clear_event(self, *waypoints):
# Too many clicks on A_BUTTON, so no items enroute in Luofu_StargazerNavalia_F1_X521Y595
self.enroute_add_item = False
return super().clear_event(*waypoints)

View File

@ -116,6 +116,10 @@ class Waypoint:
return list(same) return list(same)
def enroute_add_item(self):
if 'item' not in self.expected_enroute:
self.expected_enroute.append('item')
def ensure_waypoint(point) -> Waypoint: def ensure_waypoint(point) -> Waypoint:
""" """

View File

@ -17,6 +17,7 @@ from tasks.rogue.route.exit import RogueExit
class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward): class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
registered_domain_exit = None registered_domain_exit = None
enroute_add_item = True
def combat_expected_end(self): def combat_expected_end(self):
if self.is_page_choose_blessing(): if self.is_page_choose_blessing():
@ -140,10 +141,9 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
def clear_enemy(self, *waypoints): def clear_enemy(self, *waypoints):
waypoints = ensure_waypoints(waypoints) waypoints = ensure_waypoints(waypoints)
if self.plane.is_rogue_combat: if self.enroute_add_item and self.plane.is_rogue_combat:
for point in waypoints: for point in waypoints:
if 'item' not in point.expected_enroute: point.enroute_add_item()
point.expected_enroute.append('item')
return super().clear_enemy(*waypoints) return super().clear_enemy(*waypoints)
def clear_item(self, *waypoints): def clear_item(self, *waypoints):
@ -199,10 +199,9 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
end_point.endpoint_threshold = 1.5 end_point.endpoint_threshold = 1.5
end_point.interact_radius = 7 end_point.interact_radius = 7
end_point.expected_end.append(self._domain_event_expected_end) end_point.expected_end.append(self._domain_event_expected_end)
if self.plane.is_rogue_occurrence: if self.enroute_add_item and self.plane.is_rogue_occurrence:
for point in waypoints: for point in waypoints:
if 'item' not in point.expected_enroute: point.enroute_add_item()
point.expected_enroute.append('item')
result = self.goto(*waypoints) result = self.goto(*waypoints)
self.clear_occurrence() self.clear_occurrence()
@ -302,9 +301,9 @@ class RouteBase(RouteBase_, RogueExit, RogueEvent, RogueReward):
logger.hr('Domain single exit', level=1) logger.hr('Domain single exit', level=1)
waypoints = ensure_waypoints(waypoints) waypoints = ensure_waypoints(waypoints)
for point in waypoints: if self.enroute_add_item:
if 'item' not in point.expected_enroute: for point in waypoints:
point.expected_enroute.append('item') point.enroute_add_item()
end_point = waypoints[-1] end_point = waypoints[-1]
end_point.min_speed = 'run' end_point.min_speed = 'run'