Commit Graph

203 Commits

Author SHA1 Message Date
Roland125
ecb098e65c fix: 修复不自动招募4星干员时,会执行空招募的问题 (#12054)
* fix: 修复不自动招募4星干员时,执行空招募的问题

* chore: Auto update by pre-commit hooks [skip changelog]

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-27 19:54:12 +08:00
status102
a4fbee3207 rft: 使用RecruitData代替ocrReplace的外服适配 (#11879)
* rft: use RecruitData instead of ocrReplace

* chore: tasks.json

* docs: 注释

* i18n: txwy tweak

* perf: 加载资源时缓存客户端对应语言的招募tag集

---------

Co-authored-by: momomochi987 <as99us301@gmail.com>
2025-02-17 09:14:27 +08:00
Roland125
06a01c257e fix: 3星招募逻辑修复 (#11913)
* fix: 3星招募逻辑修复
2025-02-14 20:04:31 +08:00
uye
05812c394e Revert "fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数 (#11898)"
This reverts commit 40ad3c429c.
2025-02-14 18:33:27 +08:00
Roland125
40ad3c429c fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数 (#11898)
* fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数

* chore: Auto update by pre-commit hooks [skip changelog]

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-14 10:47:54 +08:00
Horror Proton
0f20c91e94 fix: recruitanalyzer return value [skip changelog] 2025-02-03 01:27:27 +08:00
status102
bc81f492f2 Revert "style: clang formatting"
This reverts commit bfe2e29249.
2025-02-02 23:59:46 +08:00
Constrat
bfe2e29249 style: clang formatting
[skip changelog]
2025-02-02 14:24:12 +01:00
Horror Proton
b888a3e064 fix: fix return value of RecruitImageAnalyzer
fix: https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/11600
2025-02-02 17:45:25 +08:00
uye
4271beb615 chore: 目录下存在 DEBUG_skill_ready.txt 时自动收集技能准备状态截图 (#11571)
* feat: 自动截图

* chore: 根目录下存在 DEBUG 或者 DEBUG.txt 时自动保存截图

* style: 优化格式

* chore: 目录下存在 DEBUG_skill_ready.txt 时自动保存截图
2025-01-19 01:28:56 +08:00
uye
7b8d1dade0 chore: Release 模式下,如文件夹中包含 DEBUG.txt 也会输出 DBG 日志 (#11496)
* chore: Release 模式,如文件夹中包含 DEBUG.txt 也会输出 DBG 日志

* chore: lambda 被否了

* chore: 不读 DEBUG
2025-01-12 17:46:38 +08:00
Roland125
1e29fe6525 feat:不自动招募1/5/6星干员时,不计入最大确认招募次数 (#11380)
* feat:不自动招募1/5/6星干员时,不计入最大确认招募次数
test:添加相应的测试函数(仅Relwithdebinfo生效)
fix:添加calc_task_result_type结构体的构造函数。修改其用法,使得代码更直观。

* chore: Auto update by pre-commit hooks [skip changelog]

* fix:修复跳过特定招募计数功能中的逻辑错误#11380

* chore: Auto update by pre-commit hooks [skip changelog]

* Revert "fix:修复跳过特定招募计数功能中的逻辑错误#11380"

This reverts commit 4870e127aa.

* fix:修复跳过特定招募计数功能中的逻辑错误#11380

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: do not return early for calc only task

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Horror Proton <107091537+horror-proton@users.noreply.github.com>
2025-01-04 19:41:40 +08:00
Constrat
4a11d0eeb0 style: clangd formatting
fix 941a98d
[skip changelog]
2024-12-06 15:17:05 +01:00
uye
941a98d90a fix: 仓库识别无法识别 ”万“ 2024-12-06 19:23:07 +08:00
Weiyou Wang
72119ac361 feat: 自动编队允许指定助战单位 (#11075)
* feat: 自动编队自动借助战

Revert d78fc68

fix: 招募助战后继续(缺少点击快速招募)

i18n: 翻译

style: clang-format

fix: basetask template

fix: werror

perf: 注释、format

i18n: en

perf: 完成功能实现,复用task,进行gui输出

perf: 更改默认状态

feat: BattleFormationTask

Revert 385541a (Back to c2849d2)

* fix: 缺干员回到主界面的时候应该点确认而不是返回

* feat: 助战干员职业选择栏模版

* refactor: UseSupportUnitTaskPlugin

* chore: Auto update by pre-commit hooks [skip changelog]

* perf: 默认值适配国服

* chore: Auto update by pre-commit hooks [skip changelog]

* feat: try_find_and_apply_support_unit

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 大概可以用了

* fix: 补充 struct 的构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 添加默认构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 改改类型

* fix: callback[what] 纠正

* perf: roi及初始化优化

* perf: 简化中英文查找

* perf: rename func

* perf: click roi

* fix: 在点击助战干员的行动后添加 LoadingText

* fix: 打点 Log

* fix: remove unused function

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2024-11-06 00:37:43 +11:00
status102
a17ac2ea69 Revert "feat: 自动编队允许指定助战单位 (#10820)"
This reverts commit 3c97864f0a.
2024-11-05 17:57:24 +08:00
晓丶梦丶仁
3c97864f0a feat: 自动编队允许指定助战单位 (#10820)
* feat: 自动编队自动借助战

Revert d78fc68

fix: 招募助战后继续(缺少点击快速招募)

i18n: 翻译

style: clang-format

fix: basetask template

fix: werror

perf: 注释、format

i18n: en

perf: 完成功能实现,复用task,进行gui输出

perf: 更改默认状态

feat: BattleFormationTask

Revert 385541a (Back to  c2849d2)

* fix: 缺干员回到主界面的时候应该点确认而不是返回

* feat: 助战干员职业选择栏模版

* refactor: UseSupportUnitTaskPlugin

* chore: Auto update by pre-commit hooks [skip changelog]

* perf: 默认值适配国服

* chore: Auto update by pre-commit hooks [skip changelog]

* feat: try_find_and_apply_support_unit

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 大概可以用了

* fix: 补充 struct 的构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 添加默认构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 改改类型

* fix: callback[what] 纠正

* perf: roi及初始化优化

* perf: 简化中英文查找

* perf: rename func

* perf: click roi

* fix: 在点击助战干员的行动后添加 LoadingText

* fix: 打点 Log

* fix: remove unused function

---------

Co-authored-by: Weiyou Wang <44151844+Alan-Charred@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-05 17:09:25 +11:00
pre-commit-ci[bot]
d3796ea4b3 chore: Auto update by pre-commit hooks [skip changelog] 2024-10-22 08:40:28 +00:00
uye
13fd031941 style: 格式化
[skip changelog]
2024-10-13 18:24:43 +08:00
Weiyou Wang
7ab323d3dd feat: 为战斗界面识别模块添加部署费用左侧图标的识别 (#10702)
* feat: 为战斗界面识别模块添加部署费用左侧图标的识别

* chore: Auto update by pre-commit hooks [skip changelog]

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-29 00:42:19 +08:00
zzyyyl
92f24ec988 feat!: 拆分 maskRange 与 colorScales;增加 colorWithClose 开关数色时闭运算 2024-08-17 01:22:17 +08:00
zzyyyl
d719a81d1c feat: 数色前先通过闭运算填充小空洞,避免数色的得分过低 2024-08-12 12:54:56 +08:00
Weiyou Wang
c82aeb0256 feat: 加入肉鸽节点地图识别功能,并应用于萨卡兹肉鸽蓝图快速过图 (#9812)
* feat: 添加 RoguelikeMode::FastPass,负责用蓝图分队快速过图

* chore: update templates for RoguelikeMap and RoguelikeRouting

* feat: RoguelikeMap

* feat: RoguelikeMapConfig

* feat: BrightPointAnalyzer

* feat: RoguelikeRouting

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 修复会卡在商店门口的bug

* fix: adapt new plugin-registration signature

* chore: try fix submodule

* perf: 复用task

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 为函数申明补上定义

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-08-09 22:54:19 +10:00
zzyyyl
58f44d8fb8 perf: log prints non-empty ocr_replace results
related to dedc3c7d4a
2024-08-02 21:10:25 +08:00
Lancarus
fe7cc5f7b0 feat: 增加一些肉鸽参数 (#9875)
* feat: 增加一些肉鸽参数

* feat: 根据获得的藏品改变招募优先级

* fix: 重复定义、注释空函数
2024-07-31 18:43:59 +08:00
zzyyyl
dedc3c7d4a perf: 减少部分日志输出 2024-07-31 16:58:01 +08:00
zzyyyl
0a2b003fce feat: 删去 CcoeffHSV, HSVCount 时的模板匹配采用 RGB 的 Ccoeff
CcoeffHSV 有致命缺陷: (0, 0, 0) 与 (179, 0, 0) 应为相似颜色,因为 Hue 是循环的

* feat: HSVCount & RGBCount 的返回结果为点积

为了尽量保证 0.8 的阈值

* workaround: HSVCount & RGBCount 时 maskRange 不再对模板匹配生效

否则数色时的模板匹配结果将不准确,之后可以分开 maskRange 和 colorRange, 后者的格式可以讨论后再做决定
2024-07-28 01:11:59 +08:00
zzyyyl
640eed235b perf: RGBCount 和 HSVCount 改为 数色 和 模板匹配 的几何平均;优化 count 的实现方法 2024-07-27 23:59:07 +08:00
zzyyyl
b42d5ecd62 feat: RGBCount 和 HSVCount 改为 数色 和 模板匹配 的算术平均 2024-07-27 22:10:31 +08:00
zzyyyl
aef7bba79b feat: 数色算法现在改为原来的结果与 ccoeff 结果的点积 2024-07-27 18:06:41 +08:00
Weiyou Wang
50cb0ed9f7 feat: MultiTemplMatcher (#9850)
* feat: MultiMatcher

* fix: 修正对threshold的处理
2024-07-23 17:55:56 +08:00
zzyyyl
1c116be819 feat!: 增加图像匹配算法 RGBCount, HSVCount
feat: 使用 F1-score 作为返回结果而不是 Recall

perf: 简化 F1-score 计算
2024-07-22 14:43:35 +08:00
zzyyyl
5e378259ce feat!: mask_range 支持彩色掩码 (#9818) 2024-07-22 14:42:10 +08:00
zzyyyl
1573af9f54 feat: mask_range 支持彩色掩码 2024-07-22 13:12:10 +08:00
zzyyyl
334a2e5f70 feat: 删除 HashTaskInfo 相关 2024-07-21 20:33:55 +08:00
zzyyyl
ac432c841c perf: 避免空 method 警告
set_method 只允许一种方法;增加多处 set_method
2024-07-21 12:44:47 +08:00
zzyyyl
f9543a890e fix: 修复 methods 为空时直接崩溃的问题 2024-07-20 18:09:54 +08:00
zzyyyl
1736c93b09 fix: hsv 匹配时不要修改原图
cvtColor 传 const ref 居然会直接改,qwq
2024-07-20 13:27:30 +08:00
zzyyyl
fd0037ba62 feat: 支持自定义 MatchTemplate 匹配方法 2024-07-20 12:36:02 +08:00
Weiyou Wang
7d8cb51689 fix: allow CMake build MaaCore with ASST_DEBUG under macOS 2024-07-11 00:02:39 +08:00
Sherkey
20b6cea436 feat: 增加识别坍缩范式的插件,增加萨米肉鸽刷隐藏坍缩范式模式 (#9172)
### 更新功能

1. 增加`RoguelikeMode::CLP_PDS = 5`作为萨米肉鸽刷隐藏坍缩范式的模式,可且仅可用于萨米肉鸽。

在此模式下,将在每次回到关卡选择界面时检查坍缩状态,同时会优先使用带有`_collapse`后缀的战斗部署方案,也会使用特有的不期而遇和购物设置。

2. 肉鸽任务新增以下参数:
- `check_collapsal_paradigms`:是否检查坍缩范式,若`mode = 5`则默认为`true`,否则为`false`。
- `double_check_collapsal_paradigms`:是否增加对坍缩范式的检查频率,若`mode =
5`则默认为`true`,否则为`false`。
- `expected_collapsal_paradigms`:需要刷的坍缩范式,若`mode = 5`则默认为两组隐藏坍缩范式。
- `use_foldartal`:是否使用密文板,若`mode = 5`则默认为`false`,否则为`true`。

### 机制介绍

本插件将以两种不同的手段检查坍缩范式:

- 在选关界面点击屏幕中上方展开坍缩状态栏(以下称`Panel Check`);
- 观察屏幕右侧是否有坍缩范式通知(以下称`Banner Check`)。

获取坍缩值的方法多种多样,本插件考虑到了以下情况:

1. 战斗后因非完美战斗而使坍缩值增加,进行`Banner Check`。
2. 战斗后因获得收藏品而使坍缩值变动,进行`Banner Check`。
3. 在不期而遇等(MAA中失与得等节点也会触发不期而遇插件)节点中使坍缩值变动,进行`Banner Check`。
4. 再诡异行商节点中因购买收藏品而使坍缩值变动,进行`Banner Check`。
5. 因使用密文版而使坍缩值减少,进行`Banner Check`。
6. 因进入新的一层而使坍缩值增加,进行`Panel Check`。
7. 若进行`Banner
Check`时发现坍缩范式消退,因不知道会不会一次性消退两层(即便会也概率极低),会在下一次回到选关洁面的时候额外触发一次`Panel
Check`。
8. 在`double_check_collapsal_paradigms =
true`的情况下,每次回到选关界面的时候都会额外触发一次`Panel
Check`以验证是否之前有漏、多记录坍缩范式,并以回调信息的形式传回Debug信息。

**注意事项**

1.
为了防止错过坍缩范式通知,会适当sleep,若检测到屏幕下方有`正在提交反馈至神经`的提示的话会额外sleep。所以开启检查坍缩范式的功能后整体流程会变得拖沓一些(目前在我本人可接受范围内)。
2.
在`RoguelikeMode::CLP_PDS`模式下,获得不需要的坍缩范式会直接重开,遇到需要的坍缩范式则会停止任务。理论上可能在不期而遇事件中获得了不需要的坍缩范式,但因为右上角没有退出按钮而没有及时重开。但我目前没有观察到这样的情形,故没有做处理。不放心的话请设置`double_check_collapsal_paradigms
= true`,等回到选关界面后再检查一遍已获得的坍缩范式。
3.
无论如何,强烈推荐开启`double_check_collapsal_paradigms`。慢点就慢点,求稳才是关键。在我本人测试的过程中,遇到过一两次遗漏`Banner
Check`的情况(截图错过了右上角通知),幸好在额外触发的`Panel
Check`中补上了。怀疑是系统卡顿或网络延迟所致(我在澳大利亚用着MBP2017开着MUMU+MAA刷官服,时间长了后模拟器本身就偶尔会卡住)。

### 回调信息

当`check_collapsal_paradigms == true`时会输出类似于下方的回调信息:
```C++
callback(AsstMsg::SubTaskExtraInfo, json::object { 
    { "what", "RoguelikeCollapsalParadigms" },
    { "details", json::object {
        { "cur", "目空一些" },
        { "deepen_or_weaken", 1 },
        { "prev", "睁眼瞎" }
    } }
});
```
其中`deepen_or_weaken = 1`代表坍缩范式从`prev`加深至`cur`,若`deepen_or_weaken =
-1`则代表坍缩范式消退。
偶尔也会有测试信息以`deepen_or_weaken = 0`被传回,主要用于我自己测试用。

### 任务设置范例

以下是我的测试用任务设置:
```Python
asst.append_task('Roguelike', {
    'theme': 'Sami',
    'mode': 5,
    'investment_enabled': False,
    'squad': '远程战术分队',
    'roles': '稳扎稳打',
    'core_char': '维什戴尔',
    # 'expected_collapsal_paradigms': ['趋同性消耗'],
    # 'check_collapsal_paradigms': True, # 在mode = 5时默认为True
    double_check_collapsal_paradigms': True, # 建议打开,以防万一错过了什么
    # 'use_foldartal': False # 在mode = 5时默认为False
})
```
建议在难度10刷隐藏坍缩,我只做了第一层的漏怪作业且以`维什戴尔`为战斗核心。

### To-Do(s)

- [ ] 补充相关文档 (要不就把上述文字作为文档吧?)

### Need Help

- [ ] 外服适配
- [ ] UI适配

---

小孩子不懂事乱写的代码,请各位多指教。
2024-07-07 20:56:14 +08:00
Fryze
6d9b12eff6 fix: depot analyzer to detect multipliers for KR (#9343) 2024-06-11 18:39:17 +09:00
Weiyou Wang
60d58bf93e refactor: matcher result will contain the name of the matched template 2024-06-10 18:49:39 +10:00
status102
f62162317e perf: 在掉落不超出一页时,不额外滑动掉落列表及截图拼接 2024-06-02 12:17:43 +08:00
Horror Proton
8c9cec989a chore: include path of onnxruntime>=1.16 2024-05-25 12:32:22 +08:00
status102
f90fc74916 fix: 修复#7848 2024-03-12 22:50:14 +08:00
status102
5153082de5 perf: TemplDecOCRer的RegionOCRer引入use_raw 2024-03-11 10:50:17 +08:00
zzyyyl
979e3af778 feat: 根据灰度二值化关卡名后再识别 (#7848)
feat: RegionOCRer 允许设置参数使 OCR 识别时的图片为二值化的;关卡名二值化后再识别
2024-03-08 08:59:10 +08:00
status102
90be17900d Revert "perf: 优化仓库识别速度 (#8113)"
This reverts commit 7df2060c3c.
2024-03-06 22:13:52 +08:00
FreeSky-X
7df2060c3c perf: 优化仓库识别速度 (#8113)
* perf:仓库识别

* perf:仓储识别

* fix:depot遗漏材料

* fix:ci集成

* fix:定位得分低

* feat: update analyze_all_items, format code

---------

Co-authored-by: Horror Proton <107091537+horror-proton@users.noreply.github.com>
2024-03-01 21:29:41 +08:00