MCPcopy Create free account
hub / github.com/runhey/OnmyojiAutoScript / ScriptTask

Class ScriptTask

tasks/DemonEncounter/script_task.py:30–404  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28
29
30class ScriptTask(GameUi, GeneralBattle, DemonEncounterAssets):
31
32 def run(self):
33 if not self.check_time():
34 logger.warning('Time is not right')
35 raise TaskEnd('DemonEncounter')
36 self.ui_get_current_page()
37 self.ui_goto(page_demon_encounter)
38 self.execute_lantern()
39 self.execute_boss()
40
41 self.set_next_run(task='DemonEncounter', success=True, finish=False)
42 raise TaskEnd('DemonEncounter')
43
44
45 def execute_boss(self):
46 """
47 打boss
48 :return:
49 """
50 logger.hr('Start boss battle', 1)
51 while 1:
52 self.screenshot()
53 if self.appear(self.I_BOSS_FIRE):
54 current, remain, total = self.O_DE_BOSS_PEOPLE.ocr(self.device.image)
55 if total == 300 and current >= 290:
56 logger.info('Boss battle people is full')
57 if not self.appear(self.I_UI_BACK_RED):
58 logger.warning('Boss battle people is full but no red back')
59 continue
60 self.ui_click_until_disappear(self.I_UI_BACK_RED)
61 # 退出重新选一个没人慢的boss
62 logger.info('Exit and reselect')
63 continue
64 else:
65 logger.info('Boss battle people is not full')
66 break
67
68 if self.appear_then_click(self.I_BOSS_NAMAZU, interval=1):
69 continue
70 if self.appear_then_click(self.I_BOSS_SHINKIRO, interval=1):
71 continue
72 if self.appear_then_click(self.I_BOSS_ODOKURO, interval=1):
73 continue
74 if self.appear_then_click(self.I_BOSS_OBOROGURUMA, interval=1):
75 continue
76 if self.appear_then_click(self.I_BOSS_TSUCHIGUMO, interval=1):
77 continue
78 if self.appear_then_click(self.I_BOSS_SONGSTRESS, interval=1):
79 continue
80 if self.appear_then_click(self.I_DE_BOSS, interval=4):
81 continue
82 if self.click(self.C_DM_BOSS_CLICK, interval=1.7):
83 continue
84 logger.info('Boss battle start')
85 # 点击集结挑战
86 boss_fire_count = 0 # 五次没点到就意味着今天已经挑战过了
87 while 1:

Callers 1

script_task.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected