更新星铁1.4角色与武器计算

This commit is contained in:
Aluxes 2023-10-11 02:49:38 +08:00
parent e57e8c85df
commit 61b5d16453
17 changed files with 272 additions and 32 deletions

View File

@ -13,7 +13,8 @@ let DmgCalc = {
basicNum, // 基础数值
mode, // 模式
dynamicDmg = 0, // 动态增伤
dynamicCdmg = 0 // 动态暴击伤害
dynamicCdmg = 0, // 动态暴击伤害
dynamicEnemyDmg = 0 // 动态易伤
} = fnArgs
let {
ds, // 数据集
@ -43,7 +44,7 @@ let DmgCalc = {
// 易伤区
let enemyDmgNum = 1
if (game === 'sr') {
enemyDmgNum = 1 + enemyDmg.base / 100 + enemyDmg.plus / 100
enemyDmgNum = 1 + enemyDmg.base / 100 + enemyDmg.plus / 100 + dynamicEnemyDmg / 100
}
let cpctNum = cpct.base / 100 + cpct.plus / 100

View File

@ -3,9 +3,13 @@
* 如character/${name}/artis.js下有角色自定义规则优先使用自定义
*/
export const usefulAttr = {
桂乃芬: { hp: 0, atk: 100, def: 0, speed: 100, cpct: 0, cdmg: 0, stance: 50, heal: 0, recharge: 50, effPct: 75, 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 },
镜流: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 50, effPct: 0, effDef: 0, dmg: 100 },
玲可: { hp: 100, atk: 0, def: 50, speed: 100, cpct: 0, cdmg: 0, stance: 0, heal: 100, recharge: 75, effPct: 0, effDef: 50, dmg: 0 },
符玄: { hp: 100, atk: 0, def: 50, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 50, effPct: 0, effDef: 50, 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 },
卢卡: { hp: 0, atk: 100, def: 0, speed: 100, cpct: 0, cdmg: 0, stance: 75, heal: 0, recharge: 50, effPct: 75, effDef: 0, dmg: 100 },
卡芙卡: { hp: 0, atk: 100, def: 0, speed: 100, cpct: 0, cdmg: 0, stance: 50, heal: 0, recharge: 50, effPct: 75, effDef: 0, dmg: 100 },
: { 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 },

View File

@ -154,7 +154,7 @@ export default {
},
data: {
qDmg: 15,
a3Dmg: 15
tDmg: 15
}
}]
},

View File

@ -505,7 +505,7 @@
"id": 1112,
"key": "topaz",
"name": "托帕&账账",
"abbr": "托帕&账账",
"abbr": "托帕",
"star": 5,
"elem": "火",
"weapon": "巡猎",

View File

@ -26,7 +26,8 @@ let alias = {
阿兰: '',
青雀: '赌神,赌圣,青鹊',
黑塔: '转圈圈',
'丹恒•饮月': '丹恒·饮月,饮月君,饮月,丹恒饮月,龙尊'
'丹恒•饮月': '丹恒·饮月,饮月君,饮月,丹恒饮月,龙尊',
'托帕&账账': '托帕,账账'
}
let aliasMap = {}

View File

