Merge pull request #1272 from LmeSzinc/dev
Add: Raid event Angel of Iris (raid_20220630)
BIN
assets/cn/raid/IRIS_OCR_PT.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
assets/cn/raid/IRIS_OCR_REMAIN_EASY.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
assets/cn/raid/IRIS_OCR_REMAIN_HARD.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
assets/cn/raid/IRIS_OCR_REMAIN_NORMAL.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
assets/cn/raid/IRIS_RAID_EASY.png
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
assets/cn/raid/IRIS_RAID_HARD.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
assets/cn/raid/IRIS_RAID_NORMAL.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 10 KiB |
@@ -98,4 +98,5 @@ To add a new event, add a new row in here, and run `python -m dev_tools.event_ex
|
|||||||
| 20220526 | event 20210527 cn | Mirror Involution | - | - | - | 鏡位螺旋 |
|
| 20220526 | event 20210527 cn | Mirror Involution | - | - | - | 鏡位螺旋 |
|
||||||
| 20220616 | event 20201012 cn | Sundered Blue | 复刻划破海空之翼 | Sundered Blue Rerun | 奔る彩帆の青(復刻) | - |
|
| 20220616 | event 20201012 cn | Sundered Blue | 复刻划破海空之翼 | Sundered Blue Rerun | 奔る彩帆の青(復刻) | - |
|
||||||
| 20220616 | event 20200820 cn | Scherzo of Iron and Blood | - | - | - | 復刻鐵血音符誓言 |
|
| 20220616 | event 20200820 cn | Scherzo of Iron and Blood | - | - | - | 復刻鐵血音符誓言 |
|
||||||
| 20220630 | raid 20210708 | Cross Wave | - | - | - | 復刻穿越彼方的水線 |
|
| 20220630 | raid 20210708 | Cross Wave | - | - | - | 復刻穿越彼方的水線 |
|
||||||
|
| 20220630 | raid 20220630 | Angel of Iris | 来自鸢尾的天使 | Angel of Iris | アイリスの天使 | - |
|
||||||
@@ -90,6 +90,8 @@ class CampaignEvent(UI):
|
|||||||
'EventAb',
|
'EventAb',
|
||||||
'EventCd',
|
'EventCd',
|
||||||
'EventSp',
|
'EventSp',
|
||||||
|
'Raid',
|
||||||
|
'RaidDaily'
|
||||||
'GemsFarming',
|
'GemsFarming',
|
||||||
]
|
]
|
||||||
command = self.config.Scheduler_Command
|
command = self.config.Scheduler_Command
|
||||||
|
|||||||
@@ -3783,14 +3783,15 @@
|
|||||||
"type": "select",
|
"type": "select",
|
||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
|
"raid_20220630",
|
||||||
"raid_20210708",
|
"raid_20210708",
|
||||||
"raid_20200624",
|
"raid_20200624",
|
||||||
"raid_20220127"
|
"raid_20220127"
|
||||||
],
|
],
|
||||||
"tw": "raid_20210708",
|
"cn": "raid_20220630",
|
||||||
"cn": "raid_20220127",
|
"en": "raid_20220630",
|
||||||
"en": "raid_20220127",
|
"jp": "raid_20220630",
|
||||||
"jp": "raid_20220127"
|
"tw": "raid_20210708"
|
||||||
},
|
},
|
||||||
"Mode": {
|
"Mode": {
|
||||||
"type": "hide",
|
"type": "hide",
|
||||||
@@ -3972,14 +3973,15 @@
|
|||||||
"type": "select",
|
"type": "select",
|
||||||
"value": "campaign_main",
|
"value": "campaign_main",
|
||||||
"option": [
|
"option": [
|
||||||
|
"raid_20220630",
|
||||||
"raid_20210708",
|
"raid_20210708",
|
||||||
"raid_20200624",
|
"raid_20200624",
|
||||||
"raid_20220127"
|
"raid_20220127"
|
||||||
],
|
],
|
||||||
"tw": "raid_20210708",
|
"cn": "raid_20220630",
|
||||||
"cn": "raid_20220127",
|
"en": "raid_20220630",
|
||||||
"en": "raid_20220127",
|
"jp": "raid_20220630",
|
||||||
"jp": "raid_20220127"
|
"tw": "raid_20210708"
|
||||||
},
|
},
|
||||||
"Mode": {
|
"Mode": {
|
||||||
"type": "hide",
|
"type": "hide",
|
||||||
|
|||||||
@@ -497,6 +497,8 @@
|
|||||||
"name": "Event Name",
|
"name": "Event Name",
|
||||||
"help": "Automatically selects to the latest event",
|
"help": "Automatically selects to the latest event",
|
||||||
"campaign_main": "campaign_main",
|
"campaign_main": "campaign_main",
|
||||||
|
"raid_20220630": "Angel of Iris",
|
||||||
|
"raid_20210708": "Cross Wave rerun",
|
||||||
"event_20200820_cn": "Scherzo of Iron and Blood Rerun",
|
"event_20200820_cn": "Scherzo of Iron and Blood Rerun",
|
||||||
"event_20201012_cn": "Sundered Blue Rerun",
|
"event_20201012_cn": "Sundered Blue Rerun",
|
||||||
"event_20210527_cn": "Mirror Involution",
|
"event_20210527_cn": "Mirror Involution",
|
||||||
@@ -519,7 +521,6 @@
|
|||||||
"event_20211111_cn": "The Flame-Touched Dagger",
|
"event_20211111_cn": "The Flame-Touched Dagger",
|
||||||
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
||||||
"event_20211028_cn": "Skybound Oratorio Rerun",
|
"event_20211028_cn": "Skybound Oratorio Rerun",
|
||||||
"raid_20210708": "Cross Wave rerun",
|
|
||||||
"event_20200917_cn": "Dreamwakers Butterfly",
|
"event_20200917_cn": "Dreamwakers Butterfly",
|
||||||
"event_20210916_cn": "Upon the Shimmering Blue",
|
"event_20210916_cn": "Upon the Shimmering Blue",
|
||||||
"event_20210722_cn": "Azur Anthem",
|
"event_20210722_cn": "Azur Anthem",
|
||||||
|
|||||||
@@ -497,6 +497,8 @@
|
|||||||
"name": "Campaign.Event.name",
|
"name": "Campaign.Event.name",
|
||||||
"help": "Campaign.Event.help",
|
"help": "Campaign.Event.help",
|
||||||
"campaign_main": "campaign_main",
|
"campaign_main": "campaign_main",
|
||||||
|
"raid_20220630": "アイリスの天使",
|
||||||
|
"raid_20210708": "交錯する新たな波 (復刻)",
|
||||||
"event_20200820_cn": "黒鉄の楽章 誓いの海(復刻)",
|
"event_20200820_cn": "黒鉄の楽章 誓いの海(復刻)",
|
||||||
"event_20201012_cn": "奔る彩帆の青(復刻)",
|
"event_20201012_cn": "奔る彩帆の青(復刻)",
|
||||||
"event_20210527_cn": "照らす螺旋の鏡海",
|
"event_20210527_cn": "照らす螺旋の鏡海",
|
||||||
@@ -519,7 +521,6 @@
|
|||||||
"event_20211111_cn": "燈火のシニエ",
|
"event_20211111_cn": "燈火のシニエ",
|
||||||
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
||||||
"event_20211028_cn": "神穹を衝く聖歌(復刻)",
|
"event_20211028_cn": "神穹を衝く聖歌(復刻)",
|
||||||
"raid_20210708": "交錯する新たな波 (復刻)",
|
|
||||||
"event_20200917_cn": "刹那觀る胡蝶の夢",
|
"event_20200917_cn": "刹那觀る胡蝶の夢",
|
||||||
"event_20210916_cn": "駆けよ 碧海の吹き風",
|
"event_20210916_cn": "駆けよ 碧海の吹き風",
|
||||||
"event_20210722_cn": "海に響くアイドルの歌",
|
"event_20210722_cn": "海に響くアイドルの歌",
|
||||||
|
|||||||
@@ -497,6 +497,8 @@
|
|||||||
"name": "活动名称",
|
"name": "活动名称",
|
||||||
"help": "自动选择至最新的活动",
|
"help": "自动选择至最新的活动",
|
||||||
"campaign_main": "主线图",
|
"campaign_main": "主线图",
|
||||||
|
"raid_20220630": "来自鸢尾的天使",
|
||||||
|
"raid_20210708": "复刻穿越彼方的水线",
|
||||||
"event_20200820_cn": "复刻铁血音符誓言",
|
"event_20200820_cn": "复刻铁血音符誓言",
|
||||||
"event_20201012_cn": "复刻划破海空之翼",
|
"event_20201012_cn": "复刻划破海空之翼",
|
||||||
"event_20210527_cn": "镜位螺旋",
|
"event_20210527_cn": "镜位螺旋",
|
||||||
@@ -519,7 +521,6 @@
|
|||||||
"event_20211111_cn": "杰诺瓦的焰火",
|
"event_20211111_cn": "杰诺瓦的焰火",
|
||||||
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
"event_20211028_tw": "復刻光與影的鳶尾之華",
|
||||||
"event_20211028_cn": "复刻穹顶下的圣咏曲",
|
"event_20211028_cn": "复刻穹顶下的圣咏曲",
|
||||||
"raid_20210708": "复刻穿越彼方的水线",
|
|
||||||
"event_20200917_cn": "蝶海梦花",
|
"event_20200917_cn": "蝶海梦花",
|
||||||
"event_20210916_cn": "碧海光粼",
|
"event_20210916_cn": "碧海光粼",
|
||||||
"event_20210722_cn": "响彻碧海的偶像歌",
|
"event_20210722_cn": "响彻碧海的偶像歌",
|
||||||
|
|||||||
@@ -497,6 +497,7 @@
|
|||||||
"name": "活動名稱",
|
"name": "活動名稱",
|
||||||
"help": "自動選擇至最新的活動圖",
|
"help": "自動選擇至最新的活動圖",
|
||||||
"campaign_main": "主線圖",
|
"campaign_main": "主線圖",
|
||||||
|
"raid_20220630": "Angel of Iris",
|
||||||
"raid_20210708": "復刻穿越彼方的水線",
|
"raid_20210708": "復刻穿越彼方的水線",
|
||||||
"event_20200820_cn": "復刻鐵血音符誓言",
|
"event_20200820_cn": "復刻鐵血音符誓言",
|
||||||
"event_20201012_cn": "劃破海空之翼",
|
"event_20201012_cn": "劃破海空之翼",
|
||||||
|
|||||||
@@ -16,6 +16,13 @@ ESSEX_OCR_REMAIN_NORMAL = Button(area={'cn': (1049, 387, 1099, 402), 'en': (1049
|
|||||||
ESSEX_RAID_EASY = Button(area={'cn': (1136, 501, 1199, 544), 'en': (1152, 503, 1196, 536), 'jp': (1143, 496, 1209, 521), 'tw': (1142, 496, 1198, 543)}, color={'cn': (127, 177, 243), 'en': (130, 182, 240), 'jp': (162, 192, 225), 'tw': (137, 182, 239)}, button={'cn': (1136, 501, 1199, 544), 'en': (1152, 503, 1196, 536), 'jp': (1143, 496, 1209, 521), 'tw': (1142, 496, 1198, 543)}, file={'cn': './assets/cn/raid/ESSEX_RAID_EASY.png', 'en': './assets/en/raid/ESSEX_RAID_EASY.png', 'jp': './assets/jp/raid/ESSEX_RAID_EASY.png', 'tw': './assets/tw/raid/ESSEX_RAID_EASY.png'})
|
ESSEX_RAID_EASY = Button(area={'cn': (1136, 501, 1199, 544), 'en': (1152, 503, 1196, 536), 'jp': (1143, 496, 1209, 521), 'tw': (1142, 496, 1198, 543)}, color={'cn': (127, 177, 243), 'en': (130, 182, 240), 'jp': (162, 192, 225), 'tw': (137, 182, 239)}, button={'cn': (1136, 501, 1199, 544), 'en': (1152, 503, 1196, 536), 'jp': (1143, 496, 1209, 521), 'tw': (1142, 496, 1198, 543)}, file={'cn': './assets/cn/raid/ESSEX_RAID_EASY.png', 'en': './assets/en/raid/ESSEX_RAID_EASY.png', 'jp': './assets/jp/raid/ESSEX_RAID_EASY.png', 'tw': './assets/tw/raid/ESSEX_RAID_EASY.png'})
|
||||||
ESSEX_RAID_HARD = Button(area={'cn': (1155, 271, 1215, 313), 'en': (1155, 264, 1212, 303), 'jp': (1138, 266, 1202, 291), 'tw': (1157, 266, 1215, 313)}, color={'cn': (131, 179, 241), 'en': (132, 179, 238), 'jp': (154, 186, 230), 'tw': (139, 182, 238)}, button={'cn': (1155, 271, 1215, 313), 'en': (1155, 264, 1212, 303), 'jp': (1138, 266, 1202, 291), 'tw': (1157, 266, 1215, 313)}, file={'cn': './assets/cn/raid/ESSEX_RAID_HARD.png', 'en': './assets/en/raid/ESSEX_RAID_HARD.png', 'jp': './assets/jp/raid/ESSEX_RAID_HARD.png', 'tw': './assets/tw/raid/ESSEX_RAID_HARD.png'})
|
ESSEX_RAID_HARD = Button(area={'cn': (1155, 271, 1215, 313), 'en': (1155, 264, 1212, 303), 'jp': (1138, 266, 1202, 291), 'tw': (1157, 266, 1215, 313)}, color={'cn': (131, 179, 241), 'en': (132, 179, 238), 'jp': (154, 186, 230), 'tw': (139, 182, 238)}, button={'cn': (1155, 271, 1215, 313), 'en': (1155, 264, 1212, 303), 'jp': (1138, 266, 1202, 291), 'tw': (1157, 266, 1215, 313)}, file={'cn': './assets/cn/raid/ESSEX_RAID_HARD.png', 'en': './assets/en/raid/ESSEX_RAID_HARD.png', 'jp': './assets/jp/raid/ESSEX_RAID_HARD.png', 'tw': './assets/tw/raid/ESSEX_RAID_HARD.png'})
|
||||||
ESSEX_RAID_NORMAL = Button(area={'cn': (1111, 385, 1176, 428), 'en': (1132, 385, 1185, 421), 'jp': (1118, 381, 1188, 404), 'tw': (1120, 381, 1175, 428)}, color={'cn': (123, 173, 242), 'en': (126, 182, 241), 'jp': (163, 190, 224), 'tw': (130, 178, 239)}, button={'cn': (1111, 385, 1176, 428), 'en': (1132, 385, 1185, 421), 'jp': (1118, 381, 1188, 404), 'tw': (1120, 381, 1175, 428)}, file={'cn': './assets/cn/raid/ESSEX_RAID_NORMAL.png', 'en': './assets/en/raid/ESSEX_RAID_NORMAL.png', 'jp': './assets/jp/raid/ESSEX_RAID_NORMAL.png', 'tw': './assets/tw/raid/ESSEX_RAID_NORMAL.png'})
|
ESSEX_RAID_NORMAL = Button(area={'cn': (1111, 385, 1176, 428), 'en': (1132, 385, 1185, 421), 'jp': (1118, 381, 1188, 404), 'tw': (1120, 381, 1175, 428)}, color={'cn': (123, 173, 242), 'en': (126, 182, 241), 'jp': (163, 190, 224), 'tw': (130, 178, 239)}, button={'cn': (1111, 385, 1176, 428), 'en': (1132, 385, 1185, 421), 'jp': (1118, 381, 1188, 404), 'tw': (1120, 381, 1175, 428)}, file={'cn': './assets/cn/raid/ESSEX_RAID_NORMAL.png', 'en': './assets/en/raid/ESSEX_RAID_NORMAL.png', 'jp': './assets/jp/raid/ESSEX_RAID_NORMAL.png', 'tw': './assets/tw/raid/ESSEX_RAID_NORMAL.png'})
|
||||||
|
IRIS_OCR_PT = Button(area={'cn': (1140, 607, 1280, 641), 'en': (1140, 607, 1280, 641), 'jp': (1140, 607, 1280, 641), 'tw': (1140, 607, 1280, 641)}, color={'cn': (40, 43, 36), 'en': (40, 43, 36), 'jp': (40, 43, 36), 'tw': (40, 43, 36)}, button={'cn': (1140, 607, 1280, 641), 'en': (1140, 607, 1280, 641), 'jp': (1140, 607, 1280, 641), 'tw': (1140, 607, 1280, 641)}, file={'cn': './assets/cn/raid/IRIS_OCR_PT.png', 'en': './assets/cn/raid/IRIS_OCR_PT.png', 'jp': './assets/cn/raid/IRIS_OCR_PT.png', 'tw': './assets/cn/raid/IRIS_OCR_PT.png'})
|
||||||
|
IRIS_OCR_REMAIN_EASY = Button(area={'cn': (1047, 514, 1103, 534), 'en': (1047, 514, 1103, 534), 'jp': (1047, 514, 1103, 534), 'tw': (1047, 514, 1103, 534)}, color={'cn': (50, 49, 44), 'en': (50, 49, 44), 'jp': (50, 49, 44), 'tw': (50, 49, 44)}, button={'cn': (1047, 514, 1103, 534), 'en': (1047, 514, 1103, 534), 'jp': (1047, 514, 1103, 534), 'tw': (1047, 514, 1103, 534)}, file={'cn': './assets/cn/raid/IRIS_OCR_REMAIN_EASY.png', 'en': './assets/cn/raid/IRIS_OCR_REMAIN_EASY.png', 'jp': './assets/cn/raid/IRIS_OCR_REMAIN_EASY.png', 'tw': './assets/cn/raid/IRIS_OCR_REMAIN_EASY.png'})
|
||||||
|
IRIS_OCR_REMAIN_HARD = Button(area={'cn': (1166, 312, 1221, 332), 'en': (1166, 312, 1221, 332), 'jp': (1166, 312, 1221, 332), 'tw': (1166, 312, 1221, 332)}, color={'cn': (48, 44, 38), 'en': (48, 44, 38), 'jp': (48, 44, 38), 'tw': (48, 44, 38)}, button={'cn': (1166, 312, 1221, 332), 'en': (1166, 312, 1221, 332), 'jp': (1166, 312, 1221, 332), 'tw': (1166, 312, 1221, 332)}, file={'cn': './assets/cn/raid/IRIS_OCR_REMAIN_HARD.png', 'en': './assets/cn/raid/IRIS_OCR_REMAIN_HARD.png', 'jp': './assets/cn/raid/IRIS_OCR_REMAIN_HARD.png', 'tw': './assets/cn/raid/IRIS_OCR_REMAIN_HARD.png'})
|
||||||
|
IRIS_OCR_REMAIN_NORMAL = Button(area={'cn': (1130, 413, 1185, 433), 'en': (1130, 413, 1185, 433), 'jp': (1130, 413, 1185, 433), 'tw': (1130, 413, 1185, 433)}, color={'cn': (45, 44, 38), 'en': (45, 44, 38), 'jp': (45, 44, 38), 'tw': (45, 44, 38)}, button={'cn': (1130, 413, 1185, 433), 'en': (1130, 413, 1185, 433), 'jp': (1130, 413, 1185, 433), 'tw': (1130, 413, 1185, 433)}, file={'cn': './assets/cn/raid/IRIS_OCR_REMAIN_NORMAL.png', 'en': './assets/cn/raid/IRIS_OCR_REMAIN_NORMAL.png', 'jp': './assets/cn/raid/IRIS_OCR_REMAIN_NORMAL.png', 'tw': './assets/cn/raid/IRIS_OCR_REMAIN_NORMAL.png'})
|
||||||
|
IRIS_RAID_EASY = Button(area={'cn': (968, 504, 1023, 531), 'en': (968, 504, 1023, 531), 'jp': (968, 504, 1023, 531), 'tw': (968, 504, 1023, 531)}, color={'cn': (95, 95, 91), 'en': (95, 95, 91), 'jp': (95, 95, 91), 'tw': (95, 95, 91)}, button={'cn': (968, 504, 1023, 531), 'en': (968, 504, 1023, 531), 'jp': (968, 504, 1023, 531), 'tw': (968, 504, 1023, 531)}, file={'cn': './assets/cn/raid/IRIS_RAID_EASY.png', 'en': './assets/cn/raid/IRIS_RAID_EASY.png', 'jp': './assets/cn/raid/IRIS_RAID_EASY.png', 'tw': './assets/cn/raid/IRIS_RAID_EASY.png'})
|
||||||
|
IRIS_RAID_HARD = Button(area={'cn': (1089, 302, 1143, 329), 'en': (1089, 302, 1143, 329), 'jp': (1089, 302, 1143, 329), 'tw': (1089, 302, 1143, 329)}, color={'cn': (106, 105, 101), 'en': (106, 105, 101), 'jp': (106, 105, 101), 'tw': (106, 105, 101)}, button={'cn': (1089, 302, 1143, 329), 'en': (1089, 302, 1143, 329), 'jp': (1089, 302, 1143, 329), 'tw': (1089, 302, 1143, 329)}, file={'cn': './assets/cn/raid/IRIS_RAID_HARD.png', 'en': './assets/cn/raid/IRIS_RAID_HARD.png', 'jp': './assets/cn/raid/IRIS_RAID_HARD.png', 'tw': './assets/cn/raid/IRIS_RAID_HARD.png'})
|
||||||
|
IRIS_RAID_NORMAL = Button(area={'cn': (1052, 403, 1107, 430), 'en': (1052, 403, 1107, 430), 'jp': (1052, 403, 1107, 430), 'tw': (1052, 403, 1107, 430)}, color={'cn': (101, 100, 97), 'en': (101, 100, 97), 'jp': (101, 100, 97), 'tw': (101, 100, 97)}, button={'cn': (1052, 403, 1107, 430), 'en': (1052, 403, 1107, 430), 'jp': (1052, 403, 1107, 430), 'tw': (1052, 403, 1107, 430)}, file={'cn': './assets/cn/raid/IRIS_RAID_NORMAL.png', 'en': './assets/cn/raid/IRIS_RAID_NORMAL.png', 'jp': './assets/cn/raid/IRIS_RAID_NORMAL.png', 'tw': './assets/cn/raid/IRIS_RAID_NORMAL.png'})
|
||||||
RAID_FLEET_PREPARATION = Button(area={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, color={'cn': (236, 188, 115), 'en': (236, 184, 117), 'jp': (235, 183, 103), 'tw': (236, 188, 115)}, button={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, file={'cn': './assets/cn/raid/RAID_FLEET_PREPARATION.png', 'en': './assets/en/raid/RAID_FLEET_PREPARATION.png', 'jp': './assets/jp/raid/RAID_FLEET_PREPARATION.png', 'tw': './assets/tw/raid/RAID_FLEET_PREPARATION.png'})
|
RAID_FLEET_PREPARATION = Button(area={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, color={'cn': (236, 188, 115), 'en': (236, 184, 117), 'jp': (235, 183, 103), 'tw': (236, 188, 115)}, button={'cn': (983, 577, 1181, 638), 'en': (1041, 592, 1121, 631), 'jp': (983, 579, 1180, 635), 'tw': (983, 577, 1181, 638)}, file={'cn': './assets/cn/raid/RAID_FLEET_PREPARATION.png', 'en': './assets/en/raid/RAID_FLEET_PREPARATION.png', 'jp': './assets/jp/raid/RAID_FLEET_PREPARATION.png', 'tw': './assets/tw/raid/RAID_FLEET_PREPARATION.png'})
|
||||||
SURUGA_OCR_REMAIN_EASY = Button(area={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, color={'cn': (161, 161, 161), 'en': (161, 161, 161), 'jp': (155, 155, 155), 'tw': (155, 155, 155)}, button={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_EASY.png'})
|
SURUGA_OCR_REMAIN_EASY = Button(area={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, color={'cn': (161, 161, 161), 'en': (161, 161, 161), 'jp': (155, 155, 155), 'tw': (155, 155, 155)}, button={'cn': (1093, 549, 1141, 563), 'en': (1093, 549, 1141, 563), 'jp': (1096, 549, 1141, 563), 'tw': (1096, 549, 1141, 563)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_EASY.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_EASY.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_EASY.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_EASY.png'})
|
||||||
SURUGA_OCR_REMAIN_HARD = Button(area={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, color={'cn': (158, 158, 159), 'en': (158, 158, 159), 'jp': (173, 173, 173), 'tw': (168, 168, 168)}, button={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_HARD.png'})
|
SURUGA_OCR_REMAIN_HARD = Button(area={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, color={'cn': (158, 158, 159), 'en': (158, 158, 159), 'jp': (173, 173, 173), 'tw': (168, 168, 168)}, button={'cn': (1071, 318, 1118, 332), 'en': (1071, 318, 1118, 332), 'jp': (1073, 318, 1118, 331), 'tw': (1079, 318, 1118, 332)}, file={'cn': './assets/cn/raid/SURUGA_OCR_REMAIN_HARD.png', 'en': './assets/en/raid/SURUGA_OCR_REMAIN_HARD.png', 'jp': './assets/jp/raid/SURUGA_OCR_REMAIN_HARD.png', 'tw': './assets/tw/raid/SURUGA_OCR_REMAIN_HARD.png'})
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
from module.campaign.campaign_event import CampaignEvent
|
||||||
from module.campaign.run import OCR_OIL
|
from module.campaign.run import OCR_OIL
|
||||||
from module.combat.assets import *
|
from module.combat.assets import *
|
||||||
from module.combat.combat import Combat
|
from module.combat.combat import Combat
|
||||||
from module.exception import ScriptError
|
from module.exception import ScriptError
|
||||||
from module.logger import logger
|
from module.logger import logger
|
||||||
from module.map.map_operation import MapOperation
|
from module.map.map_operation import MapOperation
|
||||||
from module.ocr.ocr import DigitCounter
|
from module.ocr.ocr import Digit, DigitCounter
|
||||||
from module.raid.assets import *
|
from module.raid.assets import *
|
||||||
from module.ui.assets import RAID_CHECK
|
from module.ui.assets import RAID_CHECK
|
||||||
|
|
||||||
@@ -36,6 +37,8 @@ def raid_name_shorten(name):
|
|||||||
return 'SURUGA'
|
return 'SURUGA'
|
||||||
elif name == 'raid_20220127':
|
elif name == 'raid_20220127':
|
||||||
return 'BRISTOL'
|
return 'BRISTOL'
|
||||||
|
elif name == 'raid_20220630':
|
||||||
|
return 'IRIS'
|
||||||
else:
|
else:
|
||||||
raise ScriptError(f'Unknown raid name: {name}')
|
raise ScriptError(f'Unknown raid name: {name}')
|
||||||
|
|
||||||
@@ -63,23 +66,47 @@ def raid_ocr(raid, mode):
|
|||||||
mode (str): easy, normal, hard
|
mode (str): easy, normal, hard
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
RaidCounter:
|
DigitCounter:
|
||||||
"""
|
"""
|
||||||
raid = raid_name_shorten(raid)
|
raid = raid_name_shorten(raid)
|
||||||
key = f'{raid}_OCR_REMAIN_{mode.upper()}'
|
key = f'{raid}_OCR_REMAIN_{mode.upper()}'
|
||||||
try:
|
try:
|
||||||
button = globals()[key]
|
button = globals()[key]
|
||||||
|
# Old raids use RaidCounter to compatible with old OCR model and its assets
|
||||||
|
# New raids use DigitCounter
|
||||||
if raid == 'ESSEX':
|
if raid == 'ESSEX':
|
||||||
return RaidCounter(button, letter=(57, 52, 255), threshold=128)
|
return RaidCounter(button, letter=(57, 52, 255), threshold=128)
|
||||||
elif raid == 'SURUGA':
|
elif raid == 'SURUGA':
|
||||||
return RaidCounter(button, letter=(49, 48, 49), threshold=128)
|
return RaidCounter(button, letter=(49, 48, 49), threshold=128)
|
||||||
elif raid == 'BRISTOL':
|
elif raid == 'BRISTOL':
|
||||||
return RaidCounter(button, letter=(214, 231, 219), threshold=128)
|
return RaidCounter(button, letter=(214, 231, 219), threshold=128)
|
||||||
|
elif raid == 'IRIS':
|
||||||
|
# Font is not in model 'azur_lane', so use general ocr model
|
||||||
|
return DigitCounter(button, letter=(148, 138, 123), threshold=128, lang='cnocr')
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise ScriptError(f'Raid entrance asset not exists: {key}')
|
raise ScriptError(f'Raid entrance asset not exists: {key}')
|
||||||
|
|
||||||
|
|
||||||
class Raid(MapOperation, Combat):
|
def pt_ocr(raid):
|
||||||
|
"""
|
||||||
|
Args:
|
||||||
|
raid (str): Raid name, such as raid_20200624, raid_20210708.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Digit:
|
||||||
|
"""
|
||||||
|
raid = raid_name_shorten(raid)
|
||||||
|
key = f'{raid}_OCR_PT'
|
||||||
|
try:
|
||||||
|
button = globals()[key]
|
||||||
|
if raid == 'IRIS':
|
||||||
|
return Digit(button, letter=(181, 178, 165), threshold=128)
|
||||||
|
except KeyError:
|
||||||
|
# raise ScriptError(f'Raid pt ocr asset not exists: {key}')
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
class Raid(MapOperation, Combat, CampaignEvent):
|
||||||
def combat_preparation(self, balance_hp=False, emotion_reduce=False, auto=True, fleet_index=1):
|
def combat_preparation(self, balance_hp=False, emotion_reduce=False, auto=True, fleet_index=1):
|
||||||
"""
|
"""
|
||||||
Args:
|
Args:
|
||||||
@@ -158,7 +185,12 @@ class Raid(MapOperation, Combat):
|
|||||||
else:
|
else:
|
||||||
self.device.screenshot()
|
self.device.screenshot()
|
||||||
|
|
||||||
if self.appear_then_click(entrance, offset=(10, 10), interval=5):
|
if self.appear(entrance, offset=(10, 10), interval=5):
|
||||||
|
# Items appear from right
|
||||||
|
# Check PT when entrance appear
|
||||||
|
if self.event_pt_limit_triggered():
|
||||||
|
self.config.task_stop()
|
||||||
|
self.device.click(entrance)
|
||||||
continue
|
continue
|
||||||
if self.appear_then_click(RAID_FLEET_PREPARATION, interval=5):
|
if self.appear_then_click(RAID_FLEET_PREPARATION, interval=5):
|
||||||
continue
|
continue
|
||||||
@@ -191,3 +223,18 @@ class Raid(MapOperation, Combat):
|
|||||||
self.raid_enter(mode=mode, raid=raid)
|
self.raid_enter(mode=mode, raid=raid)
|
||||||
self.combat(balance_hp=False, expected_end=self.raid_expected_end)
|
self.combat(balance_hp=False, expected_end=self.raid_expected_end)
|
||||||
logger.hr('Raid End')
|
logger.hr('Raid End')
|
||||||
|
|
||||||
|
def get_event_pt(self):
|
||||||
|
"""
|
||||||
|
Returns:
|
||||||
|
int: Raid PT, 0 if raid event is not supported
|
||||||
|
|
||||||
|
Pages:
|
||||||
|
in: page_raid
|
||||||
|
"""
|
||||||
|
ocr = pt_ocr(self.config.Campaign_Event)
|
||||||
|
if ocr is not None:
|
||||||
|
return ocr.ocr(self.device.image)
|
||||||
|
else:
|
||||||
|
logger.info(f'Raid {self.config.Campaign_Event} does not support PT ocr, skip')
|
||||||
|
return 0
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ MISSION_CHECK = Button(area={'cn': (120, 15, 173, 40), 'en': (123, 18, 221, 37),
|
|||||||
MUNITIONS_CHECK = Button(area={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, color={'cn': (151, 165, 203), 'en': (112, 126, 165), 'jp': (160, 176, 211), 'tw': (133, 148, 188)}, button={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, file={'cn': './assets/cn/ui/MUNITIONS_CHECK.png', 'en': './assets/en/ui/MUNITIONS_CHECK.png', 'jp': './assets/jp/ui/MUNITIONS_CHECK.png', 'tw': './assets/tw/ui/MUNITIONS_CHECK.png'})
|
MUNITIONS_CHECK = Button(area={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, color={'cn': (151, 165, 203), 'en': (112, 126, 165), 'jp': (160, 176, 211), 'tw': (133, 148, 188)}, button={'cn': (121, 14, 230, 39), 'en': (115, 16, 235, 36), 'jp': (133, 14, 189, 39), 'tw': (117, 12, 232, 41)}, file={'cn': './assets/cn/ui/MUNITIONS_CHECK.png', 'en': './assets/en/ui/MUNITIONS_CHECK.png', 'jp': './assets/jp/ui/MUNITIONS_CHECK.png', 'tw': './assets/tw/ui/MUNITIONS_CHECK.png'})
|
||||||
OS_CHECK = Button(area={'cn': (587, 20, 623, 42), 'en': (587, 20, 623, 42), 'jp': (587, 20, 623, 42), 'tw': (587, 20, 623, 42)}, color={'cn': (159, 168, 177), 'en': (159, 168, 177), 'jp': (159, 168, 177), 'tw': (159, 168, 177)}, button={'cn': (587, 20, 623, 42), 'en': (587, 20, 623, 42), 'jp': (587, 20, 623, 42), 'tw': (587, 20, 623, 42)}, file={'cn': './assets/cn/ui/OS_CHECK.png', 'en': './assets/en/ui/OS_CHECK.png', 'jp': './assets/jp/ui/OS_CHECK.png', 'tw': './assets/tw/ui/OS_CHECK.png'})
|
OS_CHECK = Button(area={'cn': (587, 20, 623, 42), 'en': (587, 20, 623, 42), 'jp': (587, 20, 623, 42), 'tw': (587, 20, 623, 42)}, color={'cn': (159, 168, 177), 'en': (159, 168, 177), 'jp': (159, 168, 177), 'tw': (159, 168, 177)}, button={'cn': (587, 20, 623, 42), 'en': (587, 20, 623, 42), 'jp': (587, 20, 623, 42), 'tw': (587, 20, 623, 42)}, file={'cn': './assets/cn/ui/OS_CHECK.png', 'en': './assets/en/ui/OS_CHECK.png', 'jp': './assets/jp/ui/OS_CHECK.png', 'tw': './assets/tw/ui/OS_CHECK.png'})
|
||||||
PLAYER_CHECK = Button(area={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, color={'cn': (237, 204, 127), 'en': (197, 156, 97), 'jp': (228, 187, 117), 'tw': (237, 204, 127)}, button={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, file={'cn': './assets/cn/ui/PLAYER_CHECK.png', 'en': './assets/en/ui/PLAYER_CHECK.png', 'jp': './assets/jp/ui/PLAYER_CHECK.png', 'tw': './assets/tw/ui/PLAYER_CHECK.png'})
|
PLAYER_CHECK = Button(area={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, color={'cn': (237, 204, 127), 'en': (197, 156, 97), 'jp': (228, 187, 117), 'tw': (237, 204, 127)}, button={'cn': (28, 668, 139, 688), 'en': (11, 649, 157, 705), 'jp': (26, 665, 141, 692), 'tw': (28, 668, 139, 688)}, file={'cn': './assets/cn/ui/PLAYER_CHECK.png', 'en': './assets/en/ui/PLAYER_CHECK.png', 'jp': './assets/jp/ui/PLAYER_CHECK.png', 'tw': './assets/tw/ui/PLAYER_CHECK.png'})
|
||||||
RAID_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (114, 13, 230, 34), 'jp': (118, 14, 226, 39), 'tw': (117, 13, 228, 40)}, color={'cn': (143, 161, 202), 'en': (106, 121, 161), 'jp': (149, 167, 206), 'tw': (141, 160, 200)}, button={'cn': (118, 14, 227, 39), 'en': (114, 13, 230, 34), 'jp': (118, 14, 226, 39), 'tw': (117, 13, 228, 40)}, file={'cn': './assets/cn/ui/RAID_CHECK.png', 'en': './assets/en/ui/RAID_CHECK.png', 'jp': './assets/jp/ui/RAID_CHECK.png', 'tw': './assets/tw/ui/RAID_CHECK.png'})
|
RAID_CHECK = Button(area={'cn': (118, 14, 227, 39), 'en': (114, 13, 230, 34), 'jp': (118, 14, 226, 39), 'tw': (119, 13, 226, 38)}, color={'cn': (143, 161, 202), 'en': (106, 121, 161), 'jp': (149, 167, 206), 'tw': (153, 167, 205)}, button={'cn': (118, 14, 227, 39), 'en': (114, 13, 230, 34), 'jp': (118, 14, 226, 39), 'tw': (119, 13, 226, 38)}, file={'cn': './assets/cn/ui/RAID_CHECK.png', 'en': './assets/en/ui/RAID_CHECK.png', 'jp': './assets/jp/ui/RAID_CHECK.png', 'tw': './assets/tw/ui/RAID_CHECK.png'})
|
||||||
RESEARCH_CHECK = Button(area={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, color={'cn': (165, 179, 215), 'en': (118, 133, 174), 'jp': (135, 154, 195), 'tw': (148, 165, 205)}, button={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, file={'cn': './assets/cn/ui/RESEARCH_CHECK.png', 'en': './assets/en/ui/RESEARCH_CHECK.png', 'jp': './assets/jp/ui/RESEARCH_CHECK.png', 'tw': './assets/tw/ui/RESEARCH_CHECK.png'})
|
RESEARCH_CHECK = Button(area={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, color={'cn': (165, 179, 215), 'en': (118, 133, 174), 'jp': (135, 154, 195), 'tw': (148, 165, 205)}, button={'cn': (118, 15, 170, 39), 'en': (119, 14, 259, 36), 'jp': (117, 14, 171, 40), 'tw': (117, 13, 172, 40)}, file={'cn': './assets/cn/ui/RESEARCH_CHECK.png', 'en': './assets/en/ui/RESEARCH_CHECK.png', 'jp': './assets/jp/ui/RESEARCH_CHECK.png', 'tw': './assets/tw/ui/RESEARCH_CHECK.png'})
|
||||||
RESHMENU_CHECK = Button(area={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, color={'cn': (156, 171, 209), 'en': (100, 113, 152), 'jp': (136, 149, 186), 'tw': (147, 162, 201)}, button={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, file={'cn': './assets/cn/ui/RESHMENU_CHECK.png', 'en': './assets/en/ui/RESHMENU_CHECK.png', 'jp': './assets/jp/ui/RESHMENU_CHECK.png', 'tw': './assets/tw/ui/RESHMENU_CHECK.png'})
|
RESHMENU_CHECK = Button(area={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, color={'cn': (156, 171, 209), 'en': (100, 113, 152), 'jp': (136, 149, 186), 'tw': (147, 162, 201)}, button={'cn': (121, 15, 174, 39), 'en': (118, 14, 279, 35), 'jp': (116, 13, 174, 42), 'tw': (121, 14, 175, 40)}, file={'cn': './assets/cn/ui/RESHMENU_CHECK.png', 'en': './assets/en/ui/RESHMENU_CHECK.png', 'jp': './assets/jp/ui/RESHMENU_CHECK.png', 'tw': './assets/tw/ui/RESHMENU_CHECK.png'})
|
||||||
RESHMENU_GOTO_META = Button(area={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, color={'cn': (144, 156, 183), 'en': (141, 152, 181), 'jp': (144, 156, 183), 'tw': (144, 156, 183)}, button={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, file={'cn': './assets/cn/ui/RESHMENU_GOTO_META.png', 'en': './assets/en/ui/RESHMENU_GOTO_META.png', 'jp': './assets/jp/ui/RESHMENU_GOTO_META.png', 'tw': './assets/cn/ui/RESHMENU_GOTO_META.png'})
|
RESHMENU_GOTO_META = Button(area={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, color={'cn': (144, 156, 183), 'en': (141, 152, 181), 'jp': (144, 156, 183), 'tw': (144, 156, 183)}, button={'cn': (1076, 254, 1155, 334), 'en': (1102, 251, 1193, 332), 'jp': (1076, 254, 1155, 334), 'tw': (1076, 254, 1155, 334)}, file={'cn': './assets/cn/ui/RESHMENU_GOTO_META.png', 'en': './assets/en/ui/RESHMENU_GOTO_META.png', 'jp': './assets/jp/ui/RESHMENU_GOTO_META.png', 'tw': './assets/cn/ui/RESHMENU_GOTO_META.png'})
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from module.map.assets import (FLEET_PREPARATION, MAP_PREPARATION,
|
|||||||
from module.ocr.ocr import Ocr
|
from module.ocr.ocr import Ocr
|
||||||
from module.os_handler.assets import (EXCHANGE_CHECK, RESET_FLEET_PREPARATION,
|
from module.os_handler.assets import (EXCHANGE_CHECK, RESET_FLEET_PREPARATION,
|
||||||
RESET_TICKET_POPUP)
|
RESET_TICKET_POPUP)
|
||||||
|
from module.raid.assets import RAID_FLEET_PREPARATION
|
||||||
from module.ui.assets import (BACK_ARROW, DORM_FEED_CANCEL, DORM_INFO,
|
from module.ui.assets import (BACK_ARROW, DORM_FEED_CANCEL, DORM_INFO,
|
||||||
DORM_TROPHY_CONFIRM, EVENT_LIST_CHECK, GOTO_MAIN,
|
DORM_TROPHY_CONFIRM, EVENT_LIST_CHECK, GOTO_MAIN,
|
||||||
MEOWFFICER_INFO, META_CHECK, PLAYER_CHECK,
|
MEOWFFICER_INFO, META_CHECK, PLAYER_CHECK,
|
||||||
@@ -29,6 +30,7 @@ from module.ui.page import (Page, page_academy, page_archives,
|
|||||||
page_shipyard, page_shop, page_sp,
|
page_shipyard, page_shop, page_sp,
|
||||||
page_supply_pack, page_tactical, page_unknown)
|
page_supply_pack, page_tactical, page_unknown)
|
||||||
|
|
||||||
|
|
||||||
# from module.ui.page import *
|
# from module.ui.page import *
|
||||||
|
|
||||||
|
|
||||||
@@ -488,7 +490,9 @@ class UI(InfoHandler):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
# Campaign preparation
|
# Campaign preparation
|
||||||
if self.appear(MAP_PREPARATION, offset=(30, 30), interval=3) or self.appear(FLEET_PREPARATION, offset=(30, 30), interval=3):
|
if self.appear(MAP_PREPARATION, offset=(30, 30), interval=3) \
|
||||||
|
or self.appear(FLEET_PREPARATION, offset=(30, 30), interval=3) \
|
||||||
|
or self.appear(RAID_FLEET_PREPARATION, offset=(30, 30), interval=3):
|
||||||
self.device.click(MAP_PREPARATION_CANCEL)
|
self.device.click(MAP_PREPARATION_CANCEL)
|
||||||
return True
|
return True
|
||||||
if self.appear_then_click(AUTO_SEARCH_MENU_EXIT, offset=(200, 30), interval=3):
|
if self.appear_then_click(AUTO_SEARCH_MENU_EXIT, offset=(200, 30), interval=3):
|
||||||
|
|||||||