mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 04:35:42 +00:00
parent
d110a8c8b5
commit
986cc67993
@ -13,7 +13,7 @@ const CharTalent = {
|
||||
lodash.forEach(detail[key], (ds, idx) => {
|
||||
if (ds.desc) {
|
||||
if (key === 'talent' && ds.desc.split) {
|
||||
let desc = CharTalent.getDesc(ds.desc, ds.tables, idx === 'a' ? 5 : 8)
|
||||
let desc = CharTalent.getDesc(ds.desc, ds.tables, idx === 'a' || idx === 'a2' ? 5 : 8)
|
||||
ds.desc = desc.desc
|
||||
ds.tables = desc.tables
|
||||
} else if (ds.desc.split) {
|
||||
|
@ -48,6 +48,10 @@ export default class ProfileDmg extends Base {
|
||||
let { isSr, isGs } = this
|
||||
lodash.forEach((isSr ? 'a,a2,e,e2,q,t' : 'a,e,q').split(','), (key) => {
|
||||
let level = lodash.isNumber(talentData[key]) ? talentData[key] : (talentData[key]?.level || 1)
|
||||
if (key === 'a2' || key === 'e2') {
|
||||
let tmpKey = key === 'a2' ? 'a' : 'e'
|
||||
level = lodash.isNumber(talentData[tmpKey]) ? talentData[tmpKey] : (talentData[tmpKey]?.level || 1)
|
||||
}
|
||||
let map = {}
|
||||
if (isGs && detail.talentData) {
|
||||
lodash.forEach(detail.talentData[key], (ds, key) => {
|
||||
|
@ -11,7 +11,9 @@ let DmgCalc = {
|
||||
talent, // 天赋类型
|
||||
ele, // 元素反应
|
||||
basicNum, // 基础数值
|
||||
mode // 模式
|
||||
mode, // 模式
|
||||
dynamicDmg = 0, // 动态增伤
|
||||
dynamicCdmg = 0 // 动态暴击伤害
|
||||
} = fnArgs
|
||||
let {
|
||||
ds, // 数据集
|
||||
@ -32,7 +34,7 @@ let DmgCalc = {
|
||||
let multiNum = attr.multi / 100
|
||||
|
||||
// 增伤区
|
||||
let dmgNum = (1 + dmg.base / 100 + dmg.plus / 100)
|
||||
let dmgNum = (1 + dmg.base / 100 + dmg.plus / 100 + dynamicDmg / 100)
|
||||
|
||||
if (ele === 'phy') {
|
||||
dmgNum = (1 + phy.base / 100 + phy.plus / 100)
|
||||
@ -47,7 +49,7 @@ let DmgCalc = {
|
||||
let cpctNum = cpct.base / 100 + cpct.plus / 100
|
||||
|
||||
// 爆伤区
|
||||
let cdmgNum = cdmg.base / 100 + cdmg.plus / 100
|
||||
let cdmgNum = cdmg.base / 100 + cdmg.plus / 100 + dynamicCdmg / 100
|
||||
|
||||
let enemyDef = attr.enemy.def / 100
|
||||
let enemyIgnore = attr.enemy.ignore / 100
|
||||
@ -225,7 +227,7 @@ let DmgCalc = {
|
||||
let { showDetail, attr, ds, game } = data
|
||||
let { calc } = ds
|
||||
|
||||
let dmgFn = function (pctNum = 0, talent = false, ele = false, basicNum = 0, mode = 'talent') {
|
||||
let dmgFn = function (pctNum = 0, talent = false, ele = false, basicNum = 0, mode = 'talent', dynamicData = false) {
|
||||
if (ele) {
|
||||
ele = erTitle[ele] || ele
|
||||
}
|
||||
@ -233,17 +235,21 @@ let DmgCalc = {
|
||||
// 星铁meta数据天赋为百分比前数字
|
||||
pctNum = pctNum * 100
|
||||
}
|
||||
return DmgCalc.calcRet({ pctNum, talent, ele, basicNum, mode }, data)
|
||||
return DmgCalc.calcRet({ pctNum, talent, ele, basicNum, mode, ...dynamicData }, data)
|
||||
}
|
||||
|
||||
dmgFn.basic = function (basicNum = 0, talent = false, ele = false) {
|
||||
return dmgFn(0, talent, ele, basicNum, 'basic')
|
||||
dmgFn.basic = function (basicNum = 0, talent = false, ele = false, dynamicData = false) {
|
||||
return dmgFn(0, talent, ele, basicNum, 'basic', dynamicData)
|
||||
}
|
||||
|
||||
dmgFn.reaction = function (ele = false) {
|
||||
return dmgFn(0, 'fy', ele, 0, 'basic')
|
||||
}
|
||||
|
||||
dmgFn.dynamic = function (pctNum = 0, talent = false, dynamicData = false, ele = false) {
|
||||
return dmgFn(pctNum, talent, ele, 0, 'talent', dynamicData)
|
||||
}
|
||||
|
||||
// 计算治疗
|
||||
dmgFn.heal = function (num) {
|
||||
if (showDetail) {
|
||||
|
130
resources/meta-sr/character/丹恒•饮月/calc.js
Normal file
130
resources/meta-sr/character/丹恒•饮月/calc.js
Normal file
@ -0,0 +1,130 @@
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
// 2段伤害,比例3:7
|
||||
let dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 2 : talent.t['伤害提高'] * 100
|
||||
let a1dmg = dmg(talent.a['技能伤害'] * 0.3, 'a')
|
||||
let a2dmg = dmg.dynamic(talent.a['技能伤害'] * 0.7, 'a', { dynamicDmg })
|
||||
|
||||
return {
|
||||
dmg: a1dmg.dmg + a2dmg.dmg,
|
||||
avg: a1dmg.avg + a2dmg.avg
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '1级强普伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
// 3段伤害,比例33:33:34
|
||||
let dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 2 : talent.t['伤害提高'] * 100
|
||||
let a1dmg = dmg(talent.a2['瞬华·单体伤害'] * 0.33, 'a')
|
||||
let a2dmg = dmg.dynamic(talent.a2['瞬华·单体伤害'] * 0.33, 'a', { dynamicDmg })
|
||||
let a3dmg = dmg.dynamic(talent.a2['瞬华·单体伤害'] * 0.34, 'a', { dynamicDmg: dynamicDmg * 2 })
|
||||
|
||||
return {
|
||||
dmg: a1dmg.dmg + a2dmg.dmg + a3dmg.dmg,
|
||||
avg: a1dmg.avg + a2dmg.avg + a3dmg.avg
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '2级强普伤害(扩散)',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
// 主目标5段伤害,比例20:20:20:20:20
|
||||
// 副目标2段伤害,比例50:50
|
||||
let dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 2 : talent.t['伤害提高'] * 100
|
||||
let dynamicCdmg = talent.e['暴击伤害提高'] * 100
|
||||
let a1dmg = dmg(talent.a2['天矢阴·单体伤害'] * 0.2, 'a')
|
||||
let a2dmg = dmg.dynamic(talent.a2['天矢阴·单体伤害'] * 0.2, 'a', { dynamicDmg })
|
||||
let a3dmg = dmg.dynamic(talent.a2['天矢阴·单体伤害'] * 0.2, 'a', { dynamicDmg: dynamicDmg * 2 })
|
||||
let a4dmg = dmg.dynamic(talent.a2['天矢阴·单体伤害'] * 0.2, 'a', { dynamicDmg: dynamicDmg * 3, dynamicCdmg })
|
||||
let a5dmg = dmg.dynamic(talent.a2['天矢阴·单体伤害'] * 0.2, 'a', { dynamicDmg: dynamicDmg * 4, dynamicCdmg: dynamicCdmg * 2 })
|
||||
|
||||
let a1plusdmg = dmg.dynamic(talent.a2['天矢阴·相邻目标伤害'] * 0.5, 'a', { dynamicDmg: dynamicDmg * 3, dynamicCdmg })
|
||||
let a2plusdmg = dmg.dynamic(talent.a2['天矢阴·相邻目标伤害'] * 0.5, 'a', { dynamicDmg: dynamicDmg * 4, dynamicCdmg: dynamicCdmg * 2 })
|
||||
|
||||
return {
|
||||
dmg: a1dmg.dmg + a2dmg.dmg + a3dmg.dmg + a4dmg.dmg + a5dmg.dmg + (a1plusdmg.dmg + a2plusdmg.dmg) * 2,
|
||||
avg: a1dmg.avg + a2dmg.avg + a3dmg.avg + a4dmg.avg + a5dmg.avg + (a1plusdmg.avg + a2plusdmg.avg) * 2
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '3级强普伤害(扩散)',
|
||||
params: { level3A: true },
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
// 主目标7段伤害,前六段比例14.2,最后一段14.8
|
||||
// 副目标4段伤害,比例25:25:25:25
|
||||
let dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 2 : talent.t['伤害提高'] * 100
|
||||
let dynamicCdmg = talent.e['暴击伤害提高'] * 100
|
||||
let a1dmg = dmg(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a')
|
||||
let a2dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a', { dynamicDmg })
|
||||
let a3dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a', { dynamicDmg: dynamicDmg * 2 })
|
||||
let a4dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a', { dynamicDmg: dynamicDmg * 3, dynamicCdmg })
|
||||
let a5dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a', { dynamicDmg: dynamicDmg * 4, dynamicCdmg: dynamicCdmg * 2 })
|
||||
let a6dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.142, 'a', { dynamicDmg: dynamicDmg * 5, dynamicCdmg: dynamicCdmg * 3 })
|
||||
|
||||
let a1plusdmg = dmg.dynamic(talent.a2['盘拏耀跃·相邻目标伤害'] * 0.25, 'a', { dynamicDmg: dynamicDmg * 3, dynamicCdmg })
|
||||
let a2plusdmg = dmg.dynamic(talent.a2['盘拏耀跃·相邻目标伤害'] * 0.25, 'a', { dynamicDmg: dynamicDmg * 4, dynamicCdmg: dynamicCdmg * 2 })
|
||||
let a3plusdmg = dmg.dynamic(talent.a2['盘拏耀跃·相邻目标伤害'] * 0.25, 'a', { dynamicDmg: dynamicDmg * 5, dynamicCdmg: dynamicCdmg * 3 })
|
||||
|
||||
dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 10 : talent.t['伤害提高'] * 100 * 6
|
||||
let a7dmg = dmg.dynamic(talent.a2['盘拏耀跃·单体伤害'] * 0.148, 'a', { dynamicDmg, dynamicCdmg: dynamicCdmg * 4 })
|
||||
let a4plusdmg = dmg.dynamic(talent.a2['盘拏耀跃·相邻目标伤害'] * 0.25, 'a', { dynamicDmg, dynamicCdmg: dynamicCdmg * 4 })
|
||||
|
||||
return {
|
||||
dmg: a1dmg.dmg + a2dmg.dmg + a3dmg.dmg + a4dmg.dmg + a5dmg.dmg + a6dmg.dmg + a7dmg.dmg + (a1plusdmg.dmg + a2plusdmg.dmg + a3plusdmg.dmg + a4plusdmg.dmg) * 2,
|
||||
avg: a1dmg.avg + a2dmg.avg + a3dmg.avg + a4dmg.avg + a5dmg.avg + a6dmg.avg + a7dmg.avg + (a1plusdmg.avg + a2plusdmg.avg + a3plusdmg.avg + a4plusdmg.avg) * 2
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '终结技伤害(扩散)',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
// 3段伤害,比例3:3:4
|
||||
let dynamicDmg = cons >= 1 ? talent.t['伤害提高'] * 100 * 2 : talent.t['伤害提高'] * 100
|
||||
let a1dmg = dmg(talent.q['目标伤害'] * 0.3, 'q')
|
||||
let a2dmg = dmg.dynamic(talent.q['目标伤害'] * 0.3, 'q', { dynamicDmg })
|
||||
let a3dmg = dmg.dynamic(talent.q['目标伤害'] * 0.4, 'q', { dynamicDmg: dynamicDmg * 2 })
|
||||
|
||||
let a1plusdmg = dmg(talent.q['相邻目标伤害'] * 0.3, 'q')
|
||||
let a2plusdmg = dmg.dynamic(talent.q['相邻目标伤害'] * 0.3, 'q', { dynamicDmg })
|
||||
let a3plusdmg = dmg.dynamic(talent.q['相邻目标伤害'] * 0.4, 'q', { dynamicDmg: dynamicDmg * 2 })
|
||||
|
||||
return {
|
||||
dmg: a1dmg.dmg + a2dmg.dmg + a3dmg.dmg + (a1plusdmg.dmg + a2plusdmg.dmg + a3plusdmg.dmg) * 2,
|
||||
avg: a1dmg.avg + a2dmg.avg + a3dmg.avg + (a1plusdmg.avg + a2plusdmg.avg + a3plusdmg.avg) * 2
|
||||
}
|
||||
}
|
||||
}]
|
||||
|
||||
export const defDmgIdx = 3
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '行迹-起蛰:对拥有虚数属性弱点的敌人造成伤害时,暴击伤害提高24%',
|
||||
tree: 3,
|
||||
data: {
|
||||
cdmg: 24
|
||||
}
|
||||
}, {
|
||||
title: '天赋-亢心:丹恒•饮月施放每段攻击后获得1层【亢心】,使自身造成的伤害提高[_dmg]%,该效果可以叠加6层,持续至自身回合结束。',
|
||||
check: ({ cons }) => cons < 1,
|
||||
data: {
|
||||
_dmg: ({ talent }) => talent.t['伤害提高'] * 100
|
||||
}
|
||||
}, {
|
||||
title: '天赋-亢心:丹恒•饮月施放每段攻击后获得1层【亢心】,使自身造成的伤害提高[_dmg]%,该效果可以叠加10层,持续至自身回合结束。',
|
||||
cons: 1,
|
||||
data: {
|
||||
_dmg: ({ talent }) => talent.t['伤害提高'] * 100
|
||||
}
|
||||
}, {
|
||||
title: '叱咤:施放2级或3级强化普攻时,从第4段攻击开始,每段攻击前获得一层叱咤,使暴击伤害提高[_cdmg]%,最多叠加4层',
|
||||
data: {
|
||||
_cdmg: ({ talent }) => talent.e['暴击伤害提高'] * 100
|
||||
}
|
||||
}, {
|
||||
title: '饮月6命:满Buff时使3级强普的虚数属性抗性穿透提高60%',
|
||||
cons: 6,
|
||||
check: ({ params }) => params.level3A === true,
|
||||
data: {
|
||||
kx: 60
|
||||
}
|
||||
}]
|
@ -192,13 +192,58 @@
|
||||
},
|
||||
"a2": {
|
||||
"id": 990530,
|
||||
"name": "盘拏耀跃",
|
||||
"name": "强化普攻",
|
||||
"type": "普攻",
|
||||
"tag": "扩散",
|
||||
"desc": "施放7段攻击对指定敌方单体造成等同于丹恒•饮月<nobr>$1[i]%</nobr>攻击力的<span>虚数</span>属性伤害。从第4段攻击开始同时对其相邻目标造成等同于丹恒•饮月<nobr>$2[i]%</nobr>攻击力的<span>虚数</span>属性伤害。",
|
||||
"desc": "<h3>瞬华</h3>施放3段攻击对指定敌方单体造成等同于丹恒•饮月<nobr>$1[i]%</nobr>攻击力的<span>虚数</span>属性伤害。<h3>天矢阴</h3>施放5段攻击对指定敌方单体造成等同于丹恒•饮月<nobr>$2[i]%</nobr>攻击力的<span>虚数</span>属性伤害。从第4段攻击开始同时对其相邻目标造成等同于丹恒•饮月<nobr>$3[i]%</nobr>攻击力的<span>虚数</span>属性伤害。<i>施放5段攻击对敌方单体造成大量虚数属性伤害,对相邻目标造成少量虚数属性伤害。后2段每段攻击前获得1层【叱咤】:提高暴击伤害。</i><h3>盘拏耀跃</h3>施放7段攻击对指定敌方单体造成等同于丹恒•饮月<nobr>$4[i]%</nobr>攻击力的<span>虚数</span>属性伤害。从第4段攻击开始同时对其相邻目标造成等同于丹恒•饮月<nobr>$5[i]%</nobr>攻击力的<span>虚数</span>属性伤害。<i>施放7段攻击对敌方单体造成大量虚数属性伤害,对相邻目标造成虚数属性伤害。后4段每段攻击前获得1层【叱咤】:提高暴击伤害。</i>",
|
||||
"tables": {
|
||||
"1": {
|
||||
"name": "目标伤害",
|
||||
"1":{
|
||||
"name":"瞬华·单体伤害",
|
||||
"isSame":false,
|
||||
"values":[
|
||||
1.3,
|
||||
1.56,
|
||||
1.82,
|
||||
2.08,
|
||||
2.34,
|
||||
2.6,
|
||||
2.86,
|
||||
3.12,
|
||||
3.38
|
||||
]
|
||||
},
|
||||
"2":{
|
||||
"name":"天矢阴·单体伤害",
|
||||
"isSame":false,
|
||||
"values":[
|
||||
1.9,
|
||||
2.28,
|
||||
2.66,
|
||||
3.04,
|
||||
3.42,
|
||||
3.8,
|
||||
4.18,
|
||||
4.56,
|
||||
4.94
|
||||
]
|
||||
},
|
||||
"3":{
|
||||
"name":"天矢阴·相邻目标伤害",
|
||||
"isSame":false,
|
||||
"values":[
|
||||
0.3,
|
||||
0.36,
|
||||
0.42,
|
||||
0.48,
|
||||
0.54,
|
||||
0.6,
|
||||
0.66,
|
||||
0.72,
|
||||
0.78
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"name": "盘拏耀跃·单体伤害",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
2.5,
|
||||
@ -209,17 +254,11 @@
|
||||
5,
|
||||
5.5,
|
||||
6,
|
||||
6.5,
|
||||
2.5,
|
||||
2.5,
|
||||
2.5,
|
||||
2.5,
|
||||
2.5,
|
||||
2.5
|
||||
6.5
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"name": "相邻目标伤害",
|
||||
"5": {
|
||||
"name": "盘拏耀跃·相邻目标伤害",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
0.9,
|
||||
@ -230,13 +269,7 @@
|
||||
1.8,
|
||||
1.98,
|
||||
2.16,
|
||||
2.34,
|
||||
0.9,
|
||||
0.9,
|
||||
0.9,
|
||||
0.9,
|
||||
0.9,
|
||||
0.9
|
||||
2.34
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,12 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.t['追加伤害'], 't')
|
||||
}, {
|
||||
title: '战技+引爆dot伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
params: { isDot: true },
|
||||
dmg: ({ talent, cons, weapon }, dmg) => {
|
||||
let plusDot = cons >= 6 ? 1.56 : 0
|
||||
let weaponDot = weapon.name === '只需等待' ? (weapon.affix * 10 + 50) / 100 : 0
|
||||
let eDmg = dmg(talent.e['单体伤害'], 'e')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot) * talent.e['额外持续伤害'], '', 'skillDot')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.e['额外持续伤害'], '', 'skillDot')
|
||||
return {
|
||||
dmg: eDmg.dmg + dotDmg.avg,
|
||||
avg: eDmg.avg + dotDmg.avg
|
||||
@ -17,10 +19,12 @@ export const details = [{
|
||||
}
|
||||
}, {
|
||||
title: '终结技伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
params: { isDot: true },
|
||||
dmg: ({ talent, cons, weapon }, dmg) => {
|
||||
let plusDot = cons >= 6 ? 1.56 : 0
|
||||
let weaponDot = weapon.name === '只需等待' ? (weapon.affix * 10 + 50) / 100 : 0
|
||||
let qDmg = dmg(talent.q['技能伤害'], 'q')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot) * talent.q['额外持续伤害'], '', 'skillDot')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.q['额外持续伤害'], '', 'skillDot')
|
||||
return {
|
||||
dmg: qDmg.dmg + dotDmg.avg,
|
||||
avg: qDmg.avg + dotDmg.avg
|
||||
@ -29,6 +33,7 @@ export const details = [{
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,speed'
|
||||
export const defDmgIdx = 3
|
||||
|
||||
export const buffs = [{
|
||||
title: '卡芙卡1命:目标受到的持续伤害提高30%',
|
||||
@ -45,4 +50,10 @@ export const buffs = [{
|
||||
}, {
|
||||
title: '卡芙卡六命:持续伤害倍率提高156%',
|
||||
cons: 6
|
||||
}, {
|
||||
title: '只需等待-游丝:游丝状态下,敌方目标陷入触电状态,每回合开始受到等同于装备者攻击力[dotData]%的雷属性持续伤害',
|
||||
check: ({ weapon, params }) => (weapon.name === '只需等待' && params.isDot === true),
|
||||
data: {
|
||||
dotData: ({ weapon }) => weapon.affix * 10 + 50
|
||||
}
|
||||
}]
|
||||
|
@ -25,12 +25,6 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: 15
|
||||
}
|
||||
}, {
|
||||
title: '希儿2命:释放战技后,2层Buff速度提高50%',
|
||||
cons: 2,
|
||||
data: {
|
||||
speedPct: 50
|
||||
}
|
||||
}, {
|
||||
title: '行迹-灼热:战技对灼烧状态下的敌方目标造成的伤害提高20%',
|
||||
tree: 2,
|
||||
|
45
resources/meta-sr/character/希露瓦/calc.js
Normal file
45
resources/meta-sr/character/希露瓦/calc.js
Normal file
@ -0,0 +1,45 @@
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let plusDmg = cons >= 1 ? 0.6 : 0
|
||||
return dmg(talent.a['技能伤害'] * (1 + plusDmg), 'a')
|
||||
}
|
||||
}, {
|
||||
title: '战技伤害(单体)',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||
}, {
|
||||
title: '战技伤害(扩散)',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'] + talent.e['相邻目标伤害'] * 2, 'e')
|
||||
}, {
|
||||
title: '秘技触电持续伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(0.5, '', 'skillDot')
|
||||
}, {
|
||||
title: '战技触电持续伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['触电持续伤害'], '', 'skillDot')
|
||||
}, {
|
||||
title: '天赋附加伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'], 't')
|
||||
}, {
|
||||
title: '终结技伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||
}]
|
||||
|
||||
export const defDmgIdx = 2
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '希露瓦1命:普攻对敌方1个随机相邻目标造成等同于普攻伤害60%的雷属性伤害',
|
||||
cons: 1
|
||||
}, {
|
||||
title: '希露瓦6命:对触电状态下的敌方目标造成伤害提高30%',
|
||||
cons: 6,
|
||||
data: {
|
||||
dmg: 30
|
||||
}
|
||||
}, {
|
||||
title: '行迹-狂热:消灭敌方目标后,攻击力提高20%',
|
||||
tree: 3,
|
||||
data: {
|
||||
atkPct: 20
|
||||
}
|
||||
}]
|
45
resources/meta-sr/character/桑博/calc.js
Normal file
45
resources/meta-sr/character/桑博/calc.js
Normal file
@ -0,0 +1,45 @@
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||
}, {
|
||||
title: '战技伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let count = cons >= 1 ? 6 : 5
|
||||
return dmg(talent.e['技能伤害'] * count, 'e')
|
||||
}
|
||||
}, {
|
||||
title: '战技+引爆Dot伤害',
|
||||
check: ({ cons }) => cons >= 4,
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let eDmg = dmg(talent.e['技能伤害'] * 6, 'e')
|
||||
let plusDot = cons >= 6 ? 0.15 : 0
|
||||
let dotDmg = dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, '', 'skillDot')
|
||||
return {
|
||||
dmg: eDmg.dmg + dotDmg.avg * 0.08,
|
||||
avg: eDmg.avg + dotDmg.avg * 0.08
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '终结技伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||
}, {
|
||||
title: '天赋5层风化持续伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let plusDot = cons >= 6 ? 0.15 : 0
|
||||
return dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, '', 'skillDot')
|
||||
}
|
||||
}]
|
||||
|
||||
export const defDmgIdx = 1
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '桑博1命:施放战技时,对敌方随机单体额外造成一次伤害',
|
||||
cons: 1
|
||||
}, {
|
||||
title: '桑博4命:战技击中风化层数大于等于5层的目标时,立即产生相当于原风化伤害8%的伤害',
|
||||
cons: 4
|
||||
}, {
|
||||
title: '桑博6命:天赋施加的风化状态伤害倍率提高15%',
|
||||
cons: 6
|
||||
}]
|
@ -20,16 +20,4 @@ export const buffs = [{
|
||||
data: {
|
||||
heal: 15
|
||||
}
|
||||
}, {
|
||||
title: '希儿2命:释放战技后,2层Buff速度提高50%',
|
||||
cons: 2,
|
||||
data: {
|
||||
speedPct: 50
|
||||
}
|
||||
}, {
|
||||
title: '行迹-夜行:抗性穿透提高20',
|
||||
tree: 2,
|
||||
data: {
|
||||
kx: 20
|
||||
}
|
||||
}]
|
||||
|
43
resources/meta-sr/character/艾丝妲/calc.js
Normal file
43
resources/meta-sr/character/艾丝妲/calc.js
Normal file
@ -0,0 +1,43 @@
|
||||
import { Format } from '#miao'
|
||||
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||
}, {
|
||||
title: '战技伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'] * 5, 'e')
|
||||
}, {
|
||||
title: '普攻灼烧持续伤害',
|
||||
tree: 3,
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'] * 0.5, '', 'skillDot')
|
||||
}, {
|
||||
title: '蓄能5层全队加攻',
|
||||
dmg: ({ talent }) => {
|
||||
return {
|
||||
avg: Format.percent(talent.t['攻击力提高'] * 5),
|
||||
type: 'text'
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '终结技全队速度提高',
|
||||
dmg: ({ talent }) => {
|
||||
return {
|
||||
avg: talent.q['速度提高']
|
||||
}
|
||||
}
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '行迹-点燃:我方全体火属性伤害提高18%',
|
||||
tree: 3,
|
||||
data: {
|
||||
dmg: 18
|
||||
}
|
||||
}, {
|
||||
title: '蓄能5层:攻击力提高[atkPct]%',
|
||||
data: {
|
||||
atkPct: ({ talent }) => talent.t['攻击力提高'] * 5 * 100
|
||||
}
|
||||
}]
|
@ -27,7 +27,7 @@ export const details = [{
|
||||
let buffCount = 12
|
||||
if (weapon.name === '松籁响起之时') {
|
||||
buffCount = 13
|
||||
if (weapon.affix_level >= 4) {
|
||||
if (weapon.affix >= 4) {
|
||||
buffCount = 14
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user