@ -9,14 +9,14 @@ export const details = [{
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'] * 2, 'e')
}, {
title: '反击伤害',
dmg: ({ talent }, dmg) => dmg(talent.e['反击伤害'], 'e')
dmg: ({ talent }, dmg) => dmg(talent.t['反击伤害'], 't')
}, {
title: '强化反击伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['伤害倍率提高'] + talent.t['反击伤害'], 't')
}]
export const defDmgIdx = 4
export const mainAttr = 'atk,cpct,cdmg,speed'
export const mainAttr = 'atk,cpct,cdmg'
export const buffs = [{
title: '克拉拉2命施放终结技后攻击力提高30%',

View File

@ -2,7 +2,7 @@ export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '强化普攻(单体)',
title: '强化普攻(单体)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.a2['攻击倍率']
@ -12,7 +12,7 @@ export const details = [{
return basic(td1 * atk + td2 * hp, 'a')
}
}, {
title: '强化普攻(扩散)',
title: '强化普攻(扩散)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.a2['攻击倍率'] + talent.a2['攻击倍率·相邻目标'] * 2
@ -32,7 +32,7 @@ export const details = [{
return basic(td1 * atk + td2 * hp, 't')
}
}, {
title: '终结技伤害(单体',
title: '终结技伤害(单体)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.q['攻击倍率']
@ -43,7 +43,7 @@ export const details = [{
return basic(td1 * atk + td2 * hp + td3 * hp * 0.9, 'q')
}
}, {
title: '终结技伤害(扩散',
title: '终结技伤害(扩散)',
params: { ebuff: true },
dmg: ({ talent, attr, calc }, { basic }) => {
const td1 = talent.q['攻击倍率'] + talent.q['攻击倍率·相邻目标'] * 2

View File

@ -0,0 +1,59 @@
export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 't')
}, {
title: '战技伤害(负债标记)',
params: { debt: true },
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 't')
}, {
title: '战技伤害(负债+强化)',
params: { debt: true, qBuff: true },
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'] + talent.q['伤害倍率提高'], 't')
}, {
title: '账账伤害(负债标记)',
params: { debt: true },
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'], 't')
}, {
title: '账账伤害(负债+强化)',
params: { debt: true, qBuff: true },
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'] + talent.q['伤害倍率提高'], 't')
}]
export const defDmgIdx = 4
export const mainAttr = 'atk,cpct,cdmg'
export const buffs = [{
title: '负债证明:处于该状态的敌人受到的追加攻击伤害提高[tDmg]%',
check: ({ params }) => params.debt === true,
data: {
tDmg: ({ talent }) => talent.e['追加攻击伤害提高'] * 100
}
}, {
title: '涨幅惊人:账账的伤害倍率提高[_pct]%,暴击伤害提高[cdmg]%',
check: ({ params }) => params.qBuff === true,
data: {
_pct: ({ talent }) => talent.q['伤害倍率提高'] * 100,
cdmg: ({ talent }) => talent.q['暴击伤害提高'] * 100
}
}, {
title: '行迹-金融动荡:托帕和账账对拥有火属性弱点的敌人造成的伤害提高[dmg]%',
tree: 2,
data: {
dmg: 15
}
}, {
title: '行迹-透支:托帕的普攻视为追加攻击',
tree: 1
}, {
title: '托帕1命【被执行】状态的目标受到的追加攻击的暴击伤害提高[cdmg]%',
cons: 1,
data: {
cdmg: 25
}
}, {
title: '托帕6命账账攻击时火属性抗性穿透提高[kx]%',
cons: 6,
data: {
kx: 10
}
}]

View File

@ -2,8 +2,7 @@
"id": 1112,
"key": "topaz",
"name": "托帕&账账",
"name2": "托帕&账账",
"abbr": "托帕&账账",
"abbr": "托帕",
"star": 5,
"elem": "火",
"allegiance": "星际和平公司",

View File

@ -9,10 +9,27 @@ export const details = [{
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
title: '10层神君单体伤害',
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'] * 10, 'a3')
check: ({ cons }) => cons < 6,
dmgKey: 't',
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'] * 10, 't')
}, {
title: '10层神君单体伤害',
check: ({ cons }) => cons >= 6,
dmgKey: 't',
dmg: ({ talent }, dmg) => {
const dynamicEnemyDmg = 12
let t1dmg = dmg(talent.t['技能伤害'], 't')
let t2dmg = dmg(talent.t['技能伤害'], 't', { dynamicEnemyDmg })
let t3dmg = dmg(talent.t['技能伤害'], 't', { dynamicEnemyDmg: dynamicEnemyDmg * 2 })
let t4dmg = dmg(talent.t['技能伤害'], 't', { dynamicEnemyDmg: dynamicEnemyDmg * 3 })
return {
dmg: t1dmg.dmg + t2dmg.dmg + t3dmg.dmg + t4dmg.dmg * 7,
avg: t1dmg.avg + t2dmg.avg + t3dmg.avg + t4dmg.avg * 7
}
}
}]
export const defDmgIdx = 3
export const defDmgKey = 't'
export const mainAttr = 'atk,cpct,cdmg,speed'
export const buffs = [{
@ -25,15 +42,12 @@ export const buffs = [{
}
}, {
title: '景元6命神君会使目标陷入易伤状态使伤害提高12%最多3层',
cons: 6,
data: {
a3Dmg: (12 + 12 * 2 + 12 * 3 * 7) / 10
}
cons: 6
}, {
title: '行迹-破阵攻击段数大于等于6段则其下回合的暴击伤害提高25%',
tree: 1,
data: {
a3Cdmg: 25
tCdmg: 25
}
}, {
title: '行迹-遣将施放战技后暴击率提升10%',

View File

@ -0,0 +1,53 @@
export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '战技伤害(扩散)',
dmg: ({ talent }, dmg) => dmg(talent.e['目标伤害'] + talent.e['相邻目标伤害'] * 2, 'e')
}, {
title: '灼烧持续伤害',
dmg: ({ talent, cons }, dmg) => {
const dotPlus = cons >= 2 ? 0.4 : 0
return dmg(talent.e['持续伤害'] + dotPlus, '', 'skillDot')
}
}, {
title: '终结技伤害',
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
}, {
title: '终结技+引爆dot伤害',
dmg: ({ talent, cons }, dmg) => {
let qDmg = dmg(talent.q['技能伤害'], 'q')
const dotPlus = cons >= 2 ? 0.4 : 0
let dotDmg = dmg((talent.e['持续伤害'] + dotPlus) * talent.q['灼烧伤害比例'], '', 'skillDot')
return {
dmg: qDmg.dmg + dotDmg.avg,
avg: qDmg.avg + dotDmg.avg
}
}
}]
export const defDmgIdx = 2
export const mainAttr = 'atk,cpct,cdmg'
export const buffs = [{
title: '天赋-古来君子养艺人3层【吞火】状态下目标受到的伤害提高[enemyDmg]%',
check: ({ cons }) => cons < 6,
data: {
enemyDmg: ({ talent }) => talent.t['伤害提高'] * 100 * 3
}
}, {
title: '天赋-古来君子养艺人4层【吞火】状态下目标受到的伤害提高[enemyDmg]%',
cons: 6,
data: {
enemyDmg: ({ talent }) => talent.t['伤害提高'] * 100 * 4
}
}, {
title: '行迹-逾锋:对陷入灼烧状态的地方目标造成的伤害提高[dmg]%',
tree: 3,
data: {
dmg: 20
}
}, {
title: '桂乃芬2命目标处于灼烧状态时持续伤害倍率提升40%',
cons: 2
}]

View File

@ -2,7 +2,6 @@
"id": 1210,
"key": "guinaifen",
"name": "桂乃芬",
"name2": "桂乃芬",
"abbr": "桂乃芬",
"star": 4,
"elem": "火",

View File

@ -0,0 +1,66 @@
export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '战技伤害(扩散)',
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: '转魄状态·战技伤害(扩散)',
params: { strength: true },
dmg: ({ talent }, dmg) => dmg(talent.e2['目标伤害'] + talent.e2['相邻目标伤害'] * 2, 'e')
}, {
title: '终结技伤害(扩散)',
params: { q: true },
dmg: ({ talent }, dmg) => dmg(talent.q['目标伤害'] + talent.q['相邻目标伤害'] * 2, 'q')
}, {
title: '转魄状态·终结技伤害(扩散)',
params: { strength: true, q: true },
dmg: ({ talent }, dmg) => dmg(talent.q['目标伤害'] + talent.q['相邻目标伤害'] * 2, 'q')
}]
export const defDmgIdx = 4
export const mainAttr = 'atk,cpct,cdmg'
export const buffs = [{
title: '行迹-霜魄:转魄状态下,终结技造成的伤害提高[qDmg]%',
tree: 3,
check: ({ params }) => params.strength === true,
data: {
qDmg: 20
}
}, {
title: '天赋-澹月转魄:转魄状态下,暴击率提高[cpct]%,根据消耗的队友血量,最高提升攻击力[atkPlus]',
check: ({ params }) => params.strength === true,
data: {
cpct: ({ talent }) => talent.t['暴击率提高'] * 100,
atkPlus: ({ attr, talent }) => attr.atk.base * talent.t['攻击力提高上限']
}
}, {
title: '镜流1命释放终结技或强化战技时暴击伤害提高[cdmg]%',
cons: 1,
check: ({ params }) => params.strength === true || params.q === true,
data: {
cdmg: 20
}
}, {
title: '镜流2命释放终结技后下一次强化战技的伤害提高[eDmg]%',
cons: 2,
check: ({ params }) => params.strength === true,
data: {
eDmg: 80
}
}, {
title: '镜流4命转魄状态下消耗队友生命获得的攻击力额外提高[atkPlus]',
check: ({ params }) => params.strength === true,
cons: 4,
data: {
atkPlus: ({ attr }) => attr.atk.base * 0.3
}
}, {
title: '镜流6命转魄状态下暴击伤害提高[cdmg]%',
check: ({ params }) => params.strength === true,
cons: 6,
data: {
cdmg: 50
}
}]

View File

@ -4,7 +4,7 @@ export default function (staticIdx, keyIdx) {
staticIdx(1, 'cpct'),
(tables) => {
return {
title: `[_count]层Buff提高普攻与战技伤害[aDmg]%,终结技的暴击伤害[qCdmg]%`,
title: '[_count]层Buff提高普攻与战技伤害[aDmg]%,终结技的暴击伤害[qCdmg]%',
data: {
_count: ({ attr, calc }) => Math.min(6, Math.floor((calc(attr.speed) - 100) / 10)) + '',
aDmg: ({ attr, calc }) => Math.min(6, Math.floor((calc(attr.speed) - 100) / 10)) * tables[2],
@ -55,6 +55,18 @@ export default function (staticIdx, keyIdx) {
],
锋镝: [
keyIdx('战斗开始时暴击率提高[cpct]%', 'cpct', 1)
],
'烦恼着,幸福着': [
staticIdx(1, 'cpct'),
keyIdx('追加攻击造成的伤害提高[tDmg]%', 'tDmg', 2),
(tables) => {
return {
title: '2层Buff时造成的暴击伤害提高[cdmg]%',
data: {
cdmg: tables[3] * 2
}
}
}
]
}
}
}

View File

@ -3,9 +3,9 @@ export default function (staticIdx, keyIdx) {
'「我」的诞生': [
(tables) => {
return {
title: '敌方目标当前生命值百分比小于等于50%追加伤害提高[a3Dmg]%',
title: '敌方目标当前生命值百分比小于等于50%追加伤害提高[tDmg]%',
data: {
a3Dmg: tables[1] + tables[2]
tDmg: tables[1] + tables[2]
}
}
}
@ -28,7 +28,7 @@ export default function (staticIdx, keyIdx) {
],
拂晓之前: [
staticIdx(1, 'cdmg'),
keyIdx('战技和终结技造成的伤害提高[eDmg]%,追加攻击造成的伤害提高[a3Dmg]%', { eDmg: 2, qDmg: 2, a3Dmg: 3 })
keyIdx('战技和终结技造成的伤害提高[eDmg]%,追加攻击造成的伤害提高[tDmg]%', { eDmg: 2, qDmg: 2, tDmg: 3 })
],
早餐的仪式感: [
staticIdx(1, 'dmg'),
@ -60,4 +60,4 @@ export default function (staticIdx, keyIdx) {
}
]
}
}
}

View File

@ -61,6 +61,18 @@ export default function (staticIdx, keyIdx) {
}
}
}
],
此身为剑: [
staticIdx(1, 'cdmg'),
(tables) => {
return {
title: '3层Buff使装备者下一次攻击造成的伤害提高[dmg]%,使该次攻击无视目标[ignore]%的防御力',
data: {
dmg: tables[2] * 3,
ignore: tables[3]
}
}
}
]
}
}

