fix: 伤害计算Bug

This commit is contained in:
Aluxes 2024-04-30 20:10:36 +08:00
parent 22020900fd
commit 66b26d58b2
No known key found for this signature in database
GPG Key ID: 6696152F9C003087
14 changed files with 115 additions and 90 deletions

View File

@ -82,13 +82,13 @@ export async function AbyssSummary (e) {
msg.push({
title: '少于',
value: (Math.max(0.1, 100 - percent * 100)).toFixed(1),
name: name
name
})
} else {
msg.push({
title: '超过',
value: (Math.min(99.9, percent * 100)).toFixed(1),
name: name
name
})
}
}

View File

@ -83,5 +83,5 @@ export const usefulAttr = {
闲云: { hp: 0, atk: 100, def: 0, cpct: 100, cdmg: 100, mastery: 0, dmg: 100, phy: 0, recharge: 75, heal: 100 },
嘉明: { hp: 0, atk: 75, def: 0, cpct: 100, cdmg: 100, mastery: 75, dmg: 100, phy: 0, recharge: 55, heal: 0 },
千织: { hp: 0, atk: 50, def: 75, cpct: 100, cdmg: 100, mastery: 0, dmg: 100, phy: 0, recharge: 55, heal: 0 },
阿蕾奇诺: { hp: 0, atk: 75, def: 0, cpct: 100, cdmg: 100, mastery: 75, dmg: 100, phy: 0, recharge: 35, heal: 0 }
阿蕾奇诺: { hp: 0, atk: 75, def: 0, cpct: 100, cdmg: 100, mastery: 75, dmg: 100, phy: 0, recharge: 55, heal: 0 }
}

View File

@ -357,7 +357,7 @@ const buffs = {
title: '触发提高普攻[aPlus]伤害',
sort: 9,
data: {
aPlus: ({ attr }) => (attr.atk.base + attr.atk.plus + attr.atk.pct * attr.atk.base / 100) * 0.35
aPlus: ({ attr }) => attr.atk * 0.35
}
}
},

View File

