新增饮月 希露瓦 桑博 艾丝妲 伤害计算 (#637)

* 新增饮月 希露瓦 桑博 艾丝妲 伤害计算

* fix: arg name
This commit is contained in:
Aluxes 2023-09-06 17:29:48 +08:00 committed by GitHub
parent d110a8c8b5
commit 986cc67993
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 350 additions and 51 deletions

View File

@ -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) {

View File

@ -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) => {

View File

@ -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) {

View 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
}
}]

View File

@ -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
]
}
}

View File

@ -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
}
}]

View File

@ -25,12 +25,6 @@ export const buffs = [{
data: {
dmg: 15
}
}, {
title: '希儿2命释放战技后2层Buff速度提高50%',
cons: 2,
data: {
speedPct: 50
}
}, {
title: '行迹-灼热战技对灼烧状态下的敌方目标造成的伤害提高20%',
tree: 2,

View 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
}
}]

View 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
}]

View File

@ -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
}
}]

View 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
}
}]

View File

@ -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
}
}