Commit Graph

283 Commits

Author SHA1 Message Date
zzyyyl
e13f4611d1 feat!: 更新保全 strategies 逻辑 (#10314)
* feat: 保全策略更新

* docs: 修改保全文档对 strategies 的描述

* style: format

[skip changelog]

* feat: 无可用工具人且无 core 时允许检查同一格的后续策略

* style: format

[skip changelog]

* feat: 不再检查干员是否暴毙

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>

* fix: 修复m_all_cores可能插入空core名字导致保全战斗主要部署逻辑结束后仍然识别待部署区

* fix: var reset

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-08-29 19:53:52 +08:00
status102
ed8873580b Revert "feat: 保全作战保留core不过牌且放置core后回到待部署则重放工具人和core" (#10300)
* Revert "feat: 保全作战保留core不过牌且放置core后回到待部署则重放工具人和core"

This reverts commit d57e74a2e6.

* Revert "feat: 保全作战相同location以json写的策略顺序执行"

This reverts commit 0af22cd776.
2024-08-20 08:00:50 +08:00
晓丶梦丶仁
0af22cd776 feat: 保全作战相同location以json写的策略顺序执行 2024-08-20 00:47:59 +08:00
status102
f70f4500e1 Revert "chore: 保全作战相同location以json写的策略顺序执行、全局保留core干员不作为过牌干员" (#10285)
Revert "chore: 保全作战相同location以json写的策略顺序执行、全局保留core干员不作为过牌干员 (#10284)"

This reverts commit 575a0fce81.

不该是chore吧,要发版了等发版完再进
2024-08-19 07:49:25 +08:00
晓丶梦丶仁
575a0fce81 chore: 保全作战相同location以json写的策略顺序执行、全局保留core干员不作为过牌干员 (#10284)
* feat: SSSstrategy之间同一位置需按json内写的顺序放置

* fix: 添加哈希函数

* fix: 修改错误参数

* refactor: 改用shared_ptr

* feat: 保全作业将不允许用核心干员作为工具人

* fix: 实现全局保core

* fix: 增加顺序tag减少bug

---------

Co-authored-by: Weiyou Wang <blspgzs@gmail.com>
2024-08-19 07:36:22 +08:00
zzyyyl
21e19ccdcb perf: 使用 views::join 2024-08-17 16:18:14 +08:00
zzyyyl
92f24ec988 feat!: 拆分 maskRange 与 colorScales;增加 colorWithClose 开关数色时闭运算 2024-08-17 01:22:17 +08:00
uye
736f836232 chore: 减少debug下截图数量最大值 2024-08-11 23:51:38 +08:00
Rbqwow
d120a04206 refactor: StopGame (#9658)
* perf: StopGame

* style: rename Intent to packageName

* chore: 不准不选择区服

* fix: 移除其他配置中的抽象 stop 匹配

* style: 统一驼峰

* style: 按照执行顺序重新排序

* feat: 添加回调和文档

* fix: 修复参数传入

* docs: 更新文档

* fix: merge

* chore: 把WSA的配置也改了

* chore: update submodule

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: Loong <wangl.cc@outlook.com>
2024-08-11 01:50:30 +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
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
status102
68f463760a Revert "feat: 战斗流程协议命令块增强 (#9952)"
This reverts commit 10eac1ffc6, reversing
changes made to 7476bb67a1.
2024-07-30 17:38:28 +08:00
萨拉托加
10eac1ffc6 feat: 战斗流程协议命令块增强 (#9952)
[#9951](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/9951)
2024-07-30 15:54:10 +08:00
ValenciaFly
89ac713d92 fix: 消除linux下门禁的编译提示 2024-07-29 16:49:29 +08:00
ValenciaFly
557329075f fix: 更新一些操作的中文命名,当锚点不匹配时新增退出条件作为保护 2024-07-29 14:41:26 +08:00
GalvinGao
5fc26287cb feat: change penguin CN mirror domain to alvorna.com (#9959)
feat: change penguin cn to alvorna.com
2024-07-29 05:42:23 +00:00
valencia_fly
6527c9859e fix: 修复部分功能上不能正常运行 2024-07-29 13:00:32 +08:00
valencia_fly
5ccaab3302 feat: 支持在命令块中加入锚点,并且支持锚点相关操作 2024-07-29 13:00:27 +08:00
valencia_fly
6035f67aad fix: 修复在解析until命令块时,category字段是冲突的。 2024-07-29 13:00:23 +08:00
valencia_fly
a930afe949 feat: 作业命令块增强,支持命令触发条件的策略变更,支持循环命令,条件命令,派发命令以及无序命令组 2024-07-29 13:00:19 +08:00
zzyyyl
29a2448421 perf(debug): 简单处理 DEBUG 的时候 OCR 很卡的问题 2024-07-26 19:20:45 +08:00
pre-commit-ci[bot]
5e9655b543 fix: 修复隐式全屏 roi 相关警告
* fix: 修复 DropsFlag 相关 task 的 roi 为全屏的问题

* perf: 统一肉鸽 Stage 类任务 baseTask 继承到对应 theme

* fix: 修复 Sami@Roguelike@StageBoonsAI6 的 roi 为全屏的问题

fix #9557
2024-07-22 17:29:43 +08:00
zzyyyl
cb4d9c43e3 feat: 增加特定情况下检查到 roi 为全屏的警告
perf: 对隐式全屏 roi 检测加点注释
2024-07-22 17:18:57 +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
fd0037ba62 feat: 支持自定义 MatchTemplate 匹配方法 2024-07-20 12:36:02 +08:00
DavidWang19
5d56ff9cd2 feat: 适配萨卡兹肉鸽 (#9677)
* feat: 适配萨卡兹肉鸽

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
Co-authored-by: Lemon-miaow <61692393+Lemon-miaow@users.noreply.github.com>
Co-authored-by: Weiyou Wang <blspgzs@gmail.com>
2024-07-17 15:56:16 +01:00
uye
3c7d7ae100 fix: 修改材料名称注释 2024-07-17 10:23:35 +08:00
Weiyou Wang
8570023f94 refactor: 萨米肉鸽配置文件/插件单独文件夹 (#9651)
* refactor: sami roguelike plugins
2024-07-16 00:32:58 +01:00
status102
73458d38ca fix: 自动战斗开始时移除召唤物类头像缓存,以避免跨局错误识别相似技能的召唤物 (#9649)
* fix: 自动战斗开始时移除召唤物类头像缓存,以避免跨局错误识别相似技能的召唤物

* chore: description
2024-07-13 22:53:04 +08:00
zzyyyl
05870cc6c7 feat: cache 统一默认为 false (#9642)
workaround for #9639

之后删了
2024-07-13 08:10:00 +08:00
zzyyyl
7a66c5315d feat: 重新加入 tasks.json 的默认值检查 (#9583) 2024-07-13 08:08:06 +08:00
zzyyyl
8c3643b691 feat: 隐式空 text 检测仅对无基任务生效 2024-07-12 20:40:19 +08:00
Weiyou Wang
87ea4fe357 fix: 修复坍缩范式插件导致的Gui和傀影/水月肉鸽初始化Bug (#9573)
* fix: call Clp_Pd plugin function directly from Encounter & FoldartalUse plugins

* refactor: 去除 tasks.json 中的冗余

* fix: 修正坍缩范式插件对banner文字位置的判断

* refactor: get_rare_clp_pds直接使用find结果返回

* refactor: delete code for debug

* refactor: 减少hard coding

* refactor: 减少hard coding

* refactor: use canonical debug mode

* refactor: add explanation for m_need_check_panel in comment

* fix: 日版翻译更正 thanks to @Manicsteiner

* refactor: refine the condition for using clp_pd_plugin in *.cpp files

* refactor: refine condition check for enabling clp_pd_task plugin

* refactor: change back to ASST_DEBUG
2024-07-12 01:12:02 +08:00
Sherkey
8b90bd7968 refactor: 肉鸽资源加载逻辑及目录结构重构 (#9555)
Todos:
~~+ [ ] autocopilot 也重构一下~~
+ [x] encounter 采用类似 tasks.json 的覆盖模式,各个模式的事件配置覆盖到 `default.json` 上面
+ [x] 肉鸽插件加载主题化(待定)
+ [x] Wait for #9561
2024-07-11 20:11:45 +08:00
Weiyou Wang
4921fb7558 refactor: 重构肉鸽不期而遇策略的加载与使用 2024-07-11 14:03:44 +08:00
dantmnf
4473a45e63 fix: leak fastdeploy objects to avoid crash 2024-07-10 14:44:39 +08:00
Horror Proton
78545b8dfe fix: fix typings in Recruit task
fix: https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/9517
2024-07-09 00:31:49 +08:00
SherkeyXD
7891ba2c8d refactor: 重构肉鸽不期而遇策略的目录格式 2024-07-08 03:30:24 +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
uye
b59fdc8db8 fix: test code
[skip changelog]
2024-06-27 00:49:13 +08:00
uye
f6f458a660 perf: 优化日志输出控制 2024-06-27 00:41:38 +08:00
uye
9ad82247db chore: 简化Release日志输出 2024-06-26 18:50:23 +08:00
Horror Proton
f5dea882d0 refactor: move functions to TileCalc2 and TileDef 2024-06-16 10:47:59 +08:00
dantmnf
d2e5001e7e fix: intentionally leak onnxruntime objects to avoid crash
This should be reverted when it get fixed upstream
2024-06-14 18:28:53 +08:00
dantmnf
d6572b2c7e feat: GPU acceleration (DX12/DirectML)
Co-authored-by: SherkeyXD <253294679@qq.com>
2024-06-14 18:26:41 +08:00
Weiyou Wang
9e8009299c feat: 初步实现肉鸽模式5:刷隐藏坍缩 2024-06-07 12:00:35 +10:00
uye
0f14c11e3d feat: 增加保全、肉鸽、抄作业可配置截图最小间隔 2024-06-04 20:39:05 +08:00