From f0c731bb5ce32a8440d2e0d3bda2716abb6966a2 Mon Sep 17 00:00:00 2001 From: HX3N Date: Thu, 7 Aug 2025 00:37:00 +0900 Subject: [PATCH] fix: YostarKR update ocrReplace and ocr_config (#13562) --- .../global/YoStarKR/resource/ocr_config.json | 8 + .../resource/tasks/Roguelike/Mizuki.json | 56 +++--- .../resource/tasks/Roguelike/Phantom.json | 53 +++--- .../resource/tasks/Roguelike/Sami.json | 70 +++---- .../resource/tasks/Roguelike/Sarkaz.json | 173 ++++++------------ .../resource/tasks/Roguelike/base.json | 4 +- .../global/YoStarKR/resource/tasks/tasks.json | 6 +- 7 files changed, 160 insertions(+), 210 deletions(-) create mode 100644 resource/global/YoStarKR/resource/ocr_config.json diff --git a/resource/global/YoStarKR/resource/ocr_config.json b/resource/global/YoStarKR/resource/ocr_config.json new file mode 100644 index 0000000000..a9eba8b3f8 --- /dev/null +++ b/resource/global/YoStarKR/resource/ocr_config.json @@ -0,0 +1,8 @@ +{ + "equivalence_classes": [ + [" ", " "], + ["o", "о"], + ["a", "а"], + ["E", "E"] + ] +} diff --git a/resource/global/YoStarKR/resource/tasks/Roguelike/Mizuki.json b/resource/global/YoStarKR/resource/tasks/Roguelike/Mizuki.json index d35449b793..db3a368f34 100644 --- a/resource/global/YoStarKR/resource/tasks/Roguelike/Mizuki.json +++ b/resource/global/YoStarKR/resource/tasks/Roguelike/Mizuki.json @@ -19,49 +19,49 @@ "Mizuki@Roguelike@StrategyChange_mode0": { "ocrReplace": [ [" ", ""], - ["하늘빛해안", "_aggressive"], - ["연안외딴섬", "_aggressive"], - ["맹렬한파도", "_pragmatic"], - ["은밀한온상", "_pragmatic"], - ["신성한동굴", "_default"], - ["심해의숲", "_default"], - ["짙푸른요람", "_SKIP_"] + ["하늘", "_aggressive"], + ["연안", "_aggressive"], + ["맹렬한", "_pragmatic"], + ["은밀한", "_pragmatic"], + ["신성한", "_default"], + ["심해의", "_default"], + ["짙푸른", "_SKIP_"] ] }, "Mizuki@Roguelike@StrategyChange_mode4": { "ocrReplace": [ [" ", ""], - ["하늘빛해안", "_default"], - ["연안외딴섬", "_default"], - ["맹렬한파도", "_exit"], - ["은밀한온상", "_exit"], - ["신성한동굴", "_exit"], - ["심해의숲", "_exit"], - ["짙푸른요람", "_exit"] + ["하늘", "_default"], + ["연안", "_default"], + ["맹렬한", "_exit"], + ["은밀한", "_exit"], + ["신성한", "_exit"], + ["심해의", "_exit"], + ["짙푸른", "_exit"] ] }, "Mizuki@Roguelike@StrategyChange_mode6": { "ocrReplace": [ [" ", ""], - ["하늘빛해안", "_aggressive"], - ["연안외딴섬", "_aggressive"], - ["맹렬한파도", "_pragmatic"], - ["은밀한온상", "_pragmatic"], - ["신성한동굴", "_default"], - ["심해의숲", "_default"], - ["짙푸른요람", "_SKIP_"] + ["하늘", "_aggressive"], + ["연안", "_aggressive"], + ["맹렬한", "_pragmatic"], + ["은밀한", "_pragmatic"], + ["신성한", "_default"], + ["심해의", "_default"], + ["짙푸른", "_SKIP_"] ] }, "Mizuki@Roguelike@StrategyChange_mode7": { "ocrReplace": [ [" ", ""], - ["하늘빛해안", "_aggressive"], - ["연안외딴섬", "_aggressive"], - ["맹렬한파도", "_pragmatic"], - ["은밀한온상", "_pragmatic"], - ["신성한동굴", "_default"], - ["심해의숲", "_default"], - ["짙푸른요람", "_SKIP_"] + ["하늘", "_aggressive"], + ["연안", "_aggressive"], + ["맹렬한", "_pragmatic"], + ["은밀한", "_pragmatic"], + ["신성한", "_default"], + ["심해의", "_default"], + ["짙푸른", "_SKIP_"] ] } } diff --git a/resource/global/YoStarKR/resource/tasks/Roguelike/Phantom.json b/resource/global/YoStarKR/resource/tasks/Roguelike/Phantom.json index 84a6b31846..2d9770c753 100644 --- a/resource/global/YoStarKR/resource/tasks/Roguelike/Phantom.json +++ b/resource/global/YoStarKR/resource/tasks/Roguelike/Phantom.json @@ -4,7 +4,10 @@ "text": ["고성", "노트"] }, "Phantom@Roguelike@NextLevel": { - "ocrReplace": [[" ", ""]], + "ocrReplace": [ + [" ", ""], + ["고향의잔.+", "고향의잔해"] + ], "text": ["안개의기로", "석양의정원", "고향의잔해", "악몽의시작", "붉은달회랑", "욕망의로비"] }, "Phantom@Roguelike@SelectTheme": { @@ -16,45 +19,45 @@ "Phantom@Roguelike@StrategyChange_mode0": { "ocrReplace": [ [" ", ""], - ["안개의기로", "_aggressive"], - ["석양의정원", "_aggressive"], - ["고향의잔.+", "_aggressive"], - ["악몽의시작", "_pragmatic"], - ["붉은달회랑", "_pragmatic"], - ["욕망의로비", "_default"] + ["안개의", "_aggressive"], + ["석양의", "_aggressive"], + ["고향의", "_aggressive"], + ["악몽의", "_pragmatic"], + ["붉은달", "_pragmatic"], + ["욕망의", "_default"] ] }, "Phantom@Roguelike@StrategyChange_mode4": { "ocrReplace": [ [" ", ""], - ["안개의기로", "_default"], - ["석양의정원", "_default"], - ["고향의잔.+", "_exit"], - ["악몽의시작", "_exit"], - ["붉은달회랑", "_exit"], - ["욕망의로비", "_exit"] + ["안개의", "_default"], + ["석양의", "_default"], + ["고향의", "_exit"], + ["악몽의", "_exit"], + ["붉은달", "_exit"], + ["욕망의", "_exit"] ] }, "Phantom@Roguelike@StrategyChange_mode6": { "ocrReplace": [ [" ", ""], - ["안개의기로", "_aggressive"], - ["석양의정원", "_aggressive"], - ["고향의잔.+", "_aggressive"], - ["악몽의시작", "_pragmatic"], - ["붉은달회랑", "_pragmatic"], - ["욕망의로비", "_default"] + ["안개의", "_aggressive"], + ["석양의", "_aggressive"], + ["고향의", "_aggressive"], + ["악몽의", "_pragmatic"], + ["붉은달", "_pragmatic"], + ["욕망의", "_default"] ] }, "Phantom@Roguelike@StrategyChange_mode7": { "ocrReplace": [ [" ", ""], - ["안개의기로", "_aggressive"], - ["석양의정원", "_aggressive"], - ["고향의잔.+", "_aggressive"], - ["악몽의시작", "_pragmatic"], - ["붉은달회랑", "_pragmatic"], - ["욕망의로비", "_default"] + ["안개의", "_aggressive"], + ["석양의", "_aggressive"], + ["고향의", "_aggressive"], + ["악몽의", "_pragmatic"], + ["붉은달", "_pragmatic"], + ["욕망의", "_default"] ] } } diff --git a/resource/global/YoStarKR/resource/tasks/Roguelike/Sami.json b/resource/global/YoStarKR/resource/tasks/Roguelike/Sami.json index 9afded1809..63a33e2c0c 100644 --- a/resource/global/YoStarKR/resource/tasks/Roguelike/Sami.json +++ b/resource/global/YoStarKR/resource/tasks/Roguelike/Sami.json @@ -180,61 +180,61 @@ "Sami@Roguelike@StrategyChange_mode0": { "ocrReplace": [ [" ", ""], - [".*은빛의호.+", "_aggressive"], - [".*고요한숲", "_aggressive"], - [".*여명의.+", "_pragmatic"], - [".*얼어붙은바위", "_pragmatic"], - [".*무결점의정원", "_default"], - [".*예견의구상", "_default"], - [".*숨겨진비경", "_SKIP_"] + ["은빛의", "_aggressive"], + ["고요한", "_aggressive"], + ["여명의", "_pragmatic"], + ["얼어.+은", "_pragmatic"], + ["무결점", "_default"], + ["예견의", "_default"], + ["숨겨진", "_SKIP_"] ] }, "Sami@Roguelike@StrategyChange_mode4": { "ocrReplace": [ [" ", ""], - [".*은빛의호.+", "_default"], - [".*고요한숲", "_default"], - [".*여명의.+", "_exit"], - [".*얼어붙은바위", "_exit"], - [".*무결점의정원", "_exit"], - [".*예견의구상", "_exit"], - [".*숨겨진비경", "_exit"] + ["은빛의", "_default"], + ["고요한", "_default"], + ["여명의", "_exit"], + ["얼어.+은", "_exit"], + ["무결점", "_exit"], + ["예견의", "_exit"], + ["숨겨진", "_exit"] ] }, "Sami@Roguelike@StrategyChange_mode5": { "ocrReplace": [ [" ", ""], - [".*은빛의호.+", "_collapsal_paradigms"], - [".*고요한숲", "_collapsal_paradigms"], - [".*여명의.+", "_SKIP_"], - [".*얼어붙은바위", "_SKIP_"], - [".*무결점의정원", "_SKIP_"], - [".*예견의구상", "_SKIP_"], - [".*숨겨진비경", "_SKIP_"] + ["은빛의", "_collapsal_paradigms"], + ["고요한", "_collapsal_paradigms"], + ["여명의", "_SKIP_"], + ["얼어.+은", "_SKIP_"], + ["무결점", "_SKIP_"], + ["예견의", "_SKIP_"], + ["숨겨진", "_SKIP_"] ] }, "Sami@Roguelike@StrategyChange_mode6": { "ocrReplace": [ [" ", ""], - [".*은빛의호.+", "_aggressive"], - [".*고요한숲", "_aggressive"], - [".*여명의.+", "_pragmatic"], - [".*얼어붙은바위", "_pragmatic"], - [".*무결점의정원", "_default"], - [".*예견의구상", "_default"], - [".*숨겨진비경", "_SKIP_"] + ["은빛의", "_aggressive"], + ["고요한", "_aggressive"], + ["여명의", "_pragmatic"], + ["얼어.+은", "_pragmatic"], + ["무결점", "_default"], + ["예견의", "_default"], + ["숨겨진", "_SKIP_"] ] }, "Sami@Roguelike@StrategyChange_mode7": { "ocrReplace": [ [" ", ""], - [".*은빛의호.+", "_aggressive"], - [".*고요한숲", "_aggressive"], - [".*여명의.+", "_pragmatic"], - [".*얼어붙은바위", "_pragmatic"], - [".*무결점의정원", "_default"], - [".*예견의구상", "_default"], - [".*숨겨진비경", "_SKIP_"] + ["은빛의", "_aggressive"], + ["고요한", "_aggressive"], + ["여명의", "_pragmatic"], + ["얼어.+은", "_pragmatic"], + ["무결점", "_default"], + ["예견의", "_default"], + ["숨겨진", "_SKIP_"] ] } } diff --git a/resource/global/YoStarKR/resource/tasks/Roguelike/Sarkaz.json b/resource/global/YoStarKR/resource/tasks/Roguelike/Sarkaz.json index ad82eabd18..2c550fcf99 100644 --- a/resource/global/YoStarKR/resource/tasks/Roguelike/Sarkaz.json +++ b/resource/global/YoStarKR/resource/tasks/Roguelike/Sarkaz.json @@ -18,22 +18,22 @@ "Sarkaz@Roguelike@NextLevel": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"] + ["영혼융합.+", "영혼융합의시작"], + ["단조된철의.+", "단조된철의뿌리"], + ["먼지투성이.+", "먼지투성이폐허"], + ["개연성의.+", "개연성의갈림길"], + ["허와실의.+", "허와실의경계"], + ["휘.+찬란.+", "휘황찬란한하늘"], + ["괴이한단.+", "괴이한단장"] ], "text": [ - "영혼 융합의 시작", - "단조된 철의 뿌리", - "먼지투성이 폐허", - "개연성의 갈림길", - "허와 실의 경계", - "휘황찬란한 하늘", - "괴이한 단장" + "영혼융합의시작", + "단조된철의뿌리", + "먼지투성이폐허", + "개연성의갈림길", + "허와실의경계", + "휘황찬란한하늘", + "괴이한단장" ] }, "Sarkaz@Roguelike@RoutingRefreshNodeConfirm": { @@ -61,134 +61,73 @@ "Sarkaz@Roguelike@StrategyChange-FastInvestment": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_fastInvestment"], - ["단조된 철의 뿌리", "_exit"], - ["먼지투성이 폐허", "_exit"], - ["개연성의 갈림길", "_exit"], - ["허와 실의 경계", "_exit"], - ["휘황찬란한 하늘", "_exit"], - ["괴이한 단장", "_exit"] + ["영혼융합", "_fastInvestment"], + ["단조된철", "_exit"], + ["먼지투성이", "_exit"], + ["개연성", "_exit"], + ["허와실", "_exit"], + ["휘.+찬란", "_exit"], + ["괴이한", "_exit"] ] }, "Sarkaz@Roguelike@StrategyChange_mode0": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_default"], - ["단조된 철의 뿌리", "_default"], - ["먼지투성이 폐허", "_default"], - ["개연성의 갈림길", "_default"], - ["허와 실의 경계", "_default"], - ["휘황찬란한 하늘", "_default"], - ["괴이한 단장", "_SKIP_"] - ] - }, - "Sarkaz@Roguelike@StrategyChange_mode1": { - "ocrReplace": [ - [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_default"], - ["단조된 철의 뿌리", "_default"], - ["먼지투성이 폐허", "_exit"], - ["개연성의 갈림길", "_exit"], - ["허와 실의 경계", "_exit"], - ["휘황찬란한 하늘", "_exit"], - ["괴이한 단장", "_exit"] + ["영혼융합", "_default"], + ["단조된철", "_default"], + ["먼지투성이", "_default"], + ["개연성", "_default"], + ["허와실", "_default"], + ["휘.+찬란", "_default"], + ["괴이한", "_SKIP_"] ] }, "Sarkaz@Roguelike@StrategyChange_mode10001": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_routing"], - ["단조된 철의 뿌리", "_exit"], - ["먼지투성이 폐허", "_exit"], - ["개연성의 갈림길", "_exit"], - ["허와 실의 경계", "_exit"], - ["휘황찬란한 하늘", "_exit"], - ["괴이한 단장", "_exit"] + ["영혼융합", "_routing"], + ["단조된철", "_exit"], + ["먼지투성이", "_exit"], + ["개연성", "_exit"], + ["허와실", "_exit"], + ["휘.+찬란", "_exit"], + ["괴이한", "_exit"] ] }, "Sarkaz@Roguelike@StrategyChange_mode4": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_default"], - ["단조된 철의 뿌리", "_default"], - ["먼지투성이 폐허", "_exit"], - ["개연성의 갈림길", "_exit"], - ["허와 실의 경계", "_exit"], - ["휘황찬란한 하늘", "_exit"], - ["괴이한 단장", "_exit"] + ["영혼융합", "_default"], + ["단조된철", "_default"], + ["먼지투성이", "_exit"], + ["개연성", "_exit"], + ["허와실", "_exit"], + ["휘.+찬란", "_exit"], + ["괴이한", "_exit"] ] }, "Sarkaz@Roguelike@StrategyChange_mode6": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_default"], - ["단조된 철의 뿌리", "_default"], - ["먼지투성이 폐허", "_default"], - ["개연성의 갈림길", "_default"], - ["허와 실의 경계", "_default"], - ["휘황찬란한 하늘", "_default"], - ["괴이한 단장", "_SKIP_"] + ["영혼융합", "_default"], + ["단조된철", "_default"], + ["먼지투성이", "_default"], + ["개연성", "_default"], + ["허와실", "_default"], + ["휘.+찬란", "_default"], + ["괴이한", "_SKIP_"] ] }, "Sarkaz@Roguelike@StrategyChange_mode7": { "ocrReplace": [ [" ", ""], - [".*영혼융합.+", "영혼 융합의 시작"], - [".*단조된철의.+", "단조된 철의 뿌리"], - [".*먼지투성이.+", "먼지투성이 폐허"], - [".*개연성의갈림길", "개연성의 갈림길"], - [".*허와실의.+", "허와 실의 경계"], - [".*휘.+찬란한하.*", "휘황찬란한 하늘"], - [".*괴이한단.+", "괴이한 단장"], - ["영혼 융합의 시작", "_default"], - ["단조된 철의 뿌리", "_default"], - ["먼지투성이 폐허", "_default"], - ["개연성의 갈림길", "_default"], - ["허와 실의 경계", "_default"], - ["휘황찬란한 하늘", "_default"], - ["괴이한 단장", "_SKIP_"] + ["영혼융합", "_default"], + ["단조된철", "_default"], + ["먼지투성이", "_default"], + ["개연성", "_default"], + ["허와실", "_default"], + ["휘.+찬란", "_default"], + ["괴이한", "_SKIP_"] ] } } diff --git a/resource/global/YoStarKR/resource/tasks/Roguelike/base.json b/resource/global/YoStarKR/resource/tasks/Roguelike/base.json index ddd33720cd..2c5c21d362 100644 --- a/resource/global/YoStarKR/resource/tasks/Roguelike/base.json +++ b/resource/global/YoStarKR/resource/tasks/Roguelike/base.json @@ -60,7 +60,7 @@ }, "RoguelikeTraderShoppingOcr": { "ocrReplace": [ - ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| | |—|_|-|=|,|^4|^i)", ""], + ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| |—|_|-|=|,|^4|^i)", ""], ["^뱅가드모집.+", "先锋招募券"], ["^가드모집.+", "近卫招募券"], ["^디펜더모집.+", "重装招募券"], @@ -757,7 +757,7 @@ }, "Roguelike@StageEncounterOcr": { "ocrReplace": [ - ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| | |—|_|-|=|,)", ""], + ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| |—|_|-|=|,)", ""], ["야영", "扎营"], ["착한목각인형", "善良的木偶"], ["이야기꾼", "讲故事的人"], diff --git a/resource/global/YoStarKR/resource/tasks/tasks.json b/resource/global/YoStarKR/resource/tasks/tasks.json index 7bf49c289b..5add6730e1 100644 --- a/resource/global/YoStarKR/resource/tasks/tasks.json +++ b/resource/global/YoStarKR/resource/tasks/tasks.json @@ -35,7 +35,7 @@ "CharsNameOcrReplace": { "Doc": "이 작업의 'ocrReplace'는 오퍼레이터 이름과 관련된 모든 인식 작업에서 사용됩니다", "ocrReplace": [ - ["(\\$|\\(|\\)|\\.|\"|/|'| | |—|_|-|=|,|《|》|■|~|シ)", ""], + ["(\\$|\\(|\\)|\\.|\"|/|'| |—|_|-|=|,|《|》|■|~|シ)", ""], ["드래곤플라이L", "드래곤플라이엘"], ["드래곤플라이F", "드래곤플라이에프"], ["드래곤플라이A", "드래곤플라이에이"], @@ -1067,7 +1067,7 @@ }, "RecruitTags": { "ocrReplace": [ - ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| | |—|_|-|=|,|^4)", ""], + ["(\\s|\\$|\\(|\\)|\\.|\"|/|'| |—|_|-|=|,|^4)", ""], ["고급특별채용", "고급 특별 채용"], ["^특별채용$", "특별 채용"], ["^가(드|도|든)$", "가드"], @@ -1121,7 +1121,7 @@ "BattleStageName": { "Doc": "이 작업의 'ocrReplace'는 로그라이크 스테이지 이름과 관련된 모든 인식 작업에서 사용됩니다", "ocrReplace": [ - ["(\\s| | )", ""], + ["(\\s| )", ""], ["원석충과함께", "与虫为伴"], ["사육장", "驯兽小屋"], ["예포소대.*", "礼炮小队"],