doc: 集成战略文档更新 (#5186)

This commit is contained in:
MistEO
2023-06-19 13:35:28 +08:00
committed by GitHub

View File

@@ -1,23 +1,114 @@
# 肉鸽战斗流程协议
# 集成战略协议
`resource/roguelike_copilot.json` 的使用方法及各字段说明
## 干员招募
## 完整字段一览
`resource/recruitment.json` 描述了干员招募的优先级
```jsonc
"Mizuki": { // 集成战略主题名称,后接若干字段
"groups": [ // 对所有干员进行分组,实际作战时会按照干员分组进行顺序部署,非常重要!
"百嘉",
"基石",
"召唤",
"玛恩纳",
"号角",
"异德",
"高台C",
"地面C",
"地刺",
"控制",
"单奶",
"群奶",
"投锋",
"挡人先锋",
"刺客",
"重装",
"术师",
"狙击",
"辅助",
"骰子",
"障碍物",
"其他地面",
"其他高台"
],
"team_complete_condition": [ // 阵容完备判断条件仅当所有groups干员不少于对应threshold时阵容完备
// 在阵容未完备时,仅招募核心干员(key干员)与0希望干员
{
"groups": [ "百嘉", "号角", "玛恩纳", "地面C" ],
"threshold": 2
},
{
"groups": [ "高台C" ],
"threshold": 1
},
{
"groups": [ "控制" ],
"threshold": 1
},
{
"groups": [ "群奶", "单奶" ],
"threshold": 1
},
{
"groups": [ "刺客", "重装" ],
"threshold": 1
},
{
"groups": [ "挡人先锋", "投锋" ],
"threshold": 1
}
],
"百嘉": {
"opers": [
{
"name": "百炼嘉维尔",
"skill": 2, // 使用技能
"recruit_priority": 900, // 招募优先级
"promote_priority": 600, // 进阶优先级
"is_key": true, // 在阵容未完备时仅招募key干员与0希望干员
"is_start": true, // 在队伍中没有start干员时仅招募start干员与0希望干员
"recruit_priority_offsets": [ // 按当前阵容调控招募优先级
{
"groups": [ "基石", "召唤", "号角", "地面C" ],
"threshold": 1,
"is_less": true,
"offset": 100,
"Doc": "地面阻挡输出位≤1时百炼嘉维尔的招募优先级+100"
},
{
"groups": [ "基石", "召唤", "号角", "地面C" ],
"threshold": 3,
"offset": -600,
"Doc": "地面阻挡输出位≥3时百炼嘉维尔的招募优先级-600"
}
]
}
]
},
...
```
## 战斗部署
`resource/copilot.json` 描述了每个关卡信息和作战策略
```jsonc
[
{
"stage_name": "驯兽小屋", // 关卡名,必选
"replacement_home": { // 替换掉家门的位置,可选,默认为空
"location": [ // 会使用这里面的坐标来代替蓝门的坐标,然后堵门
6,
4
],
"direction": "left" // 优先朝向,但并不代表绝对是这个方向(算法自行判断)
// 不填默认 none即没有推荐方向完全由算法自行判断
// "none / left / right / up / down / 无 / 上 / 下 / 左 / 右"
},
"blacklist_location": [ // 黑名单点,永远不会在这个格子上部署干员
"stage_name": "蓄水池", // 关卡名
"replacement_home": [ // 重要防守点至少需要填写1个
{
"location": [
6,
4
],
"direction_Doc1": "优先朝向,但并不代表绝对是这个方向(算法自行判断)",
"direction_Doc2": "不填默认 none即没有推荐方向完全由算法自行判断",
"direction_Doc3": "none / left / right / up / down / 无 / 上 / 下 / 左 / 右",
"direction": "left"
}
],
"blacklist_location_Doc": "这里是用法举例,不是说蓄水池这个图需要 ban 这两个点",
"blacklist_location": [ // 禁止程序进行部署的位置
[
0,
0
@@ -27,12 +118,10 @@
1
]
],
"key_kills": [ // 关键击杀数,可选,默认为空
15, // 若不为空,干员技能会攒着,不是好了就放,而是等到击杀数达到时再释放
... // 当跑完数组里所有的元素之后,再把干员技能变成好了就放
],
"not_use_dice": false, // 若为true则核心干员撤退后不使用骰子
"role_order": [ // 部署干员的顺序
"not_use_dice_Doc": "蓝门干员撤退时是否需要用骰子不写默认false",
"not_use_dice": false,
"role_order_Doc": "干员类型部署顺序,未写出部分以近卫,先锋,医疗,重装,狙击,术士,辅助,特种,召唤物的顺序补全,输入英文",
"role_order": [ // 不推荐使用请配置deploy_plan字段
"warrior",
"pioneer",
"medic",
@@ -43,27 +132,145 @@
"special",
"drone"
],
"force_air_defense_when_deploy_blocking_num": { // 填不填写均不影响正常部署逻辑
"melee_num": 3, // 场上有3个阻挡单位就开始强制部署
"air_defense_num": 1, // 总共1个对空单位
"ban_medic": false // 在此期间不禁止部署医疗干员默认false
"force_air_defense_when_deploy_blocking_num_Doc": "场上有10000个阻挡单位时就开始强制部署总共1个对空单位填不填写均不影响正常部署逻辑在此期间不禁止部署医疗单位不写默认false",
"force_air_defense_when_deploy_blocking_num": { // 不推荐使用请配置deploy_plan字段
"melee_num": 10000,
"air_defense_num": 1,
"ban_medic": false
},
"force_deploy_direction": [ // 这些点对某些职业强制部署方向
"force_deploy_direction_Doc": "这些点对某些职业强制部署方向",
"force_deploy_direction": [ // 不推荐使用请配置deploy_plan字段
{
"location": [
1,
1
],
"role": [ "warrior", "pioneer" ],
"direction": "left"
"role_Doc": "填入的职业适用强制方向",
"role": [
"warrior",
"pioneer"
],
"direction": "up"
},
{
"location": [
1,
2
3,
1
],
"role": [ "sniper" ],
"role": [
"sniper"
],
"direction": "left"
}
],
"deploy_plan": [ // 部署逻辑,按从上到下、从左到右的顺序进行检索,并尝试完成第一个合法操作
{
"groups": [ "百嘉", "基石", "地面C", "号角", "挡人先锋", "重装", "其他地面", "异德", "刺客" ],
"location": [ 6, 4 ],
"direction": "left"
},
{
"groups": [ "召唤" ],
"location": [ 6, 3 ],
"direction": "left"
},
{
"groups": [ "百嘉", "基石", "地面C", "号角", "玛恩纳", "地刺", "重装", "投锋", "挡人先锋", "其他地面" ],
"location": [ 7, 4 ],
"direction": "left"
},
{
"groups": [ "单奶", "群奶" ],
"location": [ 6, 2 ],
"direction": "down"
},
{
"groups": [ "高台C", "控制", "术师", "狙击", "辅助" ],
"location": [ 6, 3 ],
"direction": "left"
},
{
"groups": [ "召唤", "高台C", "控制", "术师", "狙击", "辅助", "其他高台" ],
"location": [ 6, 2 ],
"direction": "up"
},
{
"groups": [ "地面C", "异德", "地刺", "刺客", "挡人先锋", "其他地面" ],
"location": [ 6, 1 ],
"direction": "right"
},
{
"groups": [ "召唤", "高台C", "控制", "术师", "狙击", "辅助", "其他高台" ],
"location": [ 2, 3 ],
"direction": "right"
}
]
},
{
"stage_name": "饥渴",
"replacement_home": [
{
"location": [
3,
3
],
"direction": "down"
}
],
"deploy_plan": [
{
"groups": [ "异德", "刺客", "挡人先锋", "其他地面" ],
"location": [ 5, 3 ],
"direction": "left",
"condition": [ 0, 3 ] // 该操作仅在击杀数为0-3时进行
},
{
"groups": [ "异德", "刺客", "挡人先锋", "其他地面" ],
"location": [ 5, 3 ],
"direction": "left",
"condition": [ 6, 10 ]
},
{
"groups": [ "异德", "刺客", "挡人先锋", "其他地面" ],
"location": [ 5, 3 ],
"direction": "left",
"condition": [ 15, 20 ]
},
{
"groups": [ "百嘉", "基石", "地面C", "号角", "挡人先锋", "重装", "其他地面", "异德", "刺客" ],
"location": [ 3, 3 ],
"direction": "down"
},
{
"groups": [ "高台C", "召唤", "控制", "术师", "狙击", "辅助" ],
"location": [ 2, 4 ],
"direction": "down"
},
{
"groups": [ "单奶", "群奶", "高台C", "召唤", "控制", "术师", "狙击", "辅助" ],
"location": [ 2, 3 ],
"direction": "right"
},
{
"groups": [ "重装", "百嘉", "基石", "地面C", "玛恩纳", "号角", "地刺", "刺客", "挡人先锋" ],
"location": [ 4, 3 ],
"direction": "right"
},
{
"groups": [ "高台C", "召唤", "控制", "术师", "狙击", "辅助" ],
"location": [ 3, 6 ],
"direction": "left"
},
{
"groups": [ "地面C", "玛恩纳", "号角", "异德", "地刺", "刺客", "挡人先锋", "其他地面" ],
"location": [ 3, 2 ],
"direction": "down"
}
],
"retreat_plan": [ // 在特定时间点撤退目标
{
"location": [ 4, 1 ],
"condition": [ 7, 8 ] // 在击杀数为7-8时撤去位置[4,1]的干员
}
]
},