From d9d9217512bc5c23f69d260076c496fc3241d533 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:18:29 +0800 Subject: [PATCH 01/54] =?UTF-8?q?feat:=20=E8=90=A8=E7=B1=B3=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=96=B0=E6=9D=BF=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #7865 --- resource/roguelike/Sami/foldartal.json | 20 ++++++++++++++++++++ resource/tasks.json | 11 +++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/resource/roguelike/Sami/foldartal.json b/resource/roguelike/Sami/foldartal.json index 797d866d54..ef68943bd8 100644 --- a/resource/roguelike/Sami/foldartal.json +++ b/resource/roguelike/Sami/foldartal.json @@ -315,6 +315,14 @@ "name": "人类", "effect": "选择1处节点和它前后相连的所有节点" }, + { + "name": "到来", + "effect": "选择1处任意节点,必然触发协语" + }, + { + "name": "离去", + "effect": "随机指定2处任意节点,必然触发协语" + }, { "name": "伤痕", "effect": "选择1处右侧邻近的节点,只能和“空无”组合" @@ -348,6 +356,10 @@ "name": "告解", "effect": "经过此处后回复1目标生命 。协语:获得1个战斗类收藏品" }, + { + "name": "呼救", + "effect": "每选择一处节点立即回复2目标生命 。协语:经过后回复2目标生命" + }, { "name": "喜悦", "effect": "经过后获得8源石锭 。协语:获得2希望" @@ -372,6 +384,10 @@ "name": "爱恋", "effect": "变为不期而遇 。协语:变为得偿所愿" }, + { + "name": "满足", + "effect": "每选择一处节点立即获得4源石锭 。协语:经过后获得4源石锭" + }, { "name": "巡视", "effect": "接近时对其全面勘察,降低的坍缩值变为2点 。协语:降低的坍缩值变为3点" @@ -396,6 +412,10 @@ "name": "迁徙", "effect": "经过后获得1抗干扰指数 。协语:变为树篱之途,且抗干扰指数升至上限" }, + { + "name": "歇息", + "effect": "变为安全的角落 。协语:立即提升2目标生命上限" + }, { "name": "空无", "effect": "变为木裂前兆,只能和“伤痕”组合" diff --git a/resource/tasks.json b/resource/tasks.json index 54f70e98c1..7fa2b19fb3 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -14200,6 +14200,7 @@ 46 ], "text": [ + "_布局_", "黜人", "猎手", "战士", @@ -14218,25 +14219,31 @@ "灌木", "兽类", "人类", + "到来", + "离去", "伤痕", + "_本因_", "歌唱", "沉默", "朗诵", "辩论", "慰藉", "告解", + "呼救", "喜悦", "惊讶", "愤怒", "疑惑", "憧憬", "爱恋", + "满足", "巡视", "筑巢", "捕猎", - "繁衍", "掠夺", + "繁衍", "迁徙", + "歇息", "空无" ], "ocrReplace": [ @@ -16416,4 +16423,4 @@ "Stop" ] } -} \ No newline at end of file +} From 8ce808263cd9d89c876e84d0b561d4a58b8a62f7 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Sat, 30 Dec 2023 16:02:32 +0100 Subject: [PATCH 02/54] fix: typo [skip ci] [skip changelog] --- src/MaaWpfGui/Res/Localizations/en-us.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 2021d7b2fa..af03ee0b7b 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -484,7 +484,7 @@ The video aspect ratio needs to be 16:9 without interference factors such as bla Select task file Task files can be imported by dragging the mouse Paste Clipboard - Import task fils + Import task files Do you like this task file? Rate it! An error occurred, the like failed. : < Thanks for the likes!\nThe comment section is already open on the web page, please feel free to leave your comment! From 78cc9d8f91163ffc9617f3fe2d4f9815f733c7bb Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Sat, 30 Dec 2023 16:08:06 +0100 Subject: [PATCH 03/54] fix: ClickedCorrectStage more ocrReplace regex --- resource/tasks.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resource/tasks.json b/resource/tasks.json index 7fa2b19fb3..6c5b8c2b3d 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -687,6 +687,10 @@ ":", "" ], + [ + "'", + "" + ], [ "-2O", "-20" From bb0a2b0ec37cb79577431ef58be86eb798549321 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Sat, 30 Dec 2023 18:34:57 +0100 Subject: [PATCH 04/54] chore: YostarEN I.S. trader store ocrreplace [skip ci] [skip changelog] --- resource/global/YoStarEN/resource/tasks.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index 9198603e69..214b46864e 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -5351,10 +5351,18 @@ "Iron Guard *-* *Moving Fortress", "铁卫-临时要塞" ], + [ + "Convalescence Experience.*", + "Convalescence Experience Card" + ], [ "Convalescence Experience Card", "疗养体验卡" ], + [ + "Convalescence Prime.*", + "Convalescence Prime Membership" + ], [ "Convalescence Prime Membership", "疗养特供卡" From 45fc6c7b6422534dfb501621eec204f36e2531bf Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Sun, 31 Dec 2023 13:46:12 +0800 Subject: [PATCH 05/54] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8?= =?UTF-8?q?=E5=88=86=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E6=8E=89=E8=90=BD=E8=AF=86=E5=88=AB=E5=85=B3=E5=8D=A1=E5=90=8D?= =?UTF-8?q?=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Vision/Miscellaneous/StageDropsImageAnalyzer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.cpp b/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.cpp index 95c7bfee62..2117fe7c29 100644 --- a/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Miscellaneous/StageDropsImageAnalyzer.cpp @@ -54,16 +54,17 @@ bool asst::StageDropsImageAnalyzer::analyze_stage_code() { LogTraceFunction; - OCRer analyzer(m_image); + RegionOCRer analyzer(m_image); analyzer.set_task_info("StageDrops-StageName"); + analyzer.set_bin_threshold(210, 255); if (!analyzer.analyze()) { return false; } - m_stage_code = analyzer.get_result().front().text; + m_stage_code = analyzer.get_result().text; Log.info(__FUNCTION__, "stage_code", m_stage_code); #ifdef ASST_DEBUG - const Rect& text_rect = analyzer.get_result().front().rect; + const Rect& text_rect = analyzer.get_result().rect; cv::rectangle(m_image_draw, make_rect(text_rect), cv::Scalar(0, 0, 255), 2); cv::putText(m_image_draw, m_stage_code, cv::Point(text_rect.x, text_rect.y - 10), cv::FONT_HERSHEY_SIMPLEX, 1, cv::Scalar(0, 0, 255), 2); From c3d1ad7f1d7114f2bd72e01b31f1a11b22f8a3b3 Mon Sep 17 00:00:00 2001 From: HX3N <128385247+HX3N@users.noreply.github.com> Date: Sun, 31 Dec 2023 19:23:43 +0900 Subject: [PATCH 06/54] chore: YoStarKR ocr text replacement (#7845) * chore: YoStarKR translation replacement ko-kr translation replacement add line break for readability * fix: YoStarKR ocr text fix ocr text for infrast add Mizuki@Rouguelike@StageEncounterOptionUnknown --- resource/global/YoStarKR/resource/tasks.json | 55 +++++++++++++++----- src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 14 ++--- 2 files changed, 50 insertions(+), 19 deletions(-) diff --git a/resource/global/YoStarKR/resource/tasks.json b/resource/global/YoStarKR/resource/tasks.json index 4cbafdb892..b6e5dadf5b 100644 --- a/resource/global/YoStarKR/resource/tasks.json +++ b/resource/global/YoStarKR/resource/tasks.json @@ -303,7 +303,7 @@ "猎蜂" ], [ - "무스", + "^무스$", "慕斯" ], [ @@ -631,7 +631,7 @@ "正义骑士号" ], [ - "저스.*", + "^나이트$", "正义骑士号" ], [ @@ -1287,7 +1287,7 @@ "寒芒克洛丝" ], [ - "크루스더킨.*", + "크루스더.*", "寒芒克洛丝" ], [ @@ -1615,7 +1615,7 @@ "濯尘芙蓉" ], [ - ".*퓨리파이어", + ".*퓨리파.*", "濯尘芙蓉" ], [ @@ -1630,6 +1630,10 @@ "칸타빌레", "晓歌" ], + [ + "칸타빌.", + "晓歌" + ], [ "가비알디인빈서블", "百炼嘉维尔" @@ -2062,6 +2066,10 @@ "총웨", "重岳" ], + [ + "총워", + "重岳" + ], [ "^린$", "林" @@ -2107,7 +2115,11 @@ "铎铃" ], [ - "레우스S 느와르 코르네", + "레우스S느와르코르네", + "火龙S黑角" + ], + [ + ".*S느와르코르네", "火龙S黑角" ], [ @@ -2119,7 +2131,7 @@ "采集实习站" ], [ - "키린R 야토", + "키린.야토", "麒麟R夜刀" ], [ @@ -2143,7 +2155,11 @@ "备勤激活站" ], [ - "테라 대륙 조사단", + "테라대륙조사단", + "泰拉大陆调查团" + ], + [ + ".*조사단", "泰拉大陆调查团" ], [ @@ -2318,6 +2334,10 @@ "사일런스더.*", "淬羽赫默" ], + [ + ".*스더패러디그.*", + "淬羽赫默" + ], [ "자동 계좌 이체기", "全自动划账器" @@ -2355,19 +2375,23 @@ "爆裂毒气罐" ], [ - "에너지 교란 증폭기", + "에너지교란증폭기", "能量扰动放大器" ], [ - "전술 장비 정리함", + "전술장비정리함", "战术装备整理箱" ], [ - "이동식 의료 설비", + "이동식의료설비", "便携式医疗设备" ], [ - "이그제큐터 디 엑스 포에데레", + "이그제큐터디엑스포에데레", + "圣约送葬人" + ], + [ + "이그제큐터.*포에.*", "圣约送葬人" ], [ @@ -2378,6 +2402,10 @@ ".*그.*큐터.*스.*", "圣约送葬人" ], + [ + ".*스포.데레", + "圣约送葬人" + ], [ "스푸리아", "空构" @@ -6011,6 +6039,9 @@ "Mizuki@Roguelike@StageEncounterOptionFree": { "templThreshold": 0.87 }, + "Mizuki@Roguelike@StageEncounterOptionUnknown": { + "templThreshold": 0.85 + }, "Mizuki@Roguelike@StageSafeHouseReuse": { "text": [ "안전가옥활용" @@ -6089,4 +6120,4 @@ ] ] } -} +} \ No newline at end of file diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index c3f9972742..b02f449192 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -583,8 +583,8 @@ Bilibili: 로그인 인터페이스에 표시되는 계정 이름(예: 장산) 행동 개시 이성: - 이성 회복 아이템: - 순오리지늄: + \n이성 회복 아이템: + \n순오리지늄: 이성 회복 아이템을 사용했습니다 만료가 임박한 이성 회복 아이템을 사용했습니다 순오리지늄을 사용했습니다 @@ -611,12 +611,12 @@ Bilibili: 로그인 인터페이스에 표시되는 계정 이름(예: 장산) 레벨: 험난한 길 이벤트: 로그라이크 종착점: {0} - 탐구하다: {0} 바닥 {1} 단계 - 전투: {0} / {1} 긴급 / {2} 보스 - 모집: {0} + 클리어 : {0} 구역 {1} 노드 + 전투 횟수: {0} 일반 / {1} 정예 / {2} 리더 + 모집 횟수 : {0} 회 수집: {0} - 어려움: {0} - 점수: {0}, 경험치: {1}, 기술: {2} + 난이도: {0} + 점수: {0}, 경험치: {1}, 스킬: {2} 현재 횟수 없음 드롭: From da43ed7530d9dad6e5499fdd6da58a8d061eca45 Mon Sep 17 00:00:00 2001 From: Constrat Date: Sun, 31 Dec 2023 16:06:39 +0000 Subject: [PATCH 07/54] chore: Auto Update Game Resources - 2023-12-31 [skip changelog] --- resource/global/YoStarEN/resource/tasks.json | 2 +- resource/global/YoStarEN/resource/version.json | 2 +- resource/global/YoStarJP/resource/tasks.json | 2 +- resource/global/YoStarJP/resource/version.json | 2 +- resource/global/YoStarKR/resource/version.json | 2 +- resource/global/txwy/resource/tasks.json | 2 +- resource/global/txwy/resource/version.json | 2 +- resource/tasks.json | 2 +- resource/version.json | 6 +++--- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index 214b46864e..0c7fe06de8 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -6484,4 +6484,4 @@ "SAND" ] } -} +} \ No newline at end of file diff --git a/resource/global/YoStarEN/resource/version.json b/resource/global/YoStarEN/resource/version.json index 191979c3c5..eea2a7559f 100644 --- a/resource/global/YoStarEN/resource/version.json +++ b/resource/global/YoStarEN/resource/version.json @@ -7,5 +7,5 @@ "pool": "Arbiter Aequissimus", "time": 1703160000 }, - "last_updated": "2023-12-28 17:06:25.486" + "last_updated": "2023-12-31 16:06:37.511" } diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index c99177fa03..a21b47ce4a 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -6048,4 +6048,4 @@ 133 ] } -} +} \ No newline at end of file diff --git a/resource/global/YoStarJP/resource/version.json b/resource/global/YoStarJP/resource/version.json index 3cb9769696..741b9ae008 100644 --- a/resource/global/YoStarJP/resource/version.json +++ b/resource/global/YoStarJP/resource/version.json @@ -7,5 +7,5 @@ "pool": "執裁者", "time": 1703124000 }, - "last_updated": "2023-12-28 17:06:25.486" + "last_updated": "2023-12-31 16:06:37.511" } diff --git a/resource/global/YoStarKR/resource/version.json b/resource/global/YoStarKR/resource/version.json index 9366b8e524..5831762585 100644 --- a/resource/global/YoStarKR/resource/version.json +++ b/resource/global/YoStarKR/resource/version.json @@ -7,5 +7,5 @@ "pool": "중재자", "time": 1703124000 }, - "last_updated": "2023-12-28 17:06:25.486" + "last_updated": "2023-12-31 16:06:37.511" } diff --git a/resource/global/txwy/resource/tasks.json b/resource/global/txwy/resource/tasks.json index 6eb4a2bf3a..b78933b0e3 100644 --- a/resource/global/txwy/resource/tasks.json +++ b/resource/global/txwy/resource/tasks.json @@ -4812,4 +4812,4 @@ "決斷" ] } -} +} \ No newline at end of file diff --git a/resource/global/txwy/resource/version.json b/resource/global/txwy/resource/version.json index 03429a5e1f..e2bacef59f 100644 --- a/resource/global/txwy/resource/version.json +++ b/resource/global/txwy/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年歡慶·相逢", "time": 1703577600 }, - "last_updated": "2023-12-28 17:06:25.486" + "last_updated": "2023-12-31 16:06:37.511" } diff --git a/resource/tasks.json b/resource/tasks.json index 6c5b8c2b3d..8ce0d95fc9 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -16427,4 +16427,4 @@ "Stop" ] } -} +} \ No newline at end of file diff --git a/resource/version.json b/resource/version.json index cb2edbeec8..1f8bab1ffa 100644 --- a/resource/version.json +++ b/resource/version.json @@ -4,8 +4,8 @@ "time": 1703232000 }, "gacha": { - "pool": "跨年欢庆·中坚", - "time": 1703750400 + "pool": "跨年欢庆·展望", + "time": 1704038400 }, - "last_updated": "2023-12-29 15:19:19.810" + "last_updated": "2023-12-31 16:06:37.511" } From d51f0f4c080e1f876be0997d422b270489f59f63 Mon Sep 17 00:00:00 2001 From: Constrat Date: Sun, 31 Dec 2023 20:06:55 +0000 Subject: [PATCH 08/54] chore: Auto Update Game Resources - 2023-12-31 [skip changelog] --- resource/global/YoStarEN/resource/version.json | 2 +- resource/global/YoStarJP/resource/version.json | 2 +- resource/global/YoStarKR/resource/version.json | 2 +- resource/global/txwy/resource/version.json | 2 +- resource/version.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resource/global/YoStarEN/resource/version.json b/resource/global/YoStarEN/resource/version.json index eea2a7559f..f643e5a12e 100644 --- a/resource/global/YoStarEN/resource/version.json +++ b/resource/global/YoStarEN/resource/version.json @@ -7,5 +7,5 @@ "pool": "Arbiter Aequissimus", "time": 1703160000 }, - "last_updated": "2023-12-31 16:06:37.511" + "last_updated": "2023-12-31 20:06:53.391" } diff --git a/resource/global/YoStarJP/resource/version.json b/resource/global/YoStarJP/resource/version.json index 741b9ae008..6636c629ec 100644 --- a/resource/global/YoStarJP/resource/version.json +++ b/resource/global/YoStarJP/resource/version.json @@ -7,5 +7,5 @@ "pool": "執裁者", "time": 1703124000 }, - "last_updated": "2023-12-31 16:06:37.511" + "last_updated": "2023-12-31 20:06:53.391" } diff --git a/resource/global/YoStarKR/resource/version.json b/resource/global/YoStarKR/resource/version.json index 5831762585..c086d557db 100644 --- a/resource/global/YoStarKR/resource/version.json +++ b/resource/global/YoStarKR/resource/version.json @@ -7,5 +7,5 @@ "pool": "중재자", "time": 1703124000 }, - "last_updated": "2023-12-31 16:06:37.511" + "last_updated": "2023-12-31 20:06:53.391" } diff --git a/resource/global/txwy/resource/version.json b/resource/global/txwy/resource/version.json index e2bacef59f..b5ed5dc945 100644 --- a/resource/global/txwy/resource/version.json +++ b/resource/global/txwy/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年歡慶·相逢", "time": 1703577600 }, - "last_updated": "2023-12-31 16:06:37.511" + "last_updated": "2023-12-31 20:06:53.391" } diff --git a/resource/version.json b/resource/version.json index 1f8bab1ffa..3176ed43f3 100644 --- a/resource/version.json +++ b/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年欢庆·展望", "time": 1704038400 }, - "last_updated": "2023-12-31 16:06:37.511" + "last_updated": "2023-12-31 20:06:53.391" } From 923d844c8839e260499dc29b215c8fdbbb544897 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Mon, 1 Jan 2024 20:00:27 +0800 Subject: [PATCH 09/54] =?UTF-8?q?feat:=20ui=20=E5=92=8C=20core=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=B8=8D=E4=B8=80=E8=87=B4=E6=97=B6=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B7=BB=E5=8A=A0=20waring=20=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Res/Localizations/en-us.xaml | 1 + src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 1 + src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-tw.xaml | 1 + .../ViewModels/UI/TaskQueueViewModel.cs | 9 ++++++ .../ViewModels/UI/VersionUpdateViewModel.cs | 28 +++++++++---------- 7 files changed, 27 insertions(+), 15 deletions(-) diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index af03ee0b7b..8171d4e5d9 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -391,6 +391,7 @@ Other client types are not supported It's Sunday: don't forget about Annihilation + UI and Core versions mismatch: {0} and {1}, which may result in unpredictable behavior. Please refrain from manually replacing files. Connecting to emulator…… Unselected task Running…… diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 5c1a1ef82a..3cb94e300c 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -391,6 +391,7 @@ Bilibili: ログイン インターフェイスに表示されるアカウント 日曜です。殲滅作戦は忘れてないですか〜 + UI と Core のバージョンが一致しません: {0} および {1}、予測不可能な動作の原因となる可能性があります。ファイルを手動で置換しないでください。 エミュレータ接続中…… タスクが選択されていません 動作中…… diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index b02f449192..95d644b4cb 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -391,6 +391,7 @@ Bilibili: 로그인 인터페이스에 표시되는 계정 이름(예: 장산) 일요일입니다. 섬멸 작전을 잊지 마세요~ + UI 및 Core 버전 불일치: {0} 및 {1}로 인해 예측할 수 없는 동작이 발생할 수 있습니다. 파일을 수동으로 교체하지 마십시오. 에뮬레이터에 연결 중…… 선택된 작업이 없습니다 실행 중…… diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 23ac9e3b13..975df3c90b 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -391,6 +391,7 @@ 周日了,记得打剿灭哦~ + UI 和 Core 版本不一致: {0} 和 {1},可能导致不可预测的行为,请勿手动替换文件。 正在连接模拟器…… 未选择任务 正在运行中…… diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index 3272367a63..aa911fd32a 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -389,6 +389,7 @@ 週日了,記得打剿滅喔 ~ + UI 和 Core 版本不一致: {0} 和 {1},可能導致不可預測的行為,請勿手動替換文件。 正在連接模擬器…… 未選擇任務 正在運行中…… diff --git a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs index d8edcaba75..8f5a9787f0 100644 --- a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs @@ -851,6 +851,15 @@ namespace MaaWpfGui.ViewModels.UI ClearLog(); + var uiVersion = SettingsViewModel.UiVersion; + var coreVersion = SettingsViewModel.CoreVersion; + if (uiVersion != coreVersion && + Instances.VersionUpdateViewModel.IsStdVersion(uiVersion) && + Instances.VersionUpdateViewModel.IsStdVersion(coreVersion)) + { + AddLog(string.Format(LocalizationHelper.GetString("VersionMismatch"), uiVersion, coreVersion), UiLogColor.Warning); + } + await Task.Run(() => Instances.SettingsViewModel.RunScript("StartsWithScript")); AddLog(LocalizationHelper.GetString("ConnectingToEmulator")); diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index b3e05044ad..a81e32f2c6 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -891,13 +891,13 @@ namespace MaaWpfGui.ViewModels.UI }); } - private bool IsDebugVersion(string version = null) + public bool IsDebugVersion(string version = null) { version ??= _curVersion; return version.Contains("DEBUG"); } - private bool IsStdVersion(string version = null) + public bool IsStdVersion(string version = null) { // 正式版:vX.X.X // DevBuild (CI):yyyy-MM-dd-HH-mm-ss-{CommitHash[..7]} @@ -912,23 +912,21 @@ namespace MaaWpfGui.ViewModels.UI { return false; } - else if (version.StartsWith("c") || version.StartsWith("20") || version.Contains("Local")) - { - return false; - } - else if (!SemVersion.TryParse(version, SemVersionStyles.AllowLowerV, out var semVersion)) - { - return false; - } - else if (IsNightlyVersion(semVersion)) + + if (version.StartsWith('c') || version.StartsWith("20") || version.Contains("Local")) { return false; } - return true; + if (!SemVersion.TryParse(version, SemVersionStyles.AllowLowerV, out var semVersion)) + { + return false; + } + + return !IsNightlyVersion(semVersion); } - private static bool IsNightlyVersion(SemVersion version) + public static bool IsNightlyVersion(SemVersion version) { if (!version.IsPrerelease) { @@ -939,8 +937,8 @@ namespace MaaWpfGui.ViewModels.UI // v{Major}.{Minor}.{Patch}-{Prerelease}.{CommitDistance}.g{CommitHash} // v4.6.7-beta.2.1.g1234567 // v4.6.8-5.g1234567 - var lastId = version.PrereleaseIdentifiers.LastOrDefault().ToString(); - return lastId.StartsWith("g") && lastId.Length >= 7; + var lastId = version.PrereleaseIdentifiers[^1].ToString(); + return lastId is not null && lastId.StartsWith('g') && lastId.Length >= 7; } /* From 7d02bbe83ce79f1c0c43c79cb1a415c24103ec7d Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Mon, 1 Jan 2024 16:27:36 +0100 Subject: [PATCH 10/54] fix: typo in task [skip ci] [skip changelog] --- resource/global/YoStarEN/resource/tasks.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index 0c7fe06de8..28904dd567 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -6116,8 +6116,8 @@ }, "Roguelike@StageTraderRefreshWithDiceNotAvaiable": { "text": [ - "Used up rereshes for this", - "Used up rereshes", + "Used up refreshes for this", + "Used up refreshes", "for this", "for this shop" ] @@ -6484,4 +6484,4 @@ "SAND" ] } -} \ No newline at end of file +} From ecc6585cec79dfa08701f4ad8a9e50e077d9ff11 Mon Sep 17 00:00:00 2001 From: dantmnf Date: Sun, 17 Dec 2023 11:57:05 +0800 Subject: [PATCH 11/54] fix: subprocess handle leak --- src/MaaCore/Controller/Platform/Win32IO.cpp | 79 ++++++++++++++++---- src/MaaCore/Utils/Platform/PlatformWin32.cpp | 37 +++++++-- 2 files changed, 94 insertions(+), 22 deletions(-) diff --git a/src/MaaCore/Controller/Platform/Win32IO.cpp b/src/MaaCore/Controller/Platform/Win32IO.cpp index d1b08de99d..bb11b40035 100644 --- a/src/MaaCore/Controller/Platform/Win32IO.cpp +++ b/src/MaaCore/Controller/Platform/Win32IO.cpp @@ -38,19 +38,42 @@ std::optional asst::Win32IO::call_command(const std::string& cmd, bool recv return std::nullopt; } - STARTUPINFOW si {}; - si.cb = sizeof(STARTUPINFOW); - si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; - si.wShowWindow = SW_HIDE; - si.hStdOutput = pipe_child_write; - si.hStdError = pipe_child_write; + STARTUPINFOEXW si {}; + si.StartupInfo.cb = sizeof(STARTUPINFOEXW); + si.StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + si.StartupInfo.wShowWindow = SW_HIDE; + si.StartupInfo.hStdOutput = pipe_child_write; + si.StartupInfo.hStdError = pipe_child_write; ASST_AUTO_DEDUCED_ZERO_INIT_START PROCESS_INFORMATION process_info = { nullptr }; // 进程信息结构体 ASST_AUTO_DEDUCED_ZERO_INIT_END + std::vector attrs; + size_t attrsize = 0; + InitializeProcThreadAttributeList(nullptr, 1, 0, &attrsize); + if (attrsize == 0) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return std::nullopt; + } + attrs.resize(attrsize); + si.lpAttributeList = reinterpret_cast(attrs.data()); + auto attr_success = InitializeProcThreadAttributeList(si.lpAttributeList, 1, 0, &attrsize); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return std::nullopt; + } + attr_success = UpdateProcThreadAttribute(si.lpAttributeList, 0, PROC_THREAD_ATTRIBUTE_HANDLE_LIST, &pipe_child_write, sizeof(HANDLE), nullptr, nullptr); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` UpdateProcThreadAttribute failed, ret error code:", err); + return std::nullopt; + } auto cmdline_osstr = asst::utils::to_osstring(cmd); BOOL create_ret = - CreateProcessW(nullptr, cmdline_osstr.data(), nullptr, nullptr, TRUE, 0, nullptr, nullptr, &si, &process_info); + CreateProcessW(nullptr, cmdline_osstr.data(), nullptr, nullptr, TRUE, EXTENDED_STARTUPINFO_PRESENT, nullptr, nullptr, &si.StartupInfo, &process_info); + DeleteProcThreadAttributeList(si.lpAttributeList); if (!create_ret) { DWORD err = GetLastError(); Log.error("Call `", cmd, "` create process failed, ret", create_ret, "error code:", err); @@ -310,17 +333,43 @@ std::shared_ptr asst::Win32IO::interactive_shell(const std::str return nullptr; } - STARTUPINFOW si {}; - si.cb = sizeof(STARTUPINFOW); - si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; - si.wShowWindow = SW_HIDE; - si.hStdInput = pipe_child_read; - si.hStdOutput = pipe_child_write; - si.hStdError = pipe_child_write; + HANDLE handles_to_inherit[] = { pipe_child_read, pipe_child_write }; + STARTUPINFOEXW si {}; + si.StartupInfo.cb = sizeof(STARTUPINFOEXW); + si.StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + si.StartupInfo.wShowWindow = SW_HIDE; + si.StartupInfo.hStdInput = pipe_child_read; + si.StartupInfo.hStdOutput = pipe_child_write; + si.StartupInfo.hStdError = pipe_child_write; + + std::vector attrs; + size_t attrsize = 0; + InitializeProcThreadAttributeList(nullptr, 1, 0, &attrsize); + if (attrsize == 0) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return nullptr; + } + attrs.resize(attrsize); + si.lpAttributeList = reinterpret_cast(attrs.data()); + auto attr_success = InitializeProcThreadAttributeList(si.lpAttributeList, 1, 0, &attrsize); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return nullptr; + } + attr_success = UpdateProcThreadAttribute(si.lpAttributeList, 0, PROC_THREAD_ATTRIBUTE_HANDLE_LIST, &handles_to_inherit, sizeof(handles_to_inherit), nullptr, nullptr); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmd, "` UpdateProcThreadAttribute failed, ret error code:", err); + return nullptr; + } auto cmd_osstr = utils::to_osstring(cmd); BOOL create_ret = - CreateProcessW(NULL, cmd_osstr.data(), nullptr, nullptr, TRUE, 0, nullptr, nullptr, &si, &m_process_info); + CreateProcessW(NULL, cmd_osstr.data(), nullptr, nullptr, TRUE, EXTENDED_STARTUPINFO_PRESENT, nullptr, nullptr, &si.StartupInfo, &m_process_info); + DeleteProcThreadAttributeList(si.lpAttributeList); + CloseHandle(pipe_child_write); CloseHandle(pipe_child_read); pipe_child_write = INVALID_HANDLE_VALUE; diff --git a/src/MaaCore/Utils/Platform/PlatformWin32.cpp b/src/MaaCore/Utils/Platform/PlatformWin32.cpp index 5cfc8c6cf7..88970ab421 100644 --- a/src/MaaCore/Utils/Platform/PlatformWin32.cpp +++ b/src/MaaCore/Utils/Platform/PlatformWin32.cpp @@ -135,19 +135,42 @@ std::string asst::platform::call_command(const std::string& cmdline, bool* exit_ return {}; } - STARTUPINFOW si {}; - si.cb = sizeof(STARTUPINFOW); - si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; - si.wShowWindow = SW_HIDE; - si.hStdOutput = pipe_child_write; - si.hStdError = pipe_child_write; + STARTUPINFOEXW si {}; + si.StartupInfo.cb = sizeof(STARTUPINFOEXW); + si.StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; + si.StartupInfo.wShowWindow = SW_HIDE; + si.StartupInfo.hStdOutput = pipe_child_write; + si.StartupInfo.hStdError = pipe_child_write; ASST_AUTO_DEDUCED_ZERO_INIT_START PROCESS_INFORMATION process_info = { nullptr }; ASST_AUTO_DEDUCED_ZERO_INIT_END + std::vector attrs; + size_t attrsize = 0; + InitializeProcThreadAttributeList(nullptr, 1, 0, &attrsize); + if (attrsize == 0) { + DWORD err = GetLastError(); + Log.error("Call `", cmdline, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return {}; + } + attrs.resize(attrsize); + si.lpAttributeList = reinterpret_cast(attrs.data()); + auto attr_success = InitializeProcThreadAttributeList(si.lpAttributeList, 1, 0, &attrsize); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmdline, "` InitializeProcThreadAttributeList failed, ret error code:", err); + return {}; + } + attr_success = UpdateProcThreadAttribute(si.lpAttributeList, 0, PROC_THREAD_ATTRIBUTE_HANDLE_LIST, &pipe_child_write, sizeof(HANDLE), nullptr, nullptr); + if (!attr_success) { + DWORD err = GetLastError(); + Log.error("Call `", cmdline, "` UpdateProcThreadAttribute failed, ret error code:", err); + return {}; + } auto cmdline_osstr = to_osstring(cmdline); BOOL create_ret = - CreateProcessW(nullptr, cmdline_osstr.data(), nullptr, nullptr, TRUE, 0, nullptr, nullptr, &si, &process_info); + CreateProcessW(nullptr, cmdline_osstr.data(), nullptr, nullptr, TRUE, EXTENDED_STARTUPINFO_PRESENT, nullptr, nullptr, &si.StartupInfo, &process_info); + DeleteProcThreadAttributeList(si.lpAttributeList); if (!create_ret) { DWORD err = GetLastError(); Log.error("Call `", cmdline, "` create process failed, ret", create_ret, "error code:", err); From 960c0f5820c38f0544ba3da7064d5dffc39c1822 Mon Sep 17 00:00:00 2001 From: dantmnf Date: Sun, 17 Dec 2023 11:57:18 +0800 Subject: [PATCH 12/54] chore: fix SyncRes build error --- src/SyncRes/SyncRes.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/SyncRes/SyncRes.csproj b/src/SyncRes/SyncRes.csproj index d3facb9fae..9d891d2198 100644 --- a/src/SyncRes/SyncRes.csproj +++ b/src/SyncRes/SyncRes.csproj @@ -6,6 +6,7 @@ false false false + disable From 32bda3152a768fd2249d271036133c5406915659 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Tue, 2 Jan 2024 12:23:13 +0800 Subject: [PATCH 13/54] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9readme=E4=B8=AD?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E5=88=86=E8=BE=A8=E7=8E=87=E4=B8=BA2k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/en-us/readme.md | 2 +- docs/ja-jp/readme.md | 4 ++-- docs/ko-kr/readme.md | 2 +- docs/readme.md | 2 +- docs/zh-tw/readme.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c92a73f1f2..a68a24afb9 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ MAA 的意思是 MAA Assistant Arknights ### 基本说明 1. 请根据 [模拟器和设备支持情况](https://maa.plus/docs/用户手册/模拟器和设备支持),进行对应的操作; -2. 修改模拟器分辨率为 `16:9` 比例,最低 `1280 * 720`,更高不限;
+2. 修改模拟器分辨率为 `16:9` 比例,最低 `1280 * 720`,最高 `2K`;
对于国际服(美服)玩家,由于界面布局、字号等问题,我们则建议您将分辨率修改为 `1920 * 1080`; 3. 开始使用吧! diff --git a/docs/en-us/readme.md b/docs/en-us/readme.md index 686784c67b..05ceba40f3 100644 --- a/docs/en-us/readme.md +++ b/docs/en-us/readme.md @@ -59,7 +59,7 @@ Talk is cheap. Show me the pictures!
### Basic Settings 1. Please refer to [Emulator Supports](./1.3-EMULATOR_SUPPORTS.md) to configure your emulator. -2. Change your emulator resolution to `1280 * 720` or higher with `16:9` aspect ratio.
+2. Change your emulator resolution to `1280 * 720` or higher, the maximum is `2K`, with `16:9` aspect ratio.
For YostarEN, due to game interfaces issues, we recommend changing the resolution to `1920 * 1080`. 3. Enjoy it! diff --git a/docs/ja-jp/readme.md b/docs/ja-jp/readme.md index 72152b5a22..c01f4754dd 100644 --- a/docs/ja-jp/readme.md +++ b/docs/ja-jp/readme.md @@ -59,8 +59,8 @@ UIを見れば使い方もすぐ分かる!
### 基本設定 1. [エミュレータのサポート](./1.3-エミュレータのサポート.md)を参照して、対応するエミュレーターの操作に進んでください。 -2. エミュレータ解像度を `16:9`、`1280 * 720` 以上に変更してください。それより大きい解像度でも大丈夫です。 -
YostarENでは、ゲームインターフェイスの問題から、解像度を`1920 * 1080`に変更することをお勧めします。 +2. エミュレータの解像度を「1280 * 720」以上に変更します。最大は「2K」、アスペクト比は「16:9」です。
+ YostarENでは、ゲームインターフェイスの問題から、解像度を`1920 * 1080`に変更することをお勧めします。 3. ゲームスタート! 詳しいマニュアルは[MAA使用説明書](./1.1-詳細説明.md)を参照してください。 diff --git a/docs/ko-kr/readme.md b/docs/ko-kr/readme.md index fd296d1dd1..70fb6702da 100644 --- a/docs/ko-kr/readme.md +++ b/docs/ko-kr/readme.md @@ -59,7 +59,7 @@ MAA는 MAA Assistant Arknights의 약자입니다 ### 기본 설정 1. [에뮬레이터 지원](./1.3-에뮬레이터_지원.md) 문서를 참고하여 에뮬레이터/기기를 설정해 주세요. -2. 에뮬레이터/기기의 해상도를 `1280 × 720` 또는 그 이상의 `16:9` 비율인 해상도로 맞춰주세요.
+2. 에뮬레이터 해상도를 '1280 * 720' 이상으로 변경하세요. 최대값은 '2K'이고 가로세로 비율은 '16:9'입니다.
YostarEN의 경우 게임 인터페이스 문제로 인해 해상도를 '1920 * 1080'으로 변경하는 것을 권장합니다 3. 어시스턴트 시작! diff --git a/docs/readme.md b/docs/readme.md index b0c4626963..137d9ade89 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -64,7 +64,7 @@ MAA 的意思是 MAA Assistant Arknights ### 基本说明 1. 请根据 [模拟器支持情况](./用户手册/模拟器和设备支持/Windows模拟器.md),进行对应的操作; -2. 修改模拟器分辨率为 `16:9` 比例,最低 `1280 * 720`,更高不限;
+2. 修改模拟器分辨率为 `16:9` 比例,最低 `1280 * 720`,最高 `2K`;
对于国际服(美服)玩家,由于界面布局、字号等问题,我们则建议您将分辨率修改为 `1920 * 1080`; 3. 开始使用吧! diff --git a/docs/zh-tw/readme.md b/docs/zh-tw/readme.md index 50b77a86ab..d796af9fb3 100644 --- a/docs/zh-tw/readme.md +++ b/docs/zh-tw/readme.md @@ -64,7 +64,7 @@ MAA 的意思是 MAA Assistant Arknights ### 基本說明 1. 請根據 [模擬器支援情況](./1.3-模擬器支援.md),進行對應的操作。 -2. 修改模擬器解析度為 `16:9` 比例,最低 `1280 * 720`,更高不限。
+2. 修改模擬器解析度為 `16:9` 比例,最低 `1280 * 720`,最高 `2K`。
對於國際服(美服)玩家,由於介面佈局問題,我們則建議您將解析度修改為 `1920 * 1080`。 3. 開始使用吧! From a7e8970741acf5ecacf15bd484f3dc25f7064def Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Tue, 2 Jan 2024 13:20:43 +0800 Subject: [PATCH 14/54] =?UTF-8?q?chore:=20net8=E5=90=8E=E4=B8=8D=E8=BF=9B?= =?UTF-8?q?=E8=A1=8CMAA=5Fwin7.exe=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index a81e32f2c6..611c0084b2 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -222,7 +222,11 @@ namespace MaaWpfGui.ViewModels.UI return false; } - File.Copy(Path.Combine(curDir, "MAA.exe"), Path.Combine(curDir, "MAA_win7.exe"), true); + // 如果是 Framework48,把 MAA.exe 复制一份,重命名为 MAA_win7.exe + if (RuntimeInformation.FrameworkDescription.Contains("Framework")) + { + File.Copy(Path.Combine(curDir, "MAA.exe"), Path.Combine(curDir, "MAA_win7.exe"), true); + } string removeListFile = Path.Combine(extractDir, "removelist.txt"); if (File.Exists(removeListFile)) @@ -475,7 +479,8 @@ namespace MaaWpfGui.ViewModels.UI { Process.Start(UpdateUrl); } - }); + } + ); _ = Execute.OnUIThreadAsync(() => { using var toast = new ToastNotification((otaFound ? LocalizationHelper.GetString("NewVersionFoundTitle") : LocalizationHelper.GetString("NewVersionFoundButNoPackageTitle")) + " : " + UpdateTag); From d40b1e084a2f038672cf9d3cad48063ba413525d Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:59:00 +0800 Subject: [PATCH 15/54] =?UTF-8?q?fix:=20=E7=89=88=E6=9C=AC=E5=85=BC?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index 611c0084b2..84d4385194 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -918,7 +918,7 @@ namespace MaaWpfGui.ViewModels.UI return false; } - if (version.StartsWith('c') || version.StartsWith("20") || version.Contains("Local")) + if (version.StartsWith("c") || version.StartsWith("20") || version.Contains("Local")) { return false; } @@ -942,8 +942,8 @@ namespace MaaWpfGui.ViewModels.UI // v{Major}.{Minor}.{Patch}-{Prerelease}.{CommitDistance}.g{CommitHash} // v4.6.7-beta.2.1.g1234567 // v4.6.8-5.g1234567 - var lastId = version.PrereleaseIdentifiers[^1].ToString(); - return lastId is not null && lastId.StartsWith('g') && lastId.Length >= 7; + var lastId = version.PrereleaseIdentifiers.LastOrDefault().ToString(); + return lastId.StartsWith("g") && lastId.Length >= 7; } /* From d88372c9a789b3c6b3499c514c0b984037e8644d Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Wed, 3 Jan 2024 14:12:55 +0800 Subject: [PATCH 16/54] =?UTF-8?q?fix:=20=E6=8F=90=E4=BE=9B=E6=89=93?= =?UTF-8?q?=E4=B8=8D=E5=BC=80MAA=5Fwin7.exe=E7=9A=84=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index 84d4385194..9fc7230e3f 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -226,6 +226,12 @@ namespace MaaWpfGui.ViewModels.UI if (RuntimeInformation.FrameworkDescription.Contains("Framework")) { File.Copy(Path.Combine(curDir, "MAA.exe"), Path.Combine(curDir, "MAA_win7.exe"), true); + string batFileContent = "@echo off\n" + + "ren MAA.exe MAA_v5.exe\n" + + "start \"\" .\\MAA_win7.exe"; + + // 将内容写入.bat文件 + File.WriteAllText("启动旧版.cmd", batFileContent); } string removeListFile = Path.Combine(extractDir, "removelist.txt"); From c61b089e8e5bad93ab1ace5da60cceac84fc6c27 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Wed, 3 Jan 2024 16:40:53 +0800 Subject: [PATCH 17/54] =?UTF-8?q?fix:=20EN=E6=9C=8D=20=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=90=83=E5=A4=A7=E7=90=86=E6=99=BA=E8=8D=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #7793 --- resource/tasks.json | 2 +- src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 8ce0d95fc9..7984414327 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4632,7 +4632,7 @@ "roi": [ 50, 376, - 230, + 250, 40 ], "preDelay": 3000, diff --git a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp index 9d14c6b47b..39ea042fc0 100644 --- a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp +++ b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp @@ -60,7 +60,7 @@ int asst::DrGrandetTaskPlugin::analyze_time_left(const cv::Mat& image) } auto text = analyzer.get_result().front().text; - std::regex regex = std::regex(R"(\d[:]\d\d)"); + auto regex = std::regex(R"((\d):(\d?)(\d?))"); std::smatch match; if (!std::regex_search(text, match, regex)) { return -1; @@ -68,10 +68,11 @@ int asst::DrGrandetTaskPlugin::analyze_time_left(const cv::Mat& image) std::string time = match.str(0); Log.info("Time:", time); - int min = std::stoi(time.substr(0, 1)); - int sec = std::stoi(time.substr(2, 2)); - int millisec = (min * 60 + sec) * 1000; + int min = std::stoi(match.str(1)); + int sec1 = match.str(2).empty() ? 5 : std::stoi(match.str(2)); + int sec2 = match.str(3).empty() ? 9 : std::stoi(match.str(3)); + int millis = (min * 60 + sec1 * 10 + sec2) * 1000; - Log.info("Time left ms:", millisec); - return millisec; + Log.info("Time left ms:", millis); + return millis; } From e17e1a9734a717c08d0c005e3ac32141081f5142 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Wed, 3 Jan 2024 16:56:27 +0800 Subject: [PATCH 18/54] =?UTF-8?q?chore:=20=E5=8D=9A=E6=9C=97=E5=8F=B0?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E8=AF=86=E5=88=AB=E7=90=86=E6=99=BA=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D=E6=97=B6=E9=97=B4=E5=A4=A7=E4=BA=8E6=E5=88=86?= =?UTF-8?q?=E9=92=9F=E5=88=99=E8=BF=94=E5=9B=9E=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp index 39ea042fc0..ac4c6f691d 100644 --- a/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp +++ b/src/MaaCore/Task/Fight/DrGrandetTaskPlugin.cpp @@ -72,7 +72,10 @@ int asst::DrGrandetTaskPlugin::analyze_time_left(const cv::Mat& image) int sec1 = match.str(2).empty() ? 5 : std::stoi(match.str(2)); int sec2 = match.str(3).empty() ? 9 : std::stoi(match.str(3)); int millis = (min * 60 + sec1 * 10 + sec2) * 1000; - + if (millis < 0 || millis > 6 * 60 * 1000) { + Log.warn("Invalid time:", millis); + return -1; + } Log.info("Time left ms:", millis); return millis; } From 065fd028d5d973e0fb15c6234ae8f3e8f71e05f7 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Tue, 2 Jan 2024 17:52:42 +0100 Subject: [PATCH 19/54] chore: YostarEN I.S. Trader regex [skip changelog] (cherry picked from commit c243dad59c6d46487770f1c5fd330453d7c9abf1) --- resource/global/YoStarEN/resource/tasks.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index 28904dd567..b983c5a18f 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -4755,6 +4755,10 @@ "'Children's Puppet'", "“童趣玩偶”" ], + [ + "Coin *-* *Operated Toy", + "Coin-Operated Toy" + ], [ "Coin-Operated Toy", "投币玩具" From 8cb5600841fe00caf48a5db453ca5fb3f62b1160 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Tue, 2 Jan 2024 18:00:57 +0100 Subject: [PATCH 20/54] chore: more YostarEN I.S. collectibles regex [skip changelog] (cherry picked from commit 281cc0d9745ffcebe571e11644ed27d9ed9ae839) --- resource/global/YoStarEN/resource/tasks.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index b983c5a18f..b747ecea23 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -5600,23 +5600,23 @@ "刻勋之手" ], [ - "Iron Guard - Wall", + "Iron Guard *-* *Wall", "铁卫-城墙" ], [ - "Iron Guard - Tower", + "Iron Guard *-* *Tower", "铁卫-高塔" ], [ - "Broken Wand - Solving", + "Broken Wand *-* *Solving", "断杖-破解" ], [ - "Broken Wand - Light of Wisdom", + "Broken Wand *-* *Light of Wisdom", "断杖-智慧之光" ], [ - "Broken Wand - Learning", + "Broken Wand *-* *Learning", "断杖-学识" ], [ From fd2a59ee4a6d07769d2be1837509a885df488267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?DL=5F=E5=90=9B=E9=80=B8=E5=AF=92?= <84064064+junyihan233@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:39:35 +0800 Subject: [PATCH 21/54] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DSSS=5F=E8=87=AA?= =?UTF-8?q?=E8=B5=B0=E6=9C=BA=E6=A2=B0=E6=90=8F=E6=96=97=E5=9C=BA=5F?= =?UTF-8?q?=E6=B5=8A=E8=92=82=E9=87=8D=E5=B2=B3=E5=A1=9E=E9=9B=B7=E5=A8=85?= =?UTF-8?q?=E6=B3=A5=E5=B2=A9=5F=E9=80=9F=E5=86=B7=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=96=87=E4=BB=B6=E5=90=8D=E5=90=8E=E7=BC=80?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF=20(#7879)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...重岳塞雷娅泥岩_速冷 => SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resource/copilot/{SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷 => SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷.json} (100%) diff --git a/resource/copilot/SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷 b/resource/copilot/SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷.json similarity index 100% rename from resource/copilot/SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷 rename to resource/copilot/SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷.json From 582ea6899076f6c68c92d9762d0feaf3d3f5fd19 Mon Sep 17 00:00:00 2001 From: Manicsteiner <63437036+Manicsteiner@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:26:44 +0800 Subject: [PATCH 22/54] chore: YoStarJP roguelike nextlevel ocr (#7859) * chore: YoStarJP roguelike nextlevel ocr * chore: using text instead of ocrreplace like other clients --------- Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com> (cherry picked from commit e91ffc0bf24f1dcd0734f95fdde7eebeb8e24cb6) --- resource/global/YoStarJP/resource/tasks.json | 164 +++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index a21b47ce4a..ea71975a11 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -5852,6 +5852,16 @@ ] ] }, + "Phantom@Roguelike@NextLevel": { + "text": [ + "迷霧の岐路", + "落陽の庭園", + "凋落の故地", + "悪夢の幕開け", + "緋月の回廊", + "渇欲の大広間" + ] + }, "Phantom@Roguelike@SelectTheme": { "text": [ "ファントム" @@ -5860,6 +5870,71 @@ "Phantom@Roguelike@StageEncounterOptionUnknown": { "templThreshold": 0.95 }, + "Phantom@Roguelike@StrategyChange_mode0": { + "text": [ + "_aggressive", + "_pragmatic", + "_default" + ], + "ocrReplace": [ + [ + "迷霧の岐路", + "_aggressive" + ], + [ + "落陽の庭園", + "_aggressive" + ], + [ + "凋落の故地", + "_aggressive" + ], + [ + "悪夢の幕開け", + "_pragmatic" + ], + [ + "緋月の回廊", + "_pragmatic" + ], + [ + "渇欲の大広間", + "_default" + ] + ] + }, + "Phantom@Roguelike@StrategyChange_mode4": { + "text": [ + "_default", + "_exit" + ], + "ocrReplace": [ + [ + "迷霧の岐路", + "_default" + ], + [ + "落陽の庭園", + "_default" + ], + [ + "凋落の故地", + "_exit" + ], + [ + "悪夢の幕開け", + "_exit" + ], + [ + "緋月の回廊", + "_exit" + ], + [ + "渇欲の大広間", + "_exit" + ] + ] + }, "Mizuki@Roguelike@MissionFailedFlag2": { "roi": [ 400, @@ -5869,6 +5944,17 @@ ], "template": "Mizuki@Roguelike@MissionFailedFlag2.png" }, + "Mizuki@Roguelike@NextLevel": { + "text": [ + "陽の射す海岸", + "離れの孤島", + "迫.*来る波濤", + "秘密の温床", + "不可侵の洞窟", + "深海の密林", + "紺碧の揺籃" + ] + }, "Mizuki@Roguelike@SelectTheme": { "text": [ "ミヅキ" @@ -5883,6 +5969,84 @@ ], "template": "Mizuki@Roguelike@StageEncounterLeaveConfirm.png" }, + "Mizuki@Roguelike@StageSafeHouseReuse": { + "text": [ + "セーフハウスを利用する" + ] + }, + "Mizuki@Roguelike@StrategyChange_mode0": { + "text": [ + "_aggressive", + "_pragmatic", + "_default" + ], + "ocrReplace": [ + [ + "陽の射す海岸", + "_aggressive" + ], + [ + "離れの孤島", + "_aggressive" + ], + [ + "迫.*来る波濤", + "_pragmatic" + ], + [ + "秘密の温床", + "_pragmatic" + ], + [ + "不可侵の洞窟", + "_default" + ], + [ + "深海の密林", + "_default" + ], + [ + "紺碧の揺籃", + "_SKIP_" + ] + ] + }, + "Mizuki@Roguelike@StrategyChange_mode4": { + "text": [ + "_default", + "_exit" + ], + "ocrReplace": [ + [ + "陽の射す海岸", + "_default" + ], + [ + "離れの孤島", + "_default" + ], + [ + "迫.*来る波濤", + "_exit" + ], + [ + "秘密の温床", + "_exit" + ], + [ + "不可侵の洞窟", + "_exit" + ], + [ + "深海の密林", + "_exit" + ], + [ + "紺碧の揺籃", + "_exit" + ] + ] + }, "Reclamation@ClickAnyZoneOcr": { "roi": [ 308, From 8120d6b4cf593672b7ed13f210a5a25641416dbb Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 3 Jan 2024 19:59:04 +0800 Subject: [PATCH 23/54] =?UTF-8?q?perf:=20=E5=88=A0=E9=99=A4=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E7=94=A8=E5=88=B0=E7=9A=84=20task?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit ff91f195c8a3feddef68f851b146309f73d0074b) --- resource/tasks.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 7984414327..1762300705 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -13245,18 +13245,6 @@ }, "Mizuki@Roguelike@Abandon": {}, "Mizuki@Roguelike@ChooseDifficulty": {}, - "Mizuki@Roguelike@ChooseDifficulty0": { - "baseTask": "Roguelike@ChooseDifficulty", - "roi": [ - 1064, - 294, - 216, - 170 - ], - "next": [ - "Roguelike@StartExplore" - ] - }, "Mizuki@Roguelike@ChooseDifficulty_Easiest": { "action": "ClickRect", "specificRect": [ From ec3248564b8929e8c857cbb5eb292e7f6e890dba Mon Sep 17 00:00:00 2001 From: zzyyyl <74587068+zzyyyl@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:59:26 +0800 Subject: [PATCH 24/54] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E5=88=B7=E6=BA=90=E7=9F=B3=E9=94=AD=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=8D=A1=E4=BD=8F=E7=9A=84=E9=97=AE=E9=A2=98=20(#7882)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #7858 (cherry picked from commit 68bfc727a90764316280258e5d7a871ad2655fa2) --- resource/tasks.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resource/tasks.json b/resource/tasks.json index 1762300705..4e9b56fb59 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -13191,6 +13191,10 @@ ] ] }, + "Phantom@Roguelike@StrategyChange_mode1": { + "baseTask": "Phantom@Roguelike@StrategyChange_mode4", + "Doc": "刷源石锭第二层就会退,这里借用第三层退的刷开局策略" + }, "Phantom@Roguelike@StrategyChange_mode4": { "text": [ "_default", @@ -13896,6 +13900,10 @@ ] ] }, + "Mizuki@Roguelike@StrategyChange_mode1": { + "baseTask": "Mizuki@Roguelike@StrategyChange_mode4", + "Doc": "刷源石锭第二层就会退,这里借用第三层退的刷开局策略" + }, "Mizuki@Roguelike@StrategyChange_mode4": { "text": [ "_default", @@ -15221,6 +15229,10 @@ ] ] }, + "Sami@Roguelike@StrategyChange_mode1": { + "baseTask": "Sami@Roguelike@StrategyChange_mode4", + "Doc": "刷源石锭第二层就会退,这里借用第三层退的刷开局策略" + }, "Sami@Roguelike@StrategyChange_mode4": { "text": [ "_default", From dc5b74d2811c47b139f9dcc22f2797ad04cadf3a Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Wed, 3 Jan 2024 22:38:00 +0800 Subject: [PATCH 25/54] fix: changed template YostarEN I.S. enter fix #7766 fix #7886 Revert 5c4a2f56e53b1db3faff235902a8f8b49014b8a5 & fix (cherry picked from commit ce72e89d26eccfd45b7064d292ad8af7e176bff8) --- .../Phantom@Roguelike@EnterAfterRecruit.png | Bin 51546 -> 15312 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resource/global/YoStarEN/resource/template/Phantom@Roguelike@EnterAfterRecruit.png b/resource/global/YoStarEN/resource/template/Phantom@Roguelike@EnterAfterRecruit.png index d581570de6417be121a804f30ee58b7ebff87849..e248bb53150526b0f4877f4b452ebe0e9485e4ad 100644 GIT binary patch literal 15312 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 literal 51546 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 From 4e84b7e827abaeb5e56b335eccbf4b419baea7e9 Mon Sep 17 00:00:00 2001 From: zzyyyl <74587068+zzyyyl@users.noreply.github.com> Date: Wed, 3 Jan 2024 22:34:25 +0800 Subject: [PATCH 26/54] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=20StageEncounte?= =?UTF-8?q?rClickToLeave=20=E4=BB=BB=E5=8A=A1=20(#7887)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 作为 JustReturn 任务还有自己作为 next 也太危险了( 看了一下,应该所有任务都会通过 CloseEvent 退出,剩下的就是直接进下一层了,接上 NextLevel fix #7884 (cherry picked from commit 9766b325b4e624dedd3d7c1511cfbce41033b2f7) --- resource/tasks.json | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 4e9b56fb59..70768250b0 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -12138,21 +12138,6 @@ "Roguelike@Stages#next" ] }, - "Roguelike@StageEncounterClickToLeave": { - "algorithm": "JustReturn", - "action": "ClickRect", - "specificRect": [ - 600, - 600, - 50, - 50 - ], - "next": [ - "Roguelike@StageEncounterOptions#next", - "Roguelike@Stages#next", - "Roguelike@StageEncounterClickToLeave" - ] - }, "Roguelike@StageEncounterEnter": { "Doc": "base_task", "template": "empty.png", @@ -12212,8 +12197,7 @@ "Doc": "本任务注册了插件RoguelikeStageEncounterTaskPlugin", "next": [ "Roguelike@StageEncounterOptions#next", - "Roguelike@Stages#next", - "Roguelike@StageEncounterClickToLeave" + "Roguelike@Stages#next" ] }, "Roguelike@StageEncounterLeaveConfirm": { @@ -12376,7 +12360,7 @@ "Roguelike@StageVerticalConfirmSafeHouse", "Roguelike@StageSafeHouseEnter", "Roguelike@StageEncounterOptions#next", - "Roguelike@StageEncounterClickToLeave" + "Roguelike@NextLevel" ] }, "Roguelike@StageTrader": { @@ -12679,17 +12663,15 @@ "baseTask": "Roguelike@StageVerticalConfirm", "template": "Roguelike@StageVerticalConfirm.png", "next": [ - "Roguelike@StageSafeHouseEnter", "Roguelike@StageSafeHouseEnter", "Roguelike@StageEncounterOptions#next", - "Roguelike@StageEncounterClickToLeave" + "Roguelike@NextLevel" ] }, "Roguelike@StageVerticalConfirmTrader": { "template": "Roguelike@StageVerticalConfirm.png", "baseTask": "Roguelike@StageVerticalConfirm", "next": [ - "Roguelike@StageTraderEnter", "Roguelike@StageTraderEnter", "Roguelike@StageTraderRefreshWithDice", "Roguelike@StageTraderInvestSystem", @@ -14634,13 +14616,6 @@ "Sami@Roguelike@Stages#next" ] }, - "Sami@Roguelike@StageEncounterClickToLeave": { - "next": [ - "Sami@Roguelike@StageEncounterOptions#next", - "Sami@Roguelike@Stages#next", - "Sami@Roguelike@StageEncounterClickToLeave" - ] - }, "Sami@Roguelike@StageEncounterEnter": {}, "Sami@Roguelike@StageEncounterLeaveConfirm": {}, "Sami@Roguelike@StageEncounterOptionFree": {}, From fc3deabd5d26f44580189f151e12ae9d3c0612e2 Mon Sep 17 00:00:00 2001 From: Horror Proton <107091537+horror-proton@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:33:11 +0800 Subject: [PATCH 27/54] docs: update instruction for waydroid fix: https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/7701 (cherry picked from commit 8cfb7e0aa9008348e58c2f7ae2c7dacf51972a1b) --- docs/en-us/1.5-EMULATOR_SUPPORTS_FOR_LINUX.md | 4 ++++ docs/用户手册/模拟器和设备支持/Linux模拟器.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/en-us/1.5-EMULATOR_SUPPORTS_FOR_LINUX.md b/docs/en-us/1.5-EMULATOR_SUPPORTS_FOR_LINUX.md index 67737f72c9..18e5fc954a 100644 --- a/docs/en-us/1.5-EMULATOR_SUPPORTS_FOR_LINUX.md +++ b/docs/en-us/1.5-EMULATOR_SUPPORTS_FOR_LINUX.md @@ -81,6 +81,10 @@ waydroid prop set persist.waydroid.height 720 After restarting, record `IP address` in `Setting` - `About phone` , fill `${IP address}:5555` to the adb IP address in `sample.py` . +If you are using amdgpu, `screencap` command may write messages to stderr, causing image decoding error. +Run `adb exec-out screencap | xxd | head` to check if there is something like `/vendor/etc/hwdata/amdgpu.ids: No such file...` in the output. +Modify screencap commands in `resource/config.json` from `adb exec-out screencap` to `adb exec-out 'screencap 2>/dev/null'` as a workaround. + ### ✅ [redroid](https://github.com/remote-android/redroid-doc) Arknights runs properly in Android 11 image. Do remember to expose port 5555 for adb. diff --git a/docs/用户手册/模拟器和设备支持/Linux模拟器.md b/docs/用户手册/模拟器和设备支持/Linux模拟器.md index 13ca0a7b1e..ae5487282c 100644 --- a/docs/用户手册/模拟器和设备支持/Linux模拟器.md +++ b/docs/用户手册/模拟器和设备支持/Linux模拟器.md @@ -88,6 +88,10 @@ waydroid prop set persist.waydroid.height 720 设置 adb 的 IP 地址:打开 `设置` - `关于` - `IP地址` ,记录第一个 `IP` ,将 `${记录的IP}:5555` 填入`sample.py` 的 adb IP 一栏。 +如果使用 amdgpu, `screencap` 命令可能向 stderr 输出信息导致图片解码失败. +可以运行 `adb exec-out screencap | xxd | head` 并检查输出中是否有类似 `/vendor/etc/hwdata/amdgpu.ids: No such file...` 的文本来确认这一点. +尝试将 `resource/config.json` 中的截图命令由 `adb exec-out screencap` 改为 `adb exec-out 'screencap 2>/dev/null'`. + ### ✅ [redroid](https://github.com/remote-android/redroid-doc) 安卓 11 版本的镜像可正常运行游戏, 需要暴露 5555 adb 端口. From 396e1b0538a2353e763420a63dc65fb6a5a3b546 Mon Sep 17 00:00:00 2001 From: Manicsteiner <63437036+Manicsteiner@users.noreply.github.com> Date: Thu, 4 Jan 2024 01:47:00 +0800 Subject: [PATCH 28/54] =?UTF-8?q?chore:=20YoStarJP=20=E5=A1=B5=E5=BD=B1?= =?UTF-8?q?=E3=81=AB=E4=BA=A4=E3=82=8F=E3=82=8B=E6=AE=8B=E9=9F=BF=20?= =?UTF-8?q?=E5=BE=A9=E5=88=BB=20navigation=20(#7888)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit c2dc35bf1e33b13ce17d4c068b676903a6847bbb) --- resource/global/YoStarJP/resource/tasks.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index ea71975a11..0921734a18 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -103,6 +103,20 @@ "イベント" ] }, + "LE-Open": { + "text": [ + "塵影に交わる残響", + "イベント復刻", + "開催中" + ] + }, + "LEChapterToLE": { + "text": [ + "光差す音楽堂", + "光差す", + "音楽堂" + ] + }, "SN-Open": { "baseTask": "#none", "action": "ClickSelf", From 25c3fa5d54fdaae8f386a499f82e86673498cfa8 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Wed, 3 Jan 2024 19:07:46 +0100 Subject: [PATCH 29/54] chore: YosrarEN Lingering Echoes stage navigation (cherry picked from commit cd06007e586497842d1e3923c082ba6dece7dac3) --- resource/global/YoStarEN/resource/tasks.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index b747ecea23..b0346a122c 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -194,8 +194,16 @@ }, "LE-Open": { "text": [ - "Rerun", - "open" + "Lingering Echoes", + "Lingering", + "Echoes" + ] + }, + "LEChapterToLE": { + "text": [ + "Afterglow Hall", + "Afterglow", + "Hall" ] }, "SN-Open": { @@ -6488,4 +6496,5 @@ "SAND" ] } + } From 5b3d85a0db34b504514f3d4c5fba511fcdb1622d Mon Sep 17 00:00:00 2001 From: Constrat Date: Wed, 3 Jan 2024 18:29:15 +0000 Subject: [PATCH 30/54] chore: Auto Update Game Resources - 2024-01-03 [skip changelog] (cherry picked from commit 5c5c028131609eda96f6bfbf67a339ab87f440dc) --- resource/global/YoStarEN/resource/tasks.json | 3 +-- resource/global/YoStarEN/resource/version.json | 2 +- resource/global/YoStarJP/resource/tasks.json | 2 +- resource/global/YoStarJP/resource/version.json | 2 +- resource/global/YoStarKR/resource/version.json | 2 +- resource/global/txwy/resource/version.json | 2 +- resource/version.json | 2 +- 7 files changed, 7 insertions(+), 8 deletions(-) diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index b0346a122c..99491f88f6 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -6496,5 +6496,4 @@ "SAND" ] } - -} +} \ No newline at end of file diff --git a/resource/global/YoStarEN/resource/version.json b/resource/global/YoStarEN/resource/version.json index f643e5a12e..cb6da71924 100644 --- a/resource/global/YoStarEN/resource/version.json +++ b/resource/global/YoStarEN/resource/version.json @@ -7,5 +7,5 @@ "pool": "Arbiter Aequissimus", "time": 1703160000 }, - "last_updated": "2023-12-31 20:06:53.391" + "last_updated": "2024-01-03 18:29:13.300" } diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index 0921734a18..2444a1dd05 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -111,7 +111,7 @@ ] }, "LEChapterToLE": { - "text": [ + "text": [ "光差す音楽堂", "光差す", "音楽堂" diff --git a/resource/global/YoStarJP/resource/version.json b/resource/global/YoStarJP/resource/version.json index 6636c629ec..91efc1070c 100644 --- a/resource/global/YoStarJP/resource/version.json +++ b/resource/global/YoStarJP/resource/version.json @@ -7,5 +7,5 @@ "pool": "執裁者", "time": 1703124000 }, - "last_updated": "2023-12-31 20:06:53.391" + "last_updated": "2024-01-03 18:29:13.300" } diff --git a/resource/global/YoStarKR/resource/version.json b/resource/global/YoStarKR/resource/version.json index c086d557db..d10cab2d30 100644 --- a/resource/global/YoStarKR/resource/version.json +++ b/resource/global/YoStarKR/resource/version.json @@ -7,5 +7,5 @@ "pool": "중재자", "time": 1703124000 }, - "last_updated": "2023-12-31 20:06:53.391" + "last_updated": "2024-01-03 18:29:13.300" } diff --git a/resource/global/txwy/resource/version.json b/resource/global/txwy/resource/version.json index b5ed5dc945..1cb2fa9e0d 100644 --- a/resource/global/txwy/resource/version.json +++ b/resource/global/txwy/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年歡慶·相逢", "time": 1703577600 }, - "last_updated": "2023-12-31 20:06:53.391" + "last_updated": "2024-01-03 18:29:13.300" } diff --git a/resource/version.json b/resource/version.json index 3176ed43f3..87b1801303 100644 --- a/resource/version.json +++ b/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年欢庆·展望", "time": 1704038400 }, - "last_updated": "2023-12-31 20:06:53.391" + "last_updated": "2024-01-03 18:29:13.300" } From a2e2430623c85f00b4d4eedb1d25c9f9ca01ac0b Mon Sep 17 00:00:00 2001 From: HX3N <128385247+HX3N@users.noreply.github.com> Date: Thu, 4 Jan 2024 05:38:49 +0900 Subject: [PATCH 31/54] chore: YoStarKR template image replacement (#7895) (cherry picked from commit b1769e2e464b2b16d1d0959524ae6948ed03e507) --- ...@Roguelike@StageEncounterOptionUnknown.png | Bin 1974 -> 4154 bytes .../template/Phantom@Roguelike@GamePass.png | Bin 64295 -> 57300 bytes .../Phantom@Roguelike@GamePassSkip1.png | Bin 4308 -> 6128 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resource/global/YoStarKR/resource/template/Mizuki@Roguelike@StageEncounterOptionUnknown.png b/resource/global/YoStarKR/resource/template/Mizuki@Roguelike@StageEncounterOptionUnknown.png index 26aa4894293a87f80d2d086aa7137465f79f4064..f08d5b9454c48c90e8f4bde6eca561ad7103f4e3 100644 GIT binary patch literal 4154 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%0Dy!50Qvv` z0D$NK0Cg|`0P0`>06Lfe02gqax=}m;000SaNLh0L01FZT01FZU(%pXi0000RbVXQn zQ*UN;cVTj607GSLb9r+hQ*?D?X>TA@Z*OeDr{R1600l-#L_t(YiM^KHjx0wJgulq@ z>Y3SH8G{8v@(&mr#3e{bT<`*bcmXbW26%PMIcImKD>JyLp4nadh;w68SKU>eRgswy z(WTEm``VdBRk17!v8=e?L2YPz2Z+qXHdO_{vNV>%3DyTfjfewdBmfbG{SCH}ge0WF_6Gg2&uIJ`#RBaCX~7Dr&M@Ahu|afd{RrYj zIA`bT5%MiH9+4J^dn!&4hJ1oOp1Obn;(+5c$(E0J`w!X+Ry8e{=#*AuU_7CZfAyDX zqwNl2rJN9&yfjdcV54@Jz!7GH?GeTqWZds>iQ!ps>JjoX-GIPx53NC6P(EQ7iiQyd zdshv4#^a2lAuY4J-XIpB0S#rMkG}k~?HQ<8XYdvH_2=M$6cgB0z%_6g`HU6N?vUE# zthbv3Ktd(H3XmC#bOT#;)zoebE?~Nfow&A}QHa1LbpPewEboDuqO&G9v9Y(^_#0Bd zF4p;Hn@QQ8bh>GNyf&%bk!CW_0IpxV68jna6!Oara>lwqfwiFH=YKWz2=%mAH9!ZF zzFXjQ1bIW`Zfpz10Y#@U_8^#ED+P*9`kIJlXX+98vNNzv3*3{ypn8X#)4!J$v)f}0 zT!rdszDJw1J^u9fu3aeeHW##ZB;BT8#)^HJfq6mEXv>kLQ|go(=t7J)I43t-zav?1 zH$-yG_`1vr?=%5VplZlx$}XFdSIuh)%HTaMo=@b3b9-xuFn ze-E$^?V)J>ho#DU&z=1LU+W+0f~5HW0|!1xj}MIh0=5&Wdf-B+MgRZ+07*qoM6N<$ Ef`QG$tN;K2 literal 1974 zcmV;n2TAyeP)IdC)KLVri`~KQVxC=9nc>bucMk?D z<|!*PDm)%lneKe^PyY@Wr(xUmYA)ciVp#((d(vrwU)z5fj6B-_jnm#QI~uI@h)0~>*d-64C=USS^6N7j)Ha!xilfwDG|=7gL`8f1Z4&}N%1TL8(h&k!U5w%_7E zF>eI1)2P^{D`zn#3zLC~d%sQrAlWiA6X3dS++%7P(|q5r zj*p+2ZJOEvcLYFpdUZ51;3`#S&hyNOWm!mOMnpTcHi9%j2EsOgk|IJjiIzd&`Qex9 z_gAffnb;99z{`iw+GO&atP0yIU?3f@hvW%X?veVsi>dh0}j*W@IPDNUUJ zvlf`A!?G@$sH(``NRqTwrETlPj=|PaB}Q0?2olREz>#gT+=r`35^U2h0_IehIREC- z_7%PhMka&U`qG{rA5M({Ak3N$Euu@-h`y3Ra(~!gUtRzB!w&$27_lcwh|ESrq^jmN zTKiailPcQI%E*>xdCO^TRob={Kt#-kDHtR(8sKCaG0%r(Sw25KGh&|Fet&p)d^jGD z5uBze7`=DfnUR^_zW--HAAh(7z=(*wxIm`(`;lji+DU z+}yBGqwn|p?YHlCz>m*Ilw(_3dscDvzO`mecXv;_-7a$$x6p#^(+&(C8p&^NZgSo~ zZCKVN5c6S&HdP@auCK0k5hjxp$*qq+fB3UkpN=mwss@lP(+1!^s`p2q&bORAHZTCT zX`ZjIuXEaO=wl2?Bn{iDikq9mx9{G5{P_Ls<+wgqACZS@ZxMSN&&%_K%4yCv1-1$#RX+Yi+GfEdfXH=H|`)!`j+pd6N{(NC27=9b`l{ z!nRKTS1=d=)LNECAHC)LzSxJ;?X8&+`?0OCyIh{vr+)u*50rJqc+36O zZFe(IGr7v@M9`Br7!ZZruvd<~k4+X-W<)SEq?)Ics!j9F-@l)y{Pg{Yt@ogn!OPqNkBj+OOkGhld2{pr?Yj@(-GU@S;3%bym@B4&PG`9j24Jho zcIGT8(on=X4v;gMHjaMx%ksuZ8(M!xyJ^4s{qKJNFYo{H`=9>fkN-uUYE2lDiv|c7 zl5E?NX@q2{lWZ9VWfGYIfF+brC3?UecAKxO)c*TVfBEtD`QvvV)~6@JB#bCbLUd8p ztpOrJR;l_>$UAErV?@Th-#eylsn~rR)BExCotE4F{FhC;6T!1OtakVL=ljo}U`I4S zaM>;m$udRQe(ztC{&6$ZYF`b$m%49kAW)vXt;a36j9j5;EAz-9|t zFOkC5*Toqx^B3mtQ`=s$JRx0HT5XST#rW)cgyA}Vadd*Y6ybHiU*>vUzwDqR^|Z zkN_^Oe?6MkpM2rIjy=X=cc|mFtouse{=XD2HeX5Q*P_t=E3p1)46=}mpa1{>07*qo IM6N<$g4J!&y8r+H diff --git a/resource/global/YoStarKR/resource/template/Phantom@Roguelike@GamePass.png b/resource/global/YoStarKR/resource/template/Phantom@Roguelike@GamePass.png index 76d71a9dbf313a99132648e89e509610919447f2..54b7f2b0c74f386cc863fbd187ad1525b960211f 100644 GIT binary patch literal 57300 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 literal 64295 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 z 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 SX-JarLtXg@HB;%#)&B=x=r1Aw diff --git a/resource/global/YoStarKR/resource/template/Phantom@Roguelike@GamePassSkip1.png b/resource/global/YoStarKR/resource/template/Phantom@Roguelike@GamePassSkip1.png index 42f4767989cb7dda6fd8d3e6d412da27c4d981be..11c9f6669a7bcc175f9059b0b8bcfd4a0bc3067e 100644 GIT binary patch literal 6128 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%0Dy!50Qvv` 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 Date: Thu, 4 Jan 2024 06:35:13 +0900 Subject: [PATCH 32/54] chore: YoStarKR LE stage navigation (#7896) * chore: YoStarKR LE Stage navigation * chore: YoStarKR LE stage navigation revised regex * chore: YoStarKR LE Stage navigation remove duplicate regex (cherry picked from commit 34ee247c78653ff8745e54e7b9e7dfbb57a08ced) --- resource/global/YoStarKR/resource/tasks.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/resource/global/YoStarKR/resource/tasks.json b/resource/global/YoStarKR/resource/tasks.json index b6e5dadf5b..58c627eb4e 100644 --- a/resource/global/YoStarKR/resource/tasks.json +++ b/resource/global/YoStarKR/resource/tasks.json @@ -51,6 +51,24 @@ "진입하기" ] }, + "LE-Open": { + "text": [ + "링거링에코스", + "스테이지", + "개방중" + ] + }, + "LEChapterToLE": { + "ocrReplace": [ + [ + ".*?전당", + "붉은노을전당" + ] + ], + "text": [ + "붉은노을전당" + ] + }, "CharsNameOcrReplace": { "Doc": "이 작업의 'ocrReplace'는 오퍼레이터 이름과 관련된 모든 인식 작업에서 사용됩니다", "ocrReplace": [ From c04423de4517580891578f0fe971c42205b3be17 Mon Sep 17 00:00:00 2001 From: Constrat Date: Wed, 3 Jan 2024 21:45:19 +0000 Subject: [PATCH 33/54] chore: Auto Update Game Resources - 2024-01-03 [skip changelog] (cherry picked from commit 366138fa6da621b9ff7d382ffad93df03f7dec6b) --- resource/global/YoStarEN/resource/version.json | 2 +- resource/global/YoStarJP/resource/version.json | 2 +- resource/global/YoStarKR/resource/tasks.json | 2 +- resource/global/YoStarKR/resource/version.json | 2 +- resource/global/txwy/resource/version.json | 2 +- resource/version.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/resource/global/YoStarEN/resource/version.json b/resource/global/YoStarEN/resource/version.json index cb6da71924..90ff49ca35 100644 --- a/resource/global/YoStarEN/resource/version.json +++ b/resource/global/YoStarEN/resource/version.json @@ -7,5 +7,5 @@ "pool": "Arbiter Aequissimus", "time": 1703160000 }, - "last_updated": "2024-01-03 18:29:13.300" + "last_updated": "2024-01-03 21:45:17.408" } diff --git a/resource/global/YoStarJP/resource/version.json b/resource/global/YoStarJP/resource/version.json index 91efc1070c..cc55e73b84 100644 --- a/resource/global/YoStarJP/resource/version.json +++ b/resource/global/YoStarJP/resource/version.json @@ -7,5 +7,5 @@ "pool": "執裁者", "time": 1703124000 }, - "last_updated": "2024-01-03 18:29:13.300" + "last_updated": "2024-01-03 21:45:17.408" } diff --git a/resource/global/YoStarKR/resource/tasks.json b/resource/global/YoStarKR/resource/tasks.json index 58c627eb4e..f7f16cb1b3 100644 --- a/resource/global/YoStarKR/resource/tasks.json +++ b/resource/global/YoStarKR/resource/tasks.json @@ -65,7 +65,7 @@ "붉은노을전당" ] ], - "text": [ + "text": [ "붉은노을전당" ] }, diff --git a/resource/global/YoStarKR/resource/version.json b/resource/global/YoStarKR/resource/version.json index d10cab2d30..895bf7c797 100644 --- a/resource/global/YoStarKR/resource/version.json +++ b/resource/global/YoStarKR/resource/version.json @@ -7,5 +7,5 @@ "pool": "중재자", "time": 1703124000 }, - "last_updated": "2024-01-03 18:29:13.300" + "last_updated": "2024-01-03 21:45:17.408" } diff --git a/resource/global/txwy/resource/version.json b/resource/global/txwy/resource/version.json index 1cb2fa9e0d..9c1dbde28a 100644 --- a/resource/global/txwy/resource/version.json +++ b/resource/global/txwy/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年歡慶·相逢", "time": 1703577600 }, - "last_updated": "2024-01-03 18:29:13.300" + "last_updated": "2024-01-03 21:45:17.408" } diff --git a/resource/version.json b/resource/version.json index 87b1801303..a010cabf1c 100644 --- a/resource/version.json +++ b/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年欢庆·展望", "time": 1704038400 }, - "last_updated": "2024-01-03 18:29:13.300" + "last_updated": "2024-01-03 21:45:17.408" } From da8d05561f700d491fa5632a3b5878cf9f29958f Mon Sep 17 00:00:00 2001 From: HX3N <128385247+HX3N@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:38:33 +0900 Subject: [PATCH 34/54] chore: YoStarKR ocrReplace text replacement (#7897) fix some unrecognized ocrReplace text --- resource/global/YoStarKR/resource/tasks.json | 190 ++++++++----------- 1 file changed, 81 insertions(+), 109 deletions(-) diff --git a/resource/global/YoStarKR/resource/tasks.json b/resource/global/YoStarKR/resource/tasks.json index f7f16cb1b3..e93960db60 100644 --- a/resource/global/YoStarKR/resource/tasks.json +++ b/resource/global/YoStarKR/resource/tasks.json @@ -561,11 +561,7 @@ "琴柳" ], [ - "^사가$", - "嵯峨" - ], - [ - "^사가.*", + "^사가.*?", "嵯峨" ], [ @@ -601,11 +597,7 @@ "格拉尼" ], [ - "^시즈$", - "推进之王" - ], - [ - "시즈.*", + "^시즈.*?", "推进之王" ], [ @@ -1645,11 +1637,7 @@ "至简" ], [ - "칸타빌레", - "晓歌" - ], - [ - "칸타빌.", + "^칸타빌.$", "晓歌" ], [ @@ -1769,39 +1757,23 @@ "污染晶石" ], [ - "예비인원.?디.*", + ".비인원.?디.*", "预备干员-重装" ], [ - "예비인원.?스나.*", + ".비인원.?스나.*", "预备干员-狙击" ], [ - "예비인원.?근.*", + ".비인원.?근.*", "预备干员-近战" ], [ - "떼비인원.?근.*", - "预备干员-近战" - ], - [ - "예비민원.?근.*", - "预备干员-近战" - ], - [ - "떼비민원.?근.*", - "预备干员-近战" - ], - [ - "예비인원.?캐스.*", + ".비인원.?캐스.*", "预备干员-术师" ], [ - "예비인뭔.?캐스.*", - "预备干员-术师" - ], - [ - "예비인원.?지.*", + ".비인원.?지.*", "预备干员-后勤" ], [ @@ -2185,15 +2157,15 @@ "滞空牵引无人机" ], [ - "수면용 향", + "수면용향", "安眠迷香" ], [ - "모듈 연산 시설", + "모듈연산시설", "模块演算设施" ], [ - "각성 비약", + "각성비약", "醒神秘药" ], [ @@ -2209,39 +2181,39 @@ "老伊辛" ], [ - "오리지늄 폭약통", + "오리지늄폭약통", "高能源石爆桶" ], [ - "방어 공사", + "방어공사", "防御工事" ], [ - "그물 발사대", + "그물발사대", "缚网发射台" ], [ - "철수 포인트", + "철수포인트", "逃脱点" ], [ - "전문가용 채집 허브", + "전문가용채집허브", "采集主任站" ], [ - "가시 돋은 보물 상자", + "가시돋은보물상자", "宝刺金属箱" ], [ - "대 정찰 위장 장치", + "대정찰위장장치", "反侦察藏匿机" ], [ - "메탈 크랩 펌프", + "메탈크랩펌프", "蟹蟹抽水泵" ], [ - "기이한 광맥", + "기이한광맥", "奇异矿脉" ], [ @@ -2249,19 +2221,19 @@ "监控塔" ], [ - "섬광 폭탄", + "섬광폭탄", "眩光手雷" ], [ - "고압 펄스 트랩", + "고압펄스트랩", "高压脉冲诡雷" ], [ - "공중 견인 드론", + "공중견인드론", "滞空牵引无人机" ], [ - "견고한 플랫폼", + "견고한플랫폼", "坚固筑台" ], [ @@ -2269,23 +2241,23 @@ "杂木林" ], [ - "간이 재배용기", + "간이재배용기", "便携式种植槽" ], [ - "도시용 방벽", + "도시용방벽", "都市风壁障" ], [ - "거대한 암석", + "거대한암석", "巨大岩石" ], [ - "이동식 전투 탑", + "이동식전투탑", "移动战塔" ], [ - "유적지 잔해", + "유적지잔해", "遗迹残骸" ], [ @@ -2293,19 +2265,19 @@ "联络员" ], [ - "숙련자용 채집 허브", + "숙련자용채집허브", "采集专员站" ], [ - "파묻힌 금속 상자", + "파묻힌금속상자", "埋没金属箱" ], [ - "비상 수리 차량", + "비상수리차량", "应急修理车" ], [ - "가스 분사기", + "가스분사기", "喷拒器" ], [ @@ -2337,7 +2309,7 @@ "伊内丝" ], [ - "길거리 보급품", + "길거리보급품", "街头应急储备" ], [ @@ -2357,7 +2329,7 @@ "淬羽赫默" ], [ - "자동 계좌 이체기", + "자동계좌이체기", "全自动划账器" ], [ @@ -2385,11 +2357,11 @@ "解雇者清债程序" ], [ - "밤의 등불", + "밤의등불", "夜灯" ], [ - "독가스 탱크", + "독가스탱크", "爆裂毒气罐" ], [ @@ -2437,21 +2409,21 @@ "圣像" ], [ - "무너진 담장", + "무너진담장", "塌落的墙垣" ], [ - "비상용 목재", + "비상용목재", "备用木材" ], [ - "낡은 울타리", + "낡은울타리", "破旧的木篱" ] ] }, "StartToWakeUp": { - "Doc": "相较国服调大roi", + "Doc": "CN서버보다 ROI를 크게 조절하세요", "roi": [ 540, 480, @@ -2839,7 +2811,7 @@ ] }, "BattleStageName": { - "Doc": "该任务的ocrReplace被所有涉及肉鴿地圖名的日文识别任务复用", + "Doc": "이 작업의 'ocrReplace'는 로그라이크 스테이지 이름과 관련된 모든 인식 작업에서 사용됩니다", "ocrReplace": [ [ "원석충과함께", @@ -3270,7 +3242,7 @@ "险路勿近" ], [ - "결정장애", + "우유부단", "犹豫不决" ], [ @@ -3329,7 +3301,7 @@ "StageDrops-Quantity": { "template": "empty.png", "templThreshold": 3, - "templThreshold_Doc": "这里用来作为字间距阈值", + "templThreshold_Doc": "여기는 문자 간격 임계값으로 사용됩니다", "roi": [ 62, 90, @@ -3610,7 +3582,7 @@ ] }, "RoguelikeRecruitLevel": { - "Doc": "日服的等级字体比国服大一圈,要改roi", + "Doc": "YoStarKR의 폰트는 CN서버보다 더 크기에, ROI를 수정해야 합니다.", "rectMove": [ -172, -1, @@ -5378,107 +5350,107 @@ "漂流秘匣" ], [ - "5성 랜덤 승급 임시 모집권", + "5성랜덤승급임시모집권", "5星随机直升临时招募券" ], [ - "6성 랜덤 승급 임시 모집권", + "6성랜덤승급임시모집권", "6星随机直升临时招募券" ], [ - "공훈을 새기는 손", + "공훈을새기는손", "刻勋之手" ], [ - "프로텍터 - 성벽", + "프로텍터.*?성벽", "铁卫-城墙" ], [ - "프로텍터 - 고탑", + "프로텍터.*?고탑", "铁卫-高塔" ], [ - "브로큰 스태프 - 해독", + "브로큰스태프.*?해독", "断杖-破解" ], [ - "브로큰 스태프 - 지혜의 빛", + "브로큰스태프.*?지혜의빛", "断杖-智慧之光" ], [ - "브로큰 스태프 - 지식", + "브로큰스태프.*?지식", "断杖-学识" ], [ - "용병 보험", + "용병보험", "佣兵保单" ], [ - "생존자 협약", + "생존자협약", "生还者合约" ], [ - "카이룰라 아버", + "카이룰라아버", "深蓝之树" ], [ - "'끝나지 않은 생명'", + ".?끝나지않은생명.?", "“未尽的生命”" ], [ - "카이룰라의 추억", + "카이룰라의추억", "深蓝回忆" ], [ - "랭크우드의 안전조끼", + "랭크우드의안전조끼", "蓝卡坞安全衣" ], [ - "《도광검영》", + ".?도광검영.?", "《刀光剑影》" ], [ - "인사부 동인장", + "인사부동인장", "人事部铜印" ], [ - "박사의 은인장", + "박사의은인장", "博士银印" ], [ - "글자 없는 산호", + "글자없는산호", "无字珊瑚" ], [ - "땅속의 화흔", + "땅속의화흔", "地底的灼痕" ], [ - "빛을 내는 거대한 기구", + "빛을내는거대한기구", "铸阳巨械" ], [ - "응고된 등유", + "응고된등유", "凝固灯油" ], [ - "숭고하고 신성한 등유", + "숭고하고신성한등유", "崇圣灯油" ], [ - "'국왕의 수정'", + ".?국왕의수정.?", "“国王的水晶”" ], [ - "'결심'", + ".?결심.?", "“决心”" ], [ - "'관망'", + ".?관망.?", "“观望”" ], [ - "'망설임'", + ".?망설임.?", "“犹疑”" ] ] @@ -5695,6 +5667,10 @@ "계승", "继承" ], + [ + "겨승", + "继承" + ], [ "귀향", "重返家园" @@ -5807,6 +5783,10 @@ "선념", "信念" ], + [ + "전념", + "信念" + ], [ "옳고그름", "是非黑白" @@ -5840,11 +5820,7 @@ "宝箱之舞" ], [ - "서글픈눈빛", - "狗眼婆娑" - ], - [ - "저글픈눈빛", + ".글픈눈빛", "狗眼婆娑" ], [ @@ -5912,11 +5888,7 @@ "守望相助" ], [ - "사라진풍습", - "消失的习俗" - ], - [ - "사라진품습", + "사라진.습", "消失的习俗" ], [ From 0783f387ca215629151894bcfc0ebe03fda7e2ef Mon Sep 17 00:00:00 2001 From: Chiichen <2531693734@qq.com> Date: Thu, 4 Jan 2024 19:56:36 +0800 Subject: [PATCH 35/54] =?UTF-8?q?doc:=20=E4=BF=AE=E5=A4=8DREADME=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E5=A4=84=E9=93=BE=E6=8E=A5=E9=94=99=E8=AF=AF=20(#7905?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit doc: 修复了一个链接错误 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a68a24afb9..29103043b3 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ MAA 以中文(简体)为第一语言,翻译词条均以中文(简体) 2. 使用 Visual Studio 2022 打开 `MAA.sln`,右键 `MaaWpfGui`,设为启动项目 3. VS 上方配置选择 `RelWithDebInfo` `x64` (如果编译 Release 包 或 ARM 平台,请忽略这步) 4. 右键 `MaaWpfGui` - 属性 - 调试 - 启用本地调试(这样就能把断点挂到 C++ Core 那边了) -5. (可选)若准备提交 PR,建议启用 [clang-format 支持](https://maa.plus/docs/开发文档/开发相关.html#在-visual-studio-中启用-clang-format) +5. (可选)若准备提交 PR,建议启用 [clang-format 支持](https://maa.plus/docs/开发文档/开始开发.html#在-visual-studio-中启用-clang-format) ### Linux | macOS From 0b93e05166e679526eb40d9a47ba483f396e62f3 Mon Sep 17 00:00:00 2001 From: Constrat Date: Thu, 4 Jan 2024 11:06:52 +0000 Subject: [PATCH 36/54] chore: Auto Update Game Resources - 2024-01-04 [skip changelog] --- resource/global/YoStarEN/resource/version.json | 2 +- resource/global/YoStarJP/resource/version.json | 2 +- resource/global/YoStarKR/resource/version.json | 2 +- resource/global/txwy/resource/version.json | 2 +- resource/version.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resource/global/YoStarEN/resource/version.json b/resource/global/YoStarEN/resource/version.json index 90ff49ca35..fb325d53ec 100644 --- a/resource/global/YoStarEN/resource/version.json +++ b/resource/global/YoStarEN/resource/version.json @@ -7,5 +7,5 @@ "pool": "Arbiter Aequissimus", "time": 1703160000 }, - "last_updated": "2024-01-03 21:45:17.408" + "last_updated": "2024-01-04 11:06:50.237" } diff --git a/resource/global/YoStarJP/resource/version.json b/resource/global/YoStarJP/resource/version.json index cc55e73b84..636bd9a19d 100644 --- a/resource/global/YoStarJP/resource/version.json +++ b/resource/global/YoStarJP/resource/version.json @@ -7,5 +7,5 @@ "pool": "執裁者", "time": 1703124000 }, - "last_updated": "2024-01-03 21:45:17.408" + "last_updated": "2024-01-04 11:06:50.237" } diff --git a/resource/global/YoStarKR/resource/version.json b/resource/global/YoStarKR/resource/version.json index 895bf7c797..0aa8f1ca35 100644 --- a/resource/global/YoStarKR/resource/version.json +++ b/resource/global/YoStarKR/resource/version.json @@ -7,5 +7,5 @@ "pool": "중재자", "time": 1703124000 }, - "last_updated": "2024-01-03 21:45:17.408" + "last_updated": "2024-01-04 11:06:50.237" } diff --git a/resource/global/txwy/resource/version.json b/resource/global/txwy/resource/version.json index 9c1dbde28a..870be7579e 100644 --- a/resource/global/txwy/resource/version.json +++ b/resource/global/txwy/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年歡慶·相逢", "time": 1703577600 }, - "last_updated": "2024-01-03 21:45:17.408" + "last_updated": "2024-01-04 11:06:50.237" } diff --git a/resource/version.json b/resource/version.json index a010cabf1c..74536b7e9c 100644 --- a/resource/version.json +++ b/resource/version.json @@ -7,5 +7,5 @@ "pool": "跨年欢庆·展望", "time": 1704038400 }, - "last_updated": "2024-01-03 21:45:17.408" + "last_updated": "2024-01-04 11:06:50.237" } From 0d510e8e7dac4aa233ace9a60fa742f45a0ff926 Mon Sep 17 00:00:00 2001 From: HX3N <128385247+HX3N@users.noreply.github.com> Date: Thu, 4 Jan 2024 19:31:30 +0900 Subject: [PATCH 37/54] chore: YoStarKR ocrReplace regex fix (#7901) YoStarKR ocrReplace regex fix --- resource/global/YoStarKR/resource/tasks.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/resource/global/YoStarKR/resource/tasks.json b/resource/global/YoStarKR/resource/tasks.json index e93960db60..2a71f85a2f 100644 --- a/resource/global/YoStarKR/resource/tasks.json +++ b/resource/global/YoStarKR/resource/tasks.json @@ -1637,7 +1637,7 @@ "至简" ], [ - "^칸타빌.$", + "^칸타빌.+$", "晓歌" ], [ @@ -1757,23 +1757,23 @@ "污染晶石" ], [ - ".비인원.?디.*", + ".+비인원.?디.*", "预备干员-重装" ], [ - ".비인원.?스나.*", + ".+비인원.?스나.*", "预备干员-狙击" ], [ - ".비인원.?근.*", + ".+비인원.?근.*", "预备干员-近战" ], [ - ".비인원.?캐스.*", + ".+비인원.?캐스.*", "预备干员-术师" ], [ - ".비인원.?지.*", + ".+비인원.?지.*", "预备干员-后勤" ], [ @@ -5820,7 +5820,7 @@ "宝箱之舞" ], [ - ".글픈눈빛", + ".+글픈눈빛", "狗眼婆娑" ], [ @@ -5888,7 +5888,7 @@ "守望相助" ], [ - "사라진.습", + "사라진.+습", "消失的习俗" ], [ From de04760b512c7a3371fa0faa98041fce77889d70 Mon Sep 17 00:00:00 2001 From: HY <45387477+momomochi987@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:30:16 +0800 Subject: [PATCH 38/54] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=B9=81?= =?UTF-8?q?=E4=B8=AD=E6=9C=8D=E7=94=9F=E6=81=AF=E6=BC=94=E7=AE=97=E6=9C=80?= =?UTF-8?q?=E5=BE=8C=E4=B8=80=E5=A4=A9=E7=9A=84=E6=97=A5=E6=9C=9F=20(#7903?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs index 8f5a9787f0..c08de38734 100644 --- a/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/TaskQueueViewModel.cs @@ -367,7 +367,7 @@ namespace MaaWpfGui.ViewModels.UI // "ReclamationAlgorithm", }; var clientType = Instances.SettingsViewModel.ClientType; - if (clientType == "txwy" && DateTime.Now < new DateTime(2024, 01, 06)) + if (clientType == "txwy" && DateTime.Now < new DateTime(2024, 01, 16)) { taskList.Add("ReclamationAlgorithm"); } From 214b8993f91cfa3b4067c3487b98f0de016fd58c Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Fri, 5 Jan 2024 09:00:08 +0800 Subject: [PATCH 39/54] =?UTF-8?q?fix:=20=E6=B8=85=E5=89=A9=E4=BD=99?= =?UTF-8?q?=E7=90=86=E6=99=BA=E6=97=B6=E5=8D=A1=E5=9C=A8=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #7909 (cherry picked from commit 842eb112d5f6da4db704cc8143e9a9f4fd597aa0) (cherry picked from commit 9ef3046f356820ef7d9e0cadfd8d76d92320e369) Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com> --- resource/template/FightSeries-Indicator.png | Bin 3590 -> 979 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resource/template/FightSeries-Indicator.png b/resource/template/FightSeries-Indicator.png index 965cd93966052cc5505097333e23a3cfa3fa194d..1f72f743c831096b7ddddcaca36a639b08ae02f5 100644 GIT binary patch literal 979 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 From feb773869ba16c52fe7cbb5c2e360294a856dcb6 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 6 Jan 2024 14:28:12 +0800 Subject: [PATCH 40/54] chore: gitignore FodyWeavers.xsd --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1178a1875f..0cfb4fd6a1 100644 --- a/.gitignore +++ b/.gitignore @@ -447,3 +447,4 @@ enc_temp_folder/* /resource/Arknights-Tile-Pos/act2bossrush_04-activities-act2bossrush-level_bossrush2_04.json # CF 活动关卡(异格夜刀),手动改的地图 /resource/Arknights-Tile-Pos/act24side_09-activities-act24side-level_act24side_09.json +/src/MaaWpfGui/FodyWeavers.xml From 402278707b9460ec82093c3459c821cf9e147da9 Mon Sep 17 00:00:00 2001 From: youqii Date: Fri, 5 Jan 2024 19:21:04 +0800 Subject: [PATCH 41/54] =?UTF-8?q?chore:=20=E4=BF=AE=E6=94=B9=E5=85=AC?= =?UTF-8?q?=E6=8B=9B=E5=A4=9A=E9=80=89tag=E9=80=89=E9=A1=B9=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 975df3c90b..f54bdf94d6 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -640,7 +640,7 @@ 无招聘许可,已返回 公招多选 Tag 的策略 默认不选择额外 Tag - 总是选择三个 Tag + 选择高星时总是选择三个 Tag 尽可能多地选且只选高星 Tag 可用干员不足 关卡识别错误 From aac0bad9dde597befaed0f94f8a8e9c60ff90bfc Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 6 Jan 2024 14:31:07 +0800 Subject: [PATCH 42/54] =?UTF-8?q?fix:=20=E4=BD=BF=E7=94=A8=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=97=A7=E7=89=88.cmd=E5=90=AF=E5=8A=A8=E5=90=8E?= =?UTF-8?q?=E4=B8=8B=E6=AC=A1=E6=9B=B4=E6=96=B0=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/UI/VersionUpdateViewModel.cs | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index 9fc7230e3f..a15c5d028d 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -225,13 +225,15 @@ namespace MaaWpfGui.ViewModels.UI // 如果是 Framework48,把 MAA.exe 复制一份,重命名为 MAA_win7.exe if (RuntimeInformation.FrameworkDescription.Contains("Framework")) { - File.Copy(Path.Combine(curDir, "MAA.exe"), Path.Combine(curDir, "MAA_win7.exe"), true); - string batFileContent = "@echo off\n" + - "ren MAA.exe MAA_v5.exe\n" + - "start \"\" .\\MAA_win7.exe"; - - // 将内容写入.bat文件 - File.WriteAllText("启动旧版.cmd", batFileContent); + File.Copy(System.Windows.Forms.Application.ExecutablePath, Path.Combine(curDir, "MAA_win7.exe"), true); + const string CmdFileContent = """ + @echo off + if exist MAA.exe ( + ren MAA.exe MAA_v5.exe + ) + start "" .\MAA_win7.exe + """; + File.WriteAllText("启动旧版.cmd", CmdFileContent); } string removeListFile = Path.Combine(extractDir, "removelist.txt"); @@ -307,11 +309,7 @@ namespace MaaWpfGui.ViewModels.UI ConfigurationHelper.Release(); // 重启进程(启动的是更新后的程序了) - var newProcess = new Process(); - newProcess.StartInfo.FileName = AppDomain.CurrentDomain.FriendlyName; - newProcess.StartInfo.WorkingDirectory = Directory.GetCurrentDirectory(); - newProcess.Start(); - Application.Current.Shutdown(); + Bootstrapper.ShutdownAndRestartWithOutArgs(); return true; From cfb9a23f545cfe2776569cee7eed8f4969509d48 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:34:38 +0800 Subject: [PATCH 43/54] =?UTF-8?q?fix:=20=E4=B8=8B=E8=B0=83=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E9=98=88=E5=80=BC=E4=BB=A5=E5=B0=9D=E8=AF=95=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=88=B7=E7=90=86=E6=99=BA=E5=8D=A1=E5=9C=A8=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E9=80=89=E6=8B=A9=20fix=20#7919?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resource/tasks.json b/resource/tasks.json index 70768250b0..72f9ddf213 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4080,6 +4080,7 @@ ] }, "FightSeries-Indicator": { + "templThreshold": 0.7, "roi": [ 940, 190, @@ -16402,4 +16403,4 @@ "Stop" ] } -} \ No newline at end of file +} From 6d90fbf92e4bf10db67dfddc15dd440e0ff10aed Mon Sep 17 00:00:00 2001 From: Lancarus <34369130+Lancarus@users.noreply.github.com> Date: Sat, 6 Jan 2024 01:29:20 +0800 Subject: [PATCH 44/54] =?UTF-8?q?perf:=20=E5=88=9D=E6=AD=A5=E9=80=82?= =?UTF-8?q?=E9=85=8D=E8=90=A8=E7=B1=B3=E8=82=89=E9=B8=BDdlc=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=E7=AD=89=20(#7924)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roguelike/Sami/autopilot/事不过四.json | 117 ++++ .../Sami/autopilot/人造物狂欢节.json | 189 ++++++ .../roguelike/Sami/autopilot/冰凝之所.json | 148 +++++ .../roguelike/Sami/autopilot/恃强凌弱.json | 168 +++++ .../roguelike/Sami/autopilot/还之彼身.json | 153 +++++ resource/roguelike/Sami/foldartal.json | 51 +- resource/roguelike/Sami/recruitment.json | 77 ++- resource/roguelike/Sami/shopping.json | 589 +++++++++++------- 8 files changed, 1217 insertions(+), 275 deletions(-) create mode 100644 resource/roguelike/Sami/autopilot/事不过四.json create mode 100644 resource/roguelike/Sami/autopilot/人造物狂欢节.json create mode 100644 resource/roguelike/Sami/autopilot/冰凝之所.json create mode 100644 resource/roguelike/Sami/autopilot/恃强凌弱.json create mode 100644 resource/roguelike/Sami/autopilot/还之彼身.json diff --git a/resource/roguelike/Sami/autopilot/事不过四.json b/resource/roguelike/Sami/autopilot/事不过四.json new file mode 100644 index 0000000000..9b53810fea --- /dev/null +++ b/resource/roguelike/Sami/autopilot/事不过四.json @@ -0,0 +1,117 @@ +{ + "stage_name": "事不过四", + "replacement_home": [ + { + "location": [ + 5, + 1 + ], + "direction": "left" + } + ], + "blacklist_location": [ + [ + 2, + 2 + ] + ], + "deploy_plan": [ + { + "groups": [ + "锏" + ], + "location": [ + 5, + 1 + ], + "direction": "left" + }, + { + "groups": [ + "地面阻挡" + ], + "location": [ + 4, + 1 + ], + "direction": "left" + }, + { + "groups": [ + "焰苇" + ], + "location": [ + 2, + 1 + ], + "direction": "right" + }, + { + "groups": [ + "提丰" + ], + "location": [ + 6, + 2 + ], + "direction": "left" + }, + { + "groups": [ + "水陈" + ], + "location": [ + 2, + 1 + ], + "direction": "right" + }, + { + "groups": [ + "凯尔希", + "单奶" + ], + "location": [ + 7, + 1 + ], + "direction": "left" + }, + { + "groups": [ + "高台输出", + "辅助", + "其他高台" + ], + "location": [ + 6, + 2 + ], + "direction": "down" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 5, + 1 + ], + "direction": "up" + }, + { + "groups": [ + "高台输出", + "辅助", + "其他高台" + ], + "location": [ + 6, + 1 + ], + "direction": "left" + } + ] +} \ No newline at end of file diff --git a/resource/roguelike/Sami/autopilot/人造物狂欢节.json b/resource/roguelike/Sami/autopilot/人造物狂欢节.json new file mode 100644 index 0000000000..0a6c0f991f --- /dev/null +++ b/resource/roguelike/Sami/autopilot/人造物狂欢节.json @@ -0,0 +1,189 @@ +{ + "stage_name": "人造物狂欢节", + "replacement_home": [ + { + "location": [ + 7, + 6 + ], + "direction": "left" + }, + { + "location": [ + 8, + 5 + ], + "direction": "up" + } + ], + "deploy_plan": [ + { + "groups": [ + "伊内丝", + "锏", + "地面远程" + ], + "location": [ + 8, + 6 + ], + "direction": "up" + }, + { + "groups": [ + "回费" + ], + "location": [ + 9, + 6 + ], + "direction": "left" + }, + { + "groups": [ + "玛恩纳" + ], + "location": [ + 5, + 5 + ], + "direction": "up" + }, + { + "groups": [ + "炮灰" + ], + "location": [ + 2, + 2 + ], + "direction": "right", + "condition": [ + 0, + 1 + ] + }, + { + "groups": [ + "浊心斯卡蒂", + "群奶" + ], + "location": [ + 6, + 5 + ], + "direction": "right", + "condition": [ + 1, + 30 + ] + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 8, + 6 + ], + "direction": "up" + }, + { + "groups": [ + "焰苇" + ], + "location": [ + 5, + 4 + ], + "direction": "right" + }, + { + "groups": [ + "奶", + "凯尔希" + ], + "location": [ + 4, + 6 + ], + "direction": "up" + }, + { + "groups": [ + "高台输出", + "狙击", + "辅助", + "盾法" + ], + "location": [ + 5, + 4 + ], + "direction": "left" + }, + { + "groups": [ + "处决者" + ], + "location": [ + 2, + 2 + ], + "direction": "right", + "condition": [ + 8, + 10 + ] + }, + { + "groups": [ + "高台输出", + "狙击", + "辅助", + "盾法", + "其他高台" + ], + "location": [ + 2, + 5 + ], + "direction": "right" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 4, + 5 + ], + "direction": "up" + }, + { + "groups": [ + "补给站" + ], + "location": [ + 7, + 6 + ], + "direction": "right" + }, + { + "groups": [ + "支援陷阱", + "无人机" + ], + "location": [ + 2, + 4 + ], + "direction": "left" + } + ] +} \ No newline at end of file diff --git a/resource/roguelike/Sami/autopilot/冰凝之所.json b/resource/roguelike/Sami/autopilot/冰凝之所.json new file mode 100644 index 0000000000..1cd665a17a --- /dev/null +++ b/resource/roguelike/Sami/autopilot/冰凝之所.json @@ -0,0 +1,148 @@ +{ + "stage_name": "冰凝之所", + "replacement_home": [ + { + "location": [ + 6, + 3 + ], + "direction": "left" + }, + { + "location": [ + 4, + 5 + ], + "direction": "up" + } + ], + "deploy_plan": [ + { + "groups": [ + "伊内丝" + ], + "location": [ + 2, + 4 + ], + "direction": "up", + "condition": [ + 0, + 1 + ] + }, + { + "groups": [ + "处决者" + ], + "location": [ + 6, + 3 + ], + "direction": "down", + "condition": [ + 0, + 3 + ] + }, + { + "groups": [ + "锏", + "地面阻挡" + ], + "location": [ + 6, + 3 + ], + "direction": "left" + }, + { + "groups": [ + "焰苇", + "单奶", + "凯尔希" + ], + "location": [ + 7, + 4 + ], + "direction": "left", + "condition": [ + 7, + 30 + ] + }, + { + "groups": [ + "伊内丝", + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 4, + 5 + ], + "direction": "up" + }, + { + "groups": [ + "玛恩纳", + "地刺" + ], + "location": [ + 5, + 5 + ], + "direction": "up" + }, + { + "groups": [ + "水陈", + "盾法", + "辅助" + ], + "location": [ + 6, + 5 + ], + "direction": "up" + }, + { + "groups": [ + "高台输出", + "狙击", + "浊心斯卡蒂", + "单奶", + "召唤", + "其他高台" + ], + "location": [ + 7, + 5 + ], + "direction": "left" + }, + { + "groups": [ + "补给站" + ], + "location": [ + 6, + 2 + ], + "direction": "down" + }, + { + "groups": [ + "支援陷阱", + "无人机" + ], + "location": [ + 6, + 4 + ], + "direction": "left" + } + ] +} \ No newline at end of file diff --git a/resource/roguelike/Sami/autopilot/恃强凌弱.json b/resource/roguelike/Sami/autopilot/恃强凌弱.json new file mode 100644 index 0000000000..ae9c6f5324 --- /dev/null +++ b/resource/roguelike/Sami/autopilot/恃强凌弱.json @@ -0,0 +1,168 @@ +{ + "stage_name": "恃强凌弱", + "replacement_home": [ + { + "location": [ + 6, + 1 + ], + "direction": "down" + }, + { + "location": [ + 7, + 1 + ], + "direction": "down" + } + ], + "deploy_plan": [ + { + "groups": [ + "处决者" + ], + "location": [ + 6, + 2 + ], + "direction": "right", + "condition": [ + 0, + 0 + ] + }, + { + "groups": [ + "辅助" + ], + "location": [ + 5, + 2 + ], + "direction": "right", + "condition": [ + 0, + 0 + ] + }, + { + "groups": [ + "回费" + ], + "location": [ + 7, + 1 + ], + "direction": "down" + }, + { + "groups": [ + "焰苇" + ], + "location": [ + 5, + 4 + ], + "direction": "left" + }, + { + "groups": [ + "锏", + "玛恩纳" + ], + "location": [ + 5, + 3 + ], + "direction": "right" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 5, + 5 + ], + "direction": "left" + }, + { + "groups": [ + "单奶", + "凯尔希" + ], + "location": [ + 8, + 2 + ], + "direction": "left" + }, + { + "groups": [ + "盾法", + "辅助" + ], + "location": [ + 4, + 4 + ], + "direction": "left" + }, + { + "groups": [ + "高台输出", + "其他高台" + ], + "location": [ + 5, + 2 + ], + "direction": "right" + }, + { + "groups": [ + "狙击" + ], + "location": [ + 5, + 1 + ], + "direction": "down" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面" + ], + "location": [ + 6, + 1 + ], + "direction": "down" + }, + { + "groups": [ + "补给站" + ], + "location": [ + 4, + 3 + ], + "direction": "right" + }, + { + "groups": [ + "支援陷阱", + "无人机" + ], + "location": [ + 4, + 5 + ], + "direction": "up" + } + ] +} \ No newline at end of file diff --git a/resource/roguelike/Sami/autopilot/还之彼身.json b/resource/roguelike/Sami/autopilot/还之彼身.json new file mode 100644 index 0000000000..678a2fb84a --- /dev/null +++ b/resource/roguelike/Sami/autopilot/还之彼身.json @@ -0,0 +1,153 @@ +{ + "stage_name": "还之彼身", + "replacement_home": [ + { + "location": [ + 3, + 5 + ], + "direction": "right" + } + ], + "deploy_plan": [ + { + "groups": [ + "处决者", + "炮灰" + ], + "location": [ + 2, + 2 + ], + "direction": "left", + "condition": [ + 0, + 2 + ] + }, + { + "groups": [ + "伊内丝" + ], + "location": [ + 2, + 3 + ], + "direction": "left", + "condition": [ + 0, + 2 + ] + }, + { + "groups": [ + "焰苇", + "奶", + "凯尔希", + "召唤" + ], + "location": [ + 4, + 4 + ], + "direction": "left" + }, + { + "groups": [ + "地面阻挡", + "其他地面" + ], + "location": [ + 3, + 5 + ], + "direction": "right" + }, + { + "groups": [ + "玛恩纳", + "地面阻挡" + ], + "location": [ + 4, + 5 + ], + "direction": "right" + }, + { + "groups": [ + "焰苇", + "速狙", + "盾法", + "术师", + "召唤", + "高台输出", + "辅助", + "其他高台" + ], + "location": [ + 2, + 4 + ], + "direction": "right" + }, + { + "groups": [ + "奶", + "速狙", + "盾法", + "术师", + "召唤", + "高台输出", + "其他高台" + ], + "location": [ + 2, + 1 + ], + "direction": "down" + }, + { + "groups": [ + "高台输出", + "奶", + "速狙", + "盾法", + "术师", + "召唤", + "其他高台" + ], + "location": [ + 3, + 1 + ], + "direction": "down" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面", + "炮灰" + ], + "location": [ + 2, + 2 + ], + "direction": "left" + }, + { + "groups": [ + "地面阻挡", + "处决者", + "其他地面", + "炮灰" + ], + "location": [ + 2, + 3 + ], + "direction": "left" + } + ] +} \ No newline at end of file diff --git a/resource/roguelike/Sami/foldartal.json b/resource/roguelike/Sami/foldartal.json index ef68943bd8..2897f6deae 100644 --- a/resource/roguelike/Sami/foldartal.json +++ b/resource/roguelike/Sami/foldartal.json @@ -31,7 +31,8 @@ "惊讶", "疑惑", "爱恋", - "繁衍" + "繁衍", + "歇息" ] } ] @@ -52,7 +53,9 @@ "灌木", "兽类", "人类", - "眼睛" + "眼睛", + "到来", + "离去" ], "down": [ "歌唱", @@ -61,6 +64,7 @@ "辩论", "慰藉", "告解", + "呼救", "喜悦", "惊讶", "愤怒", @@ -72,7 +76,10 @@ "捕猎", "掠夺", "繁衍", - "迁徙" + "迁徙", + "呼救", + "满足", + "歇息" ] } ] @@ -85,7 +92,9 @@ "人类", "兽类", "灌木", - "砂石" + "砂石", + "到来", + "离去" ], "down": [ "迁徙", @@ -100,12 +109,14 @@ "战士", "雪祀", "猎手", - "黜人" + "黜人", + "到来" ], "down": [ "慰藉", "告解", - "朗诵" + "朗诵", + "呼救" ] } ] @@ -118,7 +129,8 @@ "人类", "兽类", "灌木", - "砂石" + "砂石", + "到来" ], "down": [ "迁徙", @@ -132,9 +144,11 @@ "光芒", "拱门", "眼睛", - "水面" + "水面", + "到来" ], "down": [ + "满足", "喜悦", "愤怒" ] @@ -157,12 +171,14 @@ "人类", "兽类", "灌木", - "砂石" + "砂石", + "到来" ], "down": [ "迁徙", "掠夺", - "筑巢" + "筑巢", + "歇息" ] }, { @@ -172,7 +188,8 @@ "光芒", "拱门", "眼睛", - "水面" + "水面", + "到来" ], "down": [ "惊讶", @@ -193,12 +210,15 @@ "人类", "兽类", "灌木", - "砂石" + "砂石", + "到来", + "离去" ], "down": [ "迁徙", "掠夺", - "筑巢" + "筑巢", + "歇息" ] }, { @@ -207,12 +227,15 @@ "光芒", "拱门", "眼睛", - "水面" + "水面", + "到来", + "离去" ], "down": [ "惊讶", "爱恋", "喜悦", + "满足", "憧憬", "朗诵" ] diff --git a/resource/roguelike/Sami/recruitment.json b/resource/roguelike/Sami/recruitment.json index 6569e182ac..84cef9e879 100644 --- a/resource/roguelike/Sami/recruitment.json +++ b/resource/roguelike/Sami/recruitment.json @@ -128,7 +128,7 @@ { "name": "伊内丝", "skill": 2, - "recruit_priority": 849, + "recruit_priority": 869, "promote_priority": 830, "is_key": true, "recruit_priority_offsets": [ @@ -145,6 +145,31 @@ } ] }, + { + "name": "锏", + "opers": [ + { + "name": "锏", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 870, + "promote_priority": 959, + "is_start": true, + "is_key": true, + "recruit_priority_offsets": [ + { + "groups": [ + "凯尔希", + "近卫", + "召唤" + ], + "threshold": 3, + "offset": -150 + } + ] + } + ] + }, { "name": "水陈", "opers": [ @@ -259,24 +284,7 @@ ] }, { - "name": "锏", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 810, - "promote_priority": 899, - "is_start": true, - "is_key": true, - "recruit_priority_offsets": [ - { - "groups": [ - "凯尔希", - "近卫", - "召唤" - ], - "threshold": 3, - "offset": -150 - } - ] + "name": "锏" }, { "name": "山", @@ -1481,7 +1489,7 @@ "skill": 2, "is_key": true, "auto_retreat": 6, - "recruit_priority": 701, + "recruit_priority": 671, "promote_priority": 855, "recruit_priority_offsets": [ { @@ -1489,8 +1497,8 @@ "地面单切", "史尔特尔" ], - "threshold": 2, - "offset": -200 + "threshold": 1, + "offset": -300 } ] }, @@ -1500,7 +1508,7 @@ { "name": "耀骑士临光", "skill": 2, - "recruit_priority": 770, + "recruit_priority": 670, "promote_priority": 720, "is_key": true, "recruit_priority_offsets": [ @@ -1509,7 +1517,7 @@ "地面单切", "史尔特尔" ], - "threshold": 2, + "threshold": 1, "offset": -200 }, { @@ -2385,6 +2393,9 @@ { "name": "号角" }, + { + "name": "锏" + }, { "name": "海沫" }, @@ -2446,9 +2457,6 @@ { "name": "斑点" }, - { - "name": "锏" - }, { "name": "仇白" }, @@ -3324,6 +3332,21 @@ }, { "name": "幽灵鲨" + }, + { + "name": "泡普卡" + }, + { + "name": "月见夜" + }, + { + "name": "芬" + }, + { + "name": "米格鲁" + }, + { + "name": "卡缇" } ] }, diff --git a/resource/roguelike/Sami/shopping.json b/resource/roguelike/Sami/shopping.json index 8411ce2747..0d0a57fff4 100644 --- a/resource/roguelike/Sami/shopping.json +++ b/resource/roguelike/Sami/shopping.json @@ -106,28 +106,23 @@ "effect": "所有干员攻击【坍缩体】时无视50%的防御力和法术抗性,并使其停顿0.5秒", "No": 203 }, - { - "name": "伶牙,毁林者", - "effect": "战斗有概率额外掉落1个密文板", - "No": 213 - }, { "name": "立体艺术装置", "effect": "回复7目标生命,每次战斗结束后额外回复1目标生命", "No": 192 }, { - "name": "“时光之末“", + "name": "“时光之末”", "effect": "仅一次,在非区域最终战斗和领袖战中失败时不结束探索,目标生命+1并继续下一步行动", "No": 225 }, { - "name": "“小格兰法洛“", + "name": "“小格兰法洛”", "effect": "每次敌人进入保护目标点时,立刻对全场所有敌人造成5秒晕眩", "No": 226 }, { - "name": "“碎片大厦的回忆“", + "name": "“碎片大厦的回忆”", "effect": "每次敌人进入保护目标点时,立刻对全场所有敌人造成3000点真实伤害", "No": 227 }, @@ -168,7 +163,7 @@ "No": 14 }, { - "name": "“国王的护戒“", + "name": "“国王的护戒”", "effect": "护盾值+2,将目标生命全部转化为等量护盾值(目标生命不会低于1)", "No": 195 }, @@ -415,20 +410,15 @@ "No": 208 }, { - "name": "“盲目“", + "name": "“盲目”", "effect": "抗干扰指数为0-1时,水平或垂直移动随机获得护盾值、源石锭、希望、抗干扰指数或密文板", "No": 228 }, { - "name": "“岁怒“", + "name": "“岁怒”", "effect": "每次部署我方单位时,对场上随机一个敌人及其周围造成3000点法术伤害", "No": 223 }, - { - "name": "芽棍", - "effect": "每次进入树篱之途或失与得节点,护盾值+2", - "No": 209 - }, { "name": "全自动维修台", "effect": "抗干扰指数+2,但是坍缩值+2", @@ -620,16 +610,6 @@ "令" ] }, - { - "name": "缠斗之手", - "effect": "【铁卫】、【驭法铁卫】和【决战者】每2秒束缚自身附近所有敌人1秒,并造成相当于攻击力100%的真实伤害", - "No": 183 - }, - { - "name": "应机之手", - "effect": "【冲锋手】、【尖兵】和【战术家】的部署费用-10,且击杀敌人后使所有未部署干员下次部署费用-1", - "No": 184 - }, { "name": "溃决之手", "effect": "【重射手】、【神射手】和【攻城手】的攻击伤害随目标生命下降而提升最高50%,并对生命20%以下的敌人强制击杀", @@ -655,39 +635,6 @@ "号角" ] }, - { - "name": "极速之手", - "effect": "【处决者】、【伏击客】和【傀儡师】相邻四格内没有我方单位时,攻击速度+120", - "No": 179, - "chars": [ - "红", - "伊桑", - "缄默德克萨斯" - ] - }, - { - "name": "净尘之手", - "effect": "【吟游者】【阵法术师】【疗养师】对攻击范围内敌人每秒造成50%攻击力的法术伤害", - "No": 180, - "chars": [ - "浊心斯卡蒂", - "林", - "流明" - ] - }, - { - "name": "碎靶之手", - "effect": "【炮手】【扩散术师】【投掷手】每对一个单位造成伤害就使自身攻击力+15%,最高+150%,5秒未造成伤害则使加成清空", - "No": 181, - "chars": [ - "夕", - "莫斯提马", - "Pith", - "W", - "迷迭香", - "菲亚梅塔" - ] - }, { "name": "游戏室管理员权限卡", "promotion": 1, @@ -806,6 +753,15 @@ "effect": "所有我方干员技能未开启时60秒内攻击力逐渐提升至最高+60%,每次技能结束时失去该加成", "No": 115 }, + { + "name": "高级人事调度函" + }, + { + "name": "前线统合招募券" + }, + { + "name": "突击协议招募券" + }, { "name": "先锋招募券" }, @@ -815,18 +771,35 @@ { "name": "医疗招募券" }, + { + "name": "远程协议招募券" + }, { "name": "狙击招募券" }, { "name": "重装招募券" }, + { + "name": "堡垒协议招募券" + }, { "name": "术师招募券" }, + { + "name": "破坏协议招募券" + }, + { + "name": "后方协调招募券" + }, { "name": "特种招募券" }, + { + "name": "支援补给站", + "effect": "每次战斗中携带1个便携式补给站", + "No": 214 + }, { "name": "《大静谧》", "effect": "所有敌方单位的生命-20%", @@ -848,7 +821,7 @@ "No": 77 }, { - "name": "“复仇者“", + "name": "“复仇者”", "effect": "所有敌方单位受到的物理伤害+35%", "No": 83 }, @@ -866,7 +839,12 @@ "No": 164 }, { - "name": "“璀璨悲泣“", + "name": "断杖-和声", + "effect": "场上每有一名术师干员,所有敌人受到的法术伤害+12%(最多叠加8次)", + "No": 251 + }, + { + "name": "“璀璨悲泣”", "effect": "所有敌方单位受到的法术伤害+40%", "No": 86 }, @@ -899,15 +877,30 @@ "name": "辅助招募券" }, { - "name": "“黑夜呢喃“", + "name": "“黑夜呢喃”", "effect": "所有敌方单位的生命-10%", "No": 67 }, + { + "name": "“绽放”", + "effect": "所有干员每次受到伤害时回复1点技力,每次受到元素损伤时回复1点技力", + "No": 243 + }, { "name": "折戟-浴血", "effect": "所有【近卫】干员在攻击后获得2点技力", "No": 151 }, + { + "name": "折戟-战吼", + "effect": "场上每有一名近卫干员,所有我方单位的攻击力+8%(最多叠加8次)", + "No": 248 + }, + { + "name": "钝爪-拾柴", + "effect": "场上每有一名先锋干员,每3秒获得1点部署费用(最多叠加8次)", + "No": 247 + }, { "name": "折戟-锋刃", "roles": [ @@ -924,6 +917,16 @@ "effect": "所有【近卫】干员的防御力-40%,但攻击力+40%,攻击速度+30", "No": 152 }, + { + "name": "散轶诗简", + "effect": "【召唤物】不再消耗部署位", + "No": 244, + "chars": [ + "令", + "凯尔希", + "涤火杰西卡" + ] + }, { "name": "空羽兽", "effect": "【召唤物】生命值+30%,攻击力+30%,且在场时使它所属的干员攻击力+60%", @@ -954,6 +957,9 @@ }, { "name": "残弩-神速", + "roles": [ + "SNIPER" + ], "effect": "所有【狙击】干员的攻击速度+70", "No": 160 }, @@ -974,6 +980,16 @@ "effect": "所有【狙击】干员的生命-40%,但攻击力+40%", "No": 159 }, + { + "name": "极速之手", + "effect": "【处决者】、【伏击客】和【傀儡师】相邻四格内没有我方单位时,攻击速度+120", + "No": 179, + "chars": [ + "红", + "伊桑", + "缄默德克萨斯" + ] + }, { "name": "锈刃-可视静谧", "effect": "所有【特种】干员的再部署时间-35%", @@ -1007,6 +1023,15 @@ "effect": "战斗编队中每有一名术师和特种干员,所有术师和特种干员的攻击速度+6", "No": 59 }, + { + "name": "复还之手", + "effect": "【群愈师】、【链愈师】和【行医】攻击范围内干员受到致命伤时,回复所有生命(每名干员同一作战最多触发1次)", + "No": 246, + "chars": [ + "焰影苇草", + "纯烬艾雅法拉" + ] + }, { "name": "凯旋号角", "effect": "敌人受到的一次性晕眩、寒冷、冰冻等异常效果影响时间提高100%", @@ -1018,6 +1043,17 @@ "多萝西" ] }, + { + "name": "坚实之手", + "effect": "【工匠】、【行商】和【怪杰】在场上停留30秒后,获得3点临时目标生命值(每名干员同一作战最多触发1次)", + "No": 245, + "chars": [ + "阿", + "琳琅诗怀雅", + "老鲤", + "白铁" + ] + }, { "name": "高闪相机", "effect": "敌人受到的一次性晕眩、寒冷、冰冻等异常效果影响时间提高110%", @@ -1052,7 +1088,7 @@ ] }, { - "name": "“童趣玩偶“", + "name": "“童趣玩偶”", "effect": "敌人被晕眩、冰冻、束缚时,每秒受到1000点法术伤害", "No": 108, "chars": [ @@ -1087,11 +1123,6 @@ "effect": "所有自然回复技能的技力恢复+0.35/秒", "No": 102 }, - { - "name": "皇家利口酒", - "effect": "所有攻击和受击回复的技能每1.5秒回复1点技力", - "No": 106 - }, { "name": "医者-自医", "effect": "所有【医疗】干员的技力恢复+0.3/秒", @@ -1117,6 +1148,14 @@ "effect": "所有敌方单位受到的物理伤害+25%", "No": 82 }, + { + "name": "残弩-连珠", + "roles": [ + "SNIPER" + ], + "effect": "场上每有一名狙击干员,所有我方单位的攻击速度+12(最多叠加8次)", + "No": 250 + }, { "name": "残弩-百步穿杨", "roles": [ @@ -1173,11 +1212,6 @@ "name": "设备维护装置", "effect": "抗干扰指数提升1点" }, - { - "name": "支援补给站", - "effect": "每次战斗中携带1个便携式补给站", - "No": 214 - }, { "name": "支援雾机", "effect": "每次战斗中携带1个失修舞台雾机", @@ -1204,7 +1238,7 @@ "No": 80 }, { - "name": "“文明的存续“", + "name": "“文明的存续”", "effect": "所有敌方单位受到的真实伤害+150%", "No": 224 }, @@ -1261,11 +1295,6 @@ "effect": "所有【辅助】干员攻击范围内的敌方单位防御力-20%,法术抗性-20%", "No": 168 }, - { - "name": "“奉献“", - "effect": "远程干员攻击或治疗时,对攻击范围内一名随机敌人造成150点法术伤害", - "No": 125 - }, { "name": "迁徙", "effect": "经过后获得1抗干扰指数 。协语:变为树篱之途,且抗干扰指数升至上限" @@ -1324,17 +1353,12 @@ "No": 78 }, { - "name": "摩根队长佳酿", - "effect": "所有攻击和受击回复的技能每3秒回复1点技力", - "No": 104 - }, - { - "name": "医者-固化序列", - "effect": "所有【医疗】干员攻击范围内的我方单位获得抵抗", + "name": "铁卫-垒沙", "roles": [ - "MEDIC" + "TANK" ], - "No": 172 + "effect": "场上每有一名重装干员,所有我方单位受到的物理伤害-10%(最多叠加8次)", + "No": 249 }, { "name": "开裂的束缚带", @@ -1366,30 +1390,6 @@ "effect": "所有我方单位受到的治疗和生命回复效果+20%", "No": 87 }, - { - "name": "医者-突破", - "roles": [ - "MEDIC" - ], - "effect": "所有【医疗】干员的部署费用-2,生命+60%", - "No": 169 - }, - { - "name": "支柱-勤奋", - "roles": [ - "SUPPORT" - ], - "effect": "所有【辅助】干员的技力消耗-40%", - "No": 166 - }, - { - "name": "铁卫-突破", - "roles": [ - "TANK" - ], - "effect": "所有【重装】干员的部署费用-3,生命+40%", - "No": 153 - }, { "name": "钝爪-百战", "roles": [ @@ -1436,24 +1436,6 @@ "effect": "所有【重装】干员生命值+40%,防御力+40%,法术抗性+20", "No": 156 }, - { - "name": "堡垒协议-方阵", - "roles": [ - "SUPPORT", - "TANK" - ], - "effect": "战斗编队中每有一名重装和辅助干员,所有重装和辅助干员的攻击力+8%", - "No": 54 - }, - { - "name": "堡垒协议-固守", - "roles": [ - "SUPPORT", - "TANK" - ], - "effect": "战斗编队中每有一名重装和辅助干员,所有重装和辅助干员的防御力+10%", - "No": 55 - }, { "name": "支柱-突破", "roles": [ @@ -1472,6 +1454,201 @@ "effect": "所有我方单位受到的治疗溢出时,周围敌人会受到相当于该次溢出治疗量的法术伤害", "No": 113 }, + { + "name": "古堡的子嗣", + "effect": "所有干员在场上停留100秒后防御力+300,法术抗性+30", + "No": 119 + }, + { + "name": "冰结的躯壳", + "effect": "近战干员在受到伤害后5秒内,攻击速度+40", + "No": 127 + }, + { + "name": "黜人", + "effect": "选择所有右侧邻近的战斗节点" + }, + { + "name": "战士", + "effect": "选择1处战斗节点,再随机指定1处战斗节点" + }, + { + "name": "萨满", + "effect": "选择1处战斗节点,再随机指定2处战斗节点" + }, + { + "name": "雪祀", + "effect": "随机指定3处战斗节点,在深埋迷境中改为3处任意节点" + }, + { + "name": "拱门", + "effect": "选择1处非战斗节点,再随机指定2处非战斗节点" + }, + { + "name": "光芒", + "effect": "随机指定3处非战斗节点" + }, + { + "name": "砂石", + "effect": "随机指定2处有纵向通路的节点" + }, + { + "name": "灌木", + "effect": "选择所有右侧1列内的节点" + }, + { + "name": "朗诵", + "effect": "经过后回复4目标生命 。协语:立即提升2目标生命上限" + }, + { + "name": "告解", + "effect": "经过此处后回复1目标生命 。协语:获得1个战斗类收藏品" + }, + { + "name": "惊讶", + "effect": "变为诡意行商 。协语:商品售价-50%" + }, + { + "name": "憧憬", + "effect": "此处获得的源石锭变为2倍 。协语:目标生命、希望也变为2倍" + }, + { + "name": "爱恋", + "effect": "变为不期而遇 。协语:变为得偿所愿" + }, + { + "name": "筑巢", + "effect": "经过后获得2护盾值 。协语:立即提升2目标生命上限" + }, + { + "name": "指路藤偶", + "effect": "通过纵向通路时有概率不降低抗干扰指数", + "No": 211 + } + ], + "other": [ + { + "doc": "不会主动购买的藏品" + }, + { + "name": "芽棍", + "effect": "每次进入树篱之途或失与得节点,护盾值+2", + "No": 209 + }, + { + "name": "缠斗之手", + "effect": "【铁卫】、【驭法铁卫】和【决战者】每2秒束缚自身附近所有敌人1秒,并造成相当于攻击力100%的真实伤害", + "No": 183 + }, + { + "name": "应机之手", + "effect": "【冲锋手】、【尖兵】和【战术家】的部署费用-10,且击杀敌人后使所有未部署干员下次部署费用-1", + "No": 184 + }, + { + "name": "净尘之手", + "effect": "【吟游者】【阵法术师】【疗养师】对攻击范围内敌人每秒造成50%攻击力的法术伤害", + "No": 180, + "chars": [ + "浊心斯卡蒂", + "林", + "流明" + ] + }, + { + "name": "碎靶之手", + "effect": "【炮手】【扩散术师】【投掷手】每对一个单位造成伤害就使自身攻击力+15%,最高+150%,5秒未造成伤害则使加成清空", + "No": 181, + "chars": [ + "夕", + "莫斯提马", + "Pith", + "W", + "迷迭香", + "菲亚梅塔" + ] + }, + { + "name": "皇家利口酒", + "effect": "所有攻击和受击回复的技能每1.5秒回复1点技力", + "No": 106 + }, + { + "name": "摩根队长佳酿", + "effect": "所有攻击和受击回复的技能每3秒回复1点技力", + "No": 104 + }, + { + "name": "支柱-联手", + "roles": [ + "SUPPORT" + ], + "effect": "场上每有一名辅助干员,所有自然恢复技能技力+0.2/s(最多叠加8次)", + "No": 168 + }, + { + "name": "“奉献”", + "effect": "远程干员攻击或治疗时,对攻击范围内一名随机敌人造成150点法术伤害", + "No": 125 + }, + { + "name": "医者-固化序列", + "effect": "所有【医疗】干员攻击范围内的我方单位获得抵抗", + "roles": [ + "MEDIC" + ], + "No": 172 + }, + { + "name": "医者-涌泉", + "effect": "场上每有一名医疗干员,所有我方单位的再部署时间-5%(最多叠加8次)", + "roles": [ + "MEDIC" + ], + "No": 253 + }, + { + "name": "医者-突破", + "roles": [ + "MEDIC" + ], + "effect": "所有【医疗】干员的部署费用-2,生命+60%", + "No": 169 + }, + { + "name": "支柱-勤奋", + "roles": [ + "SUPPORT" + ], + "effect": "所有【辅助】干员的技力消耗-40%", + "No": 166 + }, + { + "name": "铁卫-突破", + "roles": [ + "TANK" + ], + "effect": "所有【重装】干员的部署费用-3,生命+40%", + "No": 153 + }, + { + "name": "堡垒协议-方阵", + "roles": [ + "SUPPORT", + "TANK" + ], + "effect": "战斗编队中每有一名重装和辅助干员,所有重装和辅助干员的攻击力+8%", + "No": 54 + }, + { + "name": "堡垒协议-固守", + "roles": [ + "SUPPORT", + "TANK" + ], + "effect": "战斗编队中每有一名重装和辅助干员,所有重装和辅助干员的防御力+10%", + "No": 55 + }, { "name": "铁卫-侵掠", "roles": [ @@ -1485,11 +1662,6 @@ "effect": "目标生命为1时,所有我方单位的攻击速度+50", "No": 118 }, - { - "name": "古堡的子嗣", - "effect": "所有干员在场上停留100秒后防御力+300,法术抗性+30", - "No": 119 - }, { "name": "《归来》", "effect": "干员触发闪避后6秒内攻击力+130%", @@ -1506,17 +1678,12 @@ "No": 126 }, { - "name": "冰结的躯壳", - "effect": "近战干员在受到伤害后5秒内,攻击速度+40", - "No": 127 - }, - { - "name": "“永夜的窥视“", + "name": "“永夜的窥视”", "effect": "所有干员的攻击力+25%,攻击速度+25,但每秒流失25生命值", "No": 129 }, { - "name": "“枯木的回声“", + "name": "“枯木的回声”", "effect": "所有干员每秒恢复50生命值,但最大生命-25%", "No": 130 }, @@ -1540,6 +1707,11 @@ "安洁莉娜" ] }, + { + "name": "安玛的爱", + "effect": "所有我方单位的生命、攻击力、防御力+1%;有时会发挥奇妙的效果", + "No": 230 + }, { "name": "移云者图腾", "effect": "所有敌方单位移动速度-15%,且失重时重量额外下降2个等级", @@ -1585,36 +1757,25 @@ "effect": "【极地化】立即获得源石锭+20,每当坍缩值增长时获得源石锭+1", "No": 12 }, + { + "name": "米诺斯颂诗", + "effect": "每通过一场紧急作战,所有我方单位的生命值永久+3%(最多叠加15层)", + "No": 256 + }, + { + "name": "Friston.P", + "effect": "每通过一场紧急作战,所有我方单位的攻击速度永久+5(最多叠加15层)", + "No": 257 + }, { "name": "骑士长枪专业版", "effect": "战场的宝箱会掉落更多的源石锭", "No": 196 }, - { - "name": "安玛的爱", - "effect": "所有我方单位的生命、攻击力、防御力+1%;有时会发挥奇妙的效果", - "No": 230 - }, - { - "name": "黜人", - "effect": "选择所有右侧邻近的战斗节点" - }, { "name": "猎手", "effect": "选择1处战斗节点" }, - { - "name": "战士", - "effect": "选择1处战斗节点,再随机指定1处战斗节点" - }, - { - "name": "萨满", - "effect": "选择1处战斗节点,再随机指定2处战斗节点" - }, - { - "name": "雪祀", - "effect": "随机指定3处战斗节点,在深埋迷境中改为3处任意节点" - }, { "name": "树冠", "effect": "选择1处不期而遇" @@ -1627,14 +1788,6 @@ "name": "眼睛", "effect": "选择1处右侧邻近的节点" }, - { - "name": "拱门", - "effect": "选择1处非战斗节点,再随机指定2处非战斗节点" - }, - { - "name": "光芒", - "effect": "随机指定3处非战斗节点" - }, { "name": "源石", "effect": "选择1处任意节点" @@ -1643,22 +1796,10 @@ "name": "乔木", "effect": "选择1处有纵向通路的节点" }, - { - "name": "砂石", - "effect": "随机指定2处有纵向通路的节点" - }, - { - "name": "灌木", - "effect": "选择所有右侧1列内的节点" - }, { "name": "伤痕", "effect": "选择1处右侧邻近的节点,只能和“空无”组合" }, - { - "name": "朗诵", - "effect": "经过后回复4目标生命 。协语:立即提升2目标生命上限" - }, { "name": "辩论", "effect": "在此战斗时再部署时间-30% 。协语:1名精英干员临时加入编队" @@ -1667,41 +1808,31 @@ "name": "慰藉", "effect": "经过此处后获得2希望 。协语:额外获得2希望" }, - { - "name": "告解", - "effect": "经过此处后回复1目标生命 。协语:获得1个战斗类收藏品" - }, { "name": "喜悦", "effect": "经过后获得8源石锭 。协语:获得2希望" }, - { - "name": "惊讶", - "effect": "变为诡意行商 。协语:商品售价-50%" - }, { "name": "愤怒", "effect": "此处招募时必出现4或5星临时招募 。协语:出现6星临时招募" }, - { - "name": "疑惑", - "effect": "变为失与得 。协语:降低的坍缩值变为2点" - }, - { - "name": "憧憬", - "effect": "此处获得的源石锭变为2倍 。协语:目标生命、希望也变为2倍" - }, - { - "name": "爱恋", - "effect": "变为不期而遇 。协语:变为得偿所愿" - }, { "name": "巡视", "effect": "接近时对其全面勘察,降低的坍缩值变为2点 。协语:降低的坍缩值变为3点" }, { - "name": "筑巢", - "effect": "经过后获得2护盾值 。协语:立即提升2目标生命上限" + "name": "疑惑", + "effect": "变为失与得 。协语:降低的坍缩值变为2点" + }, + { + "name": "支援轰隆隆", + "effect": "每次战斗中携带2个轰隆隆先生", + "No": 216 + }, + { + "name": "支援地雷组", + "effect": "每次战斗中携带3个干扰地雷", + "No": 215 }, { "name": "捕猎", @@ -1721,7 +1852,7 @@ "No": 90 }, { - "name": "“法术杀手“", + "name": "“法术杀手”", "effect": "所有我方单位获得15%法术闪避", "No": 91 }, @@ -1741,34 +1872,9 @@ "No": 97 }, { - "name": "支援轰隆隆", - "effect": "每次战斗中携带2个轰隆隆先生", - "No": 216 - }, - { - "name": "支援地雷组", - "effect": "每次战斗中携带3个干扰地雷", - "No": 215 - }, - { - "name": "指路藤偶", - "effect": "通过纵向通路时有概率不降低抗干扰指数", - "No": 211 - }, - { - "name": "浓缩抑制剂", - "effect": "所有干员攻击【感染生物】时攻击力提升至150%并使其失去特殊能力3秒", - "No": 186 - }, - { - "name": "凝冰砥石", - "effect": "战斗开始时,使随机一名干员生命值、攻击力、防御力、法术抗性、阻挡数、初始技力、部署费用翻倍", - "No": 131 - }, - { - "name": "远见者之示", - "effect": "所有干员部署费用和再部署时间随机变化", - "No": 132 + "name": "伶牙,毁林者", + "effect": "战斗有概率额外掉落1个密文板", + "No": 213 }, { "name": "国王的圆饼", @@ -1824,6 +1930,21 @@ "name": "路网", "effect": "战斗出现额外敌人,让探索开启不同的方向", "No": 222 + }, + { + "name": "浓缩抑制剂", + "effect": "所有干员攻击【感染生物】时攻击力提升至150%并使其失去特殊能力3秒", + "No": 186 + }, + { + "name": "凝冰砥石", + "effect": "战斗开始时,使随机一名干员生命值、攻击力、防御力、法术抗性、阻挡数、初始技力、部署费用翻倍", + "No": 131 + }, + { + "name": "远见者之示", + "effect": "所有干员部署费用和再部署时间随机变化", + "No": 132 } ] } \ No newline at end of file From e1433ce141b19f4f1072229252f891ca3964eb79 Mon Sep 17 00:00:00 2001 From: Lancarus <34369130+Lancarus@users.noreply.github.com> Date: Sat, 6 Jan 2024 03:54:51 +0800 Subject: [PATCH 45/54] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=90=A8?= =?UTF-8?q?=E7=B1=B3=E8=82=89=E9=B8=BD=E9=83=A8=E5=88=86=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20(#7925)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf:初步适配萨米dlc内容 * perf:优化萨米肉鸽部分关卡逻辑 --- .../Sami/autopilot/人造物狂欢节.json | 4 +-- .../roguelike/Sami/autopilot/恃强凌弱.json | 10 ++++-- .../Sami/autopilot/没有尽头的路.json | 2 ++ .../roguelike/Sami/autopilot/还之彼身.json | 7 ++-- resource/roguelike/Sami/recruitment.json | 34 ++++++++++--------- 5 files changed, 33 insertions(+), 24 deletions(-) diff --git a/resource/roguelike/Sami/autopilot/人造物狂欢节.json b/resource/roguelike/Sami/autopilot/人造物狂欢节.json index 0a6c0f991f..0dc292707a 100644 --- a/resource/roguelike/Sami/autopilot/人造物狂欢节.json +++ b/resource/roguelike/Sami/autopilot/人造物狂欢节.json @@ -86,7 +86,7 @@ ], "location": [ 8, - 6 + 5 ], "direction": "up" }, @@ -119,7 +119,7 @@ "盾法" ], "location": [ - 5, + 4, 4 ], "direction": "left" diff --git a/resource/roguelike/Sami/autopilot/恃强凌弱.json b/resource/roguelike/Sami/autopilot/恃强凌弱.json index ae9c6f5324..817bb1e166 100644 --- a/resource/roguelike/Sami/autopilot/恃强凌弱.json +++ b/resource/roguelike/Sami/autopilot/恃强凌弱.json @@ -57,7 +57,9 @@ }, { "groups": [ - "焰苇" + "焰苇", + "奶", + "凯尔希" ], "location": [ 5, @@ -102,7 +104,8 @@ { "groups": [ "盾法", - "辅助" + "辅助", + "召唤" ], "location": [ 4, @@ -123,7 +126,8 @@ }, { "groups": [ - "狙击" + "狙击", + "奶" ], "location": [ 5, diff --git a/resource/roguelike/Sami/autopilot/没有尽头的路.json b/resource/roguelike/Sami/autopilot/没有尽头的路.json index 7a09d508e4..96cb83de98 100644 --- a/resource/roguelike/Sami/autopilot/没有尽头的路.json +++ b/resource/roguelike/Sami/autopilot/没有尽头的路.json @@ -20,6 +20,7 @@ { "groups": [ "回费", + "锏", "地面阻挡", "处决者" ], @@ -45,6 +46,7 @@ }, { "groups": [ + "地面远程", "地面阻挡", "回费", "处决者" diff --git a/resource/roguelike/Sami/autopilot/还之彼身.json b/resource/roguelike/Sami/autopilot/还之彼身.json index 678a2fb84a..c1ddf5b253 100644 --- a/resource/roguelike/Sami/autopilot/还之彼身.json +++ b/resource/roguelike/Sami/autopilot/还之彼身.json @@ -76,7 +76,8 @@ }, { "groups": [ - "焰苇", + "奶", + "凯尔希", "速狙", "盾法", "术师", @@ -132,7 +133,7 @@ ], "location": [ 2, - 2 + 3 ], "direction": "left" }, @@ -145,7 +146,7 @@ ], "location": [ 2, - 3 + 2 ], "direction": "left" } diff --git a/resource/roguelike/Sami/recruitment.json b/resource/roguelike/Sami/recruitment.json index 84cef9e879..05c33e6859 100644 --- a/resource/roguelike/Sami/recruitment.json +++ b/resource/roguelike/Sami/recruitment.json @@ -91,8 +91,8 @@ ], "threshold": 0, "is_less": true, - "offset": -350, - "Doc": "地面阻挡<1时,玛恩纳的招募优先级-350" + "offset": -200, + "Doc": "地面阻挡<1时,玛恩纳的招募优先级-200" } ] }, @@ -129,7 +129,7 @@ "name": "伊内丝", "skill": 2, "recruit_priority": 869, - "promote_priority": 830, + "promote_priority": 930, "is_key": true, "recruit_priority_offsets": [ { @@ -178,7 +178,7 @@ "skill": 3, "alternate_skill": 1, "recruit_priority": 829, - "promote_priority": 990, + "promote_priority": 940, "is_key": true, "is_start": true } @@ -1593,6 +1593,7 @@ { "name": "止颂", "skill": 2, + "recruit_priority": -800, "auto_retreat": 12 }, { @@ -3443,7 +3444,7 @@ "name": "歌蕾蒂娅", "skill": 3, "alternate_skill": 1, - "recruit_priority": 298, + "recruit_priority": -800, "promote_priority": 210 }, { @@ -3522,10 +3523,6 @@ "name": "火神", "skill": 2 }, - { - "name": "赫拉格", - "skill": 2 - }, { "name": "拉普兰德", "skill": 2, @@ -3557,11 +3554,13 @@ }, { "name": "达格达", - "skill": 2 + "skill": 2, + "recruit_priority": -800 }, { "name": "维荻", - "skill": 2 + "skill": 2, + "recruit_priority": -800 }, { "name": "夜刀", @@ -3638,15 +3637,18 @@ }, { "name": "赫拉格", - "skill": 2 + "skill": 2, + "recruit_priority": -800 }, { "name": "赤冬", - "skill": 2 + "skill": 2, + "recruit_priority": -800 }, { "name": "火龙S黑角", - "skill": 2 + "skill": 2, + "recruit_priority": -800 }, { "name": "玫兰莎" @@ -3693,7 +3695,7 @@ "name": "缪尔赛思", "skill": 3, "alternate_skill": 1, - "recruit_priority": 236, + "recruit_priority": -800, "promote_priority": 140, "recruit_priority_offsets": [ { @@ -3803,7 +3805,7 @@ "name": "伺夜", "skill": 3, "alternate_skill": 1, - "recruit_priority": 156, + "recruit_priority": -800, "promote_priority": 210 }, { From 6ef79dc2a491910c1ea7ce3de57255c221beaede Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 6 Jan 2024 15:13:12 +0800 Subject: [PATCH 46/54] =?UTF-8?q?fix:=20=E5=8B=BE=E9=80=89=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=90=8E=E7=9B=B4=E6=8E=A5=E6=9C=80=E5=B0=8F=E5=8C=96?= =?UTF-8?q?=E6=97=B6=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E5=8F=B3=E9=94=AE?= =?UTF-8?q?=E5=BC=BA=E5=88=B6=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/WindowManager.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/Helper/WindowManager.cs b/src/MaaWpfGui/Helper/WindowManager.cs index 669e3ad500..849215ced1 100644 --- a/src/MaaWpfGui/Helper/WindowManager.cs +++ b/src/MaaWpfGui/Helper/WindowManager.cs @@ -149,10 +149,11 @@ namespace MaaWpfGui.Helper public bool ForceShow(Window window) { WindowPlacement wp = default; - return SetWindowPlacement(window, ref wp); + var result = SetWindowPlacement(window, ref wp, true); + return result; } - private bool SetWindowPlacement(WindowHandle window, ref WindowPlacement wp) + private bool SetWindowPlacement(WindowHandle window, ref WindowPlacement wp, bool force = false) { try { @@ -163,7 +164,7 @@ namespace MaaWpfGui.Helper wp.Flags = 0; // wp.ShowCmd = wp.ShowCmd == SwShowminimized ? SwShownormal : wp.ShowCmd; - wp.ShowCmd = _minimizeDirectly ? SwShowminimized : SwShownormal; + wp.ShowCmd = !_minimizeDirectly || force ? SwShownormal : SwShowminimized; return SetWindowPlacement(window.Handle, ref wp); } catch From 9d59e2bef371e63d6cc605415ff96a2b2949750c Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 6 Jan 2024 15:19:02 +0800 Subject: [PATCH 47/54] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E6=97=A7?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E8=AF=AD=E8=A8=80=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs index a15c5d028d..8abd56ee43 100644 --- a/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/VersionUpdateViewModel.cs @@ -226,13 +226,7 @@ namespace MaaWpfGui.ViewModels.UI if (RuntimeInformation.FrameworkDescription.Contains("Framework")) { File.Copy(System.Windows.Forms.Application.ExecutablePath, Path.Combine(curDir, "MAA_win7.exe"), true); - const string CmdFileContent = """ - @echo off - if exist MAA.exe ( - ren MAA.exe MAA_v5.exe - ) - start "" .\MAA_win7.exe - """; + const string CmdFileContent = "@echo off\r\nif exist MAA.exe (\r\n ren MAA.exe MAA_v5.exe\r\n)\r\nstart \"\" .\\MAA_win7.exe"; File.WriteAllText("启动旧版.cmd", CmdFileContent); } From ef14e2b068776c92d7af1405644f75d3bf273991 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sat, 6 Jan 2024 16:59:16 +0800 Subject: [PATCH 48/54] =?UTF-8?q?chore:=20=E4=BF=AE=E6=94=B9=20=E5=89=8D?= =?UTF-8?q?=E8=A1=8C=E7=9A=84=E6=9E=97=E5=9C=B0=20=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/roguelike/Sami/encounter.json | 2 +- resource/roguelike/Sami/encounter_for_deposit.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resource/roguelike/Sami/encounter.json b/resource/roguelike/Sami/encounter.json index 38c297a7bd..d4f9edddce 100644 --- a/resource/roguelike/Sami/encounter.json +++ b/resource/roguelike/Sami/encounter.json @@ -532,7 +532,7 @@ { "name": "前行的林地", "option_num": 2, - "choose": 1, + "choose": 2, "choice_require": [ { "name": "树上就不能走吗?", diff --git a/resource/roguelike/Sami/encounter_for_deposit.json b/resource/roguelike/Sami/encounter_for_deposit.json index 3b751ed6d8..425fcf3705 100644 --- a/resource/roguelike/Sami/encounter_for_deposit.json +++ b/resource/roguelike/Sami/encounter_for_deposit.json @@ -523,7 +523,7 @@ { "name": "前行的林地", "option_num": 2, - "choose": 1, + "choose": 2, "choice_require": [ { "name": "树上就不能走吗?", From f44f46c1257aec1b3d175c886190937546654783 Mon Sep 17 00:00:00 2001 From: status102 <102887808+status102@users.noreply.github.com> Date: Sun, 7 Jan 2024 09:07:35 +0800 Subject: [PATCH 49/54] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=B7?= =?UTF-8?q?=E7=90=86=E6=99=BA=E8=B0=83=E6=95=B4=E6=88=98=E6=96=97=E6=AC=A1?= =?UTF-8?q?=E6=95=B0=E6=97=B6=E5=8F=AF=E8=83=BD=E9=94=99=E8=AF=AF=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=85=B3=E5=8D=A1=E6=8A=A5=E9=85=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: 调整模板图 Revert "fix: 下调检测阈值以尝试修复刷理智卡在次数选择" This reverts commit c768b64bcbf391ab220db91fee9c8e581f5053ee. --- resource/tasks.json | 3 +-- resource/template/FightSeries-Indicator.png | Bin 979 -> 2825 bytes 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 72f9ddf213..70768250b0 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4080,7 +4080,6 @@ ] }, "FightSeries-Indicator": { - "templThreshold": 0.7, "roi": [ 940, 190, @@ -16403,4 +16402,4 @@ "Stop" ] } -} +} \ No newline at end of file diff --git a/resource/template/FightSeries-Indicator.png b/resource/template/FightSeries-Indicator.png index 1f72f743c831096b7ddddcaca36a639b08ae02f5..fb8d8e492bd460ceb387131d693283e7eba74fb3 100644 GIT binary patch literal 2825 zcmbVO3p7;g9^W1{QcY6PL+mE$!MulgXuKMXP8ducE3YxLF^t(`9%d8~B~j_rts{^0 zAf-;vizJ~3x9GU8D@~!JL{xgvErh#Avd+1yd(XOOul4Qk`}X(ye*gD>?L8b1*SY#j z^#K5w>&9kzBQq8mWIb)WF0-0t>*a0#Cn7u$Vw1Awv#Q>l?AmsYX{oOY)_;3u4 zCxF8soGM0wpaEdLy-LF4M?-Qj42lqnnV7eg)fiAHU}F5N-3jiJ4N#)pfRj%7-T9q^Yk4B0U; zk#f0&fyXPAN}Q66gQXF8BArgh6G(Ux35y`GvUstar^1S5E59+YAQ@jOl*om!7}PNG z!eE7*i9uBTYD0`T#IxbYGQ?+wXdg_I9D z$02I2)L0{7Y>+}cIV|PEu;^Q)INwwTNfaCvT;nGc3t**e?QbqXES?-q%a7S-$9X_5%A=^KLiW-jBr>Q!$S-f#_%E_ zyhI#<0jJ%_*Z_-QDIyrrjy$P_yF0^8ER*xZe8`Q(#2_}~ghBy>Mx&Fd*4E)zn{XNl zOQ%qHSbA7E1xqFih7t08ysl_n&os0LN?P)3=$)qONz88∈l05GH0 zjpfMo-&J)qD9faEe%jOW{-L1+E7KcC9?~*cnA#bEpN&J;26oQ_>{GVg!2^~CCs$d_ z%Ft%h(gIOB8PK)cp_05udyH-GJ6rMU>w@uQTQl2`#1d(9)$`JhafcJdl>R*_ z&H0R8=7x4&6LaDg%FI-e;pGsk@1(8I`tr1RAYmMJne&gHV@a9mJ`O2E86(xksEP;A zL3WC+9+&M?=M`?g!h6ZgjUhn_gN^6^lA3w?+Lplf4&zsc4U@8+$z(D$m%4fRdBdc} z(=A`>w6cB#7fK46dS}EI3iHkVRW*YH%O#bAUHbH}y@i}RM&7jp_q71AgtHLSexYRH zzRYey1E5^pK5O-ib!cBke#5ha&NQ}CSu^-Ij$ZRFX=Aug){-uex3l){ufwl{zwU<-51MUu@KC)&$>pe6R$t z8+my<;#ho{T9i2a!VPG!+|~x4zpbUZ+_MKTf0++kJ_7+I_3AyrhgQGhW7|g}Mz@cA zZjEkp;ITpdxoq#qTjr&i6KB#-`S-F4nYc(jENzSgtg!QP; zWAqxwew>heTFl=Y*Y}~w{^qA~+ud1#6*p@O(>SRXZ13s>-h2~T!;XhH?IxZ)o#;yC z*HdTm({xw7=WICRsO_XZ_js~CusX>28MQ@8VFV4(LlIO{)4pJT?O`bWg`zOjd8(Fk8kv4p`NQ=*N?`P z=ES!|k~&Q0$SLlOty3>sITun1nWv|Xw|1-w@4SNZrSMR)ICZ_rro zpKNQEgRnW z&VFZ=iC)RR65wg39wa1pN?yh7f3HgTa>z4e*ZStpgmL%}m{lgJI|* zMyMD)fBr3{s?a}|t*(qvR<=rMJA`|4#~iDCpR`7G;{pP<)6R6>iX9p1YYVX-QlD*^ zsFL1w^IOq}IiBqFcW0m|{l!uf$+e@0cGfgzim=bLPNZj4G+jA*;E+{ibDsir+a)Jm za@LFb$*O^EWD@a99&@PfExLNtCfT*%(c6=pRXR?|<_58Zf-_vLyUM*w!CgS32<@1W z-u%yM_q@|)l#=1Y(4_p3gto!ml50s&S zHYL)Ve~_f>Rb;VHYn8DPS5c$2S#hoMh45U7(+LCgfgV$CM^%fNi_CDq^Z}QWli2p^ zr-;wvI`;PEWi#hTY0sTwZ82+cp>J+5Eg+|DqWbX5C+26pbW3pk2BrUj*GWf*w5+hyTqF-=JPVUTIVEwjJ>%bSg(l4lAvsYhSFmNe; zPat9Una)7#veFct@J0P+4AJ7=mA%Hv$=tPnZJ_nUs_Wjx)b!IfHpRlQgsf9_U*G## zR#AEP>kh_JZKWbLA;_~6e>PxzspH(+!57q^z(3F1z DAz^Oh literal 979 zcmV;^11$WBP)stt_h*%vh#l zI2bTya4AA0uyLzqI;N(ckc2QxY|}Eh;>dKAQlwBsm5|J1GAnY$C=wBhumVYuh{$x* zIs)6m7M6k(MhK)#M;R52-?j6+^9#$aE||=;I~0x<)M{ zOH{~(5}A(vgZtD1HUc52fuIO#0DJd-$Rh^*KDAH_wNQ&|p%z@hxF+D_$rHPFy|H@r zn)By>0-k*OncH`6W56I<5g;KV1lX>%E-o%!xNvd%_HApQd*SA-TPTzpB9Su96sb`& z<=g~g5wU93s+pOW78Vxv?%BO{(?;sZqan3YE45HY9u28QfNjQXmnHT3jq6_?IePHW z;rZVe)bz+bQbRLE(-UBu$Js8W%w4_q$!DJ*J9T>DeqXsEH_km;o}kwHpx-}p?z@+F zz8X(W$MgoR-$Kiil~Nw``*#)=4t#lZ)65P{zevlIl~NW5gW+g27!1$k>o#X5yL#=~2m3!he(LNW zfAyW3q>v)BlKGoA41PT;Fj>wE%x^#K}N1q=0;sCI2<5ou^B`K3L z(GX!o$|w>o<=wmAKXdw9#@4QXe&Oz2B9k*Ir>3W7N;yYLN{#5)I1d<3kgcvg* zT4qcVWV*zExYmj+T0w_xT4IT@v0ZCniGoRNT)}{ic_^5~VABz-NGJk=mXN?K3pzp} zFa{$8=3haFTwMy)iV(8FNGuCFDncz Date: Sun, 7 Jan 2024 16:54:12 +0800 Subject: [PATCH 50/54] docs: Auto Update Changelogs of v4.28.8 (#7932) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: Auto Generate Changelog of Release v4.28.8 * chore: 调整changelog --------- Co-authored-by: ABA2396 Co-authored-by: status102 <102887808+status102@users.noreply.github.com> --- CHANGELOG.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b64632c00..934e66c1cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,69 @@ -## v4.28.7 +## v4.28.8 + +### 新增 | New + +- 萨米肉鸽新板子 @ABA2396 +- 更新繁中服生息演算最後一天的日期 (#7903) @momomochi987 +- 初步适配萨米肉鸽dlc关卡等 (#7924) @Lancarus + +### 改进 | Improved + +- 修改 前行的林地 默认选择 @ABA2396 +- 优化萨米肉鸽部分关卡逻辑 (#7925) @Lancarus +- 优化刷理智-已开始战斗x次时临期理智药使用输出以增加可读性 (#7846) @status102 +- 优化截图耗时额外提示文本触发条件,改为由平均耗时触发 (#7868) @status102 +- 捕获启动模拟器时产生的权限不足异常 (#7908) @Chiichen ### 修复 | Fix -- 修复萨米肉鸽主界面“推开门扉之人”无法放弃探索的问题 @zzyyyl -- Hortus de Escapismo EX navigation @Constrat +- 勾选启动后直接最小化时无法使用右键强制显示 @ABA2396 +- 使用启动旧版.cmd启动后下次更新报错 @ABA2396 +- 下调检测阈值以尝试修复刷理智卡在次数选择 fix #7919 @status102 +- reduced Mizuki@Roguelike@MissionFailedFlag threshold for iOS fix #7864 temporary fix as #7872 exists @Constrat +- 修复部分情况下肉鸽结算点击错误 @status102 +- 未在字典中的连接配置在使用自动检测时报错 @ABA2396 +- 修复肉鸽-刷钱模式下仍然会在商店进行招募、购物的错误 (#7863) @status102 +- 配置修改后无法保存 @ABA2396 +- 修复刷理智结束时理智输出错误 @status102 +- 清剩余理智时卡在选择次数 @ABA2396 +- 修复README的一处链接错误 (#7905) @Chiichen +- 修复肉鸽刷源石锭模式卡住的问题 (#7882) @zzyyyl +- EN服 无法自动吃大理智药 @ABA2396 +- 提供打不开MAA_win7.exe的处理方法 @ABA2396 +- 干员识别报错 @ABA2396 +- 修复部分情况下,关卡掉落识别关卡名出错 @status102 +- ClickedCorrectStage more ocrReplace regex @Constrat +- EN Challenge mode battle list @Constrat +- 博朗台模式识别理智回复时间大于6分钟则返回失败 @ABA2396 ### 其他 | Other -- 4.x版本解压时备份当前exe为MAA_win7.exe @ABA2396 -- 添加 未能加载文件或程序集 System.Net.Http 的报错解决方案 @ABA2396 -- 将基建排班制作器链接改为文档链接 @ABA2396 -- 修改文档中的基建排班制作器链接 @ABA2396 -- Remove YoStarJP Annihilation template (#7819) @Manicsteiner +- subprocess handle leak @dantmnf +- 版本兼容 @ABA2396 +- 修复SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷脚本没有文件名后缀的错误 (#7879) @junyihan233 +- changed template YostarEN I.S. enter @zzyyyl +- 移除 StageEncounterClickToLeave 任务 (#7887) @zzyyyl +- changed template YostarEN I.S. enter fix #7766 fix #7886 @Constrat +- 修复并无损压缩模板图片 (#7831) @zzyyyl +- 谁把我fody删了 @Cryolitia +- 兼容旧版本语言特性 @ABA2396 +- ui 和 core 版本不一致时开始任务添加 waring 提示 @ABA2396 +- optimize template in 5e4002b058bc928a5e4b7c1dbd43f164682bbaf7 @zzyyyl +- 删除没有用到的 task @zzyyyl +- gitignore FodyWeavers.xsd @ABA2396 +- 修改公招多选tag选项描述 @broken-paint +- added ps1 for cloning ResourceUpdater repo for local developing @Constrat +- YoStarKR ocrReplace regex fix (#7901) @HX3N +- YoStarKR ocrReplace text replacement (#7897) @HX3N +- YoStarKR LE stage navigation (#7896) @HX3N +- YoStarKR template image replacement (#7895) @HX3N +- YoStarKR LE Stage navigation (#7894) @HX3N +- YosrarEN Lingering Echoes stage navigation @Constrat +- YoStarJP 塵影に交わる残響 復刻 navigation (#7888) @Manicsteiner +- update instruction for waydroid @horror-proton +- YoStarJP roguelike nextlevel ocr (#7859) @Manicsteiner @Constrat +- net8后不进行MAA_win7.exe备份 @ABA2396 +- 修改readme中最大分辨率为2k @status102 +- fix SyncRes build error @dantmnf +- dotnet8.0 (#7554) @hxdnshx @SherkeyXD @LiamSho @ABA2396 @moomiji +- YoStarKR ocr text replacement (#7845) @HX3N From d8acf291407e6d77a6eb90e6cf8986343f742437 Mon Sep 17 00:00:00 2001 From: Constrat <56174894+Constrat@users.noreply.github.com> Date: Fri, 5 Jan 2024 14:58:49 +0100 Subject: [PATCH 51/54] fix: reduced Mizuki@Roguelike@MissionFailedFlag threshold for iOS fix #7864 temporary fix as #7872 exists --- resource/platform_diff/iOS/resource/tasks.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resource/platform_diff/iOS/resource/tasks.json b/resource/platform_diff/iOS/resource/tasks.json index f67f13d2b2..393fdc2dec 100644 --- a/resource/platform_diff/iOS/resource/tasks.json +++ b/resource/platform_diff/iOS/resource/tasks.json @@ -16,5 +16,8 @@ }, "BattleQuickFormationRole": { "templThreshold": 0.65 + }, + "Mizuki@Roguelike@MissionFailedFlag": { + "templThreshold": 0.75 } } From 2c2388990d378c6b83e22f3714d730f4acd7318e Mon Sep 17 00:00:00 2001 From: Chiichen Date: Fri, 5 Jan 2024 09:44:10 +0800 Subject: [PATCH 52/54] =?UTF-8?q?feat:=20=E6=8D=95=E8=8E=B7=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E6=A8=A1=E6=8B=9F=E5=99=A8=E6=97=B6=E4=BA=A7=E7=94=9F?= =?UTF-8?q?=E7=9A=84=E6=9D=83=E9=99=90=E4=B8=8D=E8=B6=B3=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=20(#7908)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 捕获启动模拟器时产生的权限不足异常 * chore: 优化代码 * feat: 捕获所有启动模拟器时可能出现的异常并输出异常到日志 --- src/MaaWpfGui/Res/Localizations/en-us.xaml | 1 + src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 1 + src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 1 + src/MaaWpfGui/Res/Localizations/zh-tw.xaml | 1 + .../ViewModels/UI/SettingsViewModel.cs | 26 ++++++++++++++++--- 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 8171d4e5d9..cffae7c17a 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -155,6 +155,7 @@ Error in ADB detection\nPlease use administrator privileges to open this software\nor set connection manually No emulator detected\nPlease use administrator privileges to open this software\nor set connection manually Too many emulators detected\nPlease shutdown not needed emulators \nor set connection manually + Failed to start the emulator\nPlease open this software with administrator privileges \nor start the emulator manually. Switch Language Language The language settings have been changed, restart the app now? diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 3cb94e300c..b2ed0729b4 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -155,6 +155,7 @@ ADB検出エラー\nこのソフトウェアを開くには管理者権限を使用するか\n手動で接続を設定してください エミュレータが検出されない\n管理者権限でこのアプリを開くか\n手動で接続設定を行ってください 複数のシミュレータが検出されたため\n不要なエミュレータを閉じるか\n手動で接続設定を行ってください + エミュレータの起動に失敗しました\n管理者権限でこのソフトウェアを開いていただくか\n手動でエミュレータを起動してください。 言語を切り替える 言語 言語設定が変更されました、今すぐMAAを再起動して言語設定を適用しますか? diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 95d644b4cb..36c15356e1 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -155,6 +155,7 @@ ADB를 찾을 수 없었습니다.\n관리자 권한으로 실행하거나\n수동으로 연결을 설정해 주세요 에뮬레이터를 찾을 수 없습니다.\n관리자 권한으로 실행하거나\n수동으로 연결을 설정해 주세요 여러 에뮬레이터가 실행 중입니다.\n사용하지 않는 에뮬레이터를 종료하거나\n수동으로 연결을 설정해 주세요 + 모의기를 시작하지 못했습니다.\n사용하지 않는 에뮬레이터를 종료하거나\n또는 에뮬레이터를 수동으로 시작하십시오. 언어 전환 언어 언어가 변경되었습니다. 지금 MAA를 재실행하여 새 설정을 적용하시겠습니까? diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index f54bdf94d6..b9d23fceec 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -155,6 +155,7 @@ 检测ADB出错\n请使用管理员权限打开本软件\n或手动设置连接 未检测到任何模拟器\n请使用管理员权限打开本软件\n或手动设置连接 检测到多个模拟器\n请关闭不需要的模拟器\n或手动设置连接 + 未能成功启动模拟器\n请使用管理员权限打开本软件\n或手动启动模拟器 切换语言 语言 语言设置已更改,是否现在重启 MAA 以应用语言设置? diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index aa911fd32a..1a66846a70 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -155,6 +155,7 @@ 檢測 ADB 出錯\n請使用系統管理員身分執行本軟體\n或手動設定連接 未檢測到任何模擬器\n請使用系統管理員身分執行本軟體\n或手動設定連接 檢測到多個模擬器\n請關閉不需要的模擬器\n或手動設定連接 + 無法成功啟動模擬器\n請使用管理員權限開啟本軟體\n或手動啟動模擬器。 切換語言 語言 語言設定已變更,是否現在重開 MAA 以套用語言設定? diff --git a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs index 5761601200..54a2b08e33 100644 --- a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs @@ -1078,13 +1078,31 @@ namespace MaaWpfGui.ViewModels.UI _logger.Information("Start emulator error, try to start using the default: \n" + "EmulatorPath: " + EmulatorPath + "\n" + "EmulatorAddCommand: " + EmulatorAddCommand); - if (EmulatorAddCommand.Length != 0) + try { - Process.Start(EmulatorPath); + if (EmulatorAddCommand.Length != 0) + { + Process.Start(EmulatorPath); + } + else + { + Process.Start(EmulatorPath, EmulatorAddCommand); + } } - else + catch (Exception e) { - Process.Start(EmulatorPath, EmulatorAddCommand); + if (e is Win32Exception win32Exception && win32Exception.NativeErrorCode == 740) + { + Execute.OnUIThread(() => Instances.TaskQueueViewModel.AddLog( + LocalizationHelper.GetString("EmulatorStartFailed"), UiLogColor.Warning)); + + _logger.Warning("Insufficient permissions to start the emulator:\n" + + "EmulatorPath: " + EmulatorPath + "\n"); + } + else + { + _logger.Warning("Emulator start failed with error: " + e.Message); + } } } From 52e2e0caecb1f9fef7dd3b6c5f759c3a6999ecf4 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Sun, 7 Jan 2024 17:24:12 +0800 Subject: [PATCH 53/54] docs: changelog.md --- CHANGELOG.md | 40 +++++++++++----------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 934e66c1cc..42d73f5be7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,8 +10,6 @@ - 修改 前行的林地 默认选择 @ABA2396 - 优化萨米肉鸽部分关卡逻辑 (#7925) @Lancarus -- 优化刷理智-已开始战斗x次时临期理智药使用输出以增加可读性 (#7846) @status102 -- 优化截图耗时额外提示文本触发条件,改为由平均耗时触发 (#7868) @status102 - 捕获启动模拟器时产生的权限不足异常 (#7908) @Chiichen ### 修复 | Fix @@ -19,51 +17,35 @@ - 勾选启动后直接最小化时无法使用右键强制显示 @ABA2396 - 使用启动旧版.cmd启动后下次更新报错 @ABA2396 - 下调检测阈值以尝试修复刷理智卡在次数选择 fix #7919 @status102 -- reduced Mizuki@Roguelike@MissionFailedFlag threshold for iOS fix #7864 temporary fix as #7872 exists @Constrat - 修复部分情况下肉鸽结算点击错误 @status102 -- 未在字典中的连接配置在使用自动检测时报错 @ABA2396 - 修复肉鸽-刷钱模式下仍然会在商店进行招募、购物的错误 (#7863) @status102 -- 配置修改后无法保存 @ABA2396 -- 修复刷理智结束时理智输出错误 @status102 - 清剩余理智时卡在选择次数 @ABA2396 - 修复README的一处链接错误 (#7905) @Chiichen - 修复肉鸽刷源石锭模式卡住的问题 (#7882) @zzyyyl - EN服 无法自动吃大理智药 @ABA2396 - 提供打不开MAA_win7.exe的处理方法 @ABA2396 -- 干员识别报错 @ABA2396 - 修复部分情况下,关卡掉落识别关卡名出错 @status102 -- ClickedCorrectStage more ocrReplace regex @Constrat -- EN Challenge mode battle list @Constrat - 博朗台模式识别理智回复时间大于6分钟则返回失败 @ABA2396 +- reduced Mizuki@Roguelike@MissionFailedFlag threshold for iOS fix #7864 temporary fix as #7872 exists @Constrat +- fix SyncRes build error @dantmnf +- ClickedCorrectStage more ocrReplace regex @Constrat ### 其他 | Other - subprocess handle leak @dantmnf - 版本兼容 @ABA2396 - 修复SSS_自走机械搏斗场_浊蒂重岳塞雷娅泥岩_速冷脚本没有文件名后缀的错误 (#7879) @junyihan233 -- changed template YostarEN I.S. enter @zzyyyl - 移除 StageEncounterClickToLeave 任务 (#7887) @zzyyyl -- changed template YostarEN I.S. enter fix #7766 fix #7886 @Constrat -- 修复并无损压缩模板图片 (#7831) @zzyyyl -- 谁把我fody删了 @Cryolitia - 兼容旧版本语言特性 @ABA2396 - ui 和 core 版本不一致时开始任务添加 waring 提示 @ABA2396 -- optimize template in 5e4002b058bc928a5e4b7c1dbd43f164682bbaf7 @zzyyyl -- 删除没有用到的 task @zzyyyl -- gitignore FodyWeavers.xsd @ABA2396 - 修改公招多选tag选项描述 @broken-paint -- added ps1 for cloning ResourceUpdater repo for local developing @Constrat -- YoStarKR ocrReplace regex fix (#7901) @HX3N -- YoStarKR ocrReplace text replacement (#7897) @HX3N -- YoStarKR LE stage navigation (#7896) @HX3N -- YoStarKR template image replacement (#7895) @HX3N -- YoStarKR LE Stage navigation (#7894) @HX3N -- YosrarEN Lingering Echoes stage navigation @Constrat -- YoStarJP 塵影に交わる残響 復刻 navigation (#7888) @Manicsteiner -- update instruction for waydroid @horror-proton -- YoStarJP roguelike nextlevel ocr (#7859) @Manicsteiner @Constrat - net8后不进行MAA_win7.exe备份 @ABA2396 - 修改readme中最大分辨率为2k @status102 -- fix SyncRes build error @dantmnf -- dotnet8.0 (#7554) @hxdnshx @SherkeyXD @LiamSho @ABA2396 @moomiji -- YoStarKR ocr text replacement (#7845) @HX3N +- YoStarKR ocrReplace regex fix @HX3N +- YoStarKR LE stage navigation @HX3N +- YoStarKR template image replacement @HX3N +- YosrarEN Lingering Echoes stage navigation @Constrat +- YoStarJP 塵影に交わる残響 復刻 navigation (#7888) @Manicsteiner +- YoStarJP roguelike nextlevel ocr (#7859) @Manicsteiner @Constrat +- changed template YostarEN I.S. enter @zzyyyl @Constrat +- update instruction for waydroid @horror-proton From df30a7d3676f5ecfa0511c9a4b76b363a1ebd1cc Mon Sep 17 00:00:00 2001 From: Lancarus <34369130+Lancarus@users.noreply.github.com> Date: Sat, 6 Jan 2024 22:55:18 +0800 Subject: [PATCH 54/54] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=90=A8?= =?UTF-8?q?=E7=B1=B3=E9=94=8F=E7=B2=BE=E4=BA=8C=E4=BC=98=E5=85=88=E5=BA=A6?= =?UTF-8?q?=20(#7939)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/roguelike/Sami/recruitment.json | 48 +++++++++++++----------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/resource/roguelike/Sami/recruitment.json b/resource/roguelike/Sami/recruitment.json index 05c33e6859..00dee59df2 100644 --- a/resource/roguelike/Sami/recruitment.json +++ b/resource/roguelike/Sami/recruitment.json @@ -153,7 +153,7 @@ "skill": 3, "alternate_skill": 2, "recruit_priority": 870, - "promote_priority": 959, + "promote_priority": 997, "is_start": true, "is_key": true, "recruit_priority_offsets": [ @@ -311,7 +311,7 @@ "skill": 3, "alternate_skill": 2, "recruit_priority": 705, - "promote_priority": 899, + "promote_priority": 840, "is_start": true, "is_key": true, "recruit_priority_offsets": [ @@ -331,7 +331,7 @@ "skill": 3, "alternate_skill": 2, "recruit_priority": 605, - "promote_priority": 980, + "promote_priority": 950, "recruit_priority_offsets": [ { "groups": [ @@ -455,7 +455,7 @@ "name": "归溟幽灵鲨", "skill": 2, "recruit_priority": 570, - "promote_priority": 600, + "promote_priority": 601, "is_key": true, "recruit_priority_offsets": [ { @@ -1126,7 +1126,7 @@ "skill": 1, "is_key": true, "recruit_priority": 799, - "promote_priority": 590, + "promote_priority": 601, "recruit_priority_offsets": [ { "groups": [ @@ -1472,7 +1472,7 @@ "alternate_skill": 2, "auto_retreat": 8, "recruit_priority": 750, - "promote_priority": 861, + "promote_priority": 821, "recruit_priority_offsets": [ { "groups": [ @@ -1490,7 +1490,7 @@ "is_key": true, "auto_retreat": 6, "recruit_priority": 671, - "promote_priority": 855, + "promote_priority": 815, "recruit_priority_offsets": [ { "groups": [ @@ -1618,7 +1618,7 @@ "skill": 2, "is_key": true, "recruit_priority": 727, - "promote_priority": 710, + "promote_priority": 740, "recruit_priority_offsets": [ { "groups": [ @@ -1656,7 +1656,7 @@ "name": "白面鸮", "skill": 2, "recruit_priority": 710, - "promote_priority": 406, + "promote_priority": 506, "recruit_priority_offsets": [ { "groups": [ @@ -2047,7 +2047,7 @@ "skill": 3, "alternate_skill": 2, "is_key": true, - "recruit_priority": 635, + "recruit_priority": 641, "promote_priority": 810, "recruit_priority_offsets": [ { @@ -2075,6 +2075,19 @@ } ] }, + { + "name": "刻俄柏", + "skill": 2, + "recruit_priority": 439, + "promote_priority": 680 + }, + { + "name": "异客", + "skill": 3, + "alternate_skill": 2, + "recruit_priority": 359, + "promote_priority": 780 + }, { "name": "莫斯提马", "skill": 3, @@ -2098,13 +2111,6 @@ "recruit_priority": 355, "promote_priority": 588 }, - { - "name": "异客", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 359, - "promote_priority": 780 - }, { "name": "黑键", "skill": 3, @@ -2269,15 +2275,15 @@ "skill": 3, "alternate_skill": 2, "is_key": true, - "recruit_priority": 526, - "promote_priority": 402 + "recruit_priority": 586, + "promote_priority": 612 }, { "name": "灵知", "skill": 1, "is_key": true, - "recruit_priority": 533, - "promote_priority": 690 + "recruit_priority": 526, + "promote_priority": 602 }, { "name": "安洁莉娜",