mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-15 03:23:22 +08:00
圣遗物批量强化 (#2692)
This commit is contained in:
@@ -259,49 +259,50 @@ sequenceDiagram
|
||||
- 描述:设置筛选圣遗物时的最大翻页次数。
|
||||
- 选项:`1`、`2`、`3`、`4`、`5`、`6`、`7`、`8`
|
||||
- 默认:`4`
|
||||
|
||||
26. **圣遗物筛选:锁定状态(标记)** (`holyRelicsLockMark`)
|
||||
- 类型:复选框
|
||||
- 描述:筛选带有标记的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
27. **圣遗物筛选:仅锁定** (`holyRelicsLockY`)
|
||||
- 类型:复选框
|
||||
- 描述:筛选已锁定的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
28. **圣遗物筛选:未锁定** (`holyRelicsLockN`)
|
||||
- 类型:复选框
|
||||
- 描述:筛选未锁定的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
29. **圣遗物筛选:已装备** (`holyRelicsEquipY`)
|
||||
- 类型:复选框
|
||||
- 描述:筛选已装备的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
30. **圣遗物筛选:未装备** (`holyRelicsEquipN`)
|
||||
26. **圣遗物筛选** (`selectSuit`)
|
||||
- 类型:多选框
|
||||
- 描述:圣遗物筛选。
|
||||
- 选项:`标记`,`仅锁定`,`未锁定`,`已装备`,`未装备`,`祝圣之霜定义`
|
||||
- 默认:空
|
||||
27. ~~**圣遗物筛选:锁定状态(标记)** (`holyRelicsLockMark`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选带有标记的圣遗物。
|
||||
- 默认:禁用
|
||||
28. ~~**圣遗物筛选:仅锁定** (`holyRelicsLockY`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选已锁定的圣遗物。
|
||||
- 默认:禁用
|
||||
29. ~~**圣遗物筛选:未锁定** (`holyRelicsLockN`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选未锁定的圣遗物。
|
||||
- 默认:禁用
|
||||
30. ~~**圣遗物筛选:已装备** (`holyRelicsEquipY`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选已装备的圣遗物。
|
||||
- 默认:禁用
|
||||
31. ~~**圣遗物筛选:未装备** (`holyRelicsEquipN`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选未装备的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
31. **圣遗物筛选:来源(祝圣之霜定义)** (`holyRelicsSourceFrostSaint`)
|
||||
32. ~~**圣遗物筛选:来源(祝圣之霜定义)** (`holyRelicsSourceFrostSaint`)~~ **[1.2.0 删除]**
|
||||
- 类型:复选框
|
||||
- 描述:筛选来源为“祝圣之霜定义”的圣遗物。
|
||||
- 默认:禁用
|
||||
|
||||
32. **打开背包按键** (`knapsackKey`)
|
||||
33. **打开背包按键** (`knapsackKey`)
|
||||
- 类型:文本输入
|
||||
- 描述:设置打开背包的快捷键。
|
||||
- 默认:`B`
|
||||
|
||||
33. **日志开关** (`log_off`)
|
||||
34. **日志开关** (`log_off`)
|
||||
- 类型:复选框
|
||||
- 描述:启用日志记录,用于开发者调试。
|
||||
- 默认:禁用
|
||||
|
||||
## 版本历史
|
||||
|
||||
### 1.2.0 (2026-01-09)
|
||||
- 适配 bgi 多选项
|
||||
### 1.1.9 (2026-01-05)
|
||||
- **修复**
|
||||
- 异常识别 问题
|
||||
|
||||
@@ -1,18 +1,182 @@
|
||||
// eval(file.readTextSync(`utils/languageUtils.js`));
|
||||
|
||||
eval(file.readTextSync(`utils/languageUtils.js`));
|
||||
let manifest_json = "manifest.json";
|
||||
let configSettings = undefined
|
||||
|
||||
/**
|
||||
* 初始化设置函数
|
||||
* 从配置文件中读取设置信息并返回
|
||||
* @returns {Object} 返回解析后的JSON设置对象
|
||||
*/
|
||||
async function initSettings() {
|
||||
// 默认设置文件路径
|
||||
let settings_ui = "settings.json";
|
||||
try {
|
||||
// 读取并解析manifest.json文件
|
||||
let manifest = JSON.parse(file.readTextSync(manifest_json));
|
||||
// 调试日志:输出manifest内容
|
||||
log.debug("manifest={key}", manifest);
|
||||
// 调试日志:输出manifest中的settings_ui配置
|
||||
log.debug("settings_ui={key}", manifest.settings_ui);
|
||||
log.info(`|脚本名称:{name},版本:{version}`, manifest.name, manifest.version);
|
||||
if (manifest.bgi_version) {
|
||||
log.info(`|最小可执行BGI版本:{bgi_version}`, manifest.bgi_version);
|
||||
}
|
||||
log.info(`|脚本作者:{authors}\n`, manifest.authors.map(a => a.name).join(","));
|
||||
// 更新settings_ui变量为manifest中指定的路径
|
||||
settings_ui = manifest.settings_ui
|
||||
} catch (error) {
|
||||
// 捕获并记录可能的错误
|
||||
log.warn("{error}", error.message);
|
||||
}
|
||||
// 读取并解析设置文件
|
||||
const settingsJson = JSON.parse(file.readTextSync(settings_ui));
|
||||
// 如果configSettings未定义,则将其设置为解析后的设置对象
|
||||
if (!configSettings) {
|
||||
configSettings = settingsJson
|
||||
}
|
||||
// 调试日志:输出最终解析的设置对象
|
||||
log.debug("settingsJson={key}", settingsJson);
|
||||
// 返回设置对象
|
||||
return settingsJson
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取多复选框的映射表
|
||||
* 该函数会从初始化的设置中提取所有类型为"multi-checkbox"的条目,
|
||||
* 并将这些条目的名称和对应的选项值存储在一个Map对象中返回
|
||||
* @returns {Promise<Map>} 返回一个Promise对象,解析为包含多复选框配置的Map
|
||||
*/
|
||||
async function getMultiCheckboxMap() {
|
||||
// 如果configSettings存在则使用它,否则调用initSettings()函数获取
|
||||
const settingsJson = configSettings ? configSettings : await initSettings();
|
||||
// 创建一个新的Map对象用于存储多复选框的配置
|
||||
// Map结构为: {名称: 选项数组}
|
||||
let multiCheckboxMap = new Map();
|
||||
// 遍历设置JSON中的每个条目
|
||||
settingsJson.forEach((entry) => {
|
||||
// 如果条目没有name属性或者类型不是"multi-checkbox",则跳过该条目
|
||||
if (!entry.name || entry.type !== "multi-checkbox") return;
|
||||
// 解构条目中的name和label属性,便于后续使用
|
||||
const {name, label} = entry;
|
||||
// 获取当前name对应的设置值,如果存在则转换为数组,否则使用空数组
|
||||
const options = settings[name] ? Array.from(settings[name]) : [];
|
||||
// 记录调试信息,包含名称、标签、选项和选项数量
|
||||
log.debug("name={key1},label={key2},options={key3},length={key4}", name, label, JSON.stringify(options), options.length);
|
||||
// 将名称和对应的选项数组存入Map
|
||||
multiCheckboxMap.set(name, options);
|
||||
})
|
||||
// 返回包含多复选框配置的Map
|
||||
return multiCheckboxMap
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据复选框组名称获取对应的值
|
||||
* 这是一个异步函数,用于从复选框映射中获取指定名称的值
|
||||
* @param {string} name - 复选框组的名称
|
||||
* @returns {Promise<any>} 返回一个Promise,解析为复选框组对应的值
|
||||
*/
|
||||
async function getValueByMultiCheckboxName(name) {
|
||||
// 获取复选框映射表,这是一个异步操作
|
||||
let multiCheckboxMap = await getMultiCheckboxMap()
|
||||
// log.debug("multiCheckboxMap={key}", JSON.stringify(multiCheckboxMap))
|
||||
// multiCheckboxMap.entries().forEach(([name, options]) => {
|
||||
// log.debug("name={key1},options={key2}", name, JSON.stringify(options))
|
||||
// })
|
||||
// 从映射表中获取并返回指定名称对应的值
|
||||
let values = multiCheckboxMap.get(name);
|
||||
log.debug("values={key}", JSON.stringify(values))
|
||||
return values
|
||||
}
|
||||
|
||||
async function init() {
|
||||
let manifest = JSON.parse(file.readTextSync("manifest.json"));
|
||||
log.info(`版本:{version}`, manifest.version);
|
||||
let utils=[
|
||||
await initSettings();
|
||||
let utils = [
|
||||
"languageUtils",
|
||||
"holyRelicsUpUtils",
|
||||
]
|
||||
for (let util of utils) {
|
||||
eval(file.readTextSync(`utils/${util}.js`));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
//语言配置初始化
|
||||
const languageALLConfigMap = languageUtils.getLanguageALLConfigMap()
|
||||
|
||||
const languageMap_let = languageUtils.getLanguageMap()
|
||||
const languageMsgMap = languageUtils.getLanguageMsgMap()
|
||||
const languageKey = languageMap_let.get(settings.language)
|
||||
if (languageKey === null || !languageKey) {
|
||||
let languageMsg = languageMsgMap.get(settings.language)
|
||||
.replace('language-key', `${settings.language}`)
|
||||
.replace('languageList-key', `${Array.from(LanguageMap.keys()).join(',')}`)
|
||||
throwError(languageMsg)
|
||||
}
|
||||
const languageConfigJson = languageALLConfigMap.get(languageKey)
|
||||
//魔法值
|
||||
const mana_let = languageConfigJson.mana
|
||||
|
||||
LanguageALLConfigMap = languageALLConfigMap
|
||||
languageMap = languageConfigJson.languageMap
|
||||
LanguageMap = languageMap_let
|
||||
LanguageKey = languageKey
|
||||
mana = mana_let
|
||||
path_base_main += `${LanguageKey}/`
|
||||
//属性
|
||||
const attributeMap_let = languageConfigJson.attributeMap
|
||||
const attributeList_let = languageConfigJson.attributeList
|
||||
const attributeFixedMap_let = languageConfigJson.attributeFixedMap
|
||||
const AttributeHolyRelickeys_let = languageConfigJson.attributeHolyRelickeys
|
||||
const HolyRelicPartsAsMap_let = languageConfigJson.holyRelicPartsAsMap
|
||||
const HolyRelicParts_let = languageConfigJson.holyRelicParts
|
||||
|
||||
const commonHolyRelicPartMap_let = !config.enableAttributeHolyRelic ? [] : parseHolyRelicToMap(config.commonAttributeHolyRelic)
|
||||
const holyRelicPartMap_let = !config.enableAttributeHolyRelic ? [] : (!config.coverAttributeHolyRelic ? parseHolyRelicToMap() : takeDifferentHolyRelicToMap(parseHolyRelicToMap(), commonHolyRelicPartMap_let))
|
||||
|
||||
const commonHolyRelicPartMapBySift_let = !config.enableAttributeHolyRelic ? [] : parseHolyRelicToMap(config.commonSiftAttributeHolyRelic)
|
||||
const holyRelicPartMapBySift_let = !config.enableAttributeHolyRelic ? [] :
|
||||
(!config.coverSiftAttributeHolyRelic ? parseHolyRelicToMap(config.inputSiftAttributeHolyRelic) :
|
||||
takeDifferentHolyRelicToMap(parseHolyRelicToMap(config.inputSiftAttributeHolyRelic), commonHolyRelicPartMapBySift_let))
|
||||
|
||||
attributeMap = attributeMap_let
|
||||
attributeList = attributeList_let
|
||||
attributeFixedMap = attributeFixedMap_let
|
||||
AttributeHolyRelickeys = AttributeHolyRelickeys_let
|
||||
HolyRelicPartsAsMap = HolyRelicPartsAsMap_let
|
||||
HolyRelicParts = HolyRelicParts_let
|
||||
// @ -- 表示部件 # -- 表示主词条 * --表示副词条
|
||||
// | -- 表示部件终止(多个部件不可忽略) & -- 表示主词条终止(主词条存在不可忽略) ! --表示副词条终止(可忽略)
|
||||
//(全)==>(简)
|
||||
//@花*生命%*攻击!|@杯#生命%#物伤&*生命%!|==> @花*生命%*攻击|@杯#生命%#物伤&*生命%
|
||||
// let jsonHolyRelicParts =[
|
||||
// {
|
||||
// name: '',//部件
|
||||
// main:[],//主词条
|
||||
// sub:[],//副词条
|
||||
// }
|
||||
// ]
|
||||
commonHolyRelicPartMap = commonHolyRelicPartMap_let
|
||||
holyRelicPartMap = holyRelicPartMap_let
|
||||
commonHolyRelicPartMapBySift = commonHolyRelicPartMapBySift_let
|
||||
holyRelicPartMapBySift = holyRelicPartMapBySift_let
|
||||
}
|
||||
|
||||
if (true) {
|
||||
//基础配置初始化
|
||||
if (!config.siftArray) {
|
||||
config.siftArray = await siftAll()
|
||||
log.debug("siftArray={key}", JSON.stringify(config.siftArray))
|
||||
}
|
||||
if (!config.sortArray) {
|
||||
config.sortArray = await sortAll()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
log.info("初始化完成");
|
||||
warn('holyRelicPartMapBySift==>' + JSON.stringify(Array.from(holyRelicPartMapBySift)), must)
|
||||
// warn('holyRelicPartMapBySift==>' + JSON.stringify(Array.from(holyRelicPartMapBySift)), must)
|
||||
}
|
||||
|
||||
/**
|
||||
* 主方法
|
||||
* @returns {Promise<void>}
|
||||
@@ -59,25 +223,7 @@ async function main(log_off = config.log_off) {
|
||||
}
|
||||
|
||||
await wait(ms);
|
||||
if (config.enableAttributeHolyRelic) {
|
||||
|
||||
if (config.sortMain.includes(mana.get('asc_order'))) {
|
||||
throwError(`不支持在升序情况下使用`)
|
||||
}
|
||||
warn(`启用圣遗物强化命中功能(实验功能)`, must)
|
||||
if (config.meetAllSiftAttributeHolyRelic && config.upMax === 20) {
|
||||
await info(`开始验证...`, must)
|
||||
let valid = await validHitPreamble()
|
||||
//验证不属于 未选中满级 未选中未满级条件下
|
||||
if (!valid) {
|
||||
throwError(`启用圣遗物强化命中功能(实验功能)时,不支持降序选中满级|未满级条件下强化+20操作`)
|
||||
return
|
||||
}
|
||||
}
|
||||
await bathClickUpLv2(config.insertionMethod)
|
||||
} else {
|
||||
await bathClickUpLv1(config.insertionMethod)
|
||||
}
|
||||
await bathClickUp(config.insertionMethod)
|
||||
} else {
|
||||
throwError(`未启用批量强化请去浏览文档后开启!`)
|
||||
}
|
||||
@@ -159,22 +305,32 @@ function isExist(res) {
|
||||
return holyRelicsUpUtils.isExist(res) // 调用资源对象的isExist方法获取存在状态
|
||||
}
|
||||
|
||||
/**
|
||||
* 属性值替换函数
|
||||
* @param value
|
||||
* @returns {string}
|
||||
*/
|
||||
function attributeReplacement(value) {
|
||||
value = value.trim()
|
||||
if (value.includes('%')) {
|
||||
value = value.replace('%', '')
|
||||
let s = attributeMap.get(value);
|
||||
value = (s === null || !s ? value : s) + attributeMap.get('%')
|
||||
} else {
|
||||
let s = attributeMap.get(value);
|
||||
value = (s === null || !s ? value : s)
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
//========================以上为原有封装==============================
|
||||
//========================以下为基本配置==============================
|
||||
const LanguageALLConfigMap = languageUtils.getLanguageALLConfigMap()
|
||||
|
||||
const LanguageMap = languageUtils.getLanguageMap()
|
||||
const LanguageMsgMap = languageUtils.getLanguageMsgMap()
|
||||
const LanguageKey = LanguageMap.get(settings.language)
|
||||
if (LanguageKey === null || !LanguageKey) {
|
||||
let languageMsg = LanguageMsgMap.get(settings.language)
|
||||
.replace('language-key', `${settings.language}`)
|
||||
.replace('languageList-key', `${Array.from(LanguageMap.keys()).join(',')}`)
|
||||
throwError(languageMsg)
|
||||
}
|
||||
const LanguageConfigJson = LanguageALLConfigMap.get(LanguageKey)
|
||||
let LanguageALLConfigMap = undefined
|
||||
let LanguageMap = undefined
|
||||
let LanguageKey = undefined
|
||||
let LanguageConfigJson = undefined
|
||||
//魔法值
|
||||
const mana = LanguageConfigJson.mana
|
||||
let mana = undefined
|
||||
|
||||
//刷新设置列表
|
||||
async function refreshSettings() {
|
||||
@@ -182,32 +338,37 @@ async function refreshSettings() {
|
||||
await holyRelicsUpUtils.updateSettingsFile(JSON.parse(LanguageConfigJson.settings))
|
||||
}
|
||||
|
||||
function siftAll() {
|
||||
async function siftAll() {
|
||||
//筛选条件
|
||||
let baseSiftArray = new Array()
|
||||
/* if (settings.holyRelicsLockMark) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockMark'))
|
||||
}
|
||||
if (settings.holyRelicsLockY) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockY'))
|
||||
}
|
||||
if (settings.holyRelicsLockN) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockN'))
|
||||
}
|
||||
if (settings.holyRelicsEquipY) {
|
||||
baseSiftArray.push(mana.get('holyRelicsEquipY'))
|
||||
}
|
||||
if (settings.holyRelicsEquipN) {
|
||||
baseSiftArray.push(mana.get('holyRelicsEquipN'))
|
||||
}
|
||||
if (settings.holyRelicsSourceFrostSaint) {
|
||||
baseSiftArray.push(mana.get('holyRelicsSourceFrostSaint'))
|
||||
}*/
|
||||
let selectSuit = await getValueByMultiCheckboxName("selectSuit")
|
||||
log.debug(`selectSuit==>${JSON.stringify(selectSuit)}`)
|
||||
if (selectSuit && selectSuit.length > 0) {
|
||||
baseSiftArray = selectSuit
|
||||
}
|
||||
baseSiftArray.push(mana.get('holyRelicsNoMax'))
|
||||
if (settings.holyRelicsLockMark) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockMark'))
|
||||
}
|
||||
if (settings.holyRelicsLockY) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockY'))
|
||||
}
|
||||
if (settings.holyRelicsLockN) {
|
||||
baseSiftArray.push(mana.get('holyRelicsLockN'))
|
||||
}
|
||||
if (settings.holyRelicsEquipY) {
|
||||
baseSiftArray.push(mana.get('holyRelicsEquipY'))
|
||||
}
|
||||
if (settings.holyRelicsEquipN) {
|
||||
baseSiftArray.push(mana.get('holyRelicsEquipN'))
|
||||
}
|
||||
if (settings.holyRelicsSourceFrostSaint) {
|
||||
baseSiftArray.push(mana.get('holyRelicsSourceFrostSaint'))
|
||||
}
|
||||
return baseSiftArray
|
||||
}
|
||||
|
||||
function sortAll() {
|
||||
async function sortAll() {
|
||||
//筛选条件
|
||||
let baseSortArray = new Array()
|
||||
if (settings.sortMain === mana.get('desc_order')) {
|
||||
@@ -243,9 +404,9 @@ const config = settings.refreshSettingsByLanguage ?
|
||||
sortAuxiliary: settings.sortAuxiliary,//辅助排序
|
||||
sortMain: settings.sortMain,//主排序
|
||||
sortAttribute: settings.sortAttribute,//属性条件
|
||||
sortArray: (sortAll()),
|
||||
sortArray: undefined,//(sortAll()),//排序条件
|
||||
toSift: settings.toSift,
|
||||
siftArray: (siftAll()),//筛选条件
|
||||
siftArray: undefined,//(siftAll()),//筛选条件
|
||||
enableAttributeHolyRelic: settings.enableAttributeHolyRelic,//启用圣遗物属性
|
||||
inputAttributeHolyRelic: settings.inputAttributeHolyRelic,//自定义圣遗物属性
|
||||
commonAttributeHolyRelic: settings.commonAttributeHolyRelic,//通用圣遗物属性
|
||||
@@ -265,12 +426,12 @@ const genshinJson = {
|
||||
}
|
||||
|
||||
|
||||
const attributeMap = LanguageConfigJson.attributeMap
|
||||
const attributeList = LanguageConfigJson.attributeList
|
||||
const attributeFixedMap = LanguageConfigJson.attributeFixedMap
|
||||
const AttributeHolyRelickeys = LanguageConfigJson.attributeHolyRelickeys
|
||||
const HolyRelicPartsAsMap = LanguageConfigJson.holyRelicPartsAsMap
|
||||
const HolyRelicParts = LanguageConfigJson.holyRelicParts
|
||||
let attributeMap = undefined
|
||||
let attributeList = undefined
|
||||
let attributeFixedMap = undefined
|
||||
let AttributeHolyRelickeys = undefined
|
||||
let HolyRelicPartsAsMap = undefined
|
||||
let HolyRelicParts = undefined
|
||||
// @ -- 表示部件 # -- 表示主词条 * --表示副词条
|
||||
// | -- 表示部件终止(多个部件不可忽略) & -- 表示主词条终止(主词条存在不可忽略) ! --表示副词条终止(可忽略)
|
||||
//(全)==>(简)
|
||||
@@ -282,34 +443,15 @@ const HolyRelicParts = LanguageConfigJson.holyRelicParts
|
||||
// sub:[],//副词条
|
||||
// }
|
||||
// ]
|
||||
const commonHolyRelicPartMap = !config.enableAttributeHolyRelic ? [] : parseHolyRelicToMap(config.commonAttributeHolyRelic)
|
||||
const holyRelicPartMap = !config.enableAttributeHolyRelic ? [] : (!config.coverAttributeHolyRelic ? parseHolyRelicToMap() : takeDifferentHolyRelicToMap(parseHolyRelicToMap(), commonHolyRelicPartMap))
|
||||
let commonHolyRelicPartMap = undefined
|
||||
let holyRelicPartMap = undefined
|
||||
|
||||
const commonHolyRelicPartMapBySift = !config.enableAttributeHolyRelic ? [] : parseHolyRelicToMap(config.commonSiftAttributeHolyRelic)
|
||||
const holyRelicPartMapBySift = !config.enableAttributeHolyRelic ? [] :
|
||||
(!config.coverSiftAttributeHolyRelic ? parseHolyRelicToMap(config.inputSiftAttributeHolyRelic) :
|
||||
takeDifferentHolyRelicToMap(parseHolyRelicToMap(config.inputSiftAttributeHolyRelic), commonHolyRelicPartMapBySift))
|
||||
let commonHolyRelicPartMapBySift = undefined
|
||||
let holyRelicPartMapBySift = undefined
|
||||
|
||||
/**
|
||||
* 属性值替换函数
|
||||
* @param value
|
||||
* @returns {string}
|
||||
*/
|
||||
function attributeReplacement(value) {
|
||||
value = value.trim()
|
||||
if (value.includes('%')) {
|
||||
value = value.replace('%', '')
|
||||
let s = attributeMap.get(value);
|
||||
value = (s === null || !s ? value : s) + attributeMap.get('%')
|
||||
} else {
|
||||
let s = attributeMap.get(value);
|
||||
value = (s === null || !s ? value : s)
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
//基础目录
|
||||
const path_base_main = `assets/language/${LanguageKey}/`
|
||||
let path_base_main = `assets/language/`
|
||||
// const path_base_sort = `${path_base_main}sort/`
|
||||
|
||||
const commonPath = `assets/common/`
|
||||
@@ -344,7 +486,7 @@ const commonMap = new Map([
|
||||
['common_sort2', {name: '2', type: '.jpg', sub: 'sort'}],
|
||||
['common_sort3', {name: '3', type: '.jpg', sub: 'sort'}],
|
||||
]);
|
||||
const languageMap = LanguageConfigJson.languageMap;
|
||||
let languageMap = undefined;
|
||||
|
||||
function getJsonPath(key, isCommon = true) {
|
||||
if (isCommon) {
|
||||
@@ -2357,8 +2499,8 @@ async function upOperate(operate, source = 'upOperate', log_off) {
|
||||
upJson.sumLevel = templateMatchHolyRelics.sumLevel
|
||||
// 输出当前圣遗物等级的日志信息
|
||||
log.info(`===`)
|
||||
log.info(`当前圣遗物等级: {templateMatchHolyRelics.level}`,templateMatchHolyRelics.level)
|
||||
log.info(`当前圣遗物预估可提升至: {templateMatchHolyRelics.sumLevel}`,templateMatchHolyRelics.level)
|
||||
log.info(`当前圣遗物等级: {templateMatchHolyRelics.level}`, templateMatchHolyRelics.level)
|
||||
log.info(`当前圣遗物预估可提升至: {templateMatchHolyRelics.sumLevel}`, templateMatchHolyRelics.level)
|
||||
if (templateMatchHolyRelics.sumLevel % 4 !== 0) {
|
||||
upJson.errorMsg = '强化失败:狗粮不足'
|
||||
upJson.ok = false;
|
||||
@@ -3254,6 +3396,40 @@ async function bathClickUpLv2(operate, source = 'bathClickUpLv2', log_off = conf
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 圣遗物强化点击升级函数
|
||||
* 根据配置决定使用不同的强化方法
|
||||
* @param {string} operate - 强化操作方法,默认为config.insertionMethod
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async function bathClickUp(operate = config.insertionMethod) {
|
||||
// 检查是否启用了圣遗物属性强化功能
|
||||
if (config.enableAttributeHolyRelic) {
|
||||
|
||||
// 检查主属性排序是否包含升序
|
||||
if (config.sortMain.includes(mana.get('asc_order'))) {
|
||||
throwError(`不支持在升序情况下使用`)
|
||||
}
|
||||
// 输出启用圣遗物强化命中功能的提示信息
|
||||
warn(`启用圣遗物强化命中功能(实验功能)`, must)
|
||||
// 检查是否满足所有筛选条件且强化等级达到20级
|
||||
if (config.meetAllSiftAttributeHolyRelic && config.upMax === 20) {
|
||||
// 开始验证提示
|
||||
await info(`开始验证...`, must)
|
||||
// 执行前置验证
|
||||
let valid = await validHitPreamble()
|
||||
//验证不属于 未选中满级 未选中未满级条件下
|
||||
if (!valid) {
|
||||
throwError(`启用圣遗物强化命中功能(实验功能)时,不支持降序选中满级|未满级条件下强化+20操作`)
|
||||
return
|
||||
}
|
||||
}
|
||||
await bathClickUpLv2(operate)
|
||||
} else {
|
||||
await bathClickUpLv1(operate)
|
||||
}
|
||||
}
|
||||
|
||||
async function toMainUi() {
|
||||
let ms = 300
|
||||
let index = 1
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"name": "圣遗物批量强化",
|
||||
"version": "1.1.9",
|
||||
"version": "1.2.0",
|
||||
"description": "一个批量强化圣遗物的脚本",
|
||||
"settings_ui": "settings.json",
|
||||
"main": "main.js",
|
||||
"bgi_version": "0.45.0",
|
||||
"bgi_version": "0.55.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "云端客",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"繁體中文",
|
||||
"English",
|
||||
"日本語",
|
||||
"한국어",
|
||||
"한국어"
|
||||
],
|
||||
"default": "简体中文"
|
||||
},
|
||||
@@ -154,7 +154,7 @@
|
||||
"label": "主排序",
|
||||
"options": [
|
||||
"升序",
|
||||
"降序",
|
||||
"降序"
|
||||
],
|
||||
"default": "升序"
|
||||
},
|
||||
@@ -164,7 +164,7 @@
|
||||
"label": "辅助排序",
|
||||
"options": [
|
||||
"等级顺序",
|
||||
"品质顺序",
|
||||
"品质顺序"
|
||||
],
|
||||
"default": "等级顺序"
|
||||
},
|
||||
@@ -180,6 +180,19 @@
|
||||
"label": "圣遗物筛选(使用|分割 的模糊匹配 <无个数限制>如: 如雷|苍白|...)",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"label": "圣遗物筛选",
|
||||
"type": "multi-checkbox",
|
||||
"name": "selectSuit",
|
||||
"options": [
|
||||
"标记",
|
||||
"仅锁定",
|
||||
"未锁定",
|
||||
"已装备",
|
||||
"未装备",
|
||||
"祝圣之霜定义"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "countMaxByHoly",
|
||||
"type": "select",
|
||||
@@ -192,46 +205,11 @@
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"8"
|
||||
],
|
||||
"default": "4"
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockMark",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|标记",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockY",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|仅锁定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockN",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|未锁定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipY",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(装备状态)|已装备",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipN",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(装备状态)|未装备",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsSourceFrostSaint",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(来源)|祝圣之霜定义",
|
||||
"default": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "knapsackKey",
|
||||
"type": "input-text",
|
||||
|
||||
@@ -98,12 +98,12 @@ function getLanguageALLConfigMap() {
|
||||
//魔法值 不同语言请保持 key值不变
|
||||
mana: new Map([
|
||||
['holyRelicsNoMax', '未满级'],
|
||||
['holyRelicsLockMark', '标记'],
|
||||
['holyRelicsLockY', '仅锁定'],
|
||||
['holyRelicsLockN', '未锁定'],
|
||||
['holyRelicsEquipY', '已装备'],
|
||||
['holyRelicsEquipN', '未装备'],
|
||||
['holyRelicsSourceFrostSaint', '祝圣之霜定义'],
|
||||
// ['holyRelicsLockMark', '标记'],
|
||||
// ['holyRelicsLockY', '仅锁定'],
|
||||
// ['holyRelicsLockN', '未锁定'],
|
||||
// ['holyRelicsEquipY', '已装备'],
|
||||
// ['holyRelicsEquipN', '未装备'],
|
||||
// ['holyRelicsSourceFrostSaint', '祝圣之霜定义'],
|
||||
|
||||
['desc_order', '降序'],
|
||||
['asc_order', '升序'],
|
||||
@@ -133,7 +133,7 @@ function getLanguageALLConfigMap() {
|
||||
"繁體中文",
|
||||
"English",
|
||||
"日本語",
|
||||
"한국어",
|
||||
"한국어"
|
||||
],
|
||||
"default": "简体中文"
|
||||
},
|
||||
@@ -273,7 +273,7 @@ function getLanguageALLConfigMap() {
|
||||
"label": "主排序",
|
||||
"options": [
|
||||
"升序",
|
||||
"降序",
|
||||
"降序"
|
||||
],
|
||||
"default": "升序"
|
||||
},
|
||||
@@ -283,7 +283,7 @@ function getLanguageALLConfigMap() {
|
||||
"label": "辅助排序",
|
||||
"options": [
|
||||
"等级顺序",
|
||||
"品质顺序",
|
||||
"品质顺序"
|
||||
],
|
||||
"default": "等级顺序"
|
||||
},
|
||||
@@ -299,6 +299,19 @@ function getLanguageALLConfigMap() {
|
||||
"label": "圣遗物筛选(使用|分割 的模糊匹配 <无个数限制>如: 如雷|苍白|...)",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"label": "圣遗物筛选",
|
||||
"type": "multi-checkbox",
|
||||
"name": "selectSuit",
|
||||
"options": [
|
||||
"标记",
|
||||
"仅锁定",
|
||||
"未锁定",
|
||||
"已装备",
|
||||
"未装备",
|
||||
"祝圣之霜定义"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "countMaxByHoly",
|
||||
"type": "select",
|
||||
@@ -311,46 +324,46 @@ function getLanguageALLConfigMap() {
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"8"
|
||||
],
|
||||
"default": "4"
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockMark",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|标记",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockY",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|仅锁定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockN",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(锁定状态)|未锁定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipY",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(装备状态)|已装备",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipN",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(装备状态)|未装备",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsSourceFrostSaint",
|
||||
"type": "checkbox",
|
||||
"label": "圣遗物筛选:(来源)|祝圣之霜定义",
|
||||
"default": false
|
||||
},
|
||||
// {
|
||||
// "name": "holyRelicsLockMark",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(锁定状态)|标记",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsLockY",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(锁定状态)|仅锁定",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsLockN",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(锁定状态)|未锁定",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsEquipY",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(装备状态)|已装备",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsEquipN",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(装备状态)|未装备",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsSourceFrostSaint",
|
||||
// "type": "checkbox",
|
||||
// "label": "圣遗物筛选:(来源)|祝圣之霜定义",
|
||||
// "default": false
|
||||
// },
|
||||
{
|
||||
"name": "knapsackKey",
|
||||
"type": "input-text",
|
||||
@@ -435,12 +448,12 @@ function getLanguageALLConfigMap() {
|
||||
]),
|
||||
mana: new Map([
|
||||
['holyRelicsNoMax', '未滿級'],
|
||||
['holyRelicsLockMark', '標記'],
|
||||
['holyRelicsLockY', '僅鎖定'],
|
||||
['holyRelicsLockN', '未鎖定'],
|
||||
['holyRelicsEquipY', '已裝備'],
|
||||
['holyRelicsEquipN', '未裝備'],
|
||||
['holyRelicsSourceFrostSaint', '祝聖之霜定義'],
|
||||
// ['holyRelicsLockMark', '標記'],
|
||||
// ['holyRelicsLockY', '僅鎖定'],
|
||||
// ['holyRelicsLockN', '未鎖定'],
|
||||
// ['holyRelicsEquipY', '已裝備'],
|
||||
// ['holyRelicsEquipN', '未裝備'],
|
||||
// ['holyRelicsSourceFrostSaint', '祝聖之霜定義'],
|
||||
|
||||
['desc_order', '降序'],
|
||||
['asc_order', '升序'],
|
||||
@@ -470,7 +483,7 @@ function getLanguageALLConfigMap() {
|
||||
"繁體中文",
|
||||
"English",
|
||||
"日本語",
|
||||
"한국어",
|
||||
"한국어"
|
||||
],
|
||||
"default": "简体中文"
|
||||
},
|
||||
@@ -615,6 +628,19 @@ function getLanguageALLConfigMap() {
|
||||
"label": "聖遺物篩選(使用|分割 的模糊匹配 <無個數限制>如: 如雷|蒼白|...)",
|
||||
"default": ""
|
||||
},
|
||||
{
|
||||
"label": "聖遺物篩選",
|
||||
"type": "multi-checkbox",
|
||||
"name": "selectSuit",
|
||||
"options": [
|
||||
"標記",
|
||||
"僅鎖定",
|
||||
"未鎖定",
|
||||
"已裝備",
|
||||
"未裝備",
|
||||
"祝聖之霜定義"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "countMaxByHoly",
|
||||
"type": "select",
|
||||
@@ -622,42 +648,42 @@ function getLanguageALLConfigMap() {
|
||||
"options": ["1", "2", "3", "4", "5", "6", "7", "8"],
|
||||
"default": "4"
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockMark",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(鎖定狀態)|標記",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockY",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(鎖定狀態)|僅鎖定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsLockN",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(鎖定狀態)|未鎖定",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipY",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(裝備狀態)|已裝備",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsEquipN",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(裝備狀態)|未裝備",
|
||||
"default": false
|
||||
},
|
||||
{
|
||||
"name": "holyRelicsSourceFrostSaint",
|
||||
"type": "checkbox",
|
||||
"label": "聖遺物篩選:(來源)|祝聖之霜定義",
|
||||
"default": false
|
||||
},
|
||||
// {
|
||||
// "name": "holyRelicsLockMark",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(鎖定狀態)|標記",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsLockY",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(鎖定狀態)|僅鎖定",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsLockN",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(鎖定狀態)|未鎖定",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsEquipY",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(裝備狀態)|已裝備",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsEquipN",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(裝備狀態)|未裝備",
|
||||
// "default": false
|
||||
// },
|
||||
// {
|
||||
// "name": "holyRelicsSourceFrostSaint",
|
||||
// "type": "checkbox",
|
||||
// "label": "聖遺物篩選:(來源)|祝聖之霜定義",
|
||||
// "default": false
|
||||
// },
|
||||
{
|
||||
"name": "knapsackKey",
|
||||
"type": "input-text",
|
||||
|
||||
Reference in New Issue
Block a user