Compare commits
2 Commits
f20aab0463
...
logger_unl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
678aba2807 | ||
|
|
eb33bdd747 |
BIN
assets/cn/os_handler/MISSION_OVERVIEW_EMPTY.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/cn/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/en/os_handler/MISSION_OVERVIEW_EMPTY.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/en/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/jp/os_handler/MISSION_OVERVIEW_EMPTY.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/jp/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/tw/os_handler/MISSION_OVERVIEW_EMPTY.png
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
assets/tw/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -21,6 +21,7 @@ class OpsiVoucher(OSMap):
|
||||
self._os_voucher_enter()
|
||||
VoucherShop(self.config, self.device).run()
|
||||
self._os_voucher_exit()
|
||||
self.logger_use()
|
||||
|
||||
next_reset = get_os_next_reset()
|
||||
logger.info('OS voucher finished, delay to next reset')
|
||||
|
||||
@@ -33,6 +33,7 @@ MISSION_MONTHLY_BOSS = Button(area={'cn': (669, 188, 747, 206), 'en': (711, 226,
|
||||
MISSION_OVERVIEW_ACCEPT = Button(area={'cn': (1072, 12, 1130, 40), 'en': (1082, 16, 1123, 54), 'jp': (1069, 5, 1132, 43), 'tw': (1069, 10, 1131, 42)}, color={'cn': (230, 193, 168), 'en': (228, 174, 128), 'jp': (224, 166, 120), 'tw': (227, 180, 146)}, button={'cn': (1072, 12, 1130, 40), 'en': (1082, 16, 1123, 54), 'jp': (1069, 5, 1132, 43), 'tw': (1069, 10, 1131, 42)}, file={'cn': './assets/cn/os_handler/MISSION_OVERVIEW_ACCEPT.png', 'en': './assets/en/os_handler/MISSION_OVERVIEW_ACCEPT.png', 'jp': './assets/jp/os_handler/MISSION_OVERVIEW_ACCEPT.png', 'tw': './assets/tw/os_handler/MISSION_OVERVIEW_ACCEPT.png'})
|
||||
MISSION_OVERVIEW_ACCEPT_SINGLE = Button(area={'cn': (1066, 121, 1138, 149), 'en': (1068, 127, 1138, 149), 'jp': (1067, 121, 1138, 149), 'tw': (1066, 121, 1138, 149)}, color={'cn': (145, 182, 231), 'en': (156, 196, 237), 'jp': (133, 173, 227), 'tw': (145, 182, 231)}, button={'cn': (1066, 121, 1138, 149), 'en': (1068, 127, 1138, 149), 'jp': (1067, 121, 1138, 149), 'tw': (1066, 121, 1138, 149)}, file={'cn': './assets/cn/os_handler/MISSION_OVERVIEW_ACCEPT_SINGLE.png', 'en': './assets/en/os_handler/MISSION_OVERVIEW_ACCEPT_SINGLE.png', 'jp': './assets/jp/os_handler/MISSION_OVERVIEW_ACCEPT_SINGLE.png', 'tw': './assets/cn/os_handler/MISSION_OVERVIEW_ACCEPT_SINGLE.png'})
|
||||
MISSION_OVERVIEW_CHECK = Button(area={'cn': (127, 17, 262, 42), 'en': (128, 18, 300, 37), 'jp': (126, 16, 263, 42), 'tw': (126, 16, 263, 42)}, color={'cn': (148, 165, 209), 'en': (120, 136, 182), 'jp': (95, 109, 148), 'tw': (147, 164, 208)}, button={'cn': (127, 17, 262, 42), 'en': (128, 18, 300, 37), 'jp': (126, 16, 263, 42), 'tw': (126, 16, 263, 42)}, file={'cn': './assets/cn/os_handler/MISSION_OVERVIEW_CHECK.png', 'en': './assets/en/os_handler/MISSION_OVERVIEW_CHECK.png', 'jp': './assets/jp/os_handler/MISSION_OVERVIEW_CHECK.png', 'tw': './assets/tw/os_handler/MISSION_OVERVIEW_CHECK.png'})
|
||||
MISSION_OVERVIEW_EMPTY = Button(area={'cn': (1052, 320, 1067, 390), 'en': (1052, 320, 1067, 390), 'jp': (1052, 320, 1067, 390), 'tw': (1052, 320, 1067, 390)}, color={'cn': (144, 91, 99), 'en': (144, 91, 99), 'jp': (144, 91, 99), 'tw': (144, 91, 99)}, button={'cn': (1052, 320, 1067, 390), 'en': (1052, 320, 1067, 390), 'jp': (1052, 320, 1067, 390), 'tw': (1052, 320, 1067, 390)}, file={'cn': './assets/cn/os_handler/MISSION_OVERVIEW_EMPTY.png', 'en': './assets/en/os_handler/MISSION_OVERVIEW_EMPTY.png', 'jp': './assets/jp/os_handler/MISSION_OVERVIEW_EMPTY.png', 'tw': './assets/tw/os_handler/MISSION_OVERVIEW_EMPTY.png'})
|
||||
MISSION_OVERVIEW_ENTER = Button(area={'cn': (1111, 672, 1207, 690), 'en': (1112, 662, 1183, 689), 'jp': (1108, 670, 1224, 691), 'tw': (1110, 671, 1207, 690)}, color={'cn': (66, 68, 72), 'en': (60, 67, 78), 'jp': (38, 43, 50), 'tw': (67, 70, 75)}, button={'cn': (1105, 629, 1255, 693), 'en': (1105, 629, 1254, 693), 'jp': (1105, 629, 1254, 693), 'tw': (1105, 629, 1255, 693)}, file={'cn': './assets/cn/os_handler/MISSION_OVERVIEW_ENTER.png', 'en': './assets/en/os_handler/MISSION_OVERVIEW_ENTER.png', 'jp': './assets/jp/os_handler/MISSION_OVERVIEW_ENTER.png', 'tw': './assets/tw/os_handler/MISSION_OVERVIEW_ENTER.png'})
|
||||
MISSION_QUIT = Button(area={'cn': (1086, 111, 1152, 155), 'en': (1086, 111, 1152, 155), 'jp': (1086, 111, 1152, 155), 'tw': (1086, 111, 1152, 155)}, color={'cn': (152, 38, 35), 'en': (152, 38, 35), 'jp': (152, 38, 35), 'tw': (152, 38, 35)}, button={'cn': (1086, 111, 1152, 155), 'en': (1086, 111, 1152, 155), 'jp': (1086, 111, 1152, 155), 'tw': (1086, 111, 1152, 155)}, file={'cn': './assets/cn/os_handler/MISSION_QUIT.png', 'en': './assets/en/os_handler/MISSION_QUIT.png', 'jp': './assets/jp/os_handler/MISSION_QUIT.png', 'tw': './assets/tw/os_handler/MISSION_QUIT.png'})
|
||||
ORDER_CHECK = Button(area={'cn': (60, 623, 98, 659), 'en': (60, 623, 98, 659), 'jp': (60, 623, 98, 659), 'tw': (60, 623, 98, 659)}, color={'cn': (60, 77, 122), 'en': (60, 77, 122), 'jp': (60, 77, 122), 'tw': (60, 77, 122)}, button={'cn': (106, 77, 224, 94), 'en': (101, 79, 306, 93), 'jp': (65, 64, 147, 95), 'tw': (106, 76, 226, 95)}, file={'cn': './assets/cn/os_handler/ORDER_CHECK.png', 'en': './assets/en/os_handler/ORDER_CHECK.png', 'jp': './assets/jp/os_handler/ORDER_CHECK.png', 'tw': './assets/tw/os_handler/ORDER_CHECK.png'})
|
||||
@@ -79,6 +80,7 @@ STRATEGIC_SEARCH_ZONEMODE_REPEAT = Button(area={'cn': (548, 335, 568, 349), 'en'
|
||||
TEMPLATE_STORAGE_ABYSSAL = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_ABYSSAL.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_ABYSSAL.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_ABYSSAL.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_ABYSSAL.png'})
|
||||
TEMPLATE_STORAGE_COMBAT = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_COMBAT.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_COMBAT.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_COMBAT.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_COMBAT.png'})
|
||||
TEMPLATE_STORAGE_LOGGER = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_LOGGER.gif', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_LOGGER.gif', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_LOGGER.gif', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_LOGGER.gif'})
|
||||
TEMPLATE_STORAGE_LOGGER_UNLOCK = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_LOGGER_UNLOCK.png'})
|
||||
TEMPLATE_STORAGE_OBSCURE = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_OBSCURE.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_OBSCURE.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_OBSCURE.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_OBSCURE.png'})
|
||||
TEMPLATE_STORAGE_OFFENSE = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_OFFENSE.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_OFFENSE.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_OFFENSE.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_OFFENSE.png'})
|
||||
TEMPLATE_STORAGE_QUALITY_COMBAT = Template(file={'cn': './assets/cn/os_handler/TEMPLATE_STORAGE_QUALITY_COMBAT.png', 'en': './assets/en/os_handler/TEMPLATE_STORAGE_QUALITY_COMBAT.png', 'jp': './assets/jp/os_handler/TEMPLATE_STORAGE_QUALITY_COMBAT.png', 'tw': './assets/tw/os_handler/TEMPLATE_STORAGE_QUALITY_COMBAT.png'})
|
||||
|
||||
@@ -176,27 +176,28 @@ class MissionHandler(GlobeOperation, ZoneManager):
|
||||
offset=(200, 20), retry_wait=3, additional=self.handle_manjuu,
|
||||
skip_first_screenshot=True)
|
||||
|
||||
timeout = 5
|
||||
accept_button_timer = Timer(timeout)
|
||||
self.interval_timer[MISSION_OVERVIEW_ACCEPT_SINGLE.name] = accept_button_timer
|
||||
self.interval_timer[MISSION_OVERVIEW_ACCEPT.name] = accept_button_timer
|
||||
# MISSION_OVERVIEW_CHECK
|
||||
confirm_timer = Timer(1, count=3).start()
|
||||
success = True
|
||||
for _ in self.loop():
|
||||
if self.handle_manjuu():
|
||||
confirm_timer.reset()
|
||||
continue
|
||||
# End
|
||||
if self.appear(MISSION_OVERVIEW_EMPTY, offset=(20, 20)):
|
||||
success = True
|
||||
break
|
||||
if self.info_bar_count():
|
||||
logger.info('Unable to accept missions, because reached the maximum number of missions')
|
||||
success = False
|
||||
break
|
||||
if self.appear_then_click(MISSION_OVERVIEW_ACCEPT, offset=(20, 20), interval=0.2):
|
||||
confirm_timer.reset()
|
||||
|
||||
if self.handle_manjuu():
|
||||
continue
|
||||
else:
|
||||
# End
|
||||
if confirm_timer.reached():
|
||||
success = True
|
||||
break
|
||||
if self.appear_then_click(MISSION_OVERVIEW_ACCEPT_SINGLE, offset=(20, 20), interval=0.2):
|
||||
confirm_timer.reset()
|
||||
# Click
|
||||
if self.appear_then_click(MISSION_OVERVIEW_ACCEPT, offset=(20, 20), interval=timeout):
|
||||
continue
|
||||
if self.appear_then_click(MISSION_OVERVIEW_ACCEPT_SINGLE, offset=(20, 20), interval=timeout):
|
||||
continue
|
||||
|
||||
# is_in_globe
|
||||
|
||||
@@ -7,6 +7,7 @@ from module.logger import logger
|
||||
from module.os.globe_operation import GlobeOperation
|
||||
from module.os.globe_zone import ZoneManager
|
||||
from module.os_handler.assets import *
|
||||
from module.storage.assets import BOX_USE
|
||||
from module.ui.scroll import Scroll
|
||||
|
||||
SCROLL_STORAGE = Scroll(STORATE_SCROLL, color=(247, 211, 66))
|
||||
@@ -80,6 +81,10 @@ class StorageHandler(GlobeOperation, ZoneManager):
|
||||
if self.appear_then_click(STORAGE_USE, offset=(180, 30), interval=5):
|
||||
self.interval_reset(STORAGE_CHECK)
|
||||
continue
|
||||
if self.appear_then_click(BOX_USE, offset=(180, 30), interval=5):
|
||||
self.interval_reset(STORAGE_CHECK)
|
||||
success = True
|
||||
continue
|
||||
if self.appear_then_click(GET_ITEMS_1, interval=5):
|
||||
self.interval_reset(STORAGE_CHECK)
|
||||
success = True
|
||||
@@ -92,6 +97,8 @@ class StorageHandler(GlobeOperation, ZoneManager):
|
||||
self.device.click(CLICK_SAFE_AREA)
|
||||
success = True
|
||||
continue
|
||||
if self.handle_story_skip():
|
||||
continue
|
||||
# Use item
|
||||
if self.appear(STORAGE_CHECK, offset=(20, 20), interval=5):
|
||||
self.device.click(button)
|
||||
@@ -114,6 +121,7 @@ class StorageHandler(GlobeOperation, ZoneManager):
|
||||
|
||||
image = rgb2gray(self.device.image)
|
||||
items = TEMPLATE_STORAGE_LOGGER.match_multi(image, similarity=0.5)
|
||||
items.extend(TEMPLATE_STORAGE_LOGGER_UNLOCK.match_multi(image, similarity=0.5))
|
||||
logger.attr('Storage_logger', len(items))
|
||||
|
||||
if len(items):
|
||||
@@ -123,6 +131,12 @@ class StorageHandler(GlobeOperation, ZoneManager):
|
||||
logger.info('All loggers in storage have been used')
|
||||
break
|
||||
|
||||
def logger_use(self):
|
||||
logger.hr('Logger use')
|
||||
self.storage_enter()
|
||||
self.storage_logger_use_all()
|
||||
self.storage_quit()
|
||||
|
||||
def storage_sample_use_all(self):
|
||||
"""
|
||||
Pages:
|
||||
|
||||