diff --git a/models/dmg/DmgAttr.js b/models/dmg/DmgAttr.js index c4bb24d6..f4bb0672 100644 --- a/models/dmg/DmgAttr.js +++ b/models/dmg/DmgAttr.js @@ -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 } diff --git a/models/dmg/DmgCalc.js b/models/dmg/DmgCalc.js index e5670113..64d38daf 100644 --- a/models/dmg/DmgCalc.js +++ b/models/dmg/DmgCalc.js @@ -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] diff --git a/models/dmg/DmgCalcMeta.js b/models/dmg/DmgCalcMeta.js index d9b06630..aa3f070d 100644 --- a/models/dmg/DmgCalcMeta.js +++ b/models/dmg/DmgCalcMeta.js @@ -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, diff --git a/models/dmg/DmgMastery.js b/models/dmg/DmgMastery.js index 0c511b5b..06eac184 100644 --- a/models/dmg/DmgMastery.js +++ b/models/dmg/DmgMastery.js @@ -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 }, diff --git a/resources/meta-gs/character/娜维娅/calc.js b/resources/meta-gs/character/娜维娅/calc.js index f0cce898..ebec8d44 100644 --- a/resources/meta-gs/character/娜维娅/calc.js +++ b/resources/meta-gs/character/娜维娅/calc.js @@ -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 ) } }]