fix: 计算 自定义wife

This commit is contained in:
Aluxes 2024-04-24 18:43:55 +08:00
parent bf7d14e61a
commit 22020900fd
No known key found for this signature in database
GPG Key ID: 6696152F9C003087
5 changed files with 61 additions and 56 deletions

View File

@ -88,5 +88,5 @@ export const alias = {
嘉明: 'Gaming,jiaming,佳明,嘉铭,家明,镖师,舞狮少年,舞狮',
闲云: 'Xianyun,流云,刘云,留云,野鹤,那个女人,留云借风,留云借风真君,很会聊天,很会聊天真君',
千织: 'Chiori,千只,设计师,裁缝,千织屋老板',
阿蕾奇诺: '阿蕾奇诺,阿雷奇诺,仆人,黑优菈,黑暗优菈,父亲',
阿蕾奇诺: 'Arlecchino,阿雷奇诺,仆人,黑优菈,黑暗优菈,父亲,佩露薇利'
}

View File

@ -25,7 +25,7 @@ export const wifeCfg = {
// 3.0
'柯莱, 多莉, 妮露, 坎蒂丝, 迪希雅, 莱依拉, 珐露珊, 绮良良',
// 4.0
'琳妮特, 夏洛蒂, 芙宁娜, 夏沃蕾, 娜维娅, 闲云, 千织, 仆人',
'琳妮特, 夏洛蒂, 芙宁娜, 夏沃蕾, 娜维娅, 闲云, 千织, 阿蕾奇诺',
// 自定义
'女士, 萍姥姥, 归终, 伐难, 应达, 少女, 天理, 木偶'
].join(','),

View File

