miao-plugin/resources/meta-sr/weapon/index.js

66 lines
1.4 KiB
JavaScript
Raw Normal View History

import { Data } from '#miao'
import lodash from 'lodash'
import { abbr, alias } from './meta.js'
const types = '存护,丰饶,毁灭,同谐,虚无,巡猎,智识'.split(',')
let data = Data.readJSON('/resources/meta-sr/weapon/data.json', 'miao')
let aliasMap = {}
lodash.forEach(data, (ds) => {
aliasMap[ds.id] = ds.id
aliasMap[ds.name] = ds.id
})
lodash.forEach(alias, (name, alias) => {
if (aliasMap[name]) {
aliasMap[alias] = aliasMap[name]
}
})
export const weaponAlias = aliasMap
export const weaponData = data
const weaponBuffs = {}
let loadBuffs = async function () {
for (let type of types) {
let calc = await Data.importDefault(`/resources/meta-sr/weapon/${type}/calc.js`, 'miao')
if (lodash.isFunction(calc)) {
calc = calc((idx, key) => {
return {
isStatic: true,
idx,
key
}
}, (title, key, idx) => {
2023-05-23 19:30:30 +00:00
if (lodash.isPlainObject(key)) {
return (tables) => {
let data = {}
lodash.forEach(key, (idx, k) => {
data[k] = tables[idx]
})
return {
title,
data
}
}
} else {
return {
title,
idx,
key
}
2023-05-21 18:13:38 +00:00
}
})
}
lodash.forEach(calc, (ds, key) => {
let id = aliasMap[key]
weaponBuffs[id] = ds
})
}
}
await loadBuffs()
export { weaponBuffs }