diff --git a/repo/js/AutoPlanDomain/README.md b/repo/js/AutoPlanDomain/README.md index d74adb5ff..0228c0b45 100644 --- a/repo/js/AutoPlanDomain/README.md +++ b/repo/js/AutoPlanDomain/README.md @@ -42,21 +42,22 @@ **字段详解** -| 位置 | 字段 | 是否必填 | 说明 | 示例 | -|:---:|:---:|:---:|:--------------------------------------:|:-----------------------:| -| 1 | 队伍名称 | 可选 | BetterGI 中已保存的队伍名称(用于切换队伍) | 速刷 / 雷国 / 国家队 | -| 2 | 秘境名称/刷取物品名称 | **必填** | 与 BetterGI 自动秘境识别的名称保持一致 | 苍白的遗荣 / 炽烈的炎之魔女 / 辰砂往生录 | -| 3 | 刷几轮 | 可选 | 整数,执行几轮(每轮 = 1次完整秘境) | 3 / 5 / 10 | -| 4 | 限时/周日 | 可选 | 1=周一~周六可用、2=周日可用、3=仅周日、留空=不限制 | 1 / 2 / 3 | -| 5 | 周几执行(0-6) | 可选 | 0=周日,1=周一,...,6=周六;可多选按`/`分割,不填=每天都可执行 | 0/3,3 | -| 6 | 执行顺序 | 可选 | 数字越大越优先执行(同时间点先跑优先级高的) | 9 / 5 / 1 | +| 位置 | 字段 | 是否必填 | 说明 | 示例 | +|:--:|:-----------:|:---:|:--------------------------------------------:|:-----------------------:| +| 1 | 队伍名称 | 可选 | BetterGI 中已保存的队伍名称(用于切换队伍) | 速刷 / 雷国 / 国家队 | +| 2 | 秘境名称/刷取物品名称 | **必填** | 与 BetterGI 自动秘境识别的名称保持一致 | 苍白的遗荣 / 炽烈的炎之魔女 / 辰砂往生录 | +| 3 | 刷几轮 | 可选 | 整数,执行几轮(每轮 = 1次完整秘境) | 3 / 5 / 10 | +| 4 | 限时/周日 | 可选 | 1=周一~周六可用、2=周日可用、3=仅周日、留空=不限制 | 1 / 2 / 3 | +| 5 | 周几执行(0-6) | 可选 | 0=周日,1=周一,...,6=周六;可多选按`/`分割,不填=每天都可执行 | 0/3,3 | +| 6 | 树脂使用顺序 | 可选 | 原粹树脂,浓缩树脂,须臾树脂,脆弱树脂`/`分割,不填=默认执行 原粹树脂 | 原粹树脂/浓缩树脂,须臾树脂 | +| 7 | 执行顺序 | 可选 | 数字越大越优先执行(同时间点先跑优先级高的) | 9 / 5 / 1 | **配置示例** ``` -速刷|苍白的遗荣|3|1|0/3|9, # 优先级最高,周日,周三刷3轮遗荣 -国家队|炽烈的炎之魔女|5|||5, # 优先级次之,每天刷5轮魔女 -雷国|无想之刃狭间|2|2|0|2 # 只在周日刷,优先级较低 +速刷|苍白的遗荣|3|1|0/3||9, # 优先级最高,周日,周三刷3轮遗荣 +国家队|炽烈的炎之魔女|5||||5, # 优先级次之,每天刷5轮魔女 +雷国|无想之刃狭间|2|2|0|浓缩树脂/原粹树脂|2 # 只在周日刷,优先使用浓缩树脂后使用原粹树脂,优先级较低 ``` (注意:最后一条也可以不带逗号) ### 计划配置语法(config/domain_config.json 配置) @@ -66,6 +67,12 @@ "order": 1, // 顺序值 "days": [0],// 执行日期 "autoFight": { + "physical": [ + {"order": 0, "name": "原粹树脂", "open": true}, + {"order": 1, "name": "浓缩树脂", "open": false}, + {"order": 2, "name": "须臾树脂", "open": false}, + {"order": 3, "name": "脆弱树脂", "open": false} + ],//树脂开启和使用顺序 "domainName": undefined,//秘境名称 "partyName": undefined,//队伍名称 "sundaySelectedValue": undefined,//周日|限时选择的值 diff --git a/repo/js/AutoPlanDomain/config/config.js b/repo/js/AutoPlanDomain/config/config.js index 8d2d4d3b5..5029fc9e9 100644 --- a/repo/js/AutoPlanDomain/config/config.js +++ b/repo/js/AutoPlanDomain/config/config.js @@ -30,6 +30,7 @@ const config = { physical: { min: 20,//最小体力 current: 0,//当前体力 + names: ["原粹树脂", "浓缩树脂", "须臾树脂", "脆弱树脂"] } }, // @@ -174,8 +175,8 @@ async function initConfig() { // config.user.physical.min = physical.min // 初始化uid config.user.uid = await ocrUid() - const bgi_tools_token = settings.bgi_tools_token||"Authorization= " - const list = Array.from(bgi_tools_token.split("=")).map(item=>item.trim()); + const bgi_tools_token = settings.bgi_tools_token || "Authorization= " + const list = Array.from(bgi_tools_token.split("=")).map(item => item.trim()); config.bgi_tools.token.name = list[0] config.bgi_tools.token.value = list[1] config.bgi_tools.api.httpPullJsonConfig = settings.bgi_tools_http_pull_json_config diff --git a/repo/js/AutoPlanDomain/main.js b/repo/js/AutoPlanDomain/main.js index f76b6ac89..7d5dcf06d 100644 --- a/repo/js/AutoPlanDomain/main.js +++ b/repo/js/AutoPlanDomain/main.js @@ -11,12 +11,22 @@ import {ocrPhysical} from "./utils/physical"; */ async function autoDomain(autoFight) { //定死做预留冗余 先不实现 不能指定次数 只能指定启用 - let physical_domain = autoFight?.physical || [ - {order: 0, name: "原粹树脂", count: 1, open: true}, - {order: 1, name: "浓缩树脂", count: 0, open: false}, - {order: 2, name: "须臾树脂", count: 0, open: false}, - {order: 3, name: "脆弱树脂", count: 0, open: false}, - ] + let physical_domain = autoFight?.physical + // || [ + // {order: 0, name: "原粹树脂", count: 1, open: true}, + // {order: 1, name: "浓缩树脂", count: 0, open: false}, + // {order: 2, name: "须臾树脂", count: 0, open: false}, + // {order: 3, name: "脆弱树脂", count: 0, open: false}, + // ] + + if (!physical_domain) { + const names = config.user.physical.names; + physical_domain = [] + names.forEach((name, index) => { + physical_domain.push({order: index, name: name, open: index === 0}) + }) + } + physical_domain.sort((a, b) => a.order - b.order) // 不包含原粹树脂的和 const noOriginalSum = physical_domain.filter(item => item.name.trim() !== "原粹树脂") @@ -24,7 +34,7 @@ async function autoDomain(autoFight) { // 只包含原粹树脂的和 const originalSum = physical_domain.find(item => item.name?.trim() === "原粹树脂") .map(item => item.open ? 1 : 0).reduce((acc, curr) => acc + curr, 0); - const resinPriorityList = physical_domain.map(item => item.name?.trim()) + const resinPriorityList = physical_domain.filter(item => item.open).map(item => item.name?.trim()) // /** 树脂使用优先级列表 */ // resinPriorityList: string[]; // /** 使用原粹树脂次数 */ @@ -49,8 +59,8 @@ async function autoDomain(autoFight) { domainParam.autoArtifactSalvage = false //关闭榨干原粹树脂 domainParam.specifyResinUse = true - //配置原粹树脂使用优先级 - if (false && resinPriorityList.length > 0) { + //配置树脂使用优先级 + if (resinPriorityList.length > 0) { domainParam.resinPriorityList = resinPriorityList } // log.debug(`开始执行秘境任务`)