替换导航选人战斗相关ctap
All checks were successful
ci/woodpecker/push/check_format Pipeline was successful

This commit is contained in:
Elaina 2024-12-11 19:52:27 +08:00
parent 895968d277
commit 3cf37f3ea1
9 changed files with 21 additions and 17 deletions

View file

@ -89,7 +89,7 @@ class AutoFight(SceneGraphSolver, FightMixin):
elif scene == Scene.OPERATOR_SELECT:
self.tap((1655, 781))
elif scene == Scene.STORY:
self.tap("story_skip")
self.ctap("story_skip", 3)
elif scene == Scene.STORY_SKIP:
self.tap("story_skip_confirm_dialog", x_rate=0.94)
else:

View file

@ -42,4 +42,5 @@ class BattleChooseSolver(SceneGraphSolver):
elif scene in self.waiting_scene:
self.waiting_solver()
else:
self.sleep(2) # 选完人后回到编队界面会过一会才变
return True

View file

@ -30,7 +30,7 @@ class ChooseSquadSolver(SceneGraphSolver):
if self.find("choose_agent/can_not_change"):
return True
if self.current_squad() != self.squad:
self.tap((self.squad * 411 - 99, 1040))
self.ctap((self.squad * 411 - 99, 1040))
else:
return True
elif scene in self.waiting_scene:

View file

@ -154,20 +154,22 @@ class ChooseSupportSolver(SceneGraphSolver):
if (scene := self.scene()) == Scene.OPERATOR_SUPPORT:
if self.retry_times < 0:
self.scene_graph_step(Scene.OPERATOR_SELECT)
return
if not self.check_profession_focus():
self.tap(profession_pos[self.profession])
return
if self.matched:
if self.find("fight/refresh"):
self.swipe_noinertia((800, 350), (150, 0))
self.tap("fight/refresh")
self.sleep(0.4)
self.sleep(1)
self.retry_times -= 1
self.matched = False
else:
self.sleep(0.5)
else:
if result := self.check_agent(self.get_oper_pos()):
self.tap(result)
self.ctap(result, 3)
elif not self.swiped:
self.swiped = True
self.swipe_noinertia((800, 350), (-150, 0))
@ -184,6 +186,7 @@ class ChooseSupportSolver(SceneGraphSolver):
else:
self.tap("fight/use")
self.success = True
self.sleep(1)
elif scene == Scene.OPERATOR_SELECT:
if self.success:

View file

@ -73,7 +73,7 @@ class ActivityNavigation(SceneGraphSolver):
and (result := config.recog.match("story_stage"))
and result[0] > 0.8
):
self.tap(result[1])
self.ctap(result[1], 3)
return
name, val, loc = None, 1, None
@ -92,10 +92,10 @@ class ActivityNavigation(SceneGraphSolver):
elif target[0] < 0:
self.swipe_noinertia((400, 540), (1000, 0))
else:
self.tap(va(target, (60, 20)))
self.ctap(va(target, (60, 20)), 3)
elif scene == Scene.OPERATOR_BEFORE:
if self.find("ope_ex_mode") and self.switch_to_ex:
self.tap("ope_ex_mode")
self.ctap("ope_ex_mode", 3)
return
if self.mode == "auto":
@ -109,11 +109,11 @@ class ActivityNavigation(SceneGraphSolver):
if config.recog.gray[907][1600] > 127 and not self.find(
"ope_agency_lock"
):
self.tap((1776, 908))
self.ctap((1776, 908), 3)
return
self.tap("ope_start")
self.ctap("ope_start", 3)
else:
self.tap("ope_ex_start")
self.ctap("ope_ex_start", 3)
elif scene == Scene.OPERATOR_SELECT and self.mode == "copy":
return True
elif scene in [Scene.OPERATOR_RECOVER_ORIGINITE, Scene.OPERATOR_RECOVER_POTION]:

View file

@ -68,7 +68,7 @@ class LastStageNavigation(SceneGraphSolver):
return True
elif scene == Scene.OPERATOR_BEFORE:
if self.find("ope_ex_mode") and self.switch_to_ex:
self.tap("ope_ex_mode")
self.ctap("ope_ex_mode", 3)
return
if self.mode == "auto":
@ -82,11 +82,11 @@ class LastStageNavigation(SceneGraphSolver):
if config.recog.gray[907][1600] > 127 and not self.find(
"ope_agency_lock"
):
self.tap((1776, 908))
self.ctap((1776, 908), 3)
return
self.tap("ope_start")
self.ctap("ope_start", 3)
else:
self.tap("ope_ex_start")
self.ctap("ope_ex_start", 3)
elif scene == Scene.OPERATOR_SELECT and self.mode == "copy":
return True

View file

@ -142,7 +142,7 @@ class OperationSolver(BaseSolver):
def ope_start(self):
self.operation_start_time = datetime.now()
self.drop_recog_complete = False
self.tap("ope_start")
self.ctap("ope_start", 3)
def transition(self):
if (scene := self.scene()) == Scene.OPERATOR_BEFORE:

View file

@ -48,7 +48,7 @@ def story_stage(solver: BaseSolver):
@edge(Scene.STORY, Scene.STORY_SKIP)
def skip_story(solver: BaseSolver):
solver.tap("story_skip")
solver.ctap("story_skip", 3)
@edge(Scene.STORY_SKIP, Scene.OPERATOR_BEFORE)

View file

@ -24,7 +24,7 @@ def operation_back(solver: BaseSolver):
@edge(Scene.OPERATOR_FIGHT, Scene.OPERATOR_GIVEUP)
def operation_fight(solver: BaseSolver):
solver.tap("fight/gear")
solver.ctap("fight/gear", 3)
@edge(Scene.OPERATOR_GIVEUP, Scene.OPERATOR_FAILED)