1. 修正B服更新面板伤害加成字段的数据获取逻辑,有错误的面板重新获取后即可恢复正常

2. 调整部分角色的圣遗物词条权重
3. ACE档的评分档位由>50降低为>49.5(满分66的75%)
4. `#圣遗物列表` 根据新版圣遗物评分规则进行词条高亮
This commit is contained in:
yoimiya-kokomi 2022-06-16 05:09:39 +08:00
parent 48f15da506
commit b393fbcba9
7 changed files with 91 additions and 67 deletions

View File

@ -1,11 +1,16 @@
# 1.7.5
# 1.7.6
* `#更新面板`支持B服角色
* `#角色面板`现在支持B服角色数据获取
* 数据来自喵喵API部分功能尚未完全稳定如有问题请反馈给喵喵
* 由于底层逻辑差异,`#圣遗物列表` 只会展示手工查看过角色的圣遗物
* 由于底层逻辑差异,`#圣遗物列表` 在B服下只会展示手工查看过角色的圣遗物
* 已知问题:角色天赋的皇冠及命座加成效果显示可能有问题
* 修正伤害加成字段的数据获取逻辑,有错误的面板重新获取后即可恢复正常
* `#角色面板`部分功能调整与Bugfix
* 调整部分角色的圣遗物词条权重,部分角色的圣遗物评分可能会有变化
* ACE档的评分档位由>50降低为>49.5 (理论最高分的75%)
* `#圣遗物列表` 根据新版圣遗物评分规则进行词条高亮
# 1.7.1 ~ 1.7.4
# 1.7.1 ~ 1.7.5
* 增加`#原图`命令,可获取喵喵角色卡片原图,感谢 **@牧星长** 提供功能
* 对由`#老婆``#刻晴`发出的角色卡片图回复`#原图`可获取对应图像

View File

@ -675,17 +675,28 @@ async function getTargetUid(e) {
return uidRet[0]
}
let uid = false;
let qq = e.user_id;
if (NoteCookie && NoteCookie[qq]) {
let nc = NoteCookie[qq];
if (nc.uid && uidReg.test(nc.uid)) {
return nc.uid;
let getUid = async function (qq) {
if (NoteCookie && NoteCookie[qq]) {
let nc = NoteCookie[qq];
if (nc.uid && uidReg.test(nc.uid)) {
return nc.uid;
}
}
uid = await redis.get(`genshin:id-uid:${qq}`) || await redis.get(`genshin:uid:${qq}`);
if (uid && uidReg.test(uid)) {
return uid;
}
}
uid = await redis.get(`genshin:id-uid:${qq}`) || await redis.get(`genshin:uid:${qq}`);
if (uid && uidReg.test(uid)) {
if (e.at && e.at != BotConfig.account.qq) {
uid = await getUid(e.at);
if (uid) {
return uid;
}
}
uid = await getUid(e.user_id);
if (uid) {
return uid;
}
@ -904,7 +915,16 @@ export async function getArtis(e, { render }) {
if (!name || name === "空" || name === "荧") {
return;
}
let { mark: usefulMark } = Reliquaries.getUseful(name);
let usefulMark;
if (isNewScore) {
let charCfg = Reliquaries2.getCharCfg(name);
usefulMark = charCfg.titleWeight;
} else {
let usefulData = Reliquaries.getUseful(name);
usefulMark = usefulData.mark;
}
/* 处理圣遗物 */
if (ds.artis) {

View File

@ -119,7 +119,7 @@ let Profile = {
async get(uid, charId) {
let data = Profile._get(uid, charId);
let Serv = getServ(uid);
if (Serv.getCharData) {
if (Serv.getCharData && data && data.id) {
return await Serv.getCharData(uid, data, Profile.saveCharData);
}
return data;

View File

@ -136,7 +136,7 @@ let Reliquaries = {
},
getMarkScore(mark) {
let pct = mark;
let scoreMap = [["D", 10], ["C", 16.5], ["B", 23.1], ["A", 29.7], ["S", 36.3], ["SS", 42.9], ["SSS", 50], ["ACE", 56.1], ["ACE²", 66]];
let scoreMap = [["D", 10], ["C", 16.5], ["B", 23.1], ["A", 29.7], ["S", 36.3], ["SS", 42.9], ["SSS", 49.5], ["ACE", 56.1], ["ACE²", 66]];
for (let idx = 0; idx < scoreMap.length; idx++) {
if (pct < scoreMap[idx][1]) {
return scoreMap[idx][0];

View File

@ -62,7 +62,7 @@ let Miao = {
},
async getCharData(uid, ds, saveCharData) {
if (ds.dataSource === "miao") {
if (ds.dataSource !== "miao-pre" || !ds.id) {
return ds;
}
try {
@ -137,14 +137,13 @@ let Miao = {
}
ret[key] = val;
})
let maxDmg = 0, dmg = data.addHurt || {};
let maxDmg = 0, hurt = data.addHurt || {};
lodash.forEach("fire,elec,water,grass,wind,rock,ice".split(","), (key) => {
maxDmg = Math.max(dmg[key] * 100, maxDmg);
maxDmg = Math.max(hurt[key] * 100, maxDmg);
});
ret.dmg = maxDmg;
ret.phy = dmg.physical * 100;
ret.dmgBonus = maxDmg;
ret.phyBonus = hurt.physical * 100;
return ret;
},
getWeapon(weapon) {
return {

View File

@ -27,7 +27,7 @@
<li class="arti-main"><span class="title">{{ds.main[0]}}</span><span class="val">+{{ds.main[1]}}</span></li>
{{each ds.attrs attr}}
{{if attr[0]}}
<li class="{{ds.usefulMark[attr[0]] ? `useful`:`nouse`}}"><span class="title">{{attr[0]}}</span><span
<li class="{{ds.usefulMark[attr[0]]*1 > 79.9 ?`great`:(ds.usefulMark[attr[0]]*1>0 ? `useful`:`nouse`)}}"><span class="title">{{attr[0]}}</span><span
class="val">+{{attr[1]}}</span></li>
{{/if}}
{{/each}}

View File

@ -42,56 +42,56 @@ export const mainAttr = {
export const subAttr = "atk,def,hp,mastery,recharge,cp,cd".split(",")
export const usefulAttr = {
'神里绫人': { hp: 40, atk: 75, def: 0, cp: 100, cd: 100, mastery: 25, dmg: 100, phy: 0, recharge: 20, heal: 0 },
'八重神子': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 50, dmg: 100, phy: 0, recharge: 50, heal: 0 },
'申鹤': { hp: 0, atk: 100, def: 0, cp: 75, cd: 75, mastery: 0, dmg: 100, phy: 0, recharge: 70, heal: 0 },
'云堇': { hp: 0, atk: 25, def: 100, cp: 50, cd: 50, mastery: 0, dmg: 25, phy: 0, recharge: 90, heal: 0 },
'荒泷一斗': { hp: 0, atk: 50, def: 90, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 30, heal: 0 },
'神里绫人': { hp: 50, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'八重神子': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'申鹤': { hp: 0, atk: 100, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 70, heal: 0 },
'云堇': { hp: 0, atk: 0, def: 100, cp: 50, cd: 50, mastery: 0, dmg: 25, phy: 0, recharge: 90, heal: 0 },
'荒泷一斗': { hp: 0, atk: 50, def: 100, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'五郎': { hp: 0, atk: 50, def: 100, cp: 50, cd: 50, mastery: 0, dmg: 25, phy: 0, recharge: 90, heal: 0 },
'班尼特': { hp: 90, atk: 30, def: 0, cp: 50, cd: 50, mastery: 0, dmg: 70, phy: 0, recharge: 80, heal: 100 },
'枫原万叶': { hp: 0, atk: 60, def: 0, cp: 100, cd: 100, mastery: 100, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'雷电将军': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 20, dmg: 75, phy: 0, recharge: 90, heal: 0 },
'行秋': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 20, dmg: 100, phy: 0, recharge: 65, heal: 0 },
'班尼特': { hp: 90, atk: 50, def: 0, cp: 50, cd: 50, mastery: 0, dmg: 70, phy: 0, recharge: 80, heal: 100 },
'枫原万叶': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 100, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'雷电将军': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 75, phy: 0, recharge: 90, heal: 0 },
'行秋': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 65, heal: 0 },
'钟离': { hp: 80, atk: 70, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 50, recharge: 55, heal: 0 },
'钟离-血牛': { hp: 100, atk: 50, def: 0, cp: 75, cd: 75, mastery: 0, dmg: 75, phy: 0, recharge: 55, heal: 0 },
'神里绫华': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 30, dmg: 100, phy: 0, recharge: 20, heal: 0 },
'香菱': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 75, heal: 0 },
'胡桃': { hp: 80, atk: 30, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 35, heal: 0 },
'甘雨': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 40, heal: 0 },
'甘雨-永冻': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 75, heal: 0 },
'温迪': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 60, dmg: 100, phy: 0, recharge: 80, heal: 0 },
'珊瑚宫心海': { hp: 100, atk: 50, def: 0, cp: 0, cd: 0, mastery: 0, dmg: 100, phy: 0, recharge: 65, heal: 100 },
'莫娜': { hp: 0, atk: 50, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 80, heal: 0 },
'阿贝多': { hp: 0, atk: 30, def: 80, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 35, heal: 0 },
'迪奥娜': { hp: 85, atk: 50, def: 0, cp: 75, cd: 75, mastery: 0, dmg: 65, phy: 0, recharge: 55, heal: 100 },
'优菈': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 40, phy: 100, recharge: 45, heal: 0 },
'达达利亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 50, dmg: 100, phy: 0, recharge: 45, heal: 0 },
'魈': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 20, heal: 0 },
'宵宫': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 60, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'钟离-血牛': { hp: 100, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 75, phy: 0, recharge: 55, heal: 0 },
'神里绫华': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'香菱': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'胡桃': { hp: 80, atk: 50, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'甘雨': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'甘雨-永冻': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'温迪': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 65, heal: 0 },
'珊瑚宫心海': { hp: 100, atk: 50, def: 0, cp: 0, cd: 0, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 100 },
'莫娜': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 80, heal: 0 },
'阿贝多': { hp: 0, atk: 0, def: 100, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'迪奥娜': { hp: 100, atk: 0, def: 0, cp: 0, cd: 0, mastery: 0, dmg: 65, phy: 0, recharge: 55, heal: 100 },
'优菈': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 40, phy: 100, recharge: 40, heal: 0 },
'达达利亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'魈': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'宵宫': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'九条裟罗': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'琴': { hp: 0, atk: 90, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 100, recharge: 55, heal: 100 },
'菲谢尔': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 30, dmg: 100, phy: 60, recharge: 30, heal: 0 },
'罗莎莉亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 70, phy: 80, recharge: 40, heal: 0 },
'可莉': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 20, dmg: 100, phy: 0, recharge: 40, heal: 0 },
'凝光': { hp: 0, atk: 80, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 40, heal: 0 },
'北斗': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 30, dmg: 100, phy: 0, recharge: 50, heal: 0 },
'刻晴': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 15, dmg: 100, phy: 100, recharge: 30, heal: 0 },
'托马': { hp: 75, atk: 50, def: 0, cp: 50, cd: 50, mastery: 0, dmg: 75, phy: 0, recharge: 55, heal: 40 },
'迪卢克': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 50, dmg: 100, phy: 0, recharge: 40, heal: 0 },
'芭芭拉': { hp: 80, atk: 50, def: 0, cp: 50, cd: 50, mastery: 15, dmg: 80, phy: 0, recharge: 55, heal: 100 },
'菲谢尔': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 60, recharge: 0, heal: 0 },
'罗莎莉亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 70, phy: 80, recharge: 0, heal: 0 },
'可莉': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'凝光': { hp: 0, atk: 80, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'北斗': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'刻晴': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 100, recharge: 0, heal: 0 },
'托马': { hp: 100, atk: 0, def: 0, cp: 50, cd: 50, mastery: 0, dmg: 75, phy: 0, recharge: 55, heal: 0 },
'迪卢克': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'芭芭拉': { hp: 100, atk: 0, def: 0, cp: 0, cd: 0, mastery: 0, dmg: 80, phy: 0, recharge: 55, heal: 100 },
'芭芭拉-暴力': { hp: 50, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 55, heal: 50 },
'诺艾尔': { hp: 0, atk: 75, def: 100, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 70, heal: 0 },
'旅行者': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 55, heal: 0 },
'重云': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 70, heal: 0 },
'七七': { hp: 0, atk: 100, def: 0, cp: 75, cd: 75, mastery: 0, dmg: 60, phy: 70, recharge: 25, heal: 100 },
'凯亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 100, recharge: 40, heal: 10 },
'烟绯': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 40, dmg: 100, phy: 0, recharge: 40, heal: 0 },
'早柚': { hp: 0, atk: 60, def: 0, cp: 70, cd: 70, mastery: 100, dmg: 80, phy: 0, recharge: 70, heal: 100 },
'安柏': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 100, recharge: 35, heal: 0 },
'丽莎': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 40, dmg: 100, phy: 0, recharge: 45, heal: 0 },
'埃洛伊': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 30, heal: 0 },
'辛焱': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 50, phy: 100, recharge: 30, heal: 0 },
'砂糖': { hp: 0, atk: 60, def: 0, cp: 70, cd: 70, mastery: 100, dmg: 40, phy: 0, recharge: 70, heal: 0 },
'雷泽': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 50, phy: 100, recharge: 35, heal: 0 },
'夜兰': { hp: 80, atk: 0, def: 0, cp: 100, cd: 100, mastery: 25, dmg: 100, phy: 0, recharge: 75, heal: 0 },
'七七': { hp: 0, atk: 100, def: 0, cp: 75, cd: 75, mastery: 0, dmg: 60, phy: 70, recharge: 55, heal: 100 },
'凯亚': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 100, recharge: 0, heal: 0 },
'烟绯': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'早柚': { hp: 0, atk: 0, def: 0, cp: 0, cd: 0, mastery: 100, dmg: 80, phy: 0, recharge: 55, heal: 100 },
'安柏': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 100, recharge: 0, heal: 0 },
'丽莎': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'埃洛伊': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 0, heal: 0 },
'辛焱': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 50, phy: 100, recharge: 0, heal: 0 },
'砂糖': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 100, dmg: 40, phy: 0, recharge: 70, heal: 0 },
'雷泽': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 50, phy: 100, recharge: 0, heal: 0 },
'夜兰': { hp: 80, atk: 0, def: 0, cp: 100, cd: 100, mastery: 0, dmg: 100, phy: 0, recharge: 75, heal: 0 },
};