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

Method check_lantern

tasks/DemonEncounter/script_task.py:185–233  ·  view source on GitHub ↗

检查灯笼的类型 :param index: 四个灯笼,从1开始 :return:

(self, index: int=1)

Source from the content-addressed store, hash-verified

183 return GeneralBattleConfig()
184
185 def check_lantern(self, index: int=1):
186 """
187 检查灯笼的类型
188 :param index: 四个灯笼,从1开始
189 :return:
190 """
191 match_roi = {
192 1: self.C_DE_1.roi_front,
193 2: self.C_DE_2.roi_front,
194 3: self.C_DE_3.roi_front,
195 4: self.C_DE_4.roi_front,
196 }
197 match_empty = {
198 1: self.I_DE_DEFEAT_1,
199 2: self.I_DE_DEFEAT_2,
200 3: self.I_DE_DEFEAT_3,
201 4: self.I_DE_DEFEAT_4,
202 }
203 self.I_DE_BOX.roi_back = match_roi[index]
204 self.I_DE_LETTER.roi_back = match_roi[index]
205 self.I_DE_MYSTERY.roi_back = match_roi[index]
206 self.I_DE_REALM.roi_back = match_roi[index]
207 target_box = self.I_DE_BOX
208 target_letter = self.I_DE_LETTER
209 target_mystery = self.I_DE_MYSTERY
210 target_realm = self.I_DE_REALM
211 target_empty = match_empty[index]
212
213 # 开始判断
214 self.screenshot()
215 if self.appear(target_box):
216 logger.info(f'Lantern {index} is box')
217 return LanternClass.BOX
218 elif self.appear(target_letter):
219 logger.info(f'Lantern {index} is letter')
220 return LanternClass.MAIL
221 elif self.appear(target_mystery):
222 logger.info(f'Lantern {index} is mystery task')
223 return LanternClass.MYSTERY
224 elif self.appear(target_realm):
225 logger.info(f'Lantern {index} is realm')
226 return LanternClass.REALM
227 elif self.appear(target_empty):
228 logger.info(f'Lantern {index} is empty')
229 return LanternClass.EMPTY
230 else:
231 # 无法判断是否是战斗的还是结界的
232 logger.info(f'Lantern {index} is battle')
233 return LanternClass.BATTLE
234
235 def _box(self):
236 # 宝箱不领

Callers 1

execute_lanternMethod · 0.95

Calls 2

appearMethod · 0.80
screenshotMethod · 0.45

Tested by

no test coverage detected