diff --git a/models/dmg/DmgCalc.js b/models/dmg/DmgCalc.js index c1c43404..0975e148 100644 --- a/models/dmg/DmgCalc.js +++ b/models/dmg/DmgCalc.js @@ -143,7 +143,8 @@ let DmgCalc = { case 'physicalBreak': case 'quantumBreak': case 'imaginaryBreak': - case 'iceBreak': { + case 'iceBreak': + case 'superBreak':{ eleNum = DmgMastery.getBasePct(ele, attr.element) stanceNum = 1 + calc(attr.stance) / 100 break diff --git a/resources/meta-sr/character/星·同谐/calc.js b/resources/meta-sr/character/星·同谐/calc.js new file mode 100644 index 00000000..124852fa --- /dev/null +++ b/resources/meta-sr/character/星·同谐/calc.js @@ -0,0 +1,65 @@ +import { Format } from '#miao' + +export const details = [{ + title: '战技伤害', + dmg: ({ talent, cons }, dmg) => { + let count = cons < 6 ? 5 : 7 + return dmg(talent.e['技能伤害'] * count, 'e') + } +}, { + title: '终结技提高全队击破特攻', + dmg: ({ talent }) => { + return { + avg: Format.percent(talent.q['击破特攻提高']), + type: 'text' + } + } +}, { + title: '4魂提高队友击破特攻', + params: { q: true }, + cons: 4, + dmg: ({ attr }) => { + return { + avg: Format.percent(attr.stance / 100 * 0.15), + type: 'text' + } + } +}, { + title: '普攻·超击破伤害', + params: { q: true }, + dmg: ({ trees }, { reaction }) => { + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * extraDmg + } + } +}, { + title: '战技·超击破伤害', + dmgKey: 'e', + params: { q: true }, + dmg: ({ cons, trees }, { reaction }) => { + let cost = (cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0) + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}] + +export const mainAttr = 'atk,stance' +export const defDmgKey = 'e' + +export const buffs = [{ + title: '终结技Buff:我方全体击破特攻提高[stance]%', + data: { + stance: ({ talent }) => talent.q['击破特攻提高'] * 100 + } +}, { + title: '行迹-卫我起舞:场上敌方数量为1时,超击破伤害提高60%', + tree: 1 +}, { + title: '开拓者6命:战技的额外伤害次数增加2次', + cons: 6 +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/星·同谐/calc_auto.js b/resources/meta-sr/character/星·同谐/calc_auto.js new file mode 100644 index 00000000..c39adff3 --- /dev/null +++ b/resources/meta-sr/character/星·同谐/calc_auto.js @@ -0,0 +1,100 @@ +import { Format } from '#miao' + +export const details = [{ + title: '战技伤害', + dmg: ({ talent, cons }, dmg) => { + let count = cons < 6 ? 5 : 7 + return dmg(talent.e['技能伤害'] * count, 'e') + } +}, { + title: '终结技提高全队击破特攻', + dmg: ({ talent }) => { + return { + avg: Format.percent(talent.q['击破特攻提高']), + type: 'text' + } + } +}, { + title: '4魂提高队友击破特攻', + params: { q: true }, + cons: 4, + dmg: ({ attr }) => { + return { + avg: Format.percent(attr.stance / 100 * 0.15), + type: 'text' + } + } +}, { + title: '普攻超击破伤害', + params: { q: true }, + dmg: ({ trees }, { reaction }) => { + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * extraDmg + } + } +}, { + title: '战技超击破伤害', + params: { q: true }, + dmg: ({ cons, trees }, { reaction }) => { + let cost = (cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0) + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}, { + title: '开阮加·普攻超击破伤害', + params: { q: true, team: true }, + dmg: ({ trees }, { reaction }) => { + // 阮梅提高弱点击破效率50% + let cost = 1 * 1.5 + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}, { + title: '开阮加·战技超击破伤害', + dmgKey: 'e', + params: { q: true, team: true }, + dmg: ({ cons, trees }, { reaction }) => { + // 阮梅提高弱点击破效率50% + let cost = ((cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0)) * 1.5 + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}] + +export const mainAttr = 'atk,stance' +export const defDmgKey = 'e' + +export const buffs = [{ + title: '终结技Buff:我方全体击破特攻提高[stance]%', + data: { + stance: ({ talent }) => talent.q['击破特攻提高'] * 100 + } +}, { + title: '行迹-卫我起舞:场上敌方数量为1时,超击破伤害提高60%', + tree: 1 +}, { + title: '开拓者6命:战技的额外伤害次数增加2次', + cons: 6 +}, { + title: '0魂阮梅:弱点击破效率提高50%,击破特攻提高20%,抗性穿透提高25%', + check: ({ params }) => params.team === true, + data: { + stance: 20, + kx: 25 + } +}, { + title: '加拉赫:敌方受到的击破伤害提高13.2%', + check: ({ params }) => params.team === true, + data: { + breakEnemydmg: 13.2 + } +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/星·存护/calc.js b/resources/meta-sr/character/星·存护/calc.js new file mode 100644 index 00000000..5a56327c --- /dev/null +++ b/resources/meta-sr/character/星·存护/calc.js @@ -0,0 +1,44 @@ +export const details = [{ + title: '普攻伤害', + dmg: ({ talent, cons, attr }, { basic }) => { + let atkTd = talent.a['技能伤害'] + let defTd = cons >= 1 ? 0.25 : 0 + return basic(atkTd * attr.atk + defTd * attr.def, 'a') + } +}, { + title: '强化普攻扩散伤害', + dmg: ({ talent, cons, attr }, { basic }) => { + let atkTd = talent.a2['技能伤害'] + talent.a2['相邻目标伤害'] * 2 + let defTd = cons >= 1 ? 0.5 * 3 : 0 + return basic(atkTd * attr.atk + defTd * attr.def, 'a') + } +}, { + title: '终结技伤害', + dmg: ({ talent, attr }, { basic }) => { + let atkTd = talent.q['攻击力倍率'] + let defTd = talent.q['防御力倍率'] + return basic(atkTd * attr.atk + defTd * attr.def, 'q') + } +}, { + title: '天赋护盾量', + dmg: ({ talent, attr, cons }, { shield }) => { + let extraDefTd = cons >= 2 ? 0.02 : 0 + let extraConstTd = cons >= 2 ? 27 : 0 + let defTd = extraDefTd + talent.t['百分比防御'] + let constTd = extraConstTd + talent.t['固定值'] + return shield(defTd * attr.def + constTd) + } +}] + +export const defDmgIdx = 3 +export const mainAttr = 'atk,cpct,cdmg,def' + +export const buffs = [{ + title: '开拓者6命:提高防御力[defPct]%', + cons: 6, + data: { + defPct: 30 + } +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/星·存护/data.json b/resources/meta-sr/character/星·存护/data.json index b78a7454..832ddb12 100644 --- a/resources/meta-sr/character/星·存护/data.json +++ b/resources/meta-sr/character/星·存护/data.json @@ -166,7 +166,7 @@ ] }, "2": { - "name": "固定值防御", + "name": "固定值", "isSame": false, "values": [ 20, @@ -203,7 +203,7 @@ ] }, "2": { - "name": "固定值防御", + "name": "固定值", "isSame": true, "values": [ 384 diff --git a/resources/meta-sr/character/星·毁灭/calc.js b/resources/meta-sr/character/星·毁灭/calc.js new file mode 100644 index 00000000..886235d3 --- /dev/null +++ b/resources/meta-sr/character/星·毁灭/calc.js @@ -0,0 +1,43 @@ +export const details = [{ + title: '普攻伤害', + dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a') +}, { + title: '战技伤害', + params: { buff: true }, + dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e') +}, { + title: '终结技单体伤害', + dmg: ({ talent }, dmg) => dmg(talent.q['单体伤害'], 'q') +}, { + title: '终结技伤害·主目标', + params: { buff: true }, + dmg: ({ talent }, dmg) => dmg(talent.q['扩散伤害'], 'q') +}, { + title: '终结技伤害·副目标', + dmg: ({ talent }, dmg) => dmg(talent.q['扩散伤害·相邻目标'], 'q') +}] + +export const defDmgIdx = 2 +export const mainAttr = 'atk,cpct,cdmg' + +export const buffs = [{ + title: '天赋-牵制盗垒:攻击力提高[atkPct]%', + data: { + atkPct: ({ talent }) => talent.t['攻击力提高'] * 100 + } +}, { + title: '行迹-坚韧:防御力提高[defPct]%', + tree: 2, + data: { + defPct: 20 + } +}, { + title: '行迹-斗志:造成伤害提高[dmg]%', + tree: 3, + check: ({ params }) => params.buff === true, + data: { + dmg: 25 + } +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/穹·同谐/calc.js b/resources/meta-sr/character/穹·同谐/calc.js new file mode 100644 index 00000000..124852fa --- /dev/null +++ b/resources/meta-sr/character/穹·同谐/calc.js @@ -0,0 +1,65 @@ +import { Format } from '#miao' + +export const details = [{ + title: '战技伤害', + dmg: ({ talent, cons }, dmg) => { + let count = cons < 6 ? 5 : 7 + return dmg(talent.e['技能伤害'] * count, 'e') + } +}, { + title: '终结技提高全队击破特攻', + dmg: ({ talent }) => { + return { + avg: Format.percent(talent.q['击破特攻提高']), + type: 'text' + } + } +}, { + title: '4魂提高队友击破特攻', + params: { q: true }, + cons: 4, + dmg: ({ attr }) => { + return { + avg: Format.percent(attr.stance / 100 * 0.15), + type: 'text' + } + } +}, { + title: '普攻·超击破伤害', + params: { q: true }, + dmg: ({ trees }, { reaction }) => { + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * extraDmg + } + } +}, { + title: '战技·超击破伤害', + dmgKey: 'e', + params: { q: true }, + dmg: ({ cons, trees }, { reaction }) => { + let cost = (cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0) + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}] + +export const mainAttr = 'atk,stance' +export const defDmgKey = 'e' + +export const buffs = [{ + title: '终结技Buff:我方全体击破特攻提高[stance]%', + data: { + stance: ({ talent }) => talent.q['击破特攻提高'] * 100 + } +}, { + title: '行迹-卫我起舞:场上敌方数量为1时,超击破伤害提高60%', + tree: 1 +}, { + title: '开拓者6命:战技的额外伤害次数增加2次', + cons: 6 +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/穹·同谐/calc_auto.js b/resources/meta-sr/character/穹·同谐/calc_auto.js new file mode 100644 index 00000000..c39adff3 --- /dev/null +++ b/resources/meta-sr/character/穹·同谐/calc_auto.js @@ -0,0 +1,100 @@ +import { Format } from '#miao' + +export const details = [{ + title: '战技伤害', + dmg: ({ talent, cons }, dmg) => { + let count = cons < 6 ? 5 : 7 + return dmg(talent.e['技能伤害'] * count, 'e') + } +}, { + title: '终结技提高全队击破特攻', + dmg: ({ talent }) => { + return { + avg: Format.percent(talent.q['击破特攻提高']), + type: 'text' + } + } +}, { + title: '4魂提高队友击破特攻', + params: { q: true }, + cons: 4, + dmg: ({ attr }) => { + return { + avg: Format.percent(attr.stance / 100 * 0.15), + type: 'text' + } + } +}, { + title: '普攻超击破伤害', + params: { q: true }, + dmg: ({ trees }, { reaction }) => { + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * extraDmg + } + } +}, { + title: '战技超击破伤害', + params: { q: true }, + dmg: ({ cons, trees }, { reaction }) => { + let cost = (cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0) + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}, { + title: '开阮加·普攻超击破伤害', + params: { q: true, team: true }, + dmg: ({ trees }, { reaction }) => { + // 阮梅提高弱点击破效率50% + let cost = 1 * 1.5 + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}, { + title: '开阮加·战技超击破伤害', + dmgKey: 'e', + params: { q: true, team: true }, + dmg: ({ cons, trees }, { reaction }) => { + // 阮梅提高弱点击破效率50% + let cost = ((cons < 6 ? 3 : 4) + (trees['102'] ? 1 : 0)) * 1.5 + let extraDmg = trees['101'] ? 1.6 : 1 + return { + avg: reaction('superBreak').avg * cost * extraDmg + } + } +}] + +export const mainAttr = 'atk,stance' +export const defDmgKey = 'e' + +export const buffs = [{ + title: '终结技Buff:我方全体击破特攻提高[stance]%', + data: { + stance: ({ talent }) => talent.q['击破特攻提高'] * 100 + } +}, { + title: '行迹-卫我起舞:场上敌方数量为1时,超击破伤害提高60%', + tree: 1 +}, { + title: '开拓者6命:战技的额外伤害次数增加2次', + cons: 6 +}, { + title: '0魂阮梅:弱点击破效率提高50%,击破特攻提高20%,抗性穿透提高25%', + check: ({ params }) => params.team === true, + data: { + stance: 20, + kx: 25 + } +}, { + title: '加拉赫:敌方受到的击破伤害提高13.2%', + check: ({ params }) => params.team === true, + data: { + breakEnemydmg: 13.2 + } +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/穹·存护/calc.js b/resources/meta-sr/character/穹·存护/calc.js new file mode 100644 index 00000000..5a56327c --- /dev/null +++ b/resources/meta-sr/character/穹·存护/calc.js @@ -0,0 +1,44 @@ +export const details = [{ + title: '普攻伤害', + dmg: ({ talent, cons, attr }, { basic }) => { + let atkTd = talent.a['技能伤害'] + let defTd = cons >= 1 ? 0.25 : 0 + return basic(atkTd * attr.atk + defTd * attr.def, 'a') + } +}, { + title: '强化普攻扩散伤害', + dmg: ({ talent, cons, attr }, { basic }) => { + let atkTd = talent.a2['技能伤害'] + talent.a2['相邻目标伤害'] * 2 + let defTd = cons >= 1 ? 0.5 * 3 : 0 + return basic(atkTd * attr.atk + defTd * attr.def, 'a') + } +}, { + title: '终结技伤害', + dmg: ({ talent, attr }, { basic }) => { + let atkTd = talent.q['攻击力倍率'] + let defTd = talent.q['防御力倍率'] + return basic(atkTd * attr.atk + defTd * attr.def, 'q') + } +}, { + title: '天赋护盾量', + dmg: ({ talent, attr, cons }, { shield }) => { + let extraDefTd = cons >= 2 ? 0.02 : 0 + let extraConstTd = cons >= 2 ? 27 : 0 + let defTd = extraDefTd + talent.t['百分比防御'] + let constTd = extraConstTd + talent.t['固定值'] + return shield(defTd * attr.def + constTd) + } +}] + +export const defDmgIdx = 3 +export const mainAttr = 'atk,cpct,cdmg,def' + +export const buffs = [{ + title: '开拓者6命:提高防御力[defPct]%', + cons: 6, + data: { + defPct: 30 + } +}] + +export const createdBy = 'Aluxes' diff --git a/resources/meta-sr/character/穹·存护/data.json b/resources/meta-sr/character/穹·存护/data.json index 9f39efbd..732dd7e8 100644 --- a/resources/meta-sr/character/穹·存护/data.json +++ b/resources/meta-sr/character/穹·存护/data.json @@ -166,7 +166,7 @@ ] }, "2": { - "name": "固定值防御", + "name": "固定值", "isSame": false, "values": [ 20, @@ -203,7 +203,7 @@ ] }, "2": { - "name": "固定值防御", + "name": "固定值", "isSame": true, "values": [ 384 diff --git a/resources/meta-sr/character/穹·毁灭/calc.js b/resources/meta-sr/character/穹·毁灭/calc.js new file mode 100644 index 00000000..886235d3 --- /dev/null +++ b/resources/meta-sr/character/穹·毁灭/calc.js @@ -0,0 +1,43 @@ +export const details = [{ + title: '普攻伤害', + dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a') +}, { + title: '战技伤害', + params: { buff: true }, + dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e') +}, { + title: '终结技单体伤害', + dmg: ({ talent }, dmg) => dmg(talent.q['单体伤害'], 'q') +}, { + title: '终结技伤害·主目标', + params: { buff: true }, + dmg: ({ talent }, dmg) => dmg(talent.q['扩散伤害'], 'q') +}, { + title: '终结技伤害·副目标', + dmg: ({ talent }, dmg) => dmg(talent.q['扩散伤害·相邻目标'], 'q') +}] + +export const defDmgIdx = 2 +export const mainAttr = 'atk,cpct,cdmg' + +export const buffs = [{ + title: '天赋-牵制盗垒:攻击力提高[atkPct]%', + data: { + atkPct: ({ talent }) => talent.t['攻击力提高'] * 100 + } +}, { + title: '行迹-坚韧:防御力提高[defPct]%', + tree: 2, + data: { + defPct: 20 + } +}, { + title: '行迹-斗志:造成伤害提高[dmg]%', + tree: 3, + check: ({ params }) => params.buff === true, + data: { + dmg: 25 + } +}] + +export const createdBy = 'Aluxes'