@ -1433,7 +1433,7 @@
"10000096": {
"id": 10000096,
"name": "阿蕾奇诺",
"abbr": "阿蕾奇诺",
"abbr": "仆人",
"star": 5,
"elem": "pyro",
"weapon": "polearm",

View File

@ -1,14 +1,14 @@
export const details = [{
title: 'Q提供普攻基础伤害',
dmg: ({ talent, attr, calc }) => {
dmg: ({ talent, attr }) => {
return {
avg: (talent.q['伤害值提升'] / 100 + 0.115) * calc(attr.def)
avg: (talent.q['伤害值提升'] / 100 + 0.115) * attr.def
}
}
}, {
title: '二段蓄力E伤害',
dmg: ({ talent, attr, calc }, { basic }) => {
let ret = talent.e['二段蓄力伤害'] * calc(attr.def) / 100 + (attr.e.plus || 0)
dmg: ({ talent, attr }, { basic }) => {
let ret = talent.e['二段蓄力伤害'] / 100 * attr.def
return basic(ret, 'e')
}
}]
@ -19,8 +19,8 @@ export const buffs = [{
title: '云堇被动队伍存在4元素类型角色时Q提供的普攻伤害提高[_q]',
sort: 9,
data: {
_q: ({ attr, calc }) => {
return calc(attr.def) * 0.115
_q: ({ attr }) => {
return attr.def * 0.115
}
}
}]

View File

@ -3,20 +3,20 @@ export const details = [{
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: '三岩Q伤害',
dmg: ({ talent, attr, calc }, { basic }) => {
let ret = talent.q['技能伤害'] * calc(attr.def) / 100 + attr.q.plus * 1
dmg: ({ talent, attr }, { basic }) => {
let ret = talent.q['技能伤害'] / 100 * attr.def
return basic(ret, 'q')
}
}, {
title: '三岩Q每跳伤害',
dmg: ({ talent, attr, calc }, { basic }) => {
let ret = talent.q['岩晶崩破伤害'] * calc(attr.def) / 100 + attr.q.plus * 1
dmg: ({ talent, attr }, { basic }) => {
let ret = talent.q['岩晶崩破伤害'] / 100 * attr.def
return basic(ret, 'q')
}
}, {
title: 'Q每跳治疗',
cons: 4,
dmg: ({ attr, calc }, { heal }) => heal(0.5 * calc(attr.def))
dmg: ({ attr }, { heal }) => heal(0.5 * attr.def)
}]
export const mainAttr = 'atk,def,cpct,cdmg'
@ -27,6 +27,13 @@ export const buffs = [{
defPlus: ({ talent }) => talent.e['防御力提升'] * 1,
dmg: 15
}
}, {
title: '天赋-报恩之守基于防御力提高E伤害[ePlus]提高Q伤害[qPlus]',
sort: 9,
data: {
ePlus: ({ attr }) => 1.56 * attr.def,
qPlus: ({ attr }) => 0.156 * attr.def
}
}, {
title: '五郎被动释放E后防御力提高25%',
data: {

View File

@ -1,3 +1,5 @@
import { Format } from '#miao'
export const details = [{
title: 'E伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['基础伤害'], 'e')
@ -8,6 +10,21 @@ export const details = [{
title: 'Q每跳伤害',
params: { q: true },
dmg: ({ talent }, dmg) => dmg(talent.q['闪雷伤害'], 'q')
}, {
title: 'E弹反护盾量',
dmg: ({ talent, attr }, { shield }) => shield(talent.e['护盾吸收量2'][0] / 100 * attr.hp + talent.e['护盾吸收量2'][1])
}, {
title: 'Q护盾量',
check: ({ cons }) => cons >= 1,
dmg: ({ attr }, { shield }) => shield(0.16 * attr.hp)
}, {
title: 'Q伤害减免',
dmg: ({ talent }) => {
return {
avg: Format.percent(talent.q['伤害减免'] / 100),
type: 'text'
}
}
}]
export const mainAttr = 'atk,cpct,cdmg'

View File

@ -11,10 +11,11 @@ export const details = [{
dmg: ({ talent, calc, attr, cons }, { basic }) => {
let pct = talent.e['剑舞步/旋舞步一段伤害2'][0] * 1 + talent.e['剑舞步/旋舞步二段伤害2'][0] * 1
let ret1 = basic(calc(attr.hp) * pct / 100, 'e')
let dynamicDmg = 0
if (cons >= 1) {
attr.e.dmg += 65
dynamicDmg = 65
}
let ret2 = basic(calc(attr.hp) * talent.e['水月/水轮伤害2'][0] / 100, 'e')
let ret2 = basic(calc(attr.hp) * talent.e['水月/水轮伤害2'][0] / 100, 'e', false, { dynamicDmg })
return {
dmg: ret1.dmg + ret2.dmg,
avg: ret2.avg + ret2.avg

View File

@ -15,10 +15,11 @@ export const details = [{
dmg: ({ talent, calc, attr, cons }, { basic }) => {
let pct = talent.e['剑舞步/旋舞步一段伤害2'][0] * 1 + talent.e['剑舞步/旋舞步二段伤害2'][0] * 1
let ret1 = basic(calc(attr.hp) * pct / 100, 'e')
let dynamicDmg = 0
if (cons >= 1) {
attr.e.dmg += 65
dynamicDmg = 65
}
let ret2 = basic(calc(attr.hp) * talent.e['水月/水轮伤害2'][0] / 100, 'e')
let ret2 = basic(calc(attr.hp) * talent.e['水月/水轮伤害2'][0] / 100, 'e', false, { dynamicDmg })
return {
dmg: ret1.dmg + ret2.dmg,
avg: ret2.avg + ret2.avg

View File

@ -16,8 +16,8 @@ export const buffs = [{
title: '蝶引来生开E获得[atkPlus]点攻击力加成',
sort: 9,
data: {
atkPlus: ({ talent, attr, calc }) => {
return Math.min(talent.e['攻击力提高'] * calc(attr.hp) / 100, attr.atk.base * 4)
atkPlus: ({ talent, attr }) => {
return Math.min(talent.e['攻击力提高'] * attr.hp / 100, attr.atk.base * 4)
}
}
}, {

View File

@ -37,8 +37,8 @@ export const details = [{
title: '蝶引来生开E获得[atkPlus]点攻击力加成',
sort: 9,
data: {
atkPlus: ({ talent, attr, calc }) => {
return Math.min(talent.e['攻击力提高'] * calc(attr.hp) / 100, attr.atk.base * 4)
atkPlus: ({ talent, attr }) => {
return Math.min(talent.e['攻击力提高'] * attr.hp / 100, attr.atk.base * 4)
}
}
}, {
@ -59,4 +59,3 @@ export const details = [{
kx: 20
}
}, 'vaporize']

View File

@ -1,7 +1,7 @@
{
"id": 10000096,
"name": "阿蕾奇诺",
"abbr": "阿蕾奇诺",
"abbr": "仆人",
"title": "孤暝厄月",
"star": 5,
"elem": "pyro",
@ -429,8 +429,8 @@
"name": "厄月将升",
"desc": [
"阿蕾奇诺振舞厄月血火之翼,回收并清除周围的血偿勒令,造成火元素范围伤害,并在此后清除元素战技「万相化灰」的冷却时间及为自己恢复生命值,回复量基于她的生命之契数值与攻击力。",
"<i>就提瓦特常识来说,满月以外的月相皆是仅炼金术与占星术会用到的厄运隐喻。",
"她梦中曾数次梦见的这一轮赤色之月,是噩兆吗?是,不过悲惨命运是属于激怒她的那些人的。</i>"
"<i>就提瓦特常识来说,满月以外的月相皆是仅炼金术与占星术会用到的厄运隐喻。</i>",
"<i>她梦中曾数次梦见的这一轮赤色之月,是噩兆吗?是,不过悲惨命运是属于激怒她的那些人的。</i>"
],
"tables": [
{

View File

@ -5,7 +5,7 @@ export const details = [{
}, {
title: 'E刹那之花伤害',
dmg: ({ talent, attr }, { basic }) => {
let ret = talent.e['刹那之花伤害'] * attr.def / 100 + attr.e.plus
let ret = talent.e['刹那之花伤害'] * attr.def / 100
return basic(ret, 'e')
}
}, {
@ -14,7 +14,7 @@ export const details = [{
half: true
},
dmg: ({ talent, attr }, { basic }) => {
let ret = talent.e['刹那之花伤害'] * attr.def / 100 + attr.e.plus
let ret = talent.e['刹那之花伤害'] * attr.def / 100
return basic(ret, 'e')
}
}, {

View File

@ -4,7 +4,7 @@ export default function (step, staticStep) {
title: '元素战技造成的伤害值提高[ePlus]',
sort: 9,
data: {
ePlus: ({ attr, calc, refine }) => calc(attr.def) * step(40)[refine] / 100
ePlus: ({ attr, refine }) => attr.def * step(40)[refine] / 100
}
},
腐殖之剑: {