@ -21,6 +21,8 @@ meta.addAlias(extraChars)
// 添加老婆设置
let wifeData = {}
let { diyCfg } = await Data.importCfg('character')
let diyWifeData = diyCfg.wifeData || {}
lodash.forEach(wifeCfg, (txt, type) => {
wifeData[type] = wifeData[type] || {}
Data.eachStr(txt, (name) => {
@ -30,4 +32,13 @@ lodash.forEach(wifeCfg, (txt, type) => {
}
})
})
lodash.forEach(diyWifeData, (txt, type) => {
wifeData[type] = wifeData[type] || {}
Data.eachStr(txt, (name) => {
let id = meta.getId(name)
if (id) {
wifeData[type][id] = true
}
})
})
meta.addMeta({ wifeData })

View File

@ -1,53 +1,50 @@
export const details = [{
title: 'E后普攻一段伤害',
dmg: ({ talent }, dmg ) => dmg(talent.a['一段伤害'], 'a')
},{
dmg: ({ talent }, dmg) => dmg(talent.a['一段伤害'], 'a')
}, {
check: ({ cons }) => cons >= 2,
title: '血偿勒令回收伤害',
dmg: ({ attr }, { basic }) => basic(attr.atk * 900 / 100, 'e')
},{
}, {
title: 'E切斩伤害',
dmg: ({ talent }, dmg ) => dmg(talent.e['切斩伤害'], 'e')
},{
dmg: ({ talent }, dmg) => dmg(talent.e['切斩伤害'], 'e')
}, {
title: 'Q伤害',
dmg: ({ talent }, dmg ) => dmg(talent.q['技能伤害'], 'q')
},{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
title: 'Q蒸发伤害',
dmg: ({ talent }, dmg ) => dmg(talent.q['技能伤害'], 'q', 'vaporize')
},{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q', 'vaporize')
}, {
title: 'Q治疗量',
params: { BondOfLife: 145 },
dmg: ({ talent, attr, weapon }, { heal }) => heal(150 / 100 * ((weapon.name === '赤月之形' ? 170 : 145) / 100) * attr.hp + 150 / 100 * attr.atk)
dmg: ({ attr, weapon }, { heal }) => heal(150 / 100 * ((weapon.name === '赤月之形' ? 170 : 145) / 100) * attr.hp + 150 / 100 * attr.atk)
}]
export const defDmgIdx = 0
export const mainAttr = 'atk,cpct,cdmg,mastery'
export const defParams = { BondOfLife: 130 }//生命之契在此调整,请勿超过200
export const defParams = { BondOfLife: 130 }// 生命之契在此调整,请勿超过200
export const buffs = [
{
export const buffs = [{
title: '阿蕾奇诺天赋:[buffCount]%最大生命值的生命之契,普通攻击伤害提升[aPlus]',
data: {
buffCount: ({ params , weapon }) => Math.min(params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0), 200),
aPlus: ({ talent , attr , params , cons , weapon }) => attr.atk * ((Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * ((cons >= 1 ? (talent.a['红死之宴提升值比例'] + 100) : talent.a['红死之宴提升值比例']) / 100 ))
buffCount: ({ params, weapon }) => Math.min(params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0), 200),
aPlus: ({ talent, attr, params, cons, weapon }) => attr.atk * ((Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * ((cons >= 1 ? (talent.a['红死之宴提升'] + 100) : talent.a['红死之宴提升']) / 100))
}
},
{
}, {
title: '阿蕾奇诺天赋:在战斗状态下获得[dmg]%伤害加成',
data: {
dmg: 40
}
},
{
}, {
title: '阿蕾奇诺6命Q造成的伤害提高[qPlus],且释放后普通攻击与元素爆发的暴击率提高[aCpct]%,暴击伤害提高[aCdmg]%',
cons: 6,
data: {
qPlus: ({ attr , params , weapon }) => attr.atk * (Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * (700 / 100),
aCpct: 10 ,
aCdmg: 70 ,
qCpct: 10 ,
qPlus: ({ attr, params, weapon }) => attr.atk * (Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * (700 / 100),
aCpct: 10,
aCdmg: 70,
qCpct: 10,
qCdmg: 70
}
}, 'vaporize']
export const createdBy = 'liangshi'
export const createdBy = 'liangshi'

View File

@ -1,59 +1,56 @@
export const details = [{
title: 'E后普攻一段伤害',
dmg: ({ talent }, dmg ) => dmg(talent.a['一段伤害'], 'a')
},{
dmg: ({ talent }, dmg) => dmg(talent.a['一段伤害'], 'a')
}, {
check: ({ cons }) => cons >= 2,
title: '血偿勒令回收伤害',
dmg: ({ attr }, { basic }) => basic(attr.atk * 900 / 100, 'e')
},{
}, {
title: 'E切斩伤害',
dmg: ({ talent }, dmg ) => dmg(talent.e['切斩伤害'], 'e')
},{
dmg: ({ talent }, dmg) => dmg(talent.e['切斩伤害'], 'e')
}, {
title: 'Q伤害',
dmg: ({ talent }, dmg ) => dmg(talent.q['技能伤害'], 'q')
},{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
title: 'Q蒸发伤害',
dmg: ({ talent }, dmg ) => dmg(talent.q['技能伤害'], 'q', 'vaporize')
},{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q', 'vaporize')
}, {
title: '仆万香班 普攻尾段',
params: { team: true, Kazuha: true, BondOfLife: 200 },
dmg: ({ talent }, dmg ) => dmg(talent.a['六段伤害'], 'a')
},{
dmg: ({ talent }, dmg) => dmg(talent.a['六段伤害'], 'a')
}, {
title: '仆万香班 Q伤害',
params: { team: true, Kazuha: true },
dmg: ({ talent }, dmg ) => dmg(talent.q['技能伤害'], 'q')
},{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
title: '仆万夜钟 普攻尾段蒸发',
params: { team2: true, Kazuha: true, BondOfLife: 200 },
dmg: ({ talent }, dmg ) => dmg(talent.a['六段伤害'], 'a', 'vaporize')
dmg: ({ talent }, dmg) => dmg(talent.a['六段伤害'], 'a', 'vaporize')
}]
export const defDmgIdx = 0
export const mainAttr = 'atk,cpct,cdmg,mastery'
export const defParams = { BondOfLife: 130 }//生命之契在此调整
export const defParams = { BondOfLife: 130 }// 生命之契在此调整
export const buffs = [
{
export const buffs = [{
title: '阿蕾奇诺天赋:[buffCount]%最大生命值的生命之契,普通攻击伤害提升[aPlus]',
data: {
buffCount: ({ params , weapon }) => Math.min(params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0), 200),
aPlus: ({ talent , attr , params , cons , weapon }) => attr.atk * ((Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * ((cons >= 1 ? (talent.a['红死之宴提升值比例'] + 100) : talent.a['红死之宴提升值比例']) / 100 ))
buffCount: ({ params, weapon }) => Math.min(params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0), 200),
aPlus: ({ talent, attr, params, cons, weapon }) => attr.atk * ((Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * ((cons >= 1 ? (talent.a['红死之宴提升'] + 100) : talent.a['红死之宴提升']) / 100))
}
},
{
}, {
title: '阿蕾奇诺天赋:在战斗状态下获得[dmg]%伤害加成',
data: {
dmg: 40
}
},
{
}, {
title: '阿蕾奇诺6命Q造成的伤害提高[qPlus],且释放后普通攻击与元素爆发的暴击率提高[aCpct]%,暴击伤害提高[aCdmg]%',
cons: 6,
data: {
qPlus: ({ attr , params , weapon }) => attr.atk * (Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * (700 / 100),
aCpct: 10 ,
aCdmg: 70 ,
qCpct: 10 ,
qPlus: ({ attr, params, weapon }) => attr.atk * (Math.min((params.BondOfLife + (weapon.name === '赤月之形' ? 25 : 0)), 200) / 100) * (700 / 100),
aCpct: 10,
aCdmg: 70,
qCpct: 10,
qCdmg: 70
}
}, {
@ -69,7 +66,7 @@ export const buffs = [
atkPlus: 1202.35
}
}, {
check: ({ params , artis }) => params.team === true && artis.昔日宗室之仪 !== 4 ,
check: ({ params, artis }) => params.team === true && artis.昔日宗室之仪 !== 4,
title: '班尼特-昔日宗室之仪:增加攻击[atkPct]%',
data: {
atkPct: 20
@ -122,11 +119,11 @@ export const buffs = [
kx: 20
}
}, {
check: ({ params }) => params.team2 === true ,
check: ({ params }) => params.team2 === true,
title: '夜兰:获得[dmg]%增伤',
data: {
dmg: 35
}
}, 'vaporize']
export const createdBy = 'liangshi'
export const createdBy = 'liangshi'