mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-29 02:27:26 +00:00
添加草系反应支持,并直观化伤害计算逻辑 (#237)
This commit is contained in:
parent
e24726b391
commit
6e3728d3b8
@ -67,13 +67,21 @@ let DmgAttr = {
|
||||
ret.element = eleMap[char.elem.toLowerCase()] // 元素类型
|
||||
ret.refine = ((weapon.affix || ret.refine || 1) * 1 - 1) || 0 // 武器精炼
|
||||
ret.multi = 0 // 倍率独立乘区
|
||||
ret.zf = 0 // 蒸发
|
||||
ret.rh = 0 // 融化
|
||||
ret.gd = 0 // 感电
|
||||
ret.ks = 0 // 扩散
|
||||
ret.vaporize = 0 // 蒸发
|
||||
ret.melt = 0 // 融化
|
||||
ret.burning = 0 // 燃烧
|
||||
ret.superconduct = 0 // 超导
|
||||
ret.swirl = 0 // 扩散
|
||||
ret.electro_charged = 0 // 感电
|
||||
ret.shatter = 0 // 碎冰
|
||||
ret.overloaded = 0 // 超载
|
||||
ret.bloom = 0 // 绽放
|
||||
ret.burgeon = 0 // 烈绽放
|
||||
ret.hyperbloom = 0 // 超绽放
|
||||
ret.aggravate = 0 // 超激化
|
||||
ret.spread = 0 // 蔓激化
|
||||
ret.kx = 0 // 敌人抗性降低
|
||||
ret.fykx = 0 // 敌人反应抗性降低
|
||||
|
||||
return ret
|
||||
},
|
||||
|
||||
@ -112,13 +120,13 @@ let DmgAttr = {
|
||||
ds.currentTalent = talent
|
||||
|
||||
let mKey = {
|
||||
zf: '蒸发',
|
||||
rh: '融化',
|
||||
ks: '扩散'
|
||||
vaporize: '蒸发',
|
||||
melt: '融化',
|
||||
swirl: '扩散'
|
||||
}
|
||||
if (lodash.isString(buff) && mKey[buff]) {
|
||||
buff = {
|
||||
zf: {
|
||||
vaporize: {
|
||||
title: `元素精通:${mKey[buff]}伤害提高[${buff}]%`,
|
||||
mastery: buff
|
||||
}
|
||||
@ -168,7 +176,7 @@ let DmgAttr = {
|
||||
return
|
||||
}
|
||||
|
||||
if (['zf', 'rh', 'kx', 'gd', 'ks', 'fykx'].includes(key)) {
|
||||
if (['vaporize', 'melt', 'burning', 'superconduct', 'swirl', 'electro_charged', 'shatter', 'overloaded', 'bloom', 'burgeon', 'hyperbloom', 'aggravate' , 'spread' ,'kx', 'fykx'].includes(key)) {
|
||||
attr[key] += val * 1 || 0
|
||||
}
|
||||
})
|
||||
|
@ -57,9 +57,9 @@ let DmgBuffs = {
|
||||
let artisBuffs = DmgBuffs.getArtisBuffs(profile.artis)
|
||||
buffs = lodash.concat(buffs, weaponBuffs, artisBuffs)
|
||||
let mKey = {
|
||||
zf: '蒸发',
|
||||
rh: '融化',
|
||||
ks: '扩散'
|
||||
vaporize: '蒸发',
|
||||
melt: '融化',
|
||||
swirl: '扩散'
|
||||
}
|
||||
lodash.forEach(buffs, (buff, idx) => {
|
||||
if (lodash.isString(buff) && mKey[buff]) {
|
||||
|
@ -23,6 +23,7 @@ let DmgCalc = {
|
||||
let calc = ds.calc
|
||||
|
||||
let { atk, dmg, phy, cdmg, cpct } = attr
|
||||
|
||||
// 攻击区
|
||||
let atkNum = calc(atk)
|
||||
|
||||
@ -77,46 +78,67 @@ let DmgCalc = {
|
||||
kNum = 1 - kx / 200
|
||||
}
|
||||
|
||||
// 反应区
|
||||
let eleNum = 1
|
||||
let eleBase = 0
|
||||
|
||||
if (ele === 'ks' || ele === 'gd') {
|
||||
eleBase = eleBaseDmg[level] || 0
|
||||
}
|
||||
|
||||
if (ele === 'phy') {
|
||||
// do nothing
|
||||
} else if (ele) {
|
||||
eleNum = DmgMastery.getBasePct(ele, attr.element)
|
||||
|
||||
if (attr[ele]) {
|
||||
eleNum = eleNum * (1 + attr[ele] / 100)
|
||||
}
|
||||
}
|
||||
|
||||
cpctNum = Math.max(0, Math.min(1, cpctNum))
|
||||
if (cpctNum === 0) {
|
||||
cdmgNum = 0
|
||||
}
|
||||
|
||||
// 反应区
|
||||
let eleNum = (ele === false) ? 1 : DmgMastery.getBasePct(ele, attr.element)
|
||||
let eleBase = (ele === false) ? 1 : 1 + attr[ele] / 100 + DmgMastery.getMultiple(ele, attr.mastery.base + attr.mastery.plus)
|
||||
let dmgBase = (mode === 'basic') ? basicNum : atkNum * pctNum * (1 + multiNum)
|
||||
let ret = {}
|
||||
if (mode === 'basic') {
|
||||
ret = {
|
||||
dmg: basicNum * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
|
||||
avg: basicNum * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
|
||||
|
||||
console.log(atkNum, multiNum, dmgBase)
|
||||
|
||||
switch(ele)
|
||||
{
|
||||
case 'vaporize':
|
||||
case 'melt':
|
||||
{
|
||||
ret = {
|
||||
dmg: dmgBase * dmgNum * (1 + cdmgNum) * defNum * kNum * eleBase * eleNum,
|
||||
avg: dmgBase * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleBase * eleNum
|
||||
}
|
||||
break
|
||||
}
|
||||
} else if (eleBase) {
|
||||
ret = {
|
||||
avg: eleBase * kNum * eleNum
|
||||
|
||||
case 'burning':
|
||||
case 'superconduct':
|
||||
case 'swirl':
|
||||
case 'electro_charged':
|
||||
case 'shatter':
|
||||
case 'overloaded':
|
||||
case 'bloom':
|
||||
case 'burgeon':
|
||||
case 'hyperbloom':
|
||||
{
|
||||
eleBase *= eleBaseDmg[level]
|
||||
ret = { avg: eleBase * eleNum * kNum }
|
||||
break
|
||||
}
|
||||
} else {
|
||||
// 计算最终伤害
|
||||
ret = {
|
||||
dmg: (atkNum * pctNum * (1 + multiNum) + plusNum) * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
|
||||
avg: (atkNum * pctNum * (1 + multiNum) + plusNum) * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
|
||||
|
||||
case 'aggravate':
|
||||
case 'spread':
|
||||
{
|
||||
eleBase *= eleBaseDmg[level]
|
||||
dmgBase += eleBase * eleNum
|
||||
ret = {
|
||||
dmg: dmgBase * dmgNum * (1 + cdmgNum) * defNum * kNum,
|
||||
avg: dmgBase * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
ret = {
|
||||
dmg: dmgBase * dmgNum * (1 + cdmgNum) * defNum * kNum ,
|
||||
avg: dmgBase * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (showDetail) {
|
||||
console.log(attr, { atkNum, pctNum, multiNum, plusNum, dmgNum, cpctNum, cdmgNum, defNum, eleNum, kNum }, ret)
|
||||
}
|
||||
@ -152,8 +174,8 @@ let DmgCalc = {
|
||||
}
|
||||
}
|
||||
// 扩散方法
|
||||
dmgFn.ks = function () {
|
||||
return dmgFn(0, 'fy', 'ks')
|
||||
dmgFn.swirl = function () {
|
||||
return dmgFn(0, 'fy', 'swirl')
|
||||
}
|
||||
|
||||
return dmgFn
|
||||
|
@ -1,95 +1,95 @@
|
||||
// 各等级精通基础伤害
|
||||
export const eleBaseDmg = {
|
||||
1: 20,
|
||||
2: 22,
|
||||
3: 23,
|
||||
4: 24,
|
||||
5: 27,
|
||||
6: 29,
|
||||
7: 31,
|
||||
8: 34,
|
||||
9: 37,
|
||||
10: 40,
|
||||
11: 44,
|
||||
12: 48,
|
||||
13: 53,
|
||||
14: 58,
|
||||
15: 64,
|
||||
16: 70,
|
||||
17: 77,
|
||||
18: 83,
|
||||
19: 90,
|
||||
20: 97,
|
||||
21: 103,
|
||||
22: 110,
|
||||
23: 117,
|
||||
24: 123,
|
||||
25: 130,
|
||||
26: 136,
|
||||
27: 141,
|
||||
28: 147,
|
||||
29: 156,
|
||||
30: 163,
|
||||
31: 171,
|
||||
32: 178,
|
||||
33: 186,
|
||||
34: 193,
|
||||
35: 202,
|
||||
36: 211,
|
||||
37: 220,
|
||||
38: 230,
|
||||
39: 239,
|
||||
40: 248,
|
||||
41: 258,
|
||||
42: 269,
|
||||
43: 280,
|
||||
44: 291,
|
||||
45: 307,
|
||||
46: 322,
|
||||
47: 338,
|
||||
48: 353,
|
||||
49: 370,
|
||||
50: 388,
|
||||
51: 403,
|
||||
52: 420,
|
||||
53: 437,
|
||||
54: 453,
|
||||
55: 478,
|
||||
56: 499,
|
||||
57: 521,
|
||||
58: 543,
|
||||
59: 567,
|
||||
60: 591,
|
||||
61: 616,
|
||||
62: 647,
|
||||
63: 678,
|
||||
64: 710,
|
||||
65: 749,
|
||||
66: 781,
|
||||
67: 814,
|
||||
68: 849,
|
||||
69: 883,
|
||||
70: 918,
|
||||
71: 953,
|
||||
72: 989,
|
||||
73: 1021,
|
||||
74: 1052,
|
||||
75: 1097,
|
||||
76: 1136,
|
||||
77: 1174,
|
||||
78: 1213,
|
||||
79: 1253,
|
||||
80: 1292,
|
||||
81: 1331,
|
||||
82: 1371,
|
||||
83: 1411,
|
||||
84: 1451,
|
||||
85: 1504,
|
||||
86: 1547,
|
||||
87: 1590,
|
||||
88: 1636,
|
||||
89: 1686,
|
||||
90: 1736
|
||||
1: 4.291,
|
||||
2: 4.634,
|
||||
3: 4.976,
|
||||
4: 5.319,
|
||||
5: 5.661,
|
||||
6: 6.162,
|
||||
7: 6.660,
|
||||
8: 7.217,
|
||||
9: 7.842,
|
||||
10: 8.536,
|
||||
11: 9.300,
|
||||
12: 10.165,
|
||||
13: 11.112,
|
||||
14: 12.141,
|
||||
15: 13.437,
|
||||
16: 14.770,
|
||||
17: 16.105,
|
||||
18: 17.431,
|
||||
19: 18.781,
|
||||
20: 20.146,
|
||||
21: 21.528,
|
||||
22: 22.926,
|
||||
23: 24.311,
|
||||
24: 25.703,
|
||||
25: 27.102,
|
||||
26: 28.300,
|
||||
27: 29.526,
|
||||
28: 30.745,
|
||||
29: 32.432,
|
||||
30: 34.073,
|
||||
31: 35.668,
|
||||
32: 37.257,
|
||||
33: 38.854,
|
||||
34: 40.456,
|
||||
35: 42.277,
|
||||
36: 44.130,
|
||||
37: 46.018,
|
||||
38: 47.927,
|
||||
39: 49.889,
|
||||
40: 51.846,
|
||||
41: 53.850,
|
||||
42: 56.041,
|
||||
43: 58.376,
|
||||
44: 60.838,
|
||||
45: 64.016,
|
||||
46: 67.136,
|
||||
47: 70.382,
|
||||
48: 73.753,
|
||||
49: 77.267,
|
||||
50: 80.900,
|
||||
51: 84.189,
|
||||
52: 87.633,
|
||||
53: 91.121,
|
||||
54: 94.655,
|
||||
55: 99.650,
|
||||
56: 104.100,
|
||||
57: 108.597,
|
||||
58: 113.238,
|
||||
59: 118.152,
|
||||
60: 123.221,
|
||||
61: 128.392,
|
||||
62: 134.776,
|
||||
63: 141.378,
|
||||
64: 148.135,
|
||||
65: 156.111,
|
||||
66: 162.868,
|
||||
67: 169.874,
|
||||
68: 176.949,
|
||||
69: 184.168,
|
||||
70: 191.410,
|
||||
71: 198.693,
|
||||
72: 206.169,
|
||||
73: 212.789,
|
||||
74: 219.436,
|
||||
75: 228.557,
|
||||
76: 236.687,
|
||||
77: 244.853,
|
||||
78: 252.806,
|
||||
79: 261.198,
|
||||
80: 269.361,
|
||||
81: 277.499,
|
||||
82: 285.744,
|
||||
83: 294.092,
|
||||
84: 302.546,
|
||||
85: 313.459,
|
||||
86: 322.238,
|
||||
87: 331.371,
|
||||
88: 340.864,
|
||||
89: 351.274,
|
||||
90: 361.713
|
||||
}
|
||||
|
||||
export const eleMap = {
|
||||
@ -103,13 +103,20 @@ export const eleMap = {
|
||||
}
|
||||
|
||||
// 元素反应类型及基数
|
||||
// 暂无需考虑碎冰
|
||||
export const erType = {
|
||||
zf: { type: 'pct', num: ({ element }) => element === '水' ? 2 : 1.5 },
|
||||
rh: { type: 'pct', num: ({ element }) => element === '火' ? 2 : 1.5 },
|
||||
gd: { type: 'fusion', num: () => 1 },
|
||||
cz: { type: 'fusion', num: () => 4 / 2.4 },
|
||||
ks: { type: 'fusion', num: () => 0.5 }
|
||||
'vaporize': { type: 'pct', num: ({ element }) => element === '水' ? 2 : 1.5 },
|
||||
'melt': { type: 'pct', num: ({ element }) => element === '火' ? 2 : 1.5 },
|
||||
'burning': { type: 'fusion', num: () => 1 },
|
||||
'superconduct': { type: 'fusion', num: () => 2 },
|
||||
'swirl': { type: 'fusion', num: () => 2.4 },
|
||||
'electro_charged': { type: 'fusion', num: () => 4.8 },
|
||||
'shatter': { type: 'fusion', num: () => 6 },
|
||||
'overloaded': { type: 'fusion', num: () => 8 },
|
||||
'bloom': { type: 'fusion', num: () => 8 },
|
||||
'burgeon': { type: 'fusion', num: () => 12 },
|
||||
'hyperbloom': { type: 'fusion', num: () => 12 },
|
||||
'aggravate': { type: 'bonus', num: () => 4.6 },
|
||||
'spread': { type: 'bonus', num: () => 5.0 }
|
||||
}
|
||||
|
||||
export const attrMap = {
|
||||
|
@ -1,12 +1,14 @@
|
||||
import { erType } from './DmgCalcMeta.js'
|
||||
|
||||
let DmgMastery = {
|
||||
getMultiple (type = 'zf', mastery = 0) {
|
||||
getMultiple (type, mastery = 0) {
|
||||
let typeCfg = erType[type]
|
||||
if (typeCfg.type === 'pct') {
|
||||
return 2.78 * mastery / (mastery + 1400) * 100
|
||||
return (25 / 9) * mastery / (mastery + 1400)
|
||||
} else if (typeCfg.type === 'fusion') {
|
||||
return (1 + mastery * 16) / (mastery + 2000) * 100
|
||||
return 16 * mastery / (mastery + 2000)
|
||||
} else if(typeCfg.type === 'bonus'){
|
||||
return 5 * mastery / (mastery + 1200)
|
||||
}
|
||||
return 0
|
||||
},
|
||||
|
@ -72,10 +72,13 @@ const buffs = {
|
||||
},
|
||||
炽烈的炎之魔女4: {
|
||||
check: ({ element }) => element === '火',
|
||||
title: '魔女4:蒸发、融化伤害提高15%,[buffCount]层额外提高[dmg]%火元素伤害加成',
|
||||
title: '魔女4:蒸发、融化伤害提高15%,[buffCount]层额外提高[dmg]%火元素伤害加成,超载、燃烧、烈绽放反应造成的伤害提升40%',
|
||||
data: {
|
||||
zf: 15,
|
||||
rh: 15,
|
||||
vaporize: 15,
|
||||
melt: 15,
|
||||
overloaded: 40,
|
||||
burning: 40,
|
||||
burgeon: 40,
|
||||
dmg: ({ params }) => (params.monv || 1) * 7.5,
|
||||
buffCount: ({ params }) => params.monv || 1
|
||||
}
|
||||
@ -110,7 +113,7 @@ const buffs = {
|
||||
冰之川与雪之砂4: {
|
||||
title: '冰雪4:融化加成提高15%,释放元素爆发后,冰伤提高30%',
|
||||
data: {
|
||||
rh: 15,
|
||||
melt: 15,
|
||||
dmg: 30
|
||||
}
|
||||
},
|
||||
@ -193,16 +196,17 @@ const buffs = {
|
||||
title: '翠绿4:扩散反应造成的伤害提升60%,降低对应元素抗性40%',
|
||||
sort: 5,
|
||||
data: {
|
||||
ks: 60,
|
||||
swirl: 60,
|
||||
fykx: 40
|
||||
}
|
||||
},
|
||||
如雷的盛怒4: {
|
||||
title: '如雷4:超载、感电、超导反应造成的伤害提升40%',
|
||||
title: '如雷4:超载、感电、超导反应造成的伤害提升40%,超激化反应带来的伤害提升提高20%',
|
||||
data: {
|
||||
cz: 40,
|
||||
gd: 40,
|
||||
cd: 40
|
||||
overloaded: 40,
|
||||
electro_charged: 40,
|
||||
superconduct: 40,
|
||||
aggravate: 20
|
||||
}
|
||||
},
|
||||
深林的记忆4: {
|
||||
|
@ -5,7 +5,7 @@ export const details = [{
|
||||
}, {
|
||||
title: 'E后带火花重击蒸发',
|
||||
params: { q: false },
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'vaporize')
|
||||
}, {
|
||||
title: '单次轰轰火花伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['轰轰火花伤害'], 'q')
|
||||
@ -30,4 +30,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: ({ params }) => params.q === false ? 0 : 10
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -8,7 +8,7 @@ export const details = [{
|
||||
|
||||
}, {
|
||||
title: 'E络命丝蒸发',
|
||||
dmg: ({ talent, attr, calc }, { basic }) => basic(calc(attr.hp) * talent.e['技能伤害'] / 100, 'e', 'zf')
|
||||
dmg: ({ talent, attr, calc }, { basic }) => basic(calc(attr.hp) * talent.e['技能伤害'] / 100, 'e', 'vaporize')
|
||||
|
||||
}, {
|
||||
title: 'Q协同单段伤害',
|
||||
@ -36,4 +36,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: ({ params }) => params.q ? 50 : 0
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -7,11 +7,11 @@ export const details = [{
|
||||
}, {
|
||||
title: '兔兔伯爵蒸发',
|
||||
check: ({ cons }) => cons < 2,
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['爆炸伤害'], 'e', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['爆炸伤害'], 'e', 'vaporize')
|
||||
}, {
|
||||
title: '引爆兔兔伯爵蒸发',
|
||||
cons: 2,
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['爆炸伤害'] * 3, 'e', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['爆炸伤害'] * 3, 'e', 'vaporize')
|
||||
}, {
|
||||
title: 'Q箭雨总伤害',
|
||||
params: { q: true },
|
||||
@ -33,4 +33,4 @@ export const buffs = [{
|
||||
}, {
|
||||
title: '安柏2命:瞄准引爆兔兔伯爵伤害提高200%',
|
||||
cons: 2
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -9,7 +9,7 @@ export const details = [{
|
||||
}, {
|
||||
title: '开E满Buff尾箭蒸发',
|
||||
params: { num: 10 },
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['五段伤害'], 'a', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['五段伤害'], 'a', 'vaporize')
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
@ -30,4 +30,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: ({ params }) => params.num > 1 ? 25 : 0
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -9,7 +9,7 @@ export const details = [{
|
||||
}
|
||||
}, {
|
||||
title: '扩散反应伤害',
|
||||
dmg: ({}, { ks }) => ks()
|
||||
dmg: ({}, { swirl }) => swirl()
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
@ -21,4 +21,4 @@ export const buffs = [{
|
||||
qPct: ({ attr, calc }) => Math.min(calc(attr.mastery) * 0.002, 400),
|
||||
_heal: ({ attr, calc }) => Math.min(calc(attr.mastery) * 3, 6000)
|
||||
}
|
||||
}, 'ks']
|
||||
}, 'swirl']
|
||||
|
@ -9,7 +9,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['持续伤害'], 'q')
|
||||
}, {
|
||||
title: '扩散反应伤害',
|
||||
dmg: ({}, { ks }) => ks()
|
||||
dmg: ({}, { swirl }) => swirl()
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
@ -21,7 +21,7 @@ export const buffs = [{
|
||||
mastery: 200
|
||||
}
|
||||
}, {
|
||||
title: '元素精通:扩散伤害提高[ks]%',
|
||||
title: '元素精通:扩散伤害提高[swirl]%',
|
||||
sort: 2,
|
||||
mastery: 'ks'
|
||||
mastery: 'swirl'
|
||||
}]
|
||||
|
@ -19,7 +19,7 @@ export const details = [{
|
||||
}
|
||||
}, {
|
||||
title: '扩散反应伤害',
|
||||
dmg: ({}, { ks }) => ks()
|
||||
dmg: ({}, { swirl }) => swirl()
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
@ -42,4 +42,4 @@ export const buffs = [{
|
||||
data: {
|
||||
kx: ({ params }) => params.q ? 20 : 0
|
||||
}
|
||||
}, 'ks']
|
||||
}, 'swirl']
|
||||
|
@ -5,7 +5,7 @@ export const details = [{
|
||||
}, {
|
||||
title: '开Q满丹火印重击蒸发',
|
||||
params: { dhy: 15 },
|
||||
dmg: ({ talent, cons }, dmg) => dmg(talent.a['重击伤害2'][cons * 1 === 6 ? 4 : 3], 'a2', 'zf')
|
||||
dmg: ({ talent, cons }, dmg) => dmg(talent.a['重击伤害2'][cons * 1 === 6 ? 4 : 3], 'a2', 'vaporize')
|
||||
}, {
|
||||
title: 'E伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||
@ -28,4 +28,4 @@ export const buffs = [{
|
||||
data: {
|
||||
a2Dmg: ({ talent }) => talent.q['重击伤害额外加成']
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -6,7 +6,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['霜华矢·霜华绽发伤害'] + talent.a['霜华矢命中伤害'], 'a2')
|
||||
}, {
|
||||
title: '霜华矢两段+融化',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['霜华矢·霜华绽发伤害'] + talent.a['霜华矢命中伤害'], 'a2', 'rh')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['霜华矢·霜华绽发伤害'] + talent.a['霜华矢命中伤害'], 'a2', 'melt')
|
||||
}, {
|
||||
title: 'Q单个冰凌伤害',
|
||||
params: {
|
||||
@ -36,4 +36,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: ({ params }) => params.q ? 25 : 0
|
||||
}
|
||||
}, 'rh']
|
||||
}, 'melt']
|
||||
|
@ -13,7 +13,7 @@ export const details = [{
|
||||
}
|
||||
}, {
|
||||
title: '扩散反应伤害',
|
||||
dmg: ({}, { ks }) => ks()
|
||||
dmg: ({}, { swirl }) => swirl()
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
@ -25,4 +25,4 @@ export const buffs = [{
|
||||
data: {
|
||||
_mastery: ({ attr, calc }) => calc(attr.mastery) * 0.2
|
||||
}
|
||||
}, 'ks']
|
||||
}, 'swirl']
|
||||
|
@ -3,7 +3,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段瞬水剑伤害'], 'a')
|
||||
}, {
|
||||
title: 'E后瞬水剑三段蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段瞬水剑伤害'], 'a', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段瞬水剑伤害'], 'a', 'vaporize')
|
||||
}, {
|
||||
title: '神里流·水囿每段伤害',
|
||||
params: { q: 1 },
|
||||
@ -31,4 +31,4 @@ export const buffs = [{
|
||||
data: {
|
||||
aPlus: ({ attr, calc, talent }) => calc(attr.hp) * talent.e['浪闪伤害值提高'] / 100 * 5
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -1,7 +1,7 @@
|
||||
export const details = [{
|
||||
title: 'E长按伤害',
|
||||
params: { e: true, q: false },
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['长按伤害'], 'e')
|
||||
dmg: ({ talent }, dmg ) => dmg(talent.e['长按伤害'], 'e')
|
||||
}, {
|
||||
title: '灭净三业伤害',
|
||||
params: { e2: true, q: false },
|
||||
@ -9,7 +9,7 @@ export const details = [{
|
||||
const td = talent.e['灭净三业伤害2']
|
||||
const em = calc(attr.mastery)
|
||||
const atk = calc(attr.atk)
|
||||
return basic(td[0] * atk / 100 + td[1] * em / 100, 'e')
|
||||
return basic(td[0] * atk / 100 + td[1] * em / 100, 'e', 'spread')
|
||||
}
|
||||
}, {
|
||||
title: '开Q灭净三业伤害',
|
||||
@ -18,7 +18,7 @@ export const details = [{
|
||||
const td = talent.e['灭净三业伤害2']
|
||||
const em = calc(attr.mastery)
|
||||
const atk = calc(attr.atk)
|
||||
return basic(td[0] * atk / 100 + td[1] * em / 100, 'e')
|
||||
return basic(td[0] * atk / 100 + td[1] * em / 100, 'e', 'spread')
|
||||
}
|
||||
}]
|
||||
|
||||
|
@ -3,7 +3,7 @@ export const details = [{
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.a['重击伤害'], 'a2')
|
||||
}, {
|
||||
title: '半血开E重击蒸发',
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'zf')
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'vaporize')
|
||||
}, {
|
||||
title: '半血开E后Q',
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.q['低血量时技能伤害'], 'q')
|
||||
@ -24,4 +24,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: 33
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -3,7 +3,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2')
|
||||
}, {
|
||||
title: '重击蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'vaporize')
|
||||
}, {
|
||||
title: 'E每跳治疗',
|
||||
dmg: ({ talent, attr, calc }, { heal }) =>
|
||||
@ -23,7 +23,7 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: 15
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
||||
export const artisSect = function ({ attr, calc }) {
|
||||
let test = calc(attr.cpct) * 2 + calc(attr.cdmg) + calc(attr.dmg)
|
||||
|
@ -3,7 +3,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2')
|
||||
}, {
|
||||
title: '重击蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2', 'vaporize')
|
||||
}, {
|
||||
title: 'Q泡影破裂伤害',
|
||||
params: { q: true },
|
||||
@ -11,7 +11,7 @@ export const details = [{
|
||||
}, {
|
||||
title: 'Q泡影破裂蒸发',
|
||||
params: { q: true },
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['泡影破裂伤害'], 'q', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['泡影破裂伤害'], 'q', 'vaporize')
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,recharge'
|
||||
@ -25,7 +25,7 @@ export const buffs = [{
|
||||
title: '莫娜1命:命中星异状态下的敌人水元素相关反应效果提升15%',
|
||||
cons: 1,
|
||||
data: {
|
||||
zf: ({ params }) => params.q ? 15 : 0
|
||||
vaporize: ({ params }) => params.q ? 15 : 0
|
||||
}
|
||||
}, {
|
||||
title: '莫娜4命:攻击处于星异状态下的敌人时暴击率提升15%',
|
||||
@ -44,4 +44,4 @@ export const buffs = [{
|
||||
data: {
|
||||
dmg: ({ talent }) => talent.q['伤害加成']
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -6,7 +6,7 @@ export const details = [{
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.q['剑雨伤害'], 'q')
|
||||
}, {
|
||||
title: '雨帘剑蒸发',
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.q['剑雨伤害'], 'q', 'zf')
|
||||
dmg: ({ talent, attr }, dmg) => dmg(talent.q['剑雨伤害'], 'q', 'vaporize')
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
@ -23,4 +23,4 @@ export const buffs = [{
|
||||
data: {
|
||||
eMulti: 50
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -9,9 +9,9 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害·近战'], 'q')
|
||||
}, {
|
||||
title: '开E后Q蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害·近战'], 'q', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害·近战'], 'q', 'vaporize')
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,mastery'
|
||||
|
||||
export const buffs = ['zf']
|
||||
export const buffs = ['vaporize']
|
||||
|
@ -3,7 +3,7 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段伤害'], 'e')
|
||||
}, {
|
||||
title: 'E三段蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段伤害'], 'e', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['三段伤害'], 'e', 'vaporize')
|
||||
}, {
|
||||
title: 'Q爆发伤害',
|
||||
params: { q: true },
|
||||
@ -40,4 +40,4 @@ export const buffs = [{
|
||||
data: {
|
||||
eDmg: 40
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
@ -3,13 +3,13 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['喷火伤害'], 'e')
|
||||
}, {
|
||||
title: '锅巴单口蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['喷火伤害'], 'e', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['喷火伤害'], 'e', 'vaporize')
|
||||
}, {
|
||||
title: '旋火轮单次伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['旋火轮伤害'], 'q')
|
||||
}, {
|
||||
title: '旋火轮单次蒸发',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['旋火轮伤害'], 'q', 'zf')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['旋火轮伤害'], 'q', 'vaporize')
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
@ -20,4 +20,4 @@ export const buffs = [{
|
||||
data: {
|
||||
kx: 15
|
||||
}
|
||||
}, 'zf']
|
||||
}, 'vaporize']
|
||||
|
Loading…
Reference in New Issue
Block a user