11from qfluentwidgets import FluentIcon
22import time
3- import cv2
4- import re
53
64from ok import Logger , TaskDisabledException , Box
75from src .tasks .DNAOneTimeTask import DNAOneTimeTask
@@ -21,24 +19,24 @@ def __init__(self, *args, **kwargs):
2119 '波次超时时间' : 90 ,
2220 })
2321 self .config_description = {
24- '轮次' : ' 打几个轮次' ,
25- ' 波次超时时间' : ' 超时后将发出提示' ,
22+ "轮次" : " 打几个轮次" ,
23+ " 波次超时时间" : " 超时后将发出提示" ,
2624 }
2725 self .setup_commission_config ()
2826 self .name = "自动扼守"
2927 self .action_timeout = 10
3028 self .quick_move_task = QuickMoveTask (self )
31-
29+
3230 def run (self ):
3331 DNAOneTimeTask .run (self )
32+ self .move_mouse_to_safe_position ()
3433 try :
3534 return self .do_run ()
3635 except TaskDisabledException as e :
3736 pass
3837 except Exception as e :
39- logger .error (' AutoDefence error' , e )
38+ logger .error (" AutoDefence error" , e )
4039 raise
41- self .quick_move_task .stop ()
4240
4341 def do_run (self ):
4442 self .init_param ()
@@ -51,34 +49,35 @@ def do_run(self):
5149 if self .in_team ():
5250 self .get_wave_info ()
5351 if self .current_wave != - 1 :
54- self .quick_move_task .stop ()
5552 if self .current_wave != _wave :
5653 _wave = self .current_wave
5754 _wave_start = time .time ()
5855 _wait_next_wave = False
56+ self .quick_move_task .reset ()
5957
60- if not _wait_next_wave and time .time () - _wave_start >= self .config .get ('波次超时时间' , 120 ):
61- self .log_info ('任务超时' , notify = True )
58+ if (not _wait_next_wave
59+ and time .time () - _wave_start >= self .config .get ("波次超时时间" , 120 )
60+ ):
61+ self .log_info_notify ("任务超时" )
6262 self .soundBeep ()
6363 _wait_next_wave = True
6464
6565 if not _wait_next_wave :
6666 _skill_time = self .use_skill (_skill_time )
6767 else :
6868 self .quick_move_task .run ()
69-
69+
7070 _status = self .handle_mission_interface (stop_func = self .stop_func )
7171 if _status == Mission .START :
72- self .log_info ('任务完成' , notify = True )
73- self .soundBeep ()
7472 self .init_param ()
75- elif _status == Mission .STOP :
76- self .restart_mission ()
77- self .log_info ('任务中止,已重启' , notify = True )
73+ self .log_info_notify ("任务完成" )
7874 self .soundBeep ()
75+ elif _status == Mission .STOP :
76+ self .quit_mission ()
7977 self .init_param ()
78+ self .log_info ("任务中止" )
8079 elif _status == Mission .CONTINUE :
81- self .log_info (' 任务继续' )
80+ self .log_info (" 任务继续" )
8281 self .wait_until (self .in_team , time_out = 30 )
8382 self .current_wave = - 1
8483
@@ -88,10 +87,9 @@ def init_param(self):
8887 self .stop_mission = False
8988 self .current_round = - 1
9089 self .current_wave = - 1
91- self .quick_move_task .stop ()
9290
9391 def stop_func (self ):
9492 self .get_round_info ()
95- n = self .config .get ('轮次' , 3 )
93+ n = self .config .get ("轮次" , 3 )
9694 if n == 1 or self .current_round >= n :
9795 return True
0 commit comments