更新星铁2.2数据及知更鸟伤害计算

This commit is contained in:
Aluxes 2024-05-09 23:32:56 +08:00
parent 475f2da0f4
commit 810fc9eb40
No known key found for this signature in database
GPG Key ID: 6696152F9C003087
9 changed files with 151 additions and 5 deletions

View File

@ -40,7 +40,7 @@ let DmgAttr = {
}) })
// 技能属性记录 // 技能属性记录
lodash.forEach((game === 'gs' ? 'a,a2,a3,e,q' : 'a,a2,a3,e,e2,q,q2,t,dot').split(','), (key) => { lodash.forEach((game === 'gs' ? 'a,a2,a3,e,q' : 'a,a2,a3,e,e2,q,q2,t,dot,break').split(','), (key) => {
ret[key] = ret[key] || { ret[key] = ret[key] || {
pct: 0, // 倍率加成 pct: 0, // 倍率加成
multi: 0, // 独立倍率乘区加成宵宫E等 multi: 0, // 独立倍率乘区加成宵宫E等
@ -192,7 +192,7 @@ let DmgAttr = {
title = title.replace(`[${key}]`, Format.comma(val, 1)) title = title.replace(`[${key}]`, Format.comma(val, 1))
// 技能提高 // 技能提高
let tRet = /^(a|a2|a3|e|q|t|dot)(Def|Ignore|Dmg|Enemydmg|Plus|Pct|Cpct|Cdmg|Multi)$/.exec(key) let tRet = /^(a|a2|a3|e|q|t|dot|break)(Def|Ignore|Dmg|Enemydmg|Plus|Pct|Cpct|Cdmg|Multi)$/.exec(key)
if (tRet) { if (tRet) {
attr[tRet[1]][tRet[2].toLowerCase()] += val * 1 || 0 attr[tRet[1]][tRet[2].toLowerCase()] += val * 1 || 0
return return

View File

@ -129,7 +129,6 @@ let DmgCalc = {
eleBase = isEle ? 1 + attr[ele] / 100 + DmgMastery.getMultiple(ele, calc(attr.mastery)) : 1 eleBase = isEle ? 1 + attr[ele] / 100 + DmgMastery.getMultiple(ele, calc(attr.mastery)) : 1
} }
let breakDotBase = 1
let stanceNum = 1 let stanceNum = 1
if (game === 'sr') { if (game === 'sr') {
switch (ele) { switch (ele) {
@ -222,6 +221,7 @@ let DmgCalc = {
case 'quantumBreak': case 'quantumBreak':
case 'imaginaryBreak': case 'imaginaryBreak':
case 'iceBreak': { case 'iceBreak': {
let breakDotBase = 1
breakDotBase *= breakBaseDmg[level] breakDotBase *= breakBaseDmg[level]
ret = { ret = {
avg: breakDotBase * eleNum * stanceNum * enemydmgNum * defNum * kNum * dmgReduceNum avg: breakDotBase * eleNum * stanceNum * enemydmgNum * defNum * kNum * dmgReduceNum
@ -265,6 +265,29 @@ let DmgCalc = {
} }
dmgFn.reaction = function (ele = false, talent = 'fy') { dmgFn.reaction = function (ele = false, talent = 'fy') {
switch (ele) {
// 击破持续伤害
case 'shock':
case 'burn':
case 'windShear':
case 'bleed': {
talent = 'dot'
break
}
// 击破伤害
case 'lightningBreak':
case 'fireBreak':
case 'windBreak':
case 'physicalBreak':
case 'quantumBreak':
case 'imaginaryBreak':
case 'iceBreak': {
talent = 'break'
break
}
default:
break
}
return dmgFn(0, talent, ele, 0, 'basic') return dmgFn(0, talent, ele, 0, 'basic')
} }

View File

@ -3,6 +3,7 @@
* 如character/${name}/artis.js下有角色自定义规则优先使用自定义 * 如character/${name}/artis.js下有角色自定义规则优先使用自定义
*/ */
export const usefulAttr = { export const usefulAttr = {
知更鸟: { hp: 75, atk: 100, def: 75, speed: 50, cpct: 0, cdmg: 0, stance: 0, heal: 0, recharge: 100, effPct: 0, effDef: 50, dmg: 0 },
砂金: { hp: 0, atk: 0, def: 100, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 75, effPct: 0, effDef: 50, dmg: 100 }, 砂金: { hp: 0, atk: 0, def: 100, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 75, effPct: 0, effDef: 50, dmg: 100 },
加拉赫: { hp: 75, atk: 0, def: 75, speed: 100, cpct: 0, cdmg: 0, stance: 100, heal: 100, recharge: 75, effPct: 0, effDef: 50, dmg: 0 }, 加拉赫: { hp: 75, atk: 0, def: 75, speed: 100, cpct: 0, cdmg: 0, stance: 100, heal: 100, recharge: 75, effPct: 0, effDef: 50, dmg: 0 },
黄泉: { hp: 0, atk: 100, def: 0, speed: 75, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 0, effPct: 0, effDef: 0, dmg: 100 }, 黄泉: { hp: 0, atk: 100, def: 0, speed: 75, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 0, effPct: 0, effDef: 0, dmg: 100 },

View File

@ -38,11 +38,13 @@ export const alias = {
寒鸦: '寒冷乌鸦', 寒鸦: '寒冷乌鸦',
真理医生: '义父,拉帝奥,拉吊,教授,真理', 真理医生: '义父,拉帝奥,拉吊,教授,真理',
黑天鹅: '天鹅', 黑天鹅: '天鹅',
米沙: '米莎', 米沙: '米莎,米哈伊尔',
花火: '', 花火: '',
黄泉: '', 黄泉: '',
加拉赫: '', 加拉赫: '',
砂金: '卡卡瓦夏,沙金' 砂金: '卡卡瓦夏,沙金',
知更鸟: '鸟妹',
波提欧: ''
} }
export const abbr = { export const abbr = {

View File

@ -0,0 +1,80 @@
import { Format } from '#miao'
export const details = [{
title: '普攻伤害',
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
}, {
title: '战技提升全体伤害',
dmg: ({ talent }, dmg) => {
return {
avg: Format.percent(talent.e['伤害提高']),
type: 'text'
}
}
}, {
title: '终结技提升全体攻击力',
dmg: ({ talent, attr }, dmg) => {
return {
avg: talent.q['攻击力提高百分比'] * attr.atk + talent.q['攻击力提高固定值']
}
}
}, {
title: '终结技附加伤害',
params: { q: true },
dmg: ({ talent, cons }, dmg) => {
// 暴击伤害固定为150%6命时为600%),且伤害必定暴击
let cdmgNum = cons < 6 ? 1.5 : 6
let { avg } = dmg(talent.q['附加伤害'], '')
return {
avg: avg * (1 + cdmgNum)
}
}
}]
export const mainAttr = 'atk,cpct,cdmg'
export const defDmgIdx = 3
export const buffs = [{
title: '天赋-调性合颂:我方全体暴击伤害提高[cdmg]%',
data: {
cdmg: ({ talent }) => talent.t['暴伤提高'] * 100
}
}, {
title: '战技Buff我方全体伤害提高[dmg]%',
data: {
dmg: ({ talent }) => talent.e['伤害提高'] * 100
}
}, {
title: '终结技Buff我方全体攻击力提高[atkPlus]',
check: ({ params }) => params.q === true,
sort: 9,
data: {
atkPlus: ({ talent, attr }) => talent.q['攻击力提高百分比'] * attr.atk + talent.q['攻击力提高固定值']
}
}, {
title: '知更鸟1命我方全体全属性抗性穿透提高[kx]%',
check: ({ params }) => params.q === true,
cons: 1,
data: {
kx: 24
}
}, {
title: '知更鸟2命我方全体速度提高[speedPct]%',
check: ({ params }) => params.q === true,
cons: 2,
data: {
speedPct: 16
}
}, {
title: '知更鸟4命我方全体效果抵抗提高[effDef]%',
cons: 4,
data: {
effDef: 50
}
}, {
title: '知更鸟6命终结技造成的附加伤害的暴击伤害额外提高450%',
check: ({ params }) => params.q === true,
cons: 6
}]
export const createdBy = 'Aluxes'

View File

@ -2,6 +2,7 @@ export const abbr = {
// 巡猎 // 巡猎
'烦恼着,幸福着': '烦恼着幸福着', '烦恼着,幸福着': '烦恼着幸福着',
纯粹思维的洗礼: '纯粹思维', 纯粹思维的洗礼: '纯粹思维',
驶向第二次生命: '驶向二次生命',
// 丰饶 // 丰饶
// 毁灭 // 毁灭
'汪!散步时间!': '散步时间', '汪!散步时间!': '散步时间',
@ -18,6 +19,7 @@ export const abbr = {
'舞!舞!舞!': '舞舞舞', '舞!舞!舞!': '舞舞舞',
但战斗还未结束: '战斗还未结束', 但战斗还未结束: '战斗还未结束',
美梦小镇大冒险: '美梦小镇', 美梦小镇大冒险: '美梦小镇',
为了明日的旅途: '明日的旅途',
// 智识 // 智识
别让世界静下来: '别让世界静下', 别让世界静下来: '别让世界静下',
今日亦是和平的一日: '今日亦是和平', 今日亦是和平的一日: '今日亦是和平',
@ -40,6 +42,7 @@ export const aliasCfg = {
星海巡航: '星海,巡航', 星海巡航: '星海,巡航',
纯粹思维的洗礼: '纯粹思维', 纯粹思维的洗礼: '纯粹思维',
最后的赢家: '最后赢家', 最后的赢家: '最后赢家',
驶向第二次生命: '第二次生命,驶向二次生命',
// 丰饶 // 丰饶
物穰: '', 物穰: '',
@ -106,6 +109,7 @@ export const aliasCfg = {
重塑时光之忆: '重塑时光', 重塑时光之忆: '重塑时光',
好戏开演: '', 好戏开演: '',
行于流逝的岸: '行于流逝,流逝的岸', 行于流逝的岸: '行于流逝,流逝的岸',
无边曼舞: '',
// 同谐 // 同谐
齐颂: '', 齐颂: '',
@ -120,6 +124,8 @@ export const aliasCfg = {
镜中故我: '', 镜中故我: '',
游戏尘寰: '游戏尘环', 游戏尘寰: '游戏尘环',
美梦小镇大冒险: '美梦小镇', 美梦小镇大冒险: '美梦小镇',
为了明日的旅途: '明日的旅途,为了明日旅途',
夜色流光溢彩: '夜色流光,流光溢彩',
// 智识 // 智识
智库: '', 智库: '',

View File

@ -38,6 +38,23 @@ export default function (staticIdx, keyIdx) {
} }
} }
} }
],
为了明日的旅途: [
staticIdx(1, 'atkPct'),
keyIdx('装备者释放终结技后,造成的伤害提高[dmg]%', 'dmg', 2)
],
夜色流光溢彩: [
(tables) => {
return {
title: '5层【歌咏】使装备者能量恢复效率提高[recharge]%,释放终结技后,装备者攻击力提高[atkPct]%,我方全体造成伤害提高[dmg]%',
data: {
recharge: tables[1] * 5,
atkPct: tables[2],
dmg: tables[3]
}
}
}
] ]
} }
} }

View File

@ -90,6 +90,19 @@ export default function (staticIdx, keyIdx) {
} }
} }
} }
],
驶向第二次生命: [
staticIdx(1, 'stance'),
keyIdx('造成的击破伤害无视目标[breakIgnore]%的防御力', 'breakIgnore', 2),
(tables) => {
return {
title: '速度提高[speedPct]%',
check: ({ attr }) => attr.stance >= 150,
data: {
speedPct: tables[3]
}
}
}
] ]
} }
} }

View File

@ -96,6 +96,10 @@ export default function (staticIdx, keyIdx) {
} }
} }
} }
],
无边曼舞: [
staticIdx(1, 'cpct'),
keyIdx('对处于防御降低或减速状态下的敌人暴击伤害提高[cdmg]%', 'cdmg', 2)
] ]
} }
} }