View File

@ -9,22 +9,42 @@ export const details = [{
}, {
title: '靖妖傩舞·首插',
params: {
layer: 1, team: false
layer: 1,
team: false
},
dmg: ({ talent }, dmg) => dmg(talent.a['低空/高空坠地冲击伤害'][1], 'a3')
}, {
title: '靖妖傩舞·尾插',
params: {
layer: 5, team: false
layer: 5,
team: false
},
dmg: ({ talent }, dmg) => dmg(talent.a['低空/高空坠地冲击伤害'][1], 'a3')
}, {
title: '魈珐班 开Q满被动E',
params: { e: 1, layer: 5, team: true },
title: '魈珐班开Q满被动E',
params: {
e: 1,
layer: 5,
team: true
},
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: '魈珐班开Q首插',
params: {
layer: 1,
team: true
},
dmg: ({ talent }, dmg) => dmg(talent.a['低空/高空坠地冲击伤害'][1], 'a3')
}, {
title: '魈珐班开Q尾插',
params: {
layer: 5,
team: true
},
dmg: ({ talent }, dmg) => dmg(talent.a['低空/高空坠地冲击伤害'][1], 'a3')
}]
export const defDmgIdx = 4
export const defDmgIdx = 6
export const mainAttr = 'atk,cpct,cdmg,dmg'
export const defParams = {