miao-plugin/models/character-lib/CharTalent.js
yoimiya-kokomi b5c1daf472 框架底层角色相关逻辑重构,角色图像资源迁移为webp格式
角色面板支持旅行者,暂未支持伤害计算
`#雷主天赋`、`#草主命座`功能升级
2022-09-04 05:08:57 +08:00

60 lines
1.4 KiB
JavaScript

import lodash from 'lodash';
const CharTalent = {
getAvatarTalent (id, talent, cons, mode, consTalent = {}) {
let ret = {}
lodash.forEach(['a', 'e', 'q'], (key) => {
let ds = talent[key]
if (!ds) {
ds = 1
}
let level
if (lodash.isNumber(ds)) {
level = ds
} else {
level = mode === 'level' ? ds.level || ds.level_current || ds.original || ds.level_original : ds.original || ds.level_original || ds.level || ds.level_current
}
if (mode === 'level') {
// 基于level计算original
ret[key] = {
level,
original: (key !== 'a' && cons >= consTalent[key]) ? (level - 3) : level
}
} else {
// 基于original计算level
ret[key] = {
original: level,
level: (key !== 'a' && cons >= consTalent[key]) ? (level + 3) : level
}
}
})
if (this.id * 1 !== 10000033) {
let a = ret.a || {}
if (a.level > 10) {
a.level = 10
a.original = 10
}
}
if (this.id * 1 === 10000033) {
let a = ret.a || {}
a.original = a.level - 1
}
return ret
},
getConsTalent (talent, cons) {
if (!talent) {
return { e: 3, q: 5 }
}
let e = talent.e.name
let q = talent.q.name
let c3 = cons['3'].desc
let c5 = cons['5'].desc
return {
e: c3.includes(e) ? 3 : 5,
q: c5.includes(q) ? 5 : 3
}
}
}
export default CharTalent