#角色面板 伤害计算新增刻晴、阿贝多、香菱

This commit is contained in:
yoimiya-kokomi 2022-05-06 06:56:04 +08:00
parent f1557c500d
commit f8a333eea8
6 changed files with 92 additions and 30 deletions

View File

@ -1,14 +1,19 @@
# 1.4.1
* `#角色面板` 伤害计算新增部分角色
* 目前支持:雷神、胡桃、魈、神子、甘雨、宵宫、公子、绫人、绫华、心海、钟离、刻晴、阿贝多、香菱
# 1.4.0
* 增加 `#深渊配队` 功能
* 根据当前账号的角色练度及本期深渊出场数据,推荐较匹配的配队方案
* 深渊出场数据来自胡桃API为SnapGenshin用户自主上传的深渊挑战记录感谢SG团队
* 配队方案仅供参考
* 根据当前账号的角色练度及本期深渊出场数据,推荐较匹配的配队方案
* 深渊出场数据来自胡桃API为SnapGenshin用户自主上传的深渊挑战记录感谢SG团队
* 配队方案仅供参考
* `#角色面板` 伤害计算新增部分角色
* 目前支持:雷神、胡桃、魈、神子、甘雨、宵宫、公子、绫人、绫华、心海、钟离
* `#角色面板` 一些功能升级与调整
* 支持对治疗量、护盾量的计算与展示
* 修复冰融化、少女4等buff等buff遗漏或错误导致的伤害计算偏差
* 支持对治疗量、护盾量的计算与展示
* 修复冰融化、少女4等buff等buff遗漏或错误导致的伤害计算偏差
* `#老婆` 功能支持对jpeg格式的图片格式识别
# 1.3.0

View File

@ -326,7 +326,7 @@ let Calc = {
let { calc } = ds;
let dmgFn = function (pctNum = 0, talent = false, ele = false, mode = "talent") {
let dmgFn = function (pctNum = 0, talent = false, ele = false, basicNum = 0, mode = "talent") {
let { atk, dmg, cdmg, cpct } = attr;
// 攻击区
let atkNum = calc(atk);
@ -403,8 +403,8 @@ let Calc = {
let ret = {};
if (mode === "basic") {
ret = {
dmg: pctNum * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
avg: pctNum * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
dmg: basicNum * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
avg: basicNum * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
}
} else {
// 计算最终伤害
@ -421,8 +421,8 @@ let Calc = {
return ret;
};
dmgFn.basic = function (pctNum = 0, talent = false, ele = false) {
return dmgFn(pctNum, talent, ele, "basic");
dmgFn.basic = function (basicNum = 0, talent = false, ele = false) {
return dmgFn(0, talent, ele, basicNum, "basic");
}
dmgFn.heal = function (num) {

View File

@ -154,9 +154,11 @@ let idSort = {};
lodash.forEach(charPosIdx, (chars, pos) => {
chars = chars.split(",");
lodash.forEach(chars, (name, idx) => {
let id = YunzaiApps.mysInfo['roleIdToName'](name);
if (id) {
idSort[id] = pos * 100 + idx;
if (global.YunzaiApps) {
let id = YunzaiApps.mysInfo['roleIdToName'](name);
if (id) {
idSort[id] = pos * 100 + idx;
}
}
})
})

View File

@ -0,0 +1,44 @@
export const details = [{
title: "E阳华伤害",
talent: "e",
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: "E刹那之花伤害",
dmg: ({ talent, attr, calc }, { basic }) => {
let ret = talent.e['刹那之花伤害'] * calc(attr.def) / 100 + attr.e.plus;
return basic(ret, 'e');
}
}, {
title: "E刹那之花(打半血)",
params: {
half: true
},
dmg: ({ talent, attr, calc }, { basic }) => {
let ret = talent.e['刹那之花伤害'] * calc(attr.def) / 100 + attr.e.plus;
return basic(ret, 'e');
}
}, {
title: "Q总伤害",
check: ({ cons }) => cons < 2,
params: { buff: 0 },
dmg: ({ talent }, dmg) => dmg(talent.q['爆发伤害'] + talent.q['生灭之花伤害'] * 7, 'q')
}, {
title: "满BuffQ总伤害",
cons: 2,
dmg: ({ talent }, dmg) => dmg(talent.q['爆发伤害'] + talent.q['生灭之花伤害'] * 7, 'q')
}];
export const mainAttr = "def,atk,cpct,cdmg";
export const buffs = [{
title: "阿贝多被动刹那之花对生命值低于50%的敌人造成的伤害提高25%",
data: {
eDmg: ({ params }) => params.half ? 25 : 0
}
}, {
title: "阿贝多2命4每层Buff提高Q [qPlus]伤害",
cons: 2,
data: {
qPlus: ({ params, attr, calc }) => params.buff === 0 ? 0 : calc(attr.def) * 1.2
}
}]

View File

@ -0,0 +1,27 @@
export const details = [{
title: "锅巴单口伤害",
dmg: ({ talent }, dmg) => dmg(talent.e['喷火伤害'], 'e')
}, {
title: "锅巴单口蒸发",
dmg: ({ talent }, dmg) => dmg(talent.e['喷火伤害'], 'e', 'zf')
}, {
title: "旋火轮单次伤害",
showDetail: true,
dmg: ({ talent, }, dmg) => dmg(talent.q['旋火轮伤害'], 'q')
}, {
title: "旋火轮单次蒸发",
dmg: ({ talent, }, dmg) => dmg(talent.q['旋火轮伤害'], 'q', 'zf')
}];
export const mainAttr = "atk,cpct,cdmg";
export const buffs = [{
cons: 1,
title: "香菱1命锅巴降低敌人火抗15",
data: {
kx: 15
}
}, {
title: "元素精通:蒸发融化伤害提高[zf]%",
mastery: "zf,rh"
}]

View File

@ -92,12 +92,6 @@ let polearm = {
dmg: step(12)
}
},
"天空之脊": {
title: "暴击率提升[_cpct]%",
refine: {
_cpct: step(8)
}
},
"护摩之杖": {
title: "角色生命低于50%时额外获得[atkPlus]攻击力",
data: {
@ -396,12 +390,7 @@ let bow = {
a2Dmg: step(8)
}
}],
"天空之翼": {
title: "暴击伤害提高20%",
refine: {
//cdmg: step(20)
}
},
"若水": {
title: "生命值提高[hpPct]%,伤害提高[dmg]%",
refine: {
@ -570,11 +559,6 @@ let sword = {
}
}],
"天空之刃": [{
title: "暴击率提高[_cpct]%",
refine: {
_cpct: step(4)
}
}, {
title: "普攻与重击的伤害值提高[aPlus]",
data: {
aPlus: ({ attr, calc, refine }) => calc(attr.atk) * step(20)[refine] / 100,