增加扩散、感电的计算逻辑,感谢 **@49631073**的逻辑梳理

伤害计算增加 万叶ⁿᵉʷ、久岐忍ⁿᵉʷ,温迪增加扩散伤害计算
部分角色评分权重微调
This commit is contained in:
yoimiya-kokomi 2022-06-21 06:55:08 +08:00
parent 664c008b99
commit 89769be51a
37 changed files with 288 additions and 35214 deletions

View File

@ -1,24 +1,20 @@
# 1.7.7
# 1.7.8
* 增加扩散、感电的计算逻辑,感谢 **@49631073**的逻辑梳理
* 伤害计算增加 万叶ⁿᵉʷ、久岐忍ⁿᵉʷ,温迪增加扩散伤害计算
* 部分角色评分权重微调
# 1.7.5 ~ 1.7.7
* 角色图像增加小清新开关,默认关闭
* 对自带的部分角色图像进行了更改
* 对增量包内的角色图像进行分级,较为清凉的图像独立管理
* 安装了增量包的小伙伴请使用`#喵喵更新图像`先获取最新版增量包图像
* 勇士们可使用 `#喵喵设置小清新开启` 启用
* 自行添加的图像添加到 **resources/character-img/** 的对应角色目录下
* 自行添加请到 **resources/character-img/** 的对应角色目录下添加
* `#喵喵更新` 的自动重启功能适配node app方式启动的Yunzai-Bot感谢 **@SirlyDreamer**
* 修正`#喵喵日历`祈愿时间获取错误的问题Again..
# 1.7.5 ~ 1.7.6
* `#角色面板`现在支持B服角色数据获取
* 数据来自喵喵API部分功能尚未完全稳定如有问题请反馈给喵喵
* 由于底层逻辑差异,`#圣遗物列表` 在B服下只会展示手工查看过角色的圣遗物
* 已知问题:角色天赋的皇冠及命座加成效果显示可能有问题
* 修正伤害加成字段的数据获取逻辑,有错误的面板重新获取后即可恢复正常
* `#角色面板`部分功能调整与Bugfix
* 调整部分角色的圣遗物词条权重,部分角色的圣遗物评分可能会有变化
* ACE档的评分档位由>50降低为>49.5 (理论最高分的75%)
* `#圣遗物列表` 根据新版圣遗物评分规则进行词条高亮
# 1.7.1 ~ 1.7.4
@ -28,14 +24,11 @@
* `#角色面板`、`#圣遗物列表` 使用新的圣遗物评分逻辑计算评分
* 新的圣遗物评分规针对角色进行了细化,同时将得分进行了拉齐
* 根据角色使用不同词条权重计算。感谢 **@糖炒栗子 @秋声 @49631073**等的权重梳理
* 会在后续提供单独命令,供查看角色圣遗物及计算逻辑与计算逻辑
* 因为计分逻辑变更,所以【分数值及档位】相较于升级之前可能有所变化。如有不合理计算请反馈给 @喵喵
* **新版评分会逐步迭代,分数值可能不稳定**。如需关闭新版评分,可编辑喵喵 lib/app/character.js, const isNewScore = false;
* `#录入角色面板` 功能恢复
* 可对已有面板数据的角色手工输入更改面板属性,用于伤害测算
* 例如`#录入雷神面板 暴击80暴伤250`
* 暂不支持设置武器、圣遗物、命座、天赋。后续会增加支持
* `#角色持有率`、`#深渊出场率` 页面细节样式调整
# 1.7.0

View File

@ -11,7 +11,7 @@ const require = createRequire(import.meta.url);
let cfgMap = {
"角色": "char.char",
"面板": "char.profile",
"面板": "char.profile-data",
"老婆": "char.wife",
"小清新": "char.se",
"查他人": "char.queryOther",
@ -88,7 +88,7 @@ export async function sysCfg(e, { render }) {
let cfg = {
chars: getStatus("char.char"),
profile: getStatus("char.profile"),
profile: getStatus("char.profile-data"),
wife: getStatus("char.wife"),
se: getStatus("char.se", false),
other: getStatus("char.queryOther"),
@ -245,7 +245,7 @@ export async function profileCfg(e, { render }) {
cfg[key] = getStatus(`profile.${key}.status`, true)
});
let groups = Cfg.get('profile.groups', {});
let groups = Cfg.get('profile-data.groups', {});
lodash.forEach(lodash.keys(groups), (group, idx) => {
if (lodash.isUndefined(groups[group])) {
@ -259,7 +259,7 @@ export async function profileCfg(e, { render }) {
})
//渲染图像
return await Common.render("admin/profile", {
return await Common.render("admin/profile-data", {
...cfg,
}, { e, render, scale: 1.4 });

View File

@ -98,13 +98,13 @@ export async function character(e, { render, User }) {
}
if (mode !== "card" && !e.isMaster) {
if (Common.isDisable(e, "char.profile")) {
if (Common.isDisable(e, "char.profile-data")) {
// 面板开关关闭
return;
}
if (e.isPrivate) {
if ((e.sub_type === "friend" && Cfg.get("profile.friend.status") === false) ||
(e.sub_type === "group" && Cfg.get("profile.stranger.status") === false)) {
if ((e.sub_type === "friend" && Cfg.get("profile-data.friend.status") === false) ||
(e.sub_type === "group" && Cfg.get("profile-data.stranger.status") === false)) {
return;
}
} else if (e.isGroup) {
@ -873,22 +873,18 @@ export async function enemyLv(e) {
let selfUser = await e.checkAuth({
auth: "self"
})
if (!selfUser || !e.msg) {
return true;
}
let ret = /(敌人|怪物)等级\s*(\d{1,3})\s*$/.exec(e.msg);
if (ret && ret[2]) {
let lv = ret[2] * 1;
await selfUser.setCfg("char.enemyLv", lv);
lv = await selfUser.getCfg("char.enemyLv", 91);
e.reply(`敌人等级已经设置为${lv}`);
return true;
}
return true;
}
/*

View File

@ -3,24 +3,8 @@ import lodash from "lodash";
import Format from "./Format.js";
import { Character } from "./models.js"
const eleMap = {
anemo: "风",
cryo: "冰",
electro: "雷",
geo: "岩",
hydro: "水",
pyro: "火"
}
const attrMap = {
atk: { type: "pct", val: 5.83, title: "大攻击", text: "5.8%" },
hp: { type: "pct", val: 5.83, title: "大生命", text: "5.8%" },
def: { type: "pct", val: 7.29, title: "大防御", text: "7.3%" },
recharge: { type: "plus", val: 6.48, title: "元素充能", text: "6.5%" },
mastery: { type: "plus", val: 23.31, title: "元素精通", text: "23.3" },
cpct: { type: "plus", val: 3.89, title: "暴击率", text: "3.9%" },
cdmg: { type: "plus", val: 7.77, title: "暴击伤害", text: "7.8%" },
}
import { eleBaseDmg, eleMap, attrMap } from "./calc/calc-meta.js";
import { Mastery } from "./calc/mastery.js";
let Calc = {
@ -123,7 +107,7 @@ let Calc = {
inc: 100, // 吸收倍率
}
let char = Character.get(profile.id);
let char = Character.get(profile);
ret.weapon = profile.weapon;
ret.weaponType = char.weaponType;
ret.element = eleMap[char.elem.toLowerCase()];
@ -133,8 +117,11 @@ let Calc = {
ret.zf = 0;
ret.rh = 0;
ret.gd = 0;
ret.ks = 0;
ret.kx = 0;
ret.fykx = 0;
return ret;
@ -228,10 +215,11 @@ let Calc = {
if (buff.mastery) {
let mastery = Math.max(0, attr.mastery.base + attr.mastery.plus);
let masteryNum = 2.78 * mastery / (mastery + 1400) * 100;
// let masteryNum = 2.78 * mastery / (mastery + 1400) * 100;
buff.data = buff.data || {};
lodash.forEach(buff.mastery.split(","), (key) => {
buff.data[key] = masteryNum;
buff.data[key] = Mastery.getMultiple(key, mastery);
// buff.data[key] = masteryNum;
})
}
@ -258,7 +246,7 @@ let Calc = {
return;
}
if (["zf", "rh", "kx"].includes(key)) {
if (["zf", "rh", "kx", 'gd', 'ks', 'fykx'].includes(key)) {
attr[key] += val * 1 || 0;
}
});
@ -371,6 +359,7 @@ let Calc = {
pctNum = pctNum / 100;
let ds = attr[talent];
pctNum += ds.pct / 100;
dmgNum += ds.dmg / 100;
cpctNum += ds.cpct / 100;
@ -379,6 +368,7 @@ let Calc = {
enemyIgnore += ds.ignore / 100;
multiNum += ds.multi / 100;
plusNum += ds.plus;
}
// 防御区
@ -386,7 +376,11 @@ let Calc = {
let defNum = (lv + 100) / ((lv + 100) + (enemyLv + 100) * (1 - enemyDef) * (1 - enemyIgnore));
// 抗性区
let kx = 10 - (attr.kx || 0);
let kx = attr.kx;
if (talent === "fy") {
kx = attr.fykx;
}
kx = 10 - (kx || 0);
let kNum = 0.9;
if (kx >= 0) {
kNum = (100 - kx) / 100;
@ -395,18 +389,17 @@ let Calc = {
}
// 反应区
let eleNum = 1;
let eleNum = 1, eleBase = 0;
if (ele === "ks" || ele === "gd") {
eleBase = eleBaseDmg[lv] || 0;
}
if (ele === "phy") {
//do nothing
} else if (ele) {
// todo 更详细
let eleMap = {
'水': { zf: 2 },
'火': { zf: 1.5, rh: 2 },
'冰': { rh: 1.5 }
}
eleNum = Mastery.getBasePct(ele, attr.element);
eleNum = (eleMap[attr.element] || {})[ele] || 1;
if (attr[ele]) {
eleNum = eleNum * (1 + attr[ele] / 100);
}
@ -423,6 +416,10 @@ let Calc = {
dmg: basicNum * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
avg: basicNum * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
}
} else if (eleBase) {
ret = {
avg: eleBase * kNum * eleNum
}
} else {
// 计算最终伤害
ret = {
@ -456,6 +453,9 @@ let Calc = {
avg: num * (calc(attr.shield) / 100) * (attr.shield.inc / 100)
};
}
dmgFn.ks = function () {
return dmgFn(0, 'fy', 'ks');
}
return dmgFn;
},

View File

@ -1,13 +1,10 @@
import fs from "fs";
import fetch from "node-fetch";
import lodash from "lodash";
import Format from "./Format.js";
import Character from "./models/Character.js";
import Reliquaries from "./models/Reliquaries.js";
import Data from "./data/enka.js";
import Miao from "./profile/miao.js";
import Enka from "./profile/enka.js";
import Miao from "./profile-data/miao.js";
import Enka from "./profile-data/enka.js";
const _path = process.cwd();
const cfgPath = `${_path}/plugins/miao-plugin/config.js`;

View File

@ -0,0 +1,122 @@
// 各等级精通基础伤害
export const eleBaseDmg = {
1: 20,
2: 22,
3: 23,
4: 24,
5: 27,
6: 29,
7: 31,
8: 34,
9: 37,
10: 40,
11: 44,
12: 48,
13: 53,
14: 58,
15: 64,
16: 70,
17: 77,
18: 83,
19: 90,
20: 97,
21: 103,
22: 110,
23: 117,
24: 123,
25: 130,
26: 136,
27: 141,
28: 147,
29: 156,
30: 163,
31: 171,
32: 178,
33: 186,
34: 193,
35: 202,
36: 211,
37: 220,
38: 230,
39: 239,
40: 248,
41: 258,
42: 269,
43: 280,
44: 291,
45: 307,
46: 322,
47: 338,
48: 353,
49: 370,
50: 388,
51: 403,
52: 420,
53: 437,
54: 453,
55: 478,
56: 499,
57: 521,
58: 543,
59: 567,
60: 591,
61: 616,
62: 647,
63: 678,
64: 710,
65: 749,
66: 781,
67: 814,
68: 849,
69: 883,
70: 918,
71: 953,
72: 989,
73: 1021,
74: 1052,
75: 1097,
76: 1136,
77: 1174,
78: 1213,
79: 1253,
80: 1292,
81: 1331,
82: 1371,
83: 1411,
84: 1451,
85: 1504,
86: 1547,
87: 1590,
88: 1636,
89: 1686,
90: 1736
};
export const eleMap = {
anemo: "风",
cryo: "冰",
electro: "雷",
geo: "岩",
hydro: "水",
pyro: "火"
};
// 元素反应类型及基数
// 暂无需考虑碎冰
export const erType = {
zf: { type: "pct", num: ({ element }) => element === "水" ? 2 : 1.5 },
rh: { type: "pct", num: ({ element }) => element === "火" ? 2 : 1.5 },
gd: { type: "fusion", num: () => 1 },
cz: { type: "fusion", num: () => 4 / 2.4 },
ks: { type: "fusion", num: () => 0.5 }
}
export const attrMap = {
atk: { type: "pct", val: 5.83, title: "大攻击", text: "5.8%" },
hp: { type: "pct", val: 5.83, title: "大生命", text: "5.8%" },
def: { type: "pct", val: 7.29, title: "大防御", text: "7.3%" },
recharge: { type: "plus", val: 6.48, title: "元素充能", text: "6.5%" },
mastery: { type: "plus", val: 23.31, title: "元素精通", text: "23.3" },
cpct: { type: "plus", val: 3.89, title: "暴击率", text: "3.9%" },
cdmg: { type: "plus", val: 7.77, title: "暴击伤害", text: "7.8%" },
};

View File

@ -0,0 +1,24 @@
import { erType } from "./calc-meta.js";
export const Mastery = {
getType() {
},
getMultiple(type = 'zf', mastery = 0) {
let typeCfg = erType[type];
if (typeCfg.type === "pct") {
return 2.78 * mastery / (mastery + 1400) * 100;
} else if (typeCfg.type === "fusion") {
return (1 + mastery * 16) / (mastery + 2000) * 100;
}
return 0;
},
getBasePct(type, element) {
let typeCfg = erType[type];
if (typeCfg) {
return typeCfg.num(element) || 1;
}
return 1;
}
}

View File

@ -1,92 +0,0 @@
[
{
"Name": "排异之露",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Boss_DewofRepudiation",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_213.png"
},
{
"Name": "极寒之核",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_HoarfrostCore",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_204.png"
},
{
"Name": "飓风之种",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_HurricaneSeed",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_205.png"
},
{
"Name": "阴燃之珠",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_SmolderingPearl",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_212.png"
},
{
"Name": "未熟之玉",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_JuvenileJade",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_207.png"
},
{
"Name": "魔偶机心",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_MaguuKishin",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_210.png"
},
{
"Name": "净水之心",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_CleansingHeart",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_202.png"
},
{
"Name": "恒常机关之心",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_PerpetualHeart",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_211.png"
},
{
"Name": "玄岩之塔",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_BasaltPillar",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_206.png"
},
{
"Name": "晶凝之华",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_CrystallineBloom",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_208.png"
},
{
"Name": "雷光棱镜",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_LightningPrism",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_203.png"
},
{
"Name": "常燃火种",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_EverflameSeed",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_201.png"
},
{
"Name": "雷霆数珠",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_StormBeads",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_214.png"
},
{
"Name": "兽境王器",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_RiftbornRegalia",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_215.png"
},
{
"Name": "龙嗣伪鳍",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Boss_DragonheirsFalseFin",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_216.png"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -1,74 +0,0 @@
[
{
"City": "Mondstadt",
"Week": 2,
"Name": "抗争",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Resistance",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_453.png"
},
{
"City": "Liyue",
"Week": 1,
"Name": "繁荣",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Prosperity",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_443.png"
},
{
"City": "Inazuma",
"Week": 3,
"Name": "天光",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Light",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_428.png"
},
{
"City": "Liyue",
"Week": 3,
"Name": "黄金",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Gold",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_433.png"
},
{
"City": "Mondstadt",
"Week": 1,
"Name": "自由",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Freedom",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_423.png"
},
{
"City": "Mondstadt",
"Week": 3,
"Name": "诗文",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Ballad",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_403.png"
},
{
"City": "Inazuma",
"Week": 2,
"Name": "风雅",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Elegance",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_418.png"
},
{
"City": "Liyue",
"Week": 2,
"Name": "勤劳",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Diligence",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_413.png"
},
{
"City": "Inazuma",
"Week": 1,
"Name": "浮世",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Talent_Transience",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/guide/i_408.png"
}
]

View File

@ -1,65 +0,0 @@
[
{
"City": "Liyue",
"Name": "漆黑陨铁",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_Aerosiderite",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_554.png"
},
{
"City": "Liyue",
"Name": "孤云寒林",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_Guyun",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_514.png"
},
{
"City": "Liyue",
"Name": "雾海云间",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_MistVeiled",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_534.png"
},
{
"City": "Inazuma",
"Name": "远海夷地",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_DistantSea",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_564.png"
},
{
"City": "Mondstadt",
"Name": "凛风奔狼",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_BorealWolf",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_524.png"
},
{
"City": "Inazuma",
"Name": "鸣神御灵",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_Narukami",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_574.png"
},
{
"City": "Mondstadt",
"Name": "高塔孤王",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_Decarabian",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_504.png"
},
{
"City": "Inazuma",
"Name": "今昔剧画",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_Mask",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_584.png"
},
{
"City": "Mondstadt",
"Name": "狮牙斗士",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "Weapon_DandelionGladiator",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/weapon/i_544.png"
}
]

View File

@ -1,62 +0,0 @@
[
{
"Name": "混沌",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Chaos",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_83.png"
},
{
"Name": "号角",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Horn",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_63.png"
},
{
"Name": "雾虚",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_MistGrass",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_93.png"
},
{
"Name": "骨片",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_BoneShard",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_143.png"
},
{
"Name": "地脉",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_LeyLine",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_73.png"
},
{
"Name": "混沌2",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Chaos2",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_173.png"
},
{
"Name": "祭刀",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_SacrificialKnife",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_103.png"
},
{
"Name": "棱镜",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Prism",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_183.png"
},
{
"Name": "隐兽",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Concealed",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_176.png"
},
{
"Name": "刻像",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/4star.png",
"Key": "Elite_Statuette",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_153.png"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +0,0 @@
[
{
"Name": "哀叙冰玉",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_ShivadaJade",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_344.png"
},
{
"Name": "坚牢黄玉",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_PrithivaTopaz",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_364.png"
},
{
"Name": "燃愿玛瑙",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_AgnidusAgate",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_314.png"
},
{
"Name": "自在松石",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_VayudaTurquoise",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_354.png"
},
{
"Name": "最胜紫晶",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_VajradaAmethyst",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_334.png"
},
{
"Name": "璀璨原钻",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_BrilliantDiamond",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_304.png"
},
{
"Name": "生长碧翡",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_NagadusEmerald",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_374.png"
},
{
"Name": "涤净青金",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/5star.png",
"Key": "GemStone_VarunadaLazurite",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_324.png"
}
]

View File

@ -1,152 +0,0 @@
[
{
"Name": "清心",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Qingxin",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_614.png"
},
{
"Name": "石珀",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_CorLapis",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_602.png"
},
{
"Name": "绝云椒椒",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_JueyunChili",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_605.png"
},
{
"Name": "慕风蘑菇",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_PhilanemoMushroom",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_607.png"
},
{
"Name": "霓裳花",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_SilkFlower",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_608.png"
},
{
"Name": "嘟嘟莲",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_CallaLily",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_600.png"
},
{
"Name": "星螺",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Starconch",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_663.png"
},
{
"Name": "蒲公英种子",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_DandelionSeed",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_603.png"
},
{
"Name": "琉璃百合",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_GlazeLily",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_604.png"
},
{
"Name": "海灵芝",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_SeaGanoderma",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_675.png"
},
{
"Name": "夜泊石",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_NoctilucousJade",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_606.png"
},
{
"Name": "小灯草",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_SmallLampGrass",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_609.png"
},
{
"Name": "琉璃袋",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Violetgrass",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_611.png"
},
{
"Name": "钩钩果",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Wolfhook",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_613.png"
},
{
"Name": "绯樱绣球",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_SakuraBloom",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_678.png"
},
{
"Name": "塞西莉亚花",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Cecilia",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_601.png"
},
{
"Name": "鸣草",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_NakuWeed",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_681.png"
},
{
"Name": "风车菊",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_WindwheelAster",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_612.png"
},
{
"Name": "落落莓",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Valberry",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_610.png"
},
{
"Name": "晶化骨髓",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_CrystalMarrow",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_679.png"
},
{
"Name": "血斛",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Dendrobium",
"Source": "https://genshin.honeyhunterworld.com/img/ingredient/i_680.png"
},
{
"Name": "天云草实",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_TenkumoFruit",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_686.png"
},
{
"Name": "珊瑚真珠",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_SangoPearl",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_685.png"
},
{
"Name": "幽灯蕈",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_FluorescentFungus",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/gem/i_688.png"
},
{
"Name": "鬼兜虫",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/1star.png",
"Key": "Local_Onikabuto",
"Source": "https://genshin.honeyhunterworld.com/img/ingredient/i_677.png"
}
]

View File

@ -1,56 +0,0 @@
[
{
"Name": "史莱姆",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Slime",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_23.png"
},
{
"Name": "刀镡",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Handguard",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_163.png"
},
{
"Name": "鸦印",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_RavenInsignia",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_123.png"
},
{
"Name": "花蜜",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Nectar",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_133.png"
},
{
"Name": "箭簇",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Arrowhead",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_53.png"
},
{
"Name": "徽记",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Insignia",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_113.png"
},
{
"Name": "面具",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Mask",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_33.png"
},
{
"Name": "绘卷",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Scroll",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_43.png"
},
{
"Name": "浮游",
"Star": "https://genshin.honeyhunterworld.com/img/back/item/3star.png",
"Key": "Monster_Spectral",
"Source": "https://genshin.honeyhunterworld.com/img/upgrade/material/i_187.png"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -124,7 +124,6 @@ Character.get = function (val) {
name = val.name || YunzaiApps.mysInfo['roleIdToName'](roleid, true);
} else {
roleid = YunzaiApps.mysInfo['roleIdToName'](val);
}
if (!name) {
name = YunzaiApps.mysInfo['roleIdToName'](roleid, true);

View File

@ -1,7 +1,7 @@
import lodash from "lodash";
import Character from "../models/Character.js";
import meta from "./enka_meta.js";
import cmeta from "./enka_char.js";
import meta from "./enka-meta.js";
import cmeta from "./enka-char.js";
import _Data from "../Data.js";
import moment from "moment";

View File

@ -1,5 +1,5 @@
import fetch from "node-fetch";
import Data from "../data/enka.js";
import Data from "./enka-data.js";
let Enka = {
key: "enka",

View File

View File

View File

@ -2,8 +2,8 @@ import fetch from "node-fetch";
import lodash from "lodash";
import Character from "../models/Character.js";
import moment from "moment";
import { artiIdx, artiSetMap, attrMap } from "./miao_meta.js";
import cmeta from "../data/enka_char.js";
import { artiIdx, artiSetMap, attrMap } from "./miao-meta.js";
import cmeta from "./enka-char.js";
const url = "http://49.232.91.210/profile";

View File

@ -201,4 +201,4 @@
filter: grayscale(100%);
opacity: 0.4;
}
/*# sourceMappingURL=avatar-profile.css.map */
/*# sourceMappingURL=avatar-profile-source.css.map */

View File

@ -0,0 +1,28 @@
export const details = [{
title: "E每跳治疗",
dmg: ({ talent, calc, attr }, { heal }) => {
let ec = talent.e['越祓草轮治疗量2'];
return heal(calc(attr.hp) * ec[0] / 100 + ec[1] * 1 + calc(attr.mastery) * 0.75)
}
}, {
title: "E释放伤害",
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: "Q每跳伤害",
dmg: ({ talent, calc, attr }, { basic }) => basic(talent.q['单次伤害'] * calc(attr.hp) / 100, 'q')
}];
export const mainAttr = "atk,cpct,cdmg,mastery";
export const buffs = [{
title: "久岐忍被动生命低于50%时提高治疗加成15%",
data: {
heal: 15
}
}, {
title: "久岐忍被动:基于元素精通提高治疗量[healInc],伤害[ePlus]",
data: {
healInc: ({ attr, calc }) => calc(attr.mastery) * 0.75,
ePlus: ({ attr, calc }) => calc(attr.mastery) * 0.25
}
}];

View File

@ -0,0 +1,26 @@
export const details = [{
title: "扩散反应伤害",
dmg: ({}, { ks }) => ks()
}, {
title: "E长按伤害",
dmg: ({ talent }, dmg) => dmg(talent.e['长按技能伤害'], 'e')
}, {
title: "Q斩击伤害",
dmg: ({ talent }, dmg) => dmg(talent.q['斩击伤害'], 'q')
}, {
title: "Q无转化每段伤害",
dmg: ({ talent }, dmg) => dmg(talent.q['持续伤害'], 'q')
}];
export const mainAttr = "atk,cpct,cdmg,mastery";
export const buffs = [{
title: "万叶2命开Q后精通提高200",
data: {
mastery: 200
}
}, {
title: "元素精通:扩散伤害提高[ks]%",
sort: 2,
mastery: "ks"
}];

View File

@ -16,6 +16,9 @@ export const details = [{
avg: basic.avg + fj.avg
}
}
}, {
title: "扩散反应伤害",
dmg: ({}, { ks }) => ks()
}];
export const mainAttr = "atk,cpct,cdmg";
@ -38,4 +41,7 @@ export const buffs = [{
data: {
kx: ({ params }) => params.q ? 20 : 0
}
}, {
title: "元素精通:扩散伤害提高[ks]%",
mastery: "ks"
}];

View File

@ -188,5 +188,21 @@ export const buffs = {
data: {
healInc: 20
}
},
"翠绿之影4": {
title: "翠绿4扩散反应造成的伤害提升60%降低对应元素抗性40%",
sort: 5,
data: {
ks: 60,
fykx: 40
}
},
"如雷的盛怒4": {
title: "如雷4超载、感电、超导反应造成的伤害提升40%",
data: {
cz: 40,
gd: 40,
cd: 40
}
}
}

View File

@ -43,7 +43,7 @@ export const subAttr = "atk,def,hp,mastery,recharge,cp,cd".split(",")
export const usefulAttr = {
'神里绫人': { 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: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 75, 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 },
@ -60,8 +60,8 @@ export const usefulAttr = {
'甘雨': { 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: 100, atk: 50, def: 0, cp: 0, cd: 0, mastery: 0, dmg: 100, phy: 0, recharge: 55, heal: 100 },
'莫娜': { hp: 0, atk: 75, def: 0, cp: 100, cd: 100, mastery: 75, dmg: 100, phy: 0, recharge: 75, 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 },
@ -78,7 +78,7 @@ export const usefulAttr = {
'刻晴': { 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: 100, atk: 50, def: 0, cp: 75, cd: 75, 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 },
@ -94,4 +94,5 @@ export const usefulAttr = {
'砂糖': { 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 },
'久岐忍': { hp: 100, atk: 0, def: 0, cp: 80, cd: 80, mastery: 0, dmg: 100, phy: 0, recharge: 75, heal: 100 },
};

View File

@ -374,12 +374,14 @@ let bow = {
}
}],
"终末嗟叹之诗": [{
title: "元素精通提高[mastery]",
title: "元素精通提高[_mastery]",
sort: 0,
refine: {
mastery: step(60)
_mastery: step(60)
}
}, {
title: "Buff下提高元素精通[mastery],攻击力[atkPct]%",
sort: 0,
refine: {
mastery: step(100),
atkPct: step(20)

View File

@ -34,7 +34,7 @@ lodash.forEach(readDir, (c) => {
// 正面
// 角色条
img(char, char.imgs.profile, "profile.png");
img(char, char.imgs.profile, "profile-data.png");
// 名片
img(char, char.imgs.party, "party.png");
// img(char, char.imgs.char, "char.png");

View File

@ -11,7 +11,7 @@ lodash.forEach(roleId, (names, id) => {
})
let _root = process.cwd();
let characterMeta = Data.readJSON("./plugins/miao-plugin/components/meta", "characters.json");
let characterMeta = [];//Data.readJSON("./plugins/miao-plugin/components/meta", "characters.json");
let characters = {};
let pathName = process.cwd() + "/plugins/miao-plugin/resources/meta/character/";

View File

@ -27,7 +27,7 @@ lodash.forEach(readDir, (c) => {
// 正面
// 角色条
img(char, char.imgs.profile, "profile.png");
img(char, char.imgs.profile, "profile-data.png");
// 名片
img(char, char.imgs.party, "party.png");
// img(char, char.imgs.char, "char.png");