mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 09:50:40 +08:00
docs: 更新肉鸽文档 (#10807)
This commit is contained in:
@@ -12,7 +12,7 @@ icon: ri:game-fill
|
||||
## 肉鸽资源存放位置
|
||||
|
||||
- `resource/roguelike/` 下按照主题存放各个肉鸽的作业资源
|
||||
- 主题文件夹:`Phantom/` 为傀影肉鸽资源,`Mizuki/` 为水月肉鸽资源, `Sami/` 为萨米肉鸽资源
|
||||
- 主题文件夹:`Phantom/` 为傀影肉鸽资源,`Mizuki/` 为水月肉鸽资源, `Sami/` 为萨米肉鸽资源,`Sarkaz/` 为萨卡兹肉鸽资源
|
||||
- `autopilot/` 内是各个关卡的作战 json
|
||||
- `关卡名.json` 关卡的作战逻辑
|
||||
- `encounter/` 内是不期而遇类(所有非战斗和商店节点)事件逻辑
|
||||
@@ -21,15 +21,16 @@ icon: ri:game-fill
|
||||
- `recruitment.json` 干员招募逻辑
|
||||
- `shopping.json` 商店购买藏品逻辑
|
||||
|
||||
- 特别地,在`Sami/`下的
|
||||
- `foldartal.json`表示萨米肉鸽密文板的使用逻辑
|
||||
- `collapsal_paradigms.json`表示萨米肉鸽坍缩范式的类型
|
||||
- 特别地,在 `Sami/` 下的
|
||||
- `foldartal.json` 表示萨米肉鸽密文板的使用逻辑
|
||||
- `collapsal_paradigms.json` 表示萨米肉鸽坍缩范式的类型
|
||||
- `autopilot/关卡名_collapse.json` 关卡的作战逻辑(刷坍缩范式模式)
|
||||
- `encounter/collapse.json` 刷坍缩范式模式不期而遇逻辑
|
||||
|
||||
## 肉鸽第一步——干员招募
|
||||
|
||||
`resource/roguelike/主题名/recruitment.json` 描述了干员招募的逻辑
|
||||
在 `tools/RoguelikeRecruitmentTool` 和 `tools/RoguelikeOperSearch` 中有辅助工具来帮助查看和编写
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -94,7 +95,7 @@ icon: ri:game-fill
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **_地面阻挡_** | 站场和清杂 | 重装、近卫 | 奶盾、基石、羽毛笔、山、M3、令和稀音的召唤物、斑点、重装预备干员 |
|
||||
| **_地面单切/处决者_** | 单独对战精英怪 | 处决者特种 | 史尔特尔、异德、麒麟 R 夜刀、M3、红 |
|
||||
| **_高台 C_** | 常态和决战输出 | 狙击、术士 | 假日威龙陈、澄闪、艾雅法拉、肥鸭 |
|
||||
| **_高台 C_** | 常态和决战输出 | 狙击、术士 | 维什戴尔、逻各斯、假日威龙陈、澄闪 |
|
||||
| **_高台输出_** | 对空和常态输出 | 狙击、术士 | 空弦、能天使、克洛丝、史都华德 |
|
||||
| **_速狙_** | 物理输出,标准射程 | 狙击 | 艾拉、能天使、跃跃、克洛丝 |
|
||||
| **_术师_** | 法术输出,标准射程 | 单法 | 艾雅法拉、逻各斯、史都华德 |
|
||||
@@ -138,7 +139,7 @@ icon: ri:game-fill
|
||||
| 情报官 | 晓歌、伊内丝 | 既可以回费、又可以侧面输出、还可以单切 |
|
||||
| 浊心斯卡蒂 | 浊心斯卡蒂 | 低压时奶量尚可,但是范围特殊,一些图有比较适配的位置 |
|
||||
| 焰苇 | 焰影苇草 | 萨米肉鸽常用开局干员,兼具治疗和输出,一些图有比较适配的位置 |
|
||||
| 银灰 | 银灰、玛恩纳 | 地面大范围决战输出,可以针对 boss 进行部署 |
|
||||
| 玛恩纳 | 玛恩纳、银灰 | 地面大范围决战输出,可以针对 boss 进行部署 |
|
||||
| 史尔特尔 | 史尔特尔 | 由于精二后固定携带 3 技能,这时站场能力几乎为零,需要阻挡位的部署优先度极低 |
|
||||
| 骰子 | 骰子 | 水月肉鸽中的骰子需要单独操作 |
|
||||
|
||||
@@ -146,6 +147,11 @@ icon: ri:game-fill
|
||||
目前固定将未识别到的地面干员归入倒数第二个编组后面(其他地面),未识别到的高台干员归入倒数第一个编组后面(其他高台)
|
||||
:::
|
||||
|
||||
::: tip
|
||||
新实装的干员需要手动加入各个肉鸽的 `recruitment.json`,而开发者不一定能想起来要做适配
|
||||
如果你发现了的话可以发 issue 提醒开发者,也可以直接进行 pr
|
||||
:::
|
||||
|
||||
### 预设阵容——阵容完备检测
|
||||
|
||||
在你预计能够通关或者打到高层的队伍中,哪些干员属于基本核心阵容?是比不可少的?又需要几个?
|
||||
@@ -154,11 +160,15 @@ icon: ri:game-fill
|
||||
目前脚本的招募逻辑是在阵容未满足阵容完备度之前,只招募 0 希望(暂时只有三星)和 key(可以理解为白名单)干员,存希望给高星 key 干员
|
||||
(目前的实现方式是给高强度干员和三星干员手动标为 key 干员,招募的时候只招 key 干员)(TODO: 识别 0 希望干员)
|
||||
|
||||
作战编队时也会优先编入满足阵容完备度的干员,剩下的空位按鹰序。这里因为没有验证干员是否重复(有重复会点两下反而不编入),所以阵容完备度检测的组中尽量不要有重复干员
|
||||
|
||||
所以不要将完备度数字设置太高,建议所有需要的干员数量(基本核心阵容,一般是 1 核心,2 地面,1-2 奶,1 高台)加起来在 4-8 位
|
||||
所以需要尽量让完备度总数合适,建议所有需要的干员数量(基本核心阵容,一般是 1 核心,2 地面,1-2 奶,1 高台)加起来在 4-8 位
|
||||
|
||||
在队伍满足阵容完备度检测之后,每次拿到招募券会按照干员的评分和精二优先度进行招募,所以为了避免希望浪费,不希望招募的干员可以不设置评分或者设置在同职业三星/预备队员评分以下
|
||||
(对于一定要和完全不想要的干员,可以特殊地赋予极高和极低的分数,详见 `Sami` 中的 `止颂` )
|
||||
|
||||
作战编队时会先对干员选择界面的默认排序(从上到下、从左到右)进行有序读取和存储
|
||||
基于这个顺序,保持相对顺序地将最先出现的满足阵容完备度的干员提到开头,直到阵容完备度被全部满足或不存在满足阵容完备度的干员
|
||||
然后将预备干员移至最末,形成新的顺序,按照新的顺序进行选择
|
||||
特别地,由于六星临时招募干员在编队时默认位于最开头,所以实际编队中很容易编入六星临时招募干员(TODO:排除无法使用的精一临时招募干员)
|
||||
|
||||
对于萌新号:在 10 次招募没有满足半队 key 干员的情况下,会放弃完备度检测,按照评分有啥用啥,所以没练三星的萌新号会出现只拿了两三个六星,剩下拿了一堆预备干员的情况
|
||||
:::
|
||||
@@ -170,13 +180,13 @@ icon: ri:game-fill
|
||||
...
|
||||
],
|
||||
"team_complete_condition": [ //阵容完备度检测
|
||||
{
|
||||
{ //一个策略组 (condition)
|
||||
"groups": [ //需要哪些群组中的干员
|
||||
"高台C"
|
||||
"高台输出" //(这里表示需要高台输出组的干员1名)
|
||||
],
|
||||
"threshold": 1 //这些干员需要多少数量
|
||||
}, //(这里表示需要高台C组的干员1名)
|
||||
{
|
||||
},
|
||||
{ //可以有多个策略组
|
||||
"groups": [
|
||||
"棘刺", //(这里表示棘刺、地面阻挡、地面单切、炮灰分组的干员最少需要2个)
|
||||
"地面阻挡",
|
||||
@@ -185,14 +195,28 @@ icon: ri:game-fill
|
||||
],
|
||||
"threshold": 2
|
||||
},
|
||||
{
|
||||
"groups": [
|
||||
"奶" //(这里表示需要奶组的干员1名)
|
||||
],
|
||||
"threshold": 1
|
||||
}
|
||||
...
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
::: caution
|
||||
当一个干员出现在多个干员组时,只进行一次计数
|
||||
比如:干员 `棘刺` 可能同时出现在干员组 `棘刺` 和 `地面阻挡` 中,在这个策略组内,只对干员 `棘刺` 计入一次
|
||||
|
||||
但每个策略组分别计数
|
||||
比如:干员 `焰影苇草` 可能同时出现在干员组 `高台输出` 和 `奶` 中,此时两个策略组都可以计入干员 `焰影苇草`
|
||||
:::
|
||||
|
||||
### 调整干员招募参数
|
||||
|
||||
1. 群组内的顺序代表部署该组时的优先度
|
||||
1. 群组内的干员顺序代表作战部署该干员组时选择干员的优先度
|
||||
|
||||
2. 临时招募干员会在原有的评分基础上加 600 分
|
||||
|
||||
@@ -221,7 +245,8 @@ icon: ri:game-fill
|
||||
"promote_priority": 600, // 进阶优先级,数字越大优先级越高,900以上属于有希望就精二,400以下招募优先级低于招募普通三星干员
|
||||
// 小技巧:当你将招募优先度压低或者不写,拉高一些精二优先度,实际上就是在拉高临时招募到这些干员的精二优先度
|
||||
"is_key": true, // true为key(关键)干员,false或省略为非key干员。在阵容完备检测未通过时,仅招募key干员与0希望干员,保存希望。
|
||||
"is_start": true, // true为开局选择干员,false或省略为非开局干员。在队伍中没有start干员时,仅招募start干员与0希望干员,用户填写的干员会强制未start干员
|
||||
"is_start": true, // true为开局选择干员,false或省略为非开局干员。在队伍中没有start干员时,仅招募start干员与0希望干员
|
||||
// 与用户图形界面的开局干员绑定,且用户手动填写的干员会强制设为start干员
|
||||
"auto_retreat": 0, // 部署几秒后自动撤退,整数,大于 0 时生效,主要用于特种干员和投锋,由于肉鸽一般是2倍速,推荐设置为技能持续时间/2
|
||||
"recruit_priority_when_team_full": 850, // 无需单独设置,满足阵容完备度时,招募优先级,默认招募优先级-100
|
||||
"promote_priority_when_team_full": 850, // 无需单独设置,满足阵容完备度时,进阶优先级,默认精二优先级+300
|
||||
@@ -262,18 +287,21 @@ icon: ri:game-fill
|
||||
|
||||
`resource/roguelike/主题名/autopilot/关卡名.json` 描述了每个关卡的作战策略
|
||||
|
||||
### MAA 肉鸽基本战斗逻辑——牛牛高血压之源
|
||||
### MAA 肉鸽通用战斗逻辑——牛牛高血压之源
|
||||
|
||||
(在关卡名对应作战逻辑文件不存在时生效)
|
||||
|
||||
1. 根据地图上格子类型进行基本的战斗操作
|
||||
|
||||
- MAA 会根据地图上的格子是蓝门还是红门,是高台还是地面,能不能被部署来进行基本的战斗操作
|
||||
|
||||
- MAA 仅根据地图名称或者编号决定使用哪份作业,不会判断地图的**普通**、**紧急**、**路网**、**密文板使用**等情况
|
||||
|
||||
- MAA 不会判断**作战中地图上无法确定的格子的情况**,比如`驯兽小屋`的祭坛位置,`从众效应`是从左边还是从右边出怪
|
||||
|
||||
所以在后面,你需要尽量设计一套能够应付一个地图名**所有不同情况**(上面提到的几种情况)的战斗逻辑,小心被大家挂到 issue 上说这张图操作高血压哦(笑)
|
||||
|
||||
2. MAA 的基本作战策略--堵蓝门
|
||||
2. MAA 的通用作战策略--堵蓝门
|
||||
|
||||
1. 地面干员会优先部署在蓝门的格子上(为什么是格子上,请往下看)或者周围,方向朝向红门(自动计算),
|
||||
|
||||
@@ -312,6 +340,10 @@ icon: ri:game-fill
|
||||
],
|
||||
```
|
||||
|
||||
::: tip
|
||||
蓝门替代方案会在 `deploy_plan` 全部完成但待部署区仍有干员的情况下生效,逻辑同通用作战策略
|
||||
:::
|
||||
|
||||
2. 部署格子黑名单
|
||||
|
||||
有优先防守的点就有优先不部署干员的点,比如大火球经过的位置,boss 脚底下,一些不好输出的位置,
|
||||
@@ -350,7 +382,7 @@ icon: ri:game-fill
|
||||
|
||||
使用`"deploy_plan"`和`"retreat_plan"`实现定制化操作
|
||||
|
||||
定制化策略优先与基本战斗策略,当定制化策略中的所有步骤都尝试执行完毕后,省下的干员或者倒下再部署的干员会按照基本战斗策略不断部署
|
||||
定制化策略优先于通用战斗策略,当定制化策略中的所有步骤都尝试执行完毕后,剩下的干员或者倒下再部署的干员会按照通用战斗策略不断部署
|
||||
|
||||
有时候不需要设置太多的定制策略,完成关键步骤后再交给 MAA,二者结合可能效果更好
|
||||
|
||||
@@ -380,6 +412,8 @@ icon: ri:game-fill
|
||||
MAA 会将所有部署指令扁平化后,执行最优先级部署操作
|
||||
例:在[6,4]部署[ "百嘉", "基石", "地面 C"],在[6,3]部署[ "基石", "地面 C"],那么 MAA 会将部署指令扁平化成附带坐标的[ "百嘉", "基石", "地面 C","基石", "地面 C"]
|
||||
如果在战斗中[6,4]位置的"百嘉"组干员倒下,手里有有可部署的“基石”组干员,会优先布置到[6,4]而不是[6,3]
|
||||
|
||||
这意味着从宏观上来看,每次执行完部署动作之后都会从头开始检查可执行的策略(当前步骤的位置没有已经放置的干员,且待部署区有干员属于此步骤的干员组)
|
||||
:::
|
||||
|
||||
::: tip
|
||||
@@ -393,9 +427,9 @@ icon: ri:game-fill
|
||||
:::
|
||||
|
||||
2. 在某个时间点部署干员
|
||||
::: tip
|
||||
适用于某些单切干员或者需要炮灰的使用场景
|
||||
:::
|
||||
::: tip
|
||||
适用于某些单切干员或者需要炮灰的使用场景
|
||||
:::
|
||||
|
||||
```json
|
||||
"deploy_plan": [
|
||||
@@ -416,8 +450,8 @@ icon: ri:game-fill
|
||||
```
|
||||
|
||||
3. 在某个时间点撤退干员
|
||||
::: tip
|
||||
有时候炮灰过强站住场或者需要部署位腾挪阵容怎么办,撤退!
|
||||
::: tip
|
||||
有时候炮灰过强站住场或者需要部署位腾挪阵容怎么办,撤退!
|
||||
|
||||
同一位置的部署和撤退命令的 condition 数字尽量不要重叠,否则会秒上秒下
|
||||
:::
|
||||
@@ -481,6 +515,12 @@ icon: ri:game-fill
|
||||
],
|
||||
```
|
||||
|
||||
::: info 注意
|
||||
当 maa 无法找到当前关卡对应的定制作战策略时,会自动执行通用作战策略
|
||||
|
||||
当 maa 对当前关卡名称识别失败后,不会执行任何作战逻辑
|
||||
:::
|
||||
|
||||
### 对某个干员打法有特殊理解?——精细化操作特定干员
|
||||
|
||||
请将这位干员单独分组
|
||||
@@ -491,7 +531,7 @@ icon: ri:game-fill
|
||||
|
||||
仅使用一位干员也是可行的!使用 MAA 来凹单人通关吧(由于其他逻辑的不完善,可能性很低)
|
||||
|
||||
参考例子:1.傀影肉鸽的棘刺 2.水月肉鸽的异德 3.萨米肉鸽的焰苇
|
||||
参考例子:1.傀影肉鸽的棘刺,2.水月肉鸽的异德,3.萨米肉鸽的焰影苇草/维什戴尔,4.萨卡兹肉鸽的维什戴尔
|
||||
|
||||
## 肉鸽第三步——不期而遇类节点逻辑
|
||||
|
||||
@@ -503,9 +543,11 @@ icon: ri:game-fill
|
||||
|
||||
OCR 识别不期而遇事件名称,但是选项是操作固定的位置
|
||||
|
||||
没有识别到时间的话会点最下面的选项
|
||||
事件名识别失败的话会点击选项类型图标(若有),或点最下面的选项
|
||||
|
||||
一般只需要微调或者不调整(大佬都写好了嘛)
|
||||
一个常见的卡死原因就是选项类型的图标存在但选项不可选(TODO)
|
||||
|
||||
改进肉鸽逻辑时,一般只需要微调或者不调整(大佬都写好了嘛)
|
||||
|
||||
### 优化不期而遇选项的优先度
|
||||
|
||||
@@ -700,7 +742,7 @@ OCR 识别不期而遇事件名称,但是选项是操作固定的位置
|
||||
- 焰影苇草 + 梓兰 + 泡普卡;
|
||||
- 提丰 + 斑点 + 史都华德。
|
||||
|
||||
## 希望实现的逻辑(todo)
|
||||
## 希望实现的逻辑(TODO)
|
||||
|
||||
### 自动编队逻辑
|
||||
|
||||
@@ -712,6 +754,8 @@ OCR 识别不期而遇事件名称,但是选项是操作固定的位置
|
||||
|
||||
比如可以实现前三层多战,后面的少战,这样发育会更好
|
||||
|
||||
比如识别节点间的连线来判断更优路径
|
||||
|
||||
### 技能保留
|
||||
|
||||
某格部署的干员,技能转好后等待 x 秒再开,方便对轴;可以写 Deploy_plan 下的 Skill_hold,也可以写 Skill_hold_plan
|
||||
|
||||
Reference in New Issue
Block a user