Commit Graph

1285 Commits

Author SHA1 Message Date
zzyyyl
1573af9f54 feat: mask_range 支持彩色掩码 2024-07-22 13:12:10 +08:00
status102
b6e347d15b perf: 迁移部分肉鸽数据 2024-07-22 10:26:20 +08:00
status102
c6ad3c756a perf: 减少肉鸽Config拷贝 2024-07-22 10:06:01 +08:00
status102
9d82cb8fb5 feat: 肉鸽插件增加每局重置,以免全部堆积到Config (#9828)
* feat: 肉鸽插件增加每局重置,以免全部堆积到Config
2024-07-22 10:01:51 +08:00
status102
50ddefa763 perf: 简化肉鸽Config和部分设置 (#9822) 2024-07-22 08:21:54 +08:00
status102
e467f9007e fix: 错误获取到萨米塌缩插件 2024-07-21 21:48:57 +08:00
status102
21e3728b99 fix: unchanged var name 2024-07-21 17:00:11 +08:00
status102
478df7d5c0 perf: 迁移部分参数设置 2024-07-21 16:51:53 +08:00
status102
206829dfa6 perf: 简化期望获得塌缩设置 2024-07-21 16:49:09 +08:00
status102
0a38d42985 perf: 移除不必要函数 2024-07-21 16:29:52 +08:00
status102
041f00e07d fix: 使用asst::ranges替代std::ranges
@Alan-Charred
2024-07-21 15:53:34 +08:00
status102
2ebaa0a978 fix: 修复肉鸽插件重复注册 2024-07-21 15:46:18 +08:00
zzyyyl
ac432c841c perf: 避免空 method 警告
set_method 只允许一种方法;增加多处 set_method
2024-07-21 12:44:47 +08:00
Lancarus
984f09872a feat: 投资模式增加非开局干员直接招募第一位 (#9803) 2024-07-21 11:44:21 +08:00
zzyyyl
f9543a890e fix: 修复 methods 为空时直接崩溃的问题 2024-07-20 18:09:54 +08:00
status102
e2f661edd7 fix: 扩大肉鸽投资检测阈值,减少识别错误 (#9787) 2024-07-20 16:59:47 +08:00
status102
d6a179ea43 perf: 移除意料外的等待 2024-07-20 16:48:27 +08:00
zzyyyl
72796f2799 Revert "fix: 修复多次设置参数时肉鸽插件重复注册 (#9786)"
This reverts commit 0b480c3f28, reversing
changes made to 8a450576bc.
2024-07-20 16:25:02 +08:00
zzyyyl
1736c93b09 fix: hsv 匹配时不要修改原图
cvtColor 传 const ref 居然会直接改,qwq
2024-07-20 13:27:30 +08:00
status102
0b480c3f28 fix: 修复多次设置参数时肉鸽插件重复注册 (#9786) 2024-07-20 13:03:10 +08:00
status102
e977734c7b fix: 修复多次设置参数时肉鸽插件重复注册 2024-07-20 12:39:22 +08:00
zzyyyl
fd0037ba62 feat: 支持自定义 MatchTemplate 匹配方法 2024-07-20 12:36:02 +08:00
status102
0f0b7c9517 perf: 移除肉鸽投资部分变量,简化肉鸽Config 2024-07-20 12:20:41 +08:00
status102
273fd28389 chore: 修正文件路径 2024-07-19 10:10:27 +08:00
status102
81b95a0979 perf: 肉鸽Config部分返回改为const ref
调整部分变量名缩短行长,避免换行

[skip changelog]
2024-07-19 09:51:57 +08:00
DavidWang19
2e724180a9 fix: 修复萨卡兹肉鸽卡死在结算界面的问题 2024-07-18 14:20:41 +01:00
DavidWang19
806a97d5ae fix: 修复萨卡兹肉鸽商店不能刷新的问题 2024-07-18 13:11:32 +01:00
DavidWang19
1b022b8afb fix: 修复肉鸽关卡通用策略无法识别费用的问题 2024-07-18 12:40:39 +01: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
status102
9af863655d perf: 复用RoguelikeCollapsalParadigmTaskPlugin插件 (#9682) 2024-07-17 05:17:41 +10: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
1da98683f3 fix: 修复连接前同步参数时日志报错的问题 (#9644)
m_controller is not inited
2024-07-13 10:02:16 +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
status102
cef5797419 perf: add log output (#9636) 2024-07-12 19:36:46 +08:00
Weiyou Wang
8535c53289 fix: 修复萨米肉鸽因插件注册顺序导致的无法运行问题 (#9633)
* fix: m_roguelike_register_plugins

* refactor: !(A == B) --> (A != B)
2024-07-12 17:57:09 +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
df9791e5d9 refactor: 肉鸽根据主题选择加载的插件 2024-07-11 14:04:16 +08:00
Weiyou Wang
4921fb7558 refactor: 重构肉鸽不期而遇策略的加载与使用 2024-07-11 14:03:44 +08:00
Weiyou Wang
7d8cb51689 fix: allow CMake build MaaCore with ASST_DEBUG under macOS 2024-07-11 00:02:39 +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
uye
57fbe81be1 refactor: website docs **translation needed** (#9287)
Co-authored-by: wlwxj <d1ve_wh4le@outlook.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: Wallsman <63186641+wallsman@users.noreply.github.com>
Co-authored-by: Loong <wangl.cc@outlook.com>
Co-authored-by: 神代綺凛 <i@loli.best>
Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
2024-07-08 01:57:20 +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
EvATive7
e3d1359626 fix: switch account failed when MuMuEmulator12Extras is enabled 2024-07-07 12:34:54 +02:00