!68 为娜维娅增加结晶护盾计算

Merge pull request !68 from liangshi/master
This commit is contained in:
Kokomi 2024-01-30 20:14:43 +00:00 committed by Gitee
commit 755988c7d7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 112 additions and 4 deletions

View File

@ -79,6 +79,7 @@ let DmgAttr = {
ret.vaporize = 0 // 蒸发
ret.melt = 0 // 融化
ret.burning = 0 // 燃烧
ret.crystallize = 0 // 结晶
ret.superConduct = 0 // 超导
ret.swirl = 0 // 扩散
ret.electroCharged = 0 // 感电
@ -215,7 +216,7 @@ let DmgAttr = {
return
}
if (['vaporize', 'melt', 'burning', 'superConduct', 'swirl', 'electroCharged', 'shatter', 'overloaded', 'bloom', 'burgeon', 'hyperBloom', 'aggravate', 'spread', 'kx', 'fykx'].includes(key)) {
if (['vaporize', 'melt', 'crystallize', 'burning', 'superConduct', 'swirl', 'electroCharged', 'shatter', 'overloaded', 'bloom', 'burgeon', 'hyperBloom', 'aggravate', 'spread', 'kx', 'fykx'].includes(key)) {
attr[key] += val * 1 || 0
return
}

View File

@ -1,7 +1,7 @@
/*
* 伤害计算 - 计算伤害
* */
import { eleBaseDmg, erTitle, breakBaseDmg } from './DmgCalcMeta.js'
import { eleBaseDmg, erTitle, breakBaseDmg, cryBaseDmg } from './DmgCalcMeta.js'
import DmgMastery from './DmgMastery.js'
let DmgCalc = {
@ -182,6 +182,12 @@ let DmgCalc = {
break
}
case 'crystallize':{
eleBase *= cryBaseDmg[level]
ret = { avg: eleBase * (calc(attr.shield) / 100) * (attr.shield.inc / 100) }
break
}
case 'aggravate':
case 'spread': {
eleBase *= eleBaseDmg[level]

View File

@ -5,6 +5,8 @@ export const erType = {
// 增幅反应
vaporize: { type: 'pct', num: ({ element }) => element === '水' ? 2 : 1.5, title: '蒸发' },
melt: { type: 'pct', num: ({ element }) => element === '火' ? 2 : 1.5, title: '融化' },
// 结晶护盾
crystallize: { type: 'shield', num: () => 1, title: '结晶' },
// 剧变反应
burning: { type: 'fusion', num: () => 1, title: '燃烧' },
superConduct: { type: 'fusion', num: () => 2, title: '超导' },
@ -134,6 +136,100 @@ export const eleBaseDmg = {
90: 361.713
}
// 各等级结晶护盾基础吸收量
export const cryBaseDmg = {
1: 91.18,
2: 98.71,
3: 106.24,
4: 113.76,
5: 121.29,
6: 128.82,
7: 136.35,
8: 143.88,
9: 151.41,
10: 158.94,
11: 169.99,
12: 181.08,
13: 192.19,
14: 204.05,
15: 215.94,
16: 227.86,
17: 247.69,
18: 267.54,
19: 287.43,
20: 303.83,
21: 320.23,
22: 336.63,
23: 352.32,
24: 368.01,
25: 383.70,
26: 394.43,
27: 405.18,
28: 415.95,
29: 426.74,
30: 437.54,
31: 450.60,
32: 463.70,
33: 476.85,
34: 491.13,
35: 502.55,
36: 514.01,
37: 531.41,
38: 549.98,
39: 568.58,
40: 585.00,
41: 605.67,
42: 626.39,
43: 646.05,
44: 665.76,
45: 685.50,
46: 700.84,
47: 723.33,
48: 745.87,
49: 768.44,
50: 786.79,
51: 809.54,
52: 832.33,
53: 855.16,
54: 878.04,
55: 899.48,
56: 919.36,
57: 946.04,
58: 974.76,
59: 1003.58,
60: 1030.08,
61: 1056.64,
62: 1085.25,
63: 1113.92,
64: 1149.26,
65: 1178.06,
66: 1200.22,
67: 1227.66,
68: 1257.24,
69: 1284.92,
70: 1314.75,
71: 1342.67,
72: 1372.75,
73: 1396.32,
74: 1427.31,
75: 1458.37,
76: 1482.34,
77: 1511.91,
78: 1541.55,
79: 1569.15,
80: 1596.15,
81: 1622.42,
82: 1648.07,
83: 1666.38,
84: 1684.68,
85: 1702.98,
86: 1726.10,
87: 1754.67,
88: 1785.87,
89: 1817.14,
90: 1851.06
}
// 各等级击破基础伤害
export const breakBaseDmg = {
1: 54.00,

View File

@ -9,6 +9,8 @@ let DmgMastery = {
return 16 * mastery / (mastery + 2000)
} else if (typeCfg.type === 'bonus') {
return 5 * mastery / (mastery + 1200)
} else if (typeCfg.type === 'shield') {
return (40 / 9) * mastery / (mastery + 1400)
}
return 0
},

View File

@ -18,6 +18,9 @@ export const details = [{
},{
title: '支援炮击伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['支援炮击伤害'], 'q')
},{
title: '结晶护盾吸收量',
dmg: ({}, { reaction }) => reaction('crystallize')
}]
export const defDmgIdx = 3
@ -47,7 +50,7 @@ export const buffs = [{
title: '娜维娅2命施放典仪式晶火时消耗「裂晶弹片」使本次典仪式晶火的暴击率提升[eCpct]%',
cons: 2,
data: {
eCpct : ({ params }) => Math.min( 36 , params.jp * 12 )
eCpct : ({ params }) => Math.min( 36 , params.jp * 12 )
}
},{
title: '娜维娅4命被如霰澄天的鸣礼命中的敌人抗性降低[kx]%',
@ -61,7 +64,7 @@ export const buffs = [{
cons: 6,
data: {
_count: ({ params }) => params.jp ,
eCdmg : ({ params }) => Math.min( 135 , ( params.jp - 3 ) * 45 )
eCdmg : ({ params }) => Math.min( 135 , ( params.jp - 3 ) * 45 )
}
}]