From 5411e4fe881bc33c603c05491b89f75d92e7abbd Mon Sep 17 00:00:00 2001 From: DuKong <649740559@qq.com> Date: Sat, 17 Jun 2023 13:41:50 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E9=9B=86=E6=88=90=E6=88=98=E7=95=A5?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/3.5-肉鸽辅助协议.md | 267 ++++++++++++++++++++++++++++++++++----- 1 file changed, 237 insertions(+), 30 deletions(-) diff --git a/docs/3.5-肉鸽辅助协议.md b/docs/3.5-肉鸽辅助协议.md index 5e88dcfeea..fa73ca1d22 100644 --- a/docs/3.5-肉鸽辅助协议.md +++ b/docs/3.5-肉鸽辅助协议.md @@ -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]的干员 } ] },