diff --git a/README.md b/README.md index e7f766552..1af86abe4 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,8 @@ Alas 仍在活跃开发中,我们会不定期发布未来的工作在 [Issues] ## 联系我们 Contact Us - Discord: [https://discord.gg/AQN6GeJ](https://discord.gg/AQN6GeJ) -- QQ 二群:[576458886](https://jq.qq.com/?_wv=1027&k=FUIOAAOm) +- QQ 三群:[576458886](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Q611gtXy-y0ttnfHOQNegXjerUI2tWIy&authKey=VjW7e8fxtXTN0twcU6%2FZabZ03gKy%2FuhZETQlFDaswupHRDzVO33lsqZloKG8IfR6&noverify=0&group_code=834210833) +- QQ 二群(已满):[576458886](https://jq.qq.com/?_wv=1027&k=FUIOAAOm) - QQ 一群(已满):[1087735381](https://jq.qq.com/?_wv=1027&k=I4NSqX7g) - Bilibili 直播间:https://live.bilibili.com/22216705 ,偶尔直播写Alas,~~为了拯救Alas,Lme决定出道成为偶像~~ diff --git a/campaign/Readme.md b/campaign/Readme.md index f67543367..74cbf3c9a 100644 --- a/campaign/Readme.md +++ b/campaign/Readme.md @@ -143,4 +143,5 @@ To add a new event, add a new row in here, and run `python -m module.config.conf | 20230413 | event 20211111 cn | The Flame-Touched Dagger | 复刻杰诺瓦的焰火 | The Flame-Touched Dagger Rerun | 復刻-燈火のシニエ | - | | 20230413 | event 20210819 cn | Microlayer Medley | - | - | - | 復刻-微層混合 | | 20230427 | event 20201126 cn | Vacation Lane | 假日航线 | Vacation Lane | バケーションレーン | 假日航線 | +| 20230525 | event 20220526 cn | Pledge of the Radiant Court | - | - | - | 泠誓光庭 | | 20230525 | event 20230525 cn | Confluence of Nothingness | 空相交汇点 | Confluence of Nothingness | 覆天せし万象の塵 | - | diff --git a/campaign/event_20230525_cn/campaign_base.py b/campaign/event_20230525_cn/campaign_base.py index ecc9ca03e..c52e464b3 100644 --- a/campaign/event_20230525_cn/campaign_base.py +++ b/campaign/event_20230525_cn/campaign_base.py @@ -8,6 +8,7 @@ # Here manually type coordinates, because the ball appears in this event only. BALL = Button(area=(589, 279, 685, 374), color=(), button=(589, 279, 685, 374)) + class CampaignBase(CampaignBase_): STAGE_INCREASE = [ 'T1 > T2 > TS1 > T3', diff --git a/module/campaign/campaign_ocr.py b/module/campaign/campaign_ocr.py index 59d098684..39ad4ad32 100644 --- a/module/campaign/campaign_ocr.py +++ b/module/campaign/campaign_ocr.py @@ -153,6 +153,18 @@ def campaign_extract_name_image(self, image): image, extract_letters(self._stage_image, letter=(99, 223, 239), threshold=153), name_offset=(60, 12), name_size=(60, 16) ) + if 'green' in self.config.STAGE_ENTRANCE: + digits += self.campaign_match_multi( + TEMPLATE_STAGE_GREEN_CLEAR, + image, self._stage_image_gray, + name_offset=(60, 0), name_size=(60, 22) + ) + digits += self.campaign_match_multi( + TEMPLATE_STAGE_PERCENT, + image, self._stage_image_gray, + similarity=0.6, + name_offset=(52, 0), name_size=(60, 22) + ) return digits diff --git a/module/campaign/gems_farming.py b/module/campaign/gems_farming.py index d4d96f55b..ace41263f 100644 --- a/module/campaign/gems_farming.py +++ b/module/campaign/gems_farming.py @@ -43,6 +43,11 @@ def handle_combat_low_emotion(self): if self.appear(BATTLE_PREPARATION, offset=(20, 20), interval=2): self.device.click(BACK_ARROW) + continue + if self.handle_auto_search_exit(): + continue + if self.is_in_stage(): + break if self.is_in_map(): self.withdraw() diff --git a/module/campaign/run.py b/module/campaign/run.py index c34b40654..7215e3adc 100644 --- a/module/campaign/run.py +++ b/module/campaign/run.py @@ -166,6 +166,18 @@ def handle_stage_name(self, name, folder): """ name = re.sub('[ \t\n]', '', str(name)).lower() name = to_map_file_name(name) + # For GemsFarming, auto choose events or main chapters + if self.config.task.command == 'GemsFarming': + if self.stage_is_main(name): + logger.info(f'Stage name {name} is from campaign_main') + folder = 'campaign_main' + else: + folder = self.config.cross_get('Event.Campaign.Event') + if folder is not None: + logger.info(f'Stage name {name} is from event {folder}') + else: + logger.warning(f'Cannot get the latest event, fallback to campaign_main') + folder = 'campaign_main' # Handle special names SP maps if folder == 'event_20201126_cn' and name == 'vsp': name = 'sp' @@ -229,18 +241,6 @@ def handle_stage_name(self, name, folder): f'run ordered stage: {stage}') name = stage.lower() self.is_stage_loop = True - # For GemsFarming, auto choose events or main chapters - if self.config.task.command == 'GemsFarming': - if self.stage_is_main(name): - logger.info(f'Stage name {name} is from campaign_main') - folder = 'campaign_main' - else: - folder = self.config.cross_get('Event.Campaign.Event') - if folder is not None: - logger.info(f'Stage name {name} is from event {folder}') - else: - logger.warning(f'Cannot get the latest event, fallback to campaign_main') - folder = 'campaign_main' return name, folder diff --git a/module/config/argument/args.json b/module/config/argument/args.json index 72f47ecd0..7679f552b 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -23,6 +23,7 @@ "com.bilibili.blhx.nearme.gamecenter", "com.bilibili.blhx.vivo", "com.bilibili.blhx.mz", + "com.bilibili.blhx.dl", "com.bilibili.blhx.uc", "com.bilibili.blhx.mzw", "com.yiwu.blhx.yx15", @@ -1600,6 +1601,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -1628,7 +1630,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -1660,7 +1661,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -2321,6 +2322,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -2349,7 +2351,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -2381,7 +2382,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -2755,6 +2756,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -2783,7 +2785,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -2815,7 +2816,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -4099,6 +4100,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -4127,7 +4129,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -4159,7 +4160,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -4550,6 +4551,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -4578,7 +4580,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -4610,7 +4611,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -5001,6 +5002,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -5029,7 +5031,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -5061,7 +5062,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -5452,6 +5453,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -5480,7 +5482,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -5512,7 +5513,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", @@ -5893,6 +5894,7 @@ "value": "campaign_main", "option": [ "event_20230525_cn", + "event_20220526_cn", "event_20201126_cn", "event_20210819_cn", "event_20211111_cn", @@ -5921,7 +5923,6 @@ "event_20200820_cn", "event_20201012_cn", "event_20210527_cn", - "event_20220526_cn", "event_20220428_cn", "event_20220414_cn", "event_20220407_tw", @@ -5953,7 +5954,7 @@ "cn": "event_20230525_cn", "en": "event_20230525_cn", "jp": "event_20230525_cn", - "tw": "event_20201126_cn" + "tw": "event_20220526_cn" }, "Mode": { "type": "select", diff --git a/module/config/config_generated.py b/module/config/config_generated.py index bf99d3ce4..b9f842db1 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -19,7 +19,7 @@ class GeneratedConfig: # Group `Emulator` Emulator_Serial = 'auto' - Emulator_PackageName = 'auto' # auto, com.bilibili.azurlane, com.YoStarEN.AzurLane, com.YoStarJP.AzurLane, com.hkmanjuu.azurlane.gp, com.bilibili.blhx.huawei, com.bilibili.blhx.mi, com.tencent.tmgp.bilibili.blhx, com.bilibili.blhx.baidu, com.bilibili.blhx.qihoo, com.bilibili.blhx.nearme.gamecenter, com.bilibili.blhx.vivo, com.bilibili.blhx.mz, com.bilibili.blhx.uc, com.bilibili.blhx.mzw, com.yiwu.blhx.yx15, com.bilibili.blhx.m4399, com.hkmanjuu.azurlane.gp.mc + Emulator_PackageName = 'auto' # auto, com.bilibili.azurlane, com.YoStarEN.AzurLane, com.YoStarJP.AzurLane, com.hkmanjuu.azurlane.gp, com.bilibili.blhx.huawei, com.bilibili.blhx.mi, com.tencent.tmgp.bilibili.blhx, com.bilibili.blhx.baidu, com.bilibili.blhx.qihoo, com.bilibili.blhx.nearme.gamecenter, com.bilibili.blhx.vivo, com.bilibili.blhx.mz, com.bilibili.blhx.dl, com.bilibili.blhx.uc, com.bilibili.blhx.mzw, com.yiwu.blhx.yx15, com.bilibili.blhx.m4399, com.hkmanjuu.azurlane.gp.mc Emulator_ServerName = 'disabled' # disabled, cn_android-0, cn_android-1, cn_android-2, cn_android-3, cn_android-4, cn_android-5, cn_android-6, cn_android-7, cn_android-8, cn_android-9, cn_android-10, cn_android-11, cn_android-12, cn_android-13, cn_android-14, cn_android-15, cn_android-16, cn_android-17, cn_android-18, cn_android-19, cn_android-20, cn_android-21, cn_android-22, cn_android-23, cn_ios-0, cn_ios-1, cn_ios-2, cn_ios-3, cn_ios-4, cn_ios-5, cn_ios-6, cn_ios-7, cn_ios-8, cn_ios-9, cn_ios-10, cn_channel-0, cn_channel-1, cn_channel-2, cn_channel-3, cn_channel-4, en-0, en-1, en-2, en-3, en-4, en-5, jp-0, jp-1, jp-2, jp-3, jp-4, jp-5, jp-6, jp-7, jp-8, jp-9, jp-10, jp-11, jp-12, jp-13, jp-14, jp-15, jp-16, jp-17 Emulator_ScreenshotMethod = 'auto' # auto, ADB, ADB_nc, uiautomator2, aScreenCap, aScreenCap_nc, DroidCast, DroidCast_raw, scrcpy Emulator_ControlMethod = 'minitouch' # ADB, uiautomator2, minitouch, Hermit, MaaTouch diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index 083589864..4e6ebc75c 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -322,6 +322,7 @@ "com.bilibili.blhx.nearme.gamecenter": "CN com.bilibili.blhx.nearme.gamecenter", "com.bilibili.blhx.vivo": "CN com.bilibili.blhx.vivo", "com.bilibili.blhx.mz": "CN com.bilibili.blhx.mz", + "com.bilibili.blhx.dl": "CN com.bilibili.blhx.dl", "com.bilibili.blhx.uc": "CN com.bilibili.blhx.uc", "com.bilibili.blhx.mzw": "CN com.bilibili.blhx.mzw", "com.yiwu.blhx.yx15": "CN com.yiwu.blhx.yx15", @@ -654,6 +655,7 @@ "help": "Automatically selects to the latest event", "campaign_main": "campaign_main", "event_20230525_cn": "Confluence of Nothingness", + "event_20220526_cn": "Pledge of the Radiant Court", "event_20201126_cn": "Vacation Lane", "event_20210819_cn": "Microlayer Medley Rerun", "event_20211111_cn": "The Flame-Touched Dagger Rerun", @@ -688,7 +690,6 @@ "event_20200820_cn": "Scherzo of Iron and Blood Rerun", "event_20201012_cn": "Sundered Blue Rerun", "event_20210527_cn": "Mirror Involution", - "event_20220526_cn": "Pledge of the Radiant Court", "raid_20200624": "Air Raid Drills with Essex Rerun", "event_20220428_cn": "Rondo at Rainbows End", "event_20220414_cn": "Aurora Noctis Rerun", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 193aa7e85..fcc37921c 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -322,6 +322,7 @@ "com.bilibili.blhx.nearme.gamecenter": "CN com.bilibili.blhx.nearme.gamecenter", "com.bilibili.blhx.vivo": "CN com.bilibili.blhx.vivo", "com.bilibili.blhx.mz": "CN com.bilibili.blhx.mz", + "com.bilibili.blhx.dl": "CN com.bilibili.blhx.dl", "com.bilibili.blhx.uc": "CN com.bilibili.blhx.uc", "com.bilibili.blhx.mzw": "CN com.bilibili.blhx.mzw", "com.yiwu.blhx.yx15": "CN com.yiwu.blhx.yx15", @@ -654,6 +655,7 @@ "help": "Campaign.Event.help", "campaign_main": "campaign_main", "event_20230525_cn": "覆天せし万象の塵", + "event_20220526_cn": "诚閃の剣 搖光の城", "event_20201126_cn": "バケーションレーン", "event_20210819_cn": "闇靄払う銀翼(復刻)", "event_20211111_cn": "復刻-燈火のシニエ", @@ -688,7 +690,6 @@ "event_20200820_cn": "黒鉄の楽章 誓いの海(復刻)", "event_20201012_cn": "奔る彩帆の青(復刻)", "event_20210527_cn": "照らす螺旋の鏡海", - "event_20220526_cn": "诚閃の剣 搖光の城", "raid_20200624": "特別演習超空強襲波(復刻)", "event_20220428_cn": "吟ずる瑠璃の楽章", "event_20220414_cn": "極夜照らす幻光(復刻)", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 6ac18596b..0e8594edc 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -322,6 +322,7 @@ "com.bilibili.blhx.nearme.gamecenter": "国服 oppo渠道服 com.bilibili.blhx.nearme.gamecenter", "com.bilibili.blhx.vivo": "国服 vivo渠道服 com.bilibili.blhx.vivo", "com.bilibili.blhx.mz": "国服 魅族渠道服 com.bilibili.blhx.mz", + "com.bilibili.blhx.dl": "国服 当乐渠道服 com.bilibili.blhx.dl", "com.bilibili.blhx.uc": "国服 UC九游渠道服 com.bilibili.blhx.uc", "com.bilibili.blhx.mzw": "国服 拇指玩渠道服 com.bilibili.blhx.mzw", "com.yiwu.blhx.yx15": "国服 一五游戏渠道服 com.yiwu.blhx.yx15", @@ -654,6 +655,7 @@ "help": "自动选择至最新的活动", "campaign_main": "主线图", "event_20230525_cn": "空相交汇点", + "event_20220526_cn": "泠誓光庭", "event_20201126_cn": "假日航线", "event_20210819_cn": "复刻微层混合", "event_20211111_cn": "复刻杰诺瓦的焰火", @@ -688,7 +690,6 @@ "event_20200820_cn": "复刻铁血音符誓言", "event_20201012_cn": "复刻划破海空之翼", "event_20210527_cn": "镜位螺旋", - "event_20220526_cn": "泠誓光庭", "raid_20200624": "复刻特别演习埃塞克斯级", "event_20220428_cn": "虹彩的终幕曲", "event_20220414_cn": "复刻永夜幻光", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 6442bd846..27ee09c95 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -322,6 +322,7 @@ "com.bilibili.blhx.nearme.gamecenter": "國服 com.bilibili.blhx.nearme.gamecenter", "com.bilibili.blhx.vivo": "國服 com.bilibili.blhx.vivo", "com.bilibili.blhx.mz": "國服 com.bilibili.blhx.mz", + "com.bilibili.blhx.dl": "國服 com.bilibili.blhx.dl", "com.bilibili.blhx.uc": "國服 com.bilibili.blhx.uc", "com.bilibili.blhx.mzw": "國服 com.bilibili.blhx.mzw", "com.yiwu.blhx.yx15": "國服 com.yiwu.blhx.yx15", @@ -654,6 +655,7 @@ "help": "自動選擇至最新的活動圖", "campaign_main": "主線圖", "event_20230525_cn": "Confluence of Nothingness", + "event_20220526_cn": "泠誓光庭", "event_20201126_cn": "假日航線", "event_20210819_cn": "復刻-微層混合", "event_20211111_cn": "杰諾瓦的焰火", @@ -688,7 +690,6 @@ "event_20200820_cn": "復刻鐵血音符誓言", "event_20201012_cn": "劃破海空之翼", "event_20210527_cn": "鏡位螺旋", - "event_20220526_cn": "Pledge of the Radiant Court", "raid_20200624": "特別演習埃塞克斯級(復刻)", "event_20220428_cn": "Rondo at Rainbows End", "event_20220414_cn": "Aurora Noctis Rerun", diff --git a/module/config/server.py b/module/config/server.py index dab321e29..8e0c78385 100644 --- a/module/config/server.py +++ b/module/config/server.py @@ -21,6 +21,7 @@ 'com.bilibili.blhx.nearme.gamecenter': ('cn', 'oppo'), 'com.bilibili.blhx.vivo': ('cn', 'vivo'), 'com.bilibili.blhx.mz': ('cn', '魅族'), + 'com.bilibili.blhx.dl': ('cn', '当乐'), # 'com.bilibili.blhx.letv': ('cn', '乐视'), # Not confirmed # 'com.bilibili.blhx.gionee': ('cn', '金立'), # Not confirmed diff --git a/module/device/connection.py b/module/device/connection.py index 11a516174..63c4c5a58 100644 --- a/module/device/connection.py +++ b/module/device/connection.py @@ -13,7 +13,7 @@ from module.base.decorator import Config, cached_property, del_cached_property from module.base.utils import ensure_time -from module.config.server import VALID_CHANNEL_PACKAGE, set_server +from module.config.server import VALID_CHANNEL_PACKAGE, VALID_PACKAGE, set_server from module.device.connection_attr import ConnectionAttr from module.device.method.utils import (PackageNotInstalled, RETRY_TRIES, get_serial_pair, handle_adb_error, possible_reasons, random_port, recv_all, remove_shell_warning, retry_sleep) @@ -803,7 +803,7 @@ def list_known_packages(self, show_log=True): list[str]: List of package names """ packages = self.list_package(show_log=show_log) - packages = [p for p in packages if p in VALID_CHANNEL_PACKAGE or p in VALID_CHANNEL_PACKAGE] + packages = [p for p in packages if p in VALID_PACKAGE or p in VALID_CHANNEL_PACKAGE] return packages def detect_package(self, set_config=True): diff --git a/module/meta_reward/meta_reward.py b/module/meta_reward/meta_reward.py index 2c474f7df..63d765c67 100644 --- a/module/meta_reward/meta_reward.py +++ b/module/meta_reward/meta_reward.py @@ -245,7 +245,8 @@ def run(self, dossier=True): # If dossier beacon is not enabled, or MetaReward is invoked # by AshBeaconAssist, do not need to check dossier if self.has_possible_dossier_reward(is_dossier=dossier): - self.search_for_dossier_reward() + # self.search_for_dossier_reward() + logger.info('Dossier meta reward receiving feature is temporarily disabled by the developer. \nPlease receive it by yourself for the time.') else: logger.info('MetaReward is called by current beacon, skip dossier reward check') return