新增刃伤害计算及评分规则 (#613)

* 新增刃伤害计算及评分规则

* 更新神子 托马 珐露珊 白术 赛诺 银狼 伤害计算
This commit is contained in:
Aluxes 2023-07-30 15:15:11 +08:00 committed by GitHub
parent 8e8a469b4f
commit c19c731ce7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 395 additions and 166 deletions

View File

@ -46,14 +46,14 @@ export default class ProfileDmg extends Base {
let talentData = profile.talent || {}
let detail = char.detail
let { isSr, isGs } = this
lodash.forEach((isSr ? 'a,e,q,t' : 'a,e,q').split(','), (key) => {
lodash.forEach((isSr ? 'a,a2,e,q,t' : 'a,e,q').split(','), (key) => {
let level = lodash.isNumber(talentData[key]) ? talentData[key] : (talentData[key]?.level || 1)
let map = {}
if (isGs && detail.talentData) {
lodash.forEach(detail.talentData[key], (ds, key) => {
map[key] = ds[level - 1]
})
} else if (isSr && detail.talent) {
} else if (isSr && detail.talent && detail.talent[key]) {
lodash.forEach(detail.talent[key].tables, (ds) => {
map[ds.name] = ds.values[level - 1]
})

View File

@ -3,6 +3,7 @@
* 如character/${name}/artis.js下有角色自定义规则优先使用自定义
*/
export const usefulAttr = {
:{ hp: 100, atk: 50, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 50, effPct: 0, effDef: 0, dmg: 100 },
罗刹: { hp: 0, atk: 100, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 100, recharge: 100, effPct: 0, effDef: 50, dmg: 100 },
银狼: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 75, effPct: 100, effDef: 0, dmg: 100 },
景元: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 50, effPct: 0, effDef: 0, dmg: 100 },

View File

@ -0,0 +1,98 @@
export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '强化普攻(单目标)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.a2['技能伤害·攻击倍率']
const td2 = talent.a2['技能伤害·生命倍率']
const atk = calc(attr.atk)
const hp = calc(attr.hp)
return basic(td1 * atk + td2 * hp, 'a')
}
}, {
title: '强化普攻(三目标)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.a2['技能伤害·攻击倍率'] + talent.a2['技能伤害·攻击倍率·相邻目标']*2
const td2 = talent.a2['技能伤害·生命倍率'] + talent.a2['技能伤害·生命倍率·相邻目标']*2
const atk = calc(attr.atk)
const hp = calc(attr.hp)
return basic( td1 * atk + td2 * hp, 'a')
}
}, {
title: '追加攻击',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.t['技能伤害·攻击倍率']
const td2 = talent.t['技能伤害·生命倍率']
const atk = calc(attr.atk)
const hp = calc(attr.hp)
return basic( td1 * atk + td2 * hp, 't')
}
}, {
title: '终结技伤害(单目标)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.q['技能伤害·攻击倍率']
const td2 = talent.q['技能伤害·生命倍率']
const td3 = talent.q['技能伤害·已损失生命值倍率']
const atk = calc(attr.atk)
const hp = calc(attr.hp)
return basic( td1 * atk + td2 * hp + td3 * hp * 0.9, 'q')
}
}, {
title: '终结技伤害(三目标)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.q['技能伤害·攻击倍率'] + talent.q['技能伤害·攻击倍率·相邻目标']*2
const td2 = talent.q['技能伤害·生命倍率'] + talent.q['技能伤害·生命倍率·相邻目标']*2
const td3 = talent.q['技能伤害·已损失生命值倍率'] + talent.q['技能伤害·已损失生命值倍率·相邻目标']*2
const atk = calc(attr.atk)
const hp = calc(attr.hp)
return basic( td1 * atk + td2 * hp + td3 * hp * 0.9, 'q')
}
}]
export const defDmgIdx = 1
export const mainAttr = 'hp,atk,cpct,cdmg,speed'
export const buffs = [{
check: ({ params }) => params.ebuff === true,
title:'地狱变:造成伤害提高[dmg]%',
data: {
dmg: ({ talent }) => talent.e['伤害提高'] * 100
}
}, {
title: '行迹-坏劫隳亡天赋释放的追加攻击伤害提高20%',
tree: 2,
data: {
tDmg: 20
}
}, {
title:'刃1命终结技对指定敌方单体造成伤害值提高[qPlus]',
cons: 1,
data: {
qPlus: ({ attr, calc }) => 1.5 * calc(attr.hp) * 0.9
}
}, {
check: ({ params }) => params.ebuff === true,
title:'刃2命处于【地狱变】状态时暴击率提高15%',
cons: 2,
data: {
cpct: 15
}
}, {
title:'刃4命生命值降低至小于等于50%时提高生命值上限满Buff下提高40%',
cons: 4,
data: {
hpPct: 40
}
}, {
title:'刃6命追加攻击造成的伤害值额外提高[tPlus]',
cons: 6,
data: {
tPlus: ({ attr, calc }) => calc(attr.hp) * 0.5
}
}]

View File

@ -75,7 +75,7 @@
"desc": "消耗等同于刃生命上限<nobr>30.0%</nobr>的生命值,进入【地狱变】状态。<br />处于【地狱变】状态时无法施放战技,同时使自身造成的伤害提高<nobr>$1[i]%</nobr>,普攻【支离剑】强化为【无间剑树】,持续<nobr>3</nobr>回合。<br />若当前生命值不足施放战技时刃的当前生命值降低至1点。<br />该战技无法恢复能量。施放该战技后,本回合不会结束。",
"tables": {
"1": {
"name": "TODO",
"name": "伤害提高",
"isSame": false,
"values": [
0.12,
@ -105,7 +105,7 @@
"desc": "将刃的当前生命值转化为生命上限的<nobr>50%</nobr>,并对敌方单体造成等同于刃<nobr>$1[i]%</nobr>攻击力+<nobr>$2[i]%</nobr>生命上限+<nobr>$3[i]%</nobr>本场战斗中累计已损失生命值的<span>风</span>属性伤害,同时对其相邻目标造成等同于刃<nobr>$4[f1]%</nobr>攻击力+<nobr>$5[i]%</nobr>生命上限+<nobr>$6[i]%</nobr>本场战斗中累计已损失生命值的<span>风</span>属性伤害。<br />本场战斗中累计已损失生命值最高不超过刃生命上限的<nobr>90.0%</nobr>,施放终结技后会清空并进行重新累计。",
"tables": {
"1": {
"name": "TODO",
"name": "技能伤害·攻击倍率",
"isSame": false,
"values": [
0.24,
@ -126,7 +126,7 @@
]
},
"2": {
"name": "TODO",
"name": "技能伤害·生命倍率",
"isSame": false,
"values": [
0.6,
@ -147,7 +147,7 @@
]
},
"3": {
"name": "TODO",
"name": "技能伤害·已损失生命值倍率",
"isSame": false,
"values": [
0.6,
@ -168,7 +168,7 @@
]
},
"4": {
"name": "TODO",
"name": "技能伤害·攻击倍率·相邻目标",
"isSame": false,
"values": [
0.096,
@ -189,7 +189,7 @@
]
},
"5": {
"name": "TODO",
"name": "技能伤害·生命倍率·相邻目标",
"isSame": false,
"values": [
0.24,
@ -210,7 +210,7 @@
]
},
"6": {
"name": "TODO",
"name": "技能伤害·已损失生命值倍率·相邻目标",
"isSame": false,
"values": [
0.24,
@ -240,7 +240,7 @@
"desc": "刃受到伤害或消耗生命值时获得1层充能最多叠加5层。该效果每次受到攻击最多叠加1层。<br />当充能叠加至上限时立即对敌方全体施放1次<u>追加攻击</u>,造成等同于刃<nobr>$1[i]%</nobr>攻击力+<nobr>$2[i]%</nobr>生命上限的<span>风</span>属性伤害并回复等同于刃生命上限<nobr>25.0%</nobr>的生命值,施放追加攻击后,消耗所有充能。",
"tables": {
"1": {
"name": "TODO",
"name": "技能伤害·攻击倍率",
"isSame": false,
"values": [
0.22,
@ -261,7 +261,7 @@
]
},
"2": {
"name": "TODO",
"name": "技能伤害·生命倍率",
"isSame": false,
"values": [
0.55,
@ -299,7 +299,7 @@
"desc": "消耗等同于刃生命上限<nobr>10.0%</nobr>的生命值,对指定敌方单体造成等同于刃<nobr>$1[i]%</nobr>攻击力+<nobr>$2[i]%</nobr>生命上限的<span>风</span>属性伤害,同时对其相邻目标造成等同于刃<nobr>$3[i]%</nobr>攻击力+<nobr>$4[i]%</nobr>生命上限的<span>风</span>属性伤害。<br />若当前生命值不足施放【无间剑树】时刃的当前生命值降低至1点。<br />【无间剑树】无法恢复战技点。",
"tables": {
"1": {
"name": "TODO",
"name": "技能伤害·攻击倍率",
"isSame": false,
"values": [
0.2,
@ -314,7 +314,7 @@
]
},
"2": {
"name": "TODO",
"name": "技能伤害·生命倍率",
"isSame": false,
"values": [
0.5,
@ -329,7 +329,7 @@
]
},
"3": {
"name": "TODO",
"name": "技能伤害·攻击倍率·相邻目标",
"isSame": false,
"values": [
0.08,
@ -344,7 +344,7 @@
]
},
"4": {
"name": "TODO",
"name": "技能伤害·生命倍率·相邻目标",
"isSame": false,
"values": [
0.2,

View File

@ -3,7 +3,7 @@ export const details = [{
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '战技伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['单体伤害'], 'e')
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: '终结技伤害',
dmg: ({ talent, cons }, dmg) => {
@ -22,7 +22,7 @@ export const buffs = [{
}, {
title: '银狼战技:添加弱点降低对方对应属性抗性[kx]%',
data: {
kx: ({ talent }) => talent.e['伤害抗性降低'] * 100
kx: 20
}
}, {
title: '银狼终结技:释放终结技降低敌方防御[enemyDef]%',

View File

@ -74,7 +74,7 @@
"desc": "有<nobr>$1[i]%</nobr>的<u>基础概率</u>为指定敌方单体目标添加1个场上我方目标持有属性的弱点且该弱点对应属性的抗性降低<nobr>20.0%</nobr>,持续<nobr>2</nobr>回合。若添加的是敌方目标原有属性的弱点,则不会触发对应属性的抗性降低效果。<br />单个敌方目标仅能被银狼添加1个弱点当银狼对其再次添加弱点时仅保留最新添加的弱点。<br />有<nobr>100.0%</nobr>的<u>基础概率</u>额外使该目标的全属性抗性降低<nobr>$2[f1]%</nobr>,持续<nobr>2</nobr>回合。<br />对该目标造成等同于银狼<nobr>$3[i]%</nobr>攻击力的<span>量子</span>属性伤害。",
"tables": {
"1": {
"name": "单体伤害",
"name": "基础概率",
"isSame": false,
"values": [
0.75,
@ -95,7 +95,7 @@
]
},
"2": {
"name": "基础概率",
"name": "全属性抗性降低",
"isSame": false,
"values": [
0.075,
@ -116,7 +116,7 @@
]
},
"3": {
"name": "伤害抗性降低",
"name": "技能伤害",
"isSame": false,
"values": [
0.98,

View File

@ -2,18 +2,33 @@ export const details = [{
check: ({ cons }) => cons < 2,
dmgKey: 'e',
title: '叄阶杀生樱伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
}, {
check: ({ cons }) => cons >= 2,
dmgKey: 'e',
title: '肆阶杀生樱伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
}, {
title: 'Q天狐霆雷伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['天狐霆雷伤害'], 'q')
check: ({ cons }) => cons < 2,
title: '叄阶杀生樱激化伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e', 'aggravate')
}, {
check: ({ cons }) => cons >= 2,
title: '肆阶杀生樱激化伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e', 'aggravate')
}, {
title: '四段Q总伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'] + talent.q['天狐霆雷伤害'] * 3, 'q')
}, {
title: '四段Q总激化伤害',
dmg: ({ talent }, dmg) => {
let q1j = dmg(talent.q['技能伤害'], 'q', '超激化')
let q2j = dmg(talent.q['天狐霆雷伤害'], 'q', '超激化')
return {
dmg: q1j.dmg + q2j.dmg * 3,
avg: q1j.avg + q2j.avg * 3
}
}
}]
export const mainAttr = 'atk,cpct,cdmg,mastery'

View File

@ -2,49 +2,70 @@ export const details = [{
check: ({ cons }) => cons < 2,
dmgKey: 'e',
title: '叄阶杀生樱伤害',
params: { team: false ,team2: false},
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
}, {
check: ({ cons }) => cons >= 2,
dmgKey: 'e',
title: '肆阶杀生樱伤害',
params: { team: false ,team2: false},
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
},{
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
}, {
check: ({ cons }) => cons < 2,
title: '叄阶杀生樱激化伤害',
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e', '超激化')
}, {
check: ({ cons }) => cons >= 2,
title: '肆阶杀生樱激化伤害',
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e', '超激化')
}, {
check: ({ cons }) => cons < 2,
dmgKey: 'e_t',
params: { team: true ,team2: false},
params: { team: true, team2: false },
title: '温三雷叄阶杀生樱伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e')
}, {
check: ({ cons }) => cons >= 2,
dmgKey: 'e_t',
params: { team: true ,team2: false},
params: { team: true, team2: false },
title: '温三雷肆阶杀生樱伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
}, {
title: 'Q天狐霆雷伤害',
params: { team: false ,team2: false},
dmg: ({ talent }, dmg) => dmg(talent.q['天狐霆雷伤害'], 'q')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e')
}, {
title: '四段Q总伤害',
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'] + talent.q['天狐霆雷伤害'] * 3, 'q')
}, {
title: '四段Q总激化伤害',
params: { team: false, team2: false },
dmg: ({ talent }, dmg) => {
let q1j = dmg(talent.q['技能伤害'], 'q', '超激化')
let q2j = dmg(talent.q['天狐霆雷伤害'], 'q', '超激化')
return {
dmg: q1j.dmg + q2j.dmg * 3,
avg: q1j.avg + q2j.avg * 3
}
}
}, {
title: '温三雷四段Q总伤害',
params: { team: true ,team2: false},
params: { team: true, team2: false },
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'] + talent.q['天狐霆雷伤害'] * 3, 'q')
},{
}, {
check: ({ cons }) => cons < 2,
dmgKey: 'e_j',
params: { team: false,team2: true },
params: { team: false, team2: true },
title: '提八纳万叄阶杀生樱激化伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e', '超激化')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·叁阶'], 'e', '超激化')
}, {
check: ({ cons }) => cons >= 2,
dmgKey: 'e_j',
params: { team: false,team2: true },
params: { team: false, team2: true },
title: '提八纳万肆阶杀生樱激化伤害',
dmg: ({ talent, attr }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e', '超激化')
dmg: ({ talent }, dmg) => dmg(talent.e['杀生樱伤害·肆阶'], 'e', '超激化')
}, {
title: '提八纳万四段Q总伤害',
params: { team: false,team2: true },
params: { team: false, team2: true },
dmg: ({ talent }, dmg) => {
let q1j = dmg(talent.q['技能伤害'], 'q', '超激化')
let q2j = dmg(talent.q['天狐霆雷伤害'], 'q', '超激化')
@ -59,10 +80,9 @@ export const mainAttr = 'atk,cpct,cdmg,mastery'
export const defDmgKey = 'e_j'
export const defParams = {
team:true,team2:true
team: true, team2: true
}
export const buffs = [{
check: ({ cons }) => cons >= 4,
title: '4命效果杀生樱命中敌人后提高雷伤[dmg]%',
@ -75,82 +95,94 @@ export const buffs = [{
data: {
eDef: 60
}
}, {check: ({ cons,params }) => (cons >= 6 && params.team === true),
title: '精5终末6命温迪增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
atkPct:40,
kx:60,
mastery:200
}
}, {check: ({ cons,params }) => (cons < 6 && cons >1 && params.team === true),
title: '精1终末0命温迪增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
atkPct:20,
kx:40,
mastery:100
}
}, {check: ({ params }) => params.team === true,
title: '天空宗室九条:增加[atkPlus]点攻击力,[atkPct]%攻击与[cdmg]%爆伤',
data: {
atkPlus: 794.2,
atkPct:20,
cdmg:60
}
}, {check: ({ cons,params }) => (cons >= 2&&cons < 6&& params.team2 === true),
title: '精1千夜纳西妲提纳里增加精通[mastery](包括双草),减防[enemyDef]%',
data: {
mastery: 140,
enemyDef: 30,
}
}, {check: ({ cons,params }) => (cons >= 6&& params.team2 === true),
title: '精5千夜纳西妲提纳里增加精通[mastery](包括双草),减防[enemyDef](折合效果)%',
data: {
mastery: 268,
enemyDef: 12,
}
}, {check: ({ cons,params }) => (cons < 2&& params.team2 === true),
title: '精1千夜草套纳西妲提纳里增加精通[mastery](包括双草)',
data: {
mastery: 140
}
}, {check: ({ cons,params }) => cons <= 1 && params.team2 === true,
title: '精1苍古0命万叶获得[dmg]%增伤(苍古普攻16增伤),增加[atkPct]%攻击,减抗[kx]%',
data: {
aDmg:16,
a2Dmg:16,
a3Dmg:16,
dmg: 40,
atkPct:20,
kx:40,
}
}, {check: ({ cons,params }) => ((cons < 6 && cons >1) && params.team2 === true),
title: '精1苍古2命万叶获得[dmg]%增伤(苍古普攻16增伤),增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
aDmg:16,
a2Dmg:16,
a3Dmg:16,
dmg: 48,
atkPct:20,
kx:40,
}
}, {check: ({ cons,params }) => (cons >= 6 && params.team2 === true),
title: '精5苍古6命万叶获得[dmg]%增伤(苍古普攻32增伤),增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
aDmg:32,
a2Dmg:32,
a3Dmg:32,
dmg: 48,
atkPct:40,
kx:40,
}
},{
}, {
check: ({ cons, params }) => (cons >= 6 && params.team === true),
title: '精5终末6命温迪增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
atkPct: 40,
kx: 60,
mastery: 200
}
}, {
check: ({ cons, params }) => (cons < 6 && cons > 1 && params.team === true),
title: '精1终末0命温迪增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
atkPct: 20,
kx: 40,
mastery: 100
}
}, {
check: ({ params }) => params.team === true,
title: '天空宗室九条:增加[atkPlus]点攻击力,[atkPct]%攻击与[cdmg]%爆伤',
data: {
atkPlus: 794.2,
atkPct: 20,
cdmg: 60
}
}, {
check: ({ cons, params }) => (cons >= 2 && cons < 6 && params.team2 === true),
title: '精1千夜纳西妲提纳里增加精通[mastery](包括双草),减防[enemyDef]%',
data: {
mastery: 140,
enemyDef: 30
}
}, {
check: ({ cons, params }) => (cons >= 6 && params.team2 === true),
title: '精5千夜纳西妲提纳里增加精通[mastery](包括双草),减防[enemyDef](折合效果)%',
data: {
mastery: 268,
enemyDef: 12
}
}, {
check: ({ cons, params }) => (cons < 2 && params.team2 === true),
title: '精1千夜草套纳西妲提纳里增加精通[mastery](包括双草)',
data: {
mastery: 140
}
}, {
check: ({ cons, params }) => cons <= 1 && params.team2 === true,
title: '精1苍古0命万叶获得[dmg]%增伤(苍古普攻16增伤),增加[atkPct]%攻击,减抗[kx]%',
data: {
aDmg: 16,
a2Dmg: 16,
a3Dmg: 16,
dmg: 40,
atkPct: 20,
kx: 40
}
}, {
check: ({ cons, params }) => ((cons < 6 && cons > 1) && params.team2 === true),
title: '精1苍古2命万叶获得[dmg]%增伤(苍古普攻16增伤),增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
aDmg: 16,
a2Dmg: 16,
a3Dmg: 16,
dmg: 48,
atkPct: 20,
kx: 40,
mastery: 200
}
}, {
check: ({ cons, params }) => (cons >= 6 && params.team2 === true),
title: '精5苍古6命万叶获得[dmg]%增伤(苍古普攻32增伤),增加[atkPct]%攻击,减抗[kx]%,精通[mastery]',
data: {
aDmg: 32,
a2Dmg: 32,
a3Dmg: 32,
dmg: 48,
atkPct: 40,
kx: 40,
mastery: 200
}
}, {
title: '被动天赋:基于元素精通提高杀生樱伤害[eDmg]%',
data: {
eDmg: ({ attr, calc }) => calc(attr.mastery) * 0.15
}
}, {check: ({ params }) => params.team === true,
title: '恶曜开眼开E元素爆发伤害提升[qDmg]%',
data: {
qDmg: 27
}
}]
}, {
check: ({ params }) => params.team === true,
title: '恶曜开眼开E元素爆发伤害提升[qDmg]%',
data: {
qDmg: 27
}
}]

View File

@ -20,7 +20,7 @@ export const buffs = [{
shieldPlus: ({ params }) => params.e ? 25 : 0
}
}, {
title: '托马被动Q每段伤害提高[ePlus]',
title: '托马被动Q每段伤害提高[qPlus]',
data: {
qPlus: ({ calc, attr }) => calc(attr.hp) * 0.022
}

View File

@ -8,6 +8,13 @@ export const details = [{
}, {
title: 'E减抗后Q伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
check: ({ cons }) => cons >= 6,
title: '开Q后E后台伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['风压坍陷风涡伤害'], 'e')
}, {
title: '开Q后飓烈箭伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['满蓄力瞄准射击'], 'a2')
}]
export const defDmgIdx = 1
@ -22,7 +29,7 @@ export const buffs = [{
}, {
title: '诡风之祸:降低敌人风抗[kx]%',
data: {
kx: ({ talent }) => talent.q['风元素抗性降低']
kx: 30
}
}, {
title: '祈风之赐:获得风伤加成[dmg]%',

View File

@ -12,8 +12,36 @@ export const details = [{
}, {
title: 'Q每跳护盾吸收量',
dmg: ({ talent, calc, attr }, { shield }) => shield(talent.q['无郤气护盾吸收量2'][0] * calc(attr.hp) / 100 + talent.q['无郤气护盾吸收量2'][1])
}, {
check: ({ cons }) => cons < 6,
title: 'Q每跳伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['灵气脉技能伤害'], 'q')
}, {
check: ({ cons }) => cons >= 6,
title: 'Q每跳伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['灵气脉技能伤害'], 'q')
}, {
check: ({ cons }) => cons < 6,
title: 'Q每跳激化伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['灵气脉技能伤害'], 'q', 'spread')
}, {
check: ({ cons }) => cons >= 6,
title: 'Q每跳激化伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['灵气脉技能伤害'], 'q', 'spread')
}]
export const mainAttr = 'atk,hp,cpct,cdmg'
export const buffs = []
export const buffs = [{
cons: 4,
title: '白术4命释放Q之后队伍中附近所有角色元素精通提升80点',
data: {
mastery: 80
}
}, {
cons: 6,
title: '白术6命基于生命值上限的8%,灵气脉造成的伤害提高[qPlus]',
data: {
qPlus: ({ attr, calc }) => calc(attr.hp) * 0.08
}
}]

View File

@ -1,60 +1,108 @@
/*
* q: 1 - Q状态a伤害
* q: 2 - Q状态E伤害
* q: 3 - Q状态冥祭
* q: 4 - Q状态炮弹
* */
let eDmg = false
let eAggrDmg = false
let eAllDmg = false
let ePlusDmg = false
let ePlusAggrDmg = false
export const details = [{
title: 'Q状态普攻首段',
params: { q: 1 },
title: 'Q状态·普攻首段',
dmg: ({ talent }, dmg) => dmg(talent.q['一段伤害'], 'a')
}, {
title: 'Q状态 E伤害',
params: { q: 2 },
title: 'Q状态·E伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['冥祭伤害'], 'e')
}, {
title: 'Q+末途真眼 E伤害',
params: { q: 3 },
dmg: ({ talent }, dmg) => dmg(talent.e['冥祭伤害'], 'e')
}, {
title: 'Q后强化E·超激化',
params: { q: 3 },
dmg: ({ talent }, dmg) => dmg(talent.e['冥祭伤害'], 'e', '超激化')
}/*, {
title: 'Q+末途真眼 渡荒之雷',
params: { q: 4 },
dmg: ({ talent }, dmg) => dmg(100, 'e')
}*/]
export const defDmgIdx = 3
export const mainAttr = 'atk,cpct,cdmg,mastery'
export const defParams = { q: 3 }
export const buffs = [{
title: '赛诺QQ状态下提升元素精通100点',
data: {
mastery: ({ params }) => params.q ? 100 : 0
title: 'Q状态·强化E伤害',
params: { showEBuff: true, eBuff: true },
dmg: ({ talent }, dmg) => {
eDmg = dmg(talent.e['冥祭伤害'], 'e')
eAggrDmg = dmg(talent.e['冥祭伤害'], 'e', 'aggravate')
return eDmg
}
}, {
// 普攻提升雷伤
title: '赛诺2命普攻提高雷伤5层增加50%',
title: 'Q状态·QTE总伤害',
params: { showEBuff: true },
dmg: ({ attr, calc }, { basic }) => {
const em = calc(attr.mastery)
const atk = calc(attr.atk)
const ePlustd = 1.00 * atk + em * 2.5
ePlusDmg = basic(ePlustd, 'e')
return {
dmg: eDmg.dmg + ePlusDmg.dmg * 3,
avg: eDmg.avg + ePlusDmg.avg * 3
}
}
}, {
title: 'Q状态·QTE超激化总伤害',
params: { showEBuff: true },
dmg: ({ attr, calc }, { basic }) => {
const em = calc(attr.mastery)
const atk = calc(attr.atk)
const ePlustd = 1.00 * atk + em * 2.5
ePlusAggrDmg = basic(ePlustd, 'e', 'aggravate')
eAllDmg = {
dmg: eAggrDmg.dmg + ePlusAggrDmg.dmg + ePlusDmg.dmg * 2,
avg: eAggrDmg.avg + ePlusAggrDmg.avg + ePlusDmg.avg * 2
}
return eAllDmg
}
}, {
check: ({ cons }) => cons < 6,
title: 'Q状态·一轮普攻5A+QTE超激化总伤害',
params: { showEBuff: true },
dmg: ({ talent }, dmg) => {
let a1Aggrdmg = dmg(talent.q['一段伤害'], 'a', 'aggravate')
let a2dmg = dmg(talent.q['二段伤害'], 'a')
let a3dmg = dmg(talent.q['三段伤害'], 'a')
let a4Aggrdmg = dmg(talent.q['四段伤害2'][0], 'a', 'aggravate')
let a4dmg = dmg(talent.q['四段伤害2'][1], 'a')
let a5dmg = dmg(talent.q['五段伤害'], 'a')
return {
dmg: eAllDmg.dmg + a1Aggrdmg.dmg + a2dmg.dmg + a3dmg.dmg + a4Aggrdmg.dmg + a4dmg.dmg + a5dmg.dmg,
avg: eAllDmg.avg + a1Aggrdmg.avg + a2dmg.avg + a3dmg.avg + a4Aggrdmg.avg + a4dmg.avg + a5dmg.avg
}
}
}, {
check: ({ cons }) => cons >= 6,
title: 'Q状态·一轮普攻5A+QTE超激化总伤害消耗4层豺祭',
params: { showEBuff: true },
dmg: ({ talent }, dmg) => {
let a1Aggrdmg = dmg(talent.q['一段伤害'], 'a', 'aggravate')
let a2dmg = dmg(talent.q['二段伤害'], 'a')
let a3dmg = dmg(talent.q['三段伤害'], 'a')
let a4Aggrdmg = dmg(talent.q['四段伤害2'][0], 'a', 'aggravate')
let a4dmg = dmg(talent.q['四段伤害2'][1], 'a')
let a5dmg = dmg(talent.q['五段伤害'], 'a')
return {
dmg: eAllDmg.dmg + a1Aggrdmg.dmg + a2dmg.dmg + a3dmg.dmg + a4Aggrdmg.dmg + a4dmg.dmg + a5dmg.dmg + ePlusDmg.dmg * 3 + ePlusAggrDmg.dmg,
avg: eAllDmg.avg + a1Aggrdmg.avg + a2dmg.avg + a3dmg.avg + a4Aggrdmg.avg + a4dmg.avg + a5dmg.avg + ePlusDmg.avg * 3 + ePlusAggrDmg.avg
}
}
}]
export const defDmgIdx = 5
export const mainAttr = 'atk,cpct,cdmg,mastery'
export const buffs = [{
title: '圣仪·煟煌随狼行Q状态下提升元素精通100点',
data: {
mastery: 100
}
}, {
title: '赛诺2命普攻后提高雷伤满5层Buff增加50%雷元素伤害',
cons: 2,
data: {
dmg: 50
}
}, {
title: '赛诺被动末途真眼状态提升E 35%伤害发射渡荒之雷造成100%攻击力伤害',
check: ({ params }) => params.showEBuff === true,
title: '赛诺被动末途真眼状态提升秘仪·律渊渡魂35%伤害发射渡荒之雷造成100%攻击力伤害',
data: {
eDmg: ({ params }) => [3, 4].includes(params.q) ? 35 : 0
eDmg: ({ params }) => params.eBuff ? 35 : 0
}
}, {
title: '赛诺被动:基于元素精通提升普攻[_aPlus]点伤害值,渡荒之雷提升[_ePlus]伤害值',
title: '赛诺被动:基于元素精通提升普攻[aPlus]点伤害值,渡荒之雷提升[_ePlus]伤害值',
data: {
aPlus: ({ attr, calc, params }) => params.q === 1 ? calc(attr.mastery) * 1.5 : 0,
_aPlus: ({ attr, calc, params }) => calc(attr.mastery) * 1.5,
ePlus: ({ attr, calc, params }) => params.q === 4 ? calc(attr.mastery) / 2.5 : 0,
_ePlus: ({ attr, calc, params }) => calc(attr.mastery) / 2.5
aPlus: ({ attr, calc }) => calc(attr.mastery) * 1.5,
_ePlus: ({ attr, calc }) => calc(attr.mastery) * 2.5
}
}/*, 'aggravate'*/]
}]