diff --git a/models/dmg/DmgAttr.js b/models/dmg/DmgAttr.js index 79fa73d0..e57f7419 100644 --- a/models/dmg/DmgAttr.js +++ b/models/dmg/DmgAttr.js @@ -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] || { pct: 0, // 倍率加成 multi: 0, // 独立倍率乘区加成,宵宫E等 @@ -192,7 +192,7 @@ let DmgAttr = { 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) { attr[tRet[1]][tRet[2].toLowerCase()] += val * 1 || 0 return diff --git a/models/dmg/DmgCalc.js b/models/dmg/DmgCalc.js index 4e5bfadb..8162b0e9 100644 --- a/models/dmg/DmgCalc.js +++ b/models/dmg/DmgCalc.js @@ -129,7 +129,6 @@ let DmgCalc = { eleBase = isEle ? 1 + attr[ele] / 100 + DmgMastery.getMultiple(ele, calc(attr.mastery)) : 1 } - let breakDotBase = 1 let stanceNum = 1 if (game === 'sr') { switch (ele) { @@ -222,6 +221,7 @@ let DmgCalc = { case 'quantumBreak': case 'imaginaryBreak': case 'iceBreak': { + let breakDotBase = 1 breakDotBase *= breakBaseDmg[level] ret = { avg: breakDotBase * eleNum * stanceNum * enemydmgNum * defNum * kNum * dmgReduceNum @@ -265,6 +265,29 @@ let DmgCalc = { } 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') } diff --git a/resources/meta-sr/artifact/artis-mark.js b/resources/meta-sr/artifact/artis-mark.js index 091742c7..77f0f5da 100644 --- a/resources/meta-sr/artifact/artis-mark.js +++ b/resources/meta-sr/artifact/artis-mark.js @@ -3,6 +3,7 @@ * 如character/${name}/artis.js下有角色自定义规则优先使用自定义 */ 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: 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 }, diff --git a/resources/meta-sr/character/alias.js b/resources/meta-sr/character/alias.js index a5efba88..027ad3e2 100644 --- a/resources/meta-sr/character/alias.js +++ b/resources/meta-sr/character/alias.js @@ -38,11 +38,13 @@ export const alias = { 寒鸦: '寒冷乌鸦', 真理医生: '义父,拉帝奥,拉吊,教授,真理', 黑天鹅: '天鹅', - 米沙: '米莎', + 米沙: '米莎,米哈伊尔', 花火: '', 黄泉: '', 加拉赫: '', - 砂金: '卡卡瓦夏,沙金' + 砂金: '卡卡瓦夏,沙金', + 知更鸟: '鸟妹', + 波提欧: '' } export const abbr = { diff --git a/resources/meta-sr/character/知更鸟/calc.js b/resources/meta-sr/character/知更鸟/calc.js new file mode 100644 index 00000000..bf562ec9 --- /dev/null +++ b/resources/meta-sr/character/知更鸟/calc.js @@ -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' diff --git a/resources/meta-sr/weapon/alias.js b/resources/meta-sr/weapon/alias.js index 8026e0a1..9b398ae6 100644 --- a/resources/meta-sr/weapon/alias.js +++ b/resources/meta-sr/weapon/alias.js @@ -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 = { 镜中故我: '', 游戏尘寰: '游戏尘环', 美梦小镇大冒险: '美梦小镇', + 为了明日的旅途: '明日的旅途,为了明日旅途', + 夜色流光溢彩: '夜色流光,流光溢彩', // 智识 智库: '', diff --git a/resources/meta-sr/weapon/同谐/calc.js b/resources/meta-sr/weapon/同谐/calc.js index 2a3be5d8..88d319c3 100644 --- a/resources/meta-sr/weapon/同谐/calc.js +++ b/resources/meta-sr/weapon/同谐/calc.js @@ -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] + } + } + } + ] } } diff --git a/resources/meta-sr/weapon/巡猎/calc.js b/resources/meta-sr/weapon/巡猎/calc.js index 7f404ce3..583f24c8 100644 --- a/resources/meta-sr/weapon/巡猎/calc.js +++ b/resources/meta-sr/weapon/巡猎/calc.js @@ -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] + } + } + } ] } } diff --git a/resources/meta-sr/weapon/虚无/calc.js b/resources/meta-sr/weapon/虚无/calc.js index 3801b2a0..fad45ab9 100644 --- a/resources/meta-sr/weapon/虚无/calc.js +++ b/resources/meta-sr/weapon/虚无/calc.js @@ -96,6 +96,10 @@ export default function (staticIdx, keyIdx) { } } } + ], + 无边曼舞: [ + staticIdx(1, 'cpct'), + keyIdx('对处于防御降低或减速状态下的敌人暴击伤害提高[cdmg]%', 'cdmg', 2) ] } }