#角色面板 伤害计算增加 绫人、绫华

一些bug及细节调整
This commit is contained in:
yoimiya-kokomi 2022-04-30 05:54:41 +08:00
parent 40bd8e830a
commit 1b694f1a08
8 changed files with 388 additions and 101 deletions

View File

@ -1,14 +1,14 @@
# 1.2.2
* `#角色面板` 增加伤害计算功能
* 目前支持角色:雷神、胡桃、魈、神子、甘雨、宵宫、公子
* 目前支持角色:雷神、胡桃、魈、神子、甘雨、宵宫、公子、绫人、绫华
* `#角色面板` 功能升级
* 优化无角色面板数据时的引导
* 优化返回的图像格式及分辨率,平衡响应速度及显示效果
* 增加 `#圣遗物列表` 命令,对已经获取面板的所有角色圣遗物进行评分,并展示高评分的圣遗物列表
* 增加 `#面板角色列表` 命令,查看已经获取面板的角色列表
* 增加 `#胡桃面板更新` 命令获取单个角色面板数据每天可更新5次
* 更改 `#全部面板更新` 命令获取角色展柜全部8个角色每天可更新3次
* 增加 `#角色面板列表` 命令,查看已经获取面板的角色列表
* 增加 `#更新胡桃面板` 命令获取单个角色面板数据每天可更新5次
* 更改 `#更新全部面板` 命令获取角色展柜全部8个角色每天可更新3次
# 1.2.0

View File

@ -65,13 +65,14 @@ export async function character(e, { render, User }) {
let mode = 'card';
let name = msg.replace(/#|老婆|老公|[1|2|5][0-9]{8}/g, "").trim();
if (/(详情|详细|面板|面版)$/.test(msg)) {
if (/(详情|详细|面板|面版)$/.test(msg) && !/更新/.test(msg)) {
mode = 'profile';
name = name.replace(/(详情|详细|面板|面版)/, "").trim();
} else if (/(详情|详细|面板|面版)更新/.test(msg)) {
} else if (/(详情|详细|面板|面版)更新$/.test(msg) || (/更新/.test(msg) && /(详情|详细|面板|面版)$/.test(msg))) {
mode = "refresh";
name = name.replace(/(详情|详细|面板|面版)更新/, "").trim();
name = name.replace(/详情|详细|面板|面版|更新/g, "").trim();
}
let char = Character.get(name);
if (!char) {
@ -582,8 +583,8 @@ export async function renderProfile(e, char, render) {
let profile = Profile.get(uid, char.id);
if (!profile) {
e.reply(`请先发送 #${char.name}面板更新\n来获取${char.name}的面板详情`);
e.reply(segment.image(`file://${process.cwd()}/plugins/miao-plugin/resources/character/imgs/help.jpg`))
e.reply(`请先发送 #更新${char.name}面板\n来获取${char.name}的面板详情`);
await profileHelp(e);
return true;
}
@ -695,6 +696,7 @@ export async function renderProfile(e, char, render) {
return true;
}
/* #敌人等级 */
export async function enemyLv(e) {
let selfUser = await e.checkAuth({
auth: "self"
@ -703,9 +705,9 @@ export async function enemyLv(e) {
if (!selfUser || !e.msg) {
return true;
}
let ret = /敌人等级\s*(\d{1,3})\s*$/.exec(e.msg);
if (ret && ret[1]) {
let lv = ret[1] * 1;
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);
@ -763,6 +765,12 @@ export async function getArtis(e, { render }) {
}
});
if (artis.length === 0) {
e.reply("请先获取角色面板数据后再查看圣遗物列表...");
await profileHelp(e);
return true;
}
artis = lodash.sortBy(artis, "_mark");
artis = artis.reverse();
artis = artis.slice(0, 20);
@ -793,15 +801,23 @@ export async function getProfileAll(e) {
let uid = MysApi.selfUser.uid;
let profiles = Profile.getAll(uid) || {};
if (profiles.length === 0) {
e.reply("尚未获取任何角色数据");
} else {
let chars = [];
lodash.forEach(profiles, (ds) => {
ds.name && chars.push(ds.name)
});
e.reply("当前已获取面板角色: " + chars.join(", "));
}
return true;
let chars = [];
lodash.forEach(profiles || [], (ds) => {
ds.name && chars.push(ds.name)
});
if (chars.length === 0) {
e.reply("尚未获取任何角色数据");
await profileHelp(e);
return true;
}
e.reply("当前已获取面板角色: " + chars.join(", "));
return true;
}
export async function profileHelp(e) {
e.reply(segment.image(`file://${process.cwd()}/plugins/miao-plugin/resources/character/imgs/help.jpg`))
return true;
}

View File

@ -354,6 +354,8 @@ let Calc = {
pctNum = pctNum / 100;
let plusNum = 0;
if (talent && attr[talent]) {
let ds = attr[talent];
pctNum += ds.pct / 100;
@ -363,6 +365,7 @@ let Calc = {
enemyDef += ds.def / 100;
enemyIgnore += ds.ignore / 100;
multiNum += ds.multi / 100;
plusNum += ds.plus;
}
// 防御区
@ -390,11 +393,11 @@ let Calc = {
// 计算最终伤害
let ret = {
dmg: atkNum * pctNum * (1 + multiNum) * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
avg: atkNum * pctNum * (1 + multiNum) * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
dmg: (atkNum * pctNum * (1 + multiNum) + plusNum) * dmgNum * (1 + cdmgNum) * defNum * kNum * eleNum,
avg: (atkNum * pctNum * (1 + multiNum) + plusNum) * dmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * eleNum
}
// console.log(attr, { atkNum, pctNum, multiNum, dmgNum, cpctNum, cdmgNum, defNum, eleNum, kNum }, ret)
// console.log(attr, { atkNum, pctNum, multiNum, plusNum, dmgNum, cpctNum, cdmgNum, defNum, eleNum, kNum }, ret)
return ret;
};

View File

@ -1,4 +1,13 @@
import { character, getProfile, wife, wifeReg, enemyLv, getArtis, getProfileAll } from "./apps/character.js";
import {
character,
getProfile,
wife,
wifeReg,
enemyLv,
getArtis,
getProfileAll,
profileHelp
} from "./apps/character.js";
import { consStat, abyssPct } from "./apps/stat.js";
import { wiki } from "./apps/wiki.js";
import { help, versionInfo } from "./apps/help.js";
@ -21,13 +30,14 @@ export {
getProfile,
enemyLv,
getArtis,
getProfileAll
getProfileAll,
profileHelp
};
let rule = {
character: {
reg: "^#(喵喵)?(.*)(详情|详细|面板|面版)?(更新)?$",
reg: "^#(喵喵)?(更新)?(.*)(详情|详细|面板|面版)?(更新)?$",
describe: "【#角色】角色详情",
},
getArtis: {
@ -35,7 +45,11 @@ let rule = {
describe: "【#角色】圣遗物列表",
},
getProfileAll: {
reg: "#面板角色列表",
reg: "#(面板角色|角色面板)列表",
describe: "【#角色】查看当前已获取面板数据的角色列表",
},
profileHelp: {
reg: "#角色面板帮助",
describe: "【#角色】查看当前已获取面板数据的角色列表",
},
wife: {
@ -59,11 +73,11 @@ let rule = {
describe: "【#帮助】 #喵喵帮助",
},
getProfile: {
reg: "^#(全部面板更新|获取游戏角色详情)$",
reg: "^#(全部面板更新|更新全部面板|获取游戏角色详情)$",
describe: "【#角色】 获取游戏橱窗详情数据",
},
enemyLv: {
reg: "^#敌人等级\\s*\\d{1,3}\\s*$",
reg: "^#(敌人|怪物)等级\\s*\\d{1,3}\\s*$",
describe: "【#角色】 设置伤害计算中目标敌人的等级",
},
versionInfo: {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 249 KiB

View File

@ -0,0 +1,35 @@
export const details = [{
title: "E后瞬水剑三段伤害",
dmg: ({ talent }, dmg) => dmg(talent.e['三段瞬水剑伤害'], 'a')
}, {
title: "E后瞬水剑三段蒸发",
dmg: ({ talent }, dmg) => dmg(talent.e['三段瞬水剑伤害'], 'a', 'zf')
}, {
title: "神里流·水囿每段伤害",
params: { q: 1 },
dmg: ({ talent }, dmg) => dmg(talent.q['水花剑伤害'], 'q')
}];
export const buffs = [{
cons: 2,
title: "绫人2命3层浪闪以上时提高50%生命值",
data: {
hpPct: ({ params }) => params.q ? 0 : 50
}
}, {
check: ({ cons }) => cons < 2,
title: "4层浪闪提高瞬水剑伤害[aPlus]",
data: {
aPlus: ({ attr, calc, talent }) => calc(attr.hp) * talent.e['浪闪伤害值提高'] / 100 * 4
}
}, {
cons: 2,
title: "5层浪闪提高瞬水剑伤害[aPlus]",
data: {
aPlus: ({ attr, calc, talent }) => calc(attr.hp) * talent.e['浪闪伤害值提高'][0] / 100 * 5
}
}, {
title: "元素精通:蒸发伤害提高[zf]%",
mastery: "zf"
}];

View File

@ -0,0 +1,38 @@
export const details = [{
title: "霰步E后重击总伤害",
dmg: ({ talent }, dmg) => dmg(talent.a['重击伤害'], 'a2')
}, {
title: "神里流·冰华 伤害",
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
}, {
title: "神里流·霜灭 单段伤害",
dmg: ({ talent }, dmg) => dmg(talent.q['切割伤害'], 'q')
}];
export const buffs = [{
passive: 1,
title: "神里被动释放E后普攻与重击伤害提高30%",
data: {
aDmg: 30,
a2Dmg: 30
}
}, {
passive: 2,
title: "神里被动霰步命中敌人获得18%冰伤加成",
data: {
dmg: 18
}
}, {
cons: 4,
title: "神里4命元素爆发后敌人防御力降低30%",
data: {
qDef: 30
}
}, {
cons: 6,
title: "神里6命每10秒重击伤害提高[a2Dmg]%",
data: {
a2Dmg: 298
}
}];

View File

@ -1,25 +1,37 @@
let step = function (start, step = 0) {
if (!step) {
step = start / 4;
}
let ret = [];
for (let idx = 0; idx <= 5; idx++) {
ret.push(start + step * idx)
}
return ret;
}
let polearm = {
"白缨枪": {
title: "白缨枪普通攻击伤害提高[aDmg]%",
refine: { aDmg: [24, 30, 36, 42, 48] }
refine: { aDmg: step(24) }
},
"黑岩刺枪": {
title: "黑岩刺枪满层攻击力加成[atkPct]%",
data: {
atkPct: ({ refine }) => [12, 15, 18, 21, 24][refine] * 3
atkPct: ({ refine }) => step(12)[refine] * 3
}
},
"决斗之枪": {
title: "身边敌人少于2个时获得[atkPct]%的攻击力提升",
refine: {
atkPct: [24, 30, 36, 42, 48]
atkPct: step(24)
}
},
"匣里灭辰": {
check: ({ element }) => ['水', '火'].includes(element),
title: "对于水或或元素影响的敌人造成伤害提高[dmg]%",
refine: {
dmg: [20, 24, 28, 32, 36]
dmg: step(20, 4)
}
},
"千岩长枪": {
@ -33,52 +45,52 @@ let polearm = {
title: "释放元素战技后2层Buff普攻与重击造成伤害提高[aDmg]%",
buffCount: 2,
refine: {
aDmg: [8, 10, 12, 14, 16],
a2Dmg: [8, 10, 12, 14, 16]
aDmg: step(8),
a2Dmg: step(8)
}
},
"宗室猎枪": {
title: "3层Buff暴击提高[cpct]%",
buffCount: 3,
refine: {
cpct: [8, 10, 12, 14, 16]
cpct: step(8)
}
},
"喜多院十文字": {
title: "元素战技伤害提升[eDmg]%",
refine: {
eDmg: [6, 7.5, 9, 10.5, 12]
eDmg: step(6)
}
},
"「渔获」": {
title: "元素爆发造成伤害提高[qDmg]%,元素爆发的暴击率提高[qCpct]%",
refine: {
qDmg: [16, 20, 24, 28, 32],
qCpct: [6, 7.5, 9, 10.5, 12]
qDmg: step(16),
qCpct: step(6)
}
},
"断浪长鳍": {
title: "满层元素爆发伤害提高[qDmg]%",
refine: { qDmg: [40, 50, 60, 70, 80] }
refine: { qDmg: step(40) }
},
"贯虹之槊": {
title: "护盾满层状态提高攻击力[atkPct]%",
buffCount: 10,
refine: {
atkPct: [4, 5, 6, 7, 8]
atkPct: step(4)
}
},
"和璞鸢": {
title: "满层攻击力提高[atkPct]%,伤害提升[dmg]%",
refine: {
atkPct: [3.2 * 7, 3.9 * 7, 4.6 * 7, 5.3 * 7, 6 * 7],
dmg: [12, 15, 18, 21, 24]
dmg: step(12)
}
},
"天空之脊": {
title: "暴击率提升[cpct]%",
refine: {
cpct: [8, 10, 12, 14, 16]
cpct: step(8)
}
},
"护摩之杖": {
@ -102,7 +114,7 @@ let polearm = {
data: {
atkPct: ({ attr, refine }) => {
let recharge = attr.recharge.base + attr.recharge.plus - 100
return Math.min(recharge * [28, 35, 42, 49, 56][refine] / 100, [80, 90, 100, 110, 120][refine])
return Math.min(recharge * step(28)[refine] / 100, [80, 90, 100, 110, 120][refine])
}
}
}]
@ -113,106 +125,106 @@ let catalyst = {
check: ({ element }) => element === "水",
title: "触发蒸发、感电、冰冻或水元素扩散反应后的12秒内攻击力提高[atkPct]%",
refine: {
atkPct: [20, 25, 30, 35, 40]
atkPct: step(20)
}
},
"魔导绪论": {
check: ({ element }) => ["水", "雷"].includes(element),
title: "对处于水元素或雷元素影响下的敌人,造成的伤害提高[dmg]%",
refine: {
dmg: [12, 15, 18, 21, 24]
dmg: step(12)
}
},
"甲级宝珏": {
title: "击败敌人后攻击力提升[atkPct]%",
refine: {
atkPct: [12, 14, 16, 18, 20]
atkPct: step(12, 2)
}
},
"黑岩绯玉": {
title: "击败敌人后,满层攻击力提升[atkPct]%",
buffCount: 3,
refine: {
atkPct: [12, 15, 18, 21, 24]
atkPct: step(12)
}
},
"万国诸海图谱": {
title: "触发元素反应后,满层提高[dmg]%的元素伤害",
buffCount: 2,
refine: {
dmg: [8, 10, 12, 14, 16]
dmg: step(8)
}
},
"宗室秘法录": {
title: "3层状态下提高暴击率[cpct]%",
buffCount: 3,
refine: {
cpct: [8, 10, 12, 14, 16]
cpct: step(8)
}
},
"匣里日月": {
title: "普攻提高元素战技与爆发伤害[eDmg]%,元素战技与爆发提高普攻伤害[aDmg]%",
refine: {
aDmg: [20, 25, 30, 35, 40],
eDmg: [20, 25, 30, 35, 40],
qDmg: [20, 25, 30, 35, 40]
aDmg: step(20),
eDmg: step(20),
qDmg: step(20)
}
},
"流浪乐章": {
title: "咏叹调下全元素伤害提升[dmg]%",
refine: {
dmg: [48, 60, 72, 84, 96]
dmg: step(48, 12)
}
},
"暗巷的酒与诗": {
title: "冲刺后攻击力提升[atkPct]%",
refine: {
atkPct: [20, 25, 30, 35, 40]
atkPct: step(20)
}
},
"嘟嘟可故事集": {
title: "普攻提高重击伤害[a2Dmg]%,重击提高攻击力[atkPct]%",
refine: {
a2Dmg: [16, 20, 24, 28, 32],
atkPct: [8, 10, 12, 14, 16]
a2Dmg: step(16),
atkPct: step(8)
}
},
"白辰之环": {
title: "与雷元素反应后提高元素反应加成[dmg]%",
refine: {
dmg: [10, 12.5, 15, 17.5, 20]
dmg: step(10, 2.5)
}
},
"证誓之明瞳": {
title: "施放元素战技后,元素充能效率提升[recharge]%",
refine: {
recharge: [24, 30, 36, 42, 48]
recharge: step(24)
}
},
"四风原典": {
title: "满层获得[dmg]%的元素伤害加成",
buffCount: 4,
refine: {
dmg: [8, 10, 12, 14, 16]
dmg: step(8)
}
},
"天空之卷": {
title: "元素伤害加成提升[dmg]%",
refine: {
dmg: [12, 15, 18, 21, 24]
dmg: step(12)
}
},
"尘世之锁": {
title: "护盾+满层情况下攻击力提高[atkPct]%",
buffCount: 10,
refine: {
atkPct: [4, 5, 6, 7, 8]
atkPct: step(4)
}
},
"不灭月华": {
title: "治疗加成提高[heal]%,普攻伤害增加[aPlus]",
refine: {
heal: [10, 12.5, 15, 17.5, 20]
heal: step(10, 2.5)
},
data: {
aPlus: ({ attr, calc }) => calc(attr.hp) / 100
@ -222,7 +234,7 @@ let catalyst = {
title: "满层提高元素战技伤害[eDmg]%,元素伤害提高[dmg]%",
refine: {
eDmg: [12 * 3, 15 * 3, 18 * 3, 21 * 3, 24 * 3],
dmg: [12, 15, 18, 21, 24]
dmg: step(12)
}
}
};
@ -232,87 +244,87 @@ let bow = {
check: ({ element }) => ['水', '火'].includes(element),
title: "对处于水或火元素影响下的敌人,造成的伤害提高[dmg]%",
refine: {
dmg: [12, 15, 18, 21, 24]
dmg: step(12)
}
},
"神射手之誓": {
title: "针对要害造成的伤害提升[a2Dmg]%",
refine: {
a2Dmg: [24, 30, 36, 42, 48]
a2Dmg: step(24)
}
},
"弹弓": {
title: "普攻与重击的箭矢0.3秒内击中敌人,伤害增加[a2Dmg]%",
refine: {
aDmg: [36, 42, 48, 54, 60],
a2Dmg: [36, 42, 48, 54, 60]
aDmg: step(36, 6),
a2Dmg: step(36, 6)
}
},
"绝弦": {
title: "元素战技与元素爆发的伤害提高[eDmg]%",
refine: {
eDmg: [24, 30, 36, 42, 48],
qDmg: [24, 30, 36, 42, 48]
eDmg: step(24),
qDmg: step(24)
}
},
"暗巷猎手": {
title: "满层提高[dmg]%伤害",
refine: {
dmg: [20, 25, 30, 35, 40]
dmg: step(20)
}
},
"黑岩战弓": {
title: "击败敌人后,攻击力满层提升[atkPct]%",
buffCount: 3,
refine: {
atkPct: [12, 15, 18, 21, 24]
atkPct: step(12)
}
},
"钢轮弓": {
title: "普通攻击与重击命中时,满层提升[atkPct]%",
buffCount: 4,
refine: {
atkPct: [4, 5, 6, 7, 8]
atkPct: step(4)
}
},
"试作澹月": {
title: "重击命中要害提高[atkPct]%攻击力",
refine: {
atkPct: [36, 45, 54, 63, 72]
atkPct: step(36)
}
},
"宗室长弓": {
title: "3层提高暴击率[cpct]%",
buffCount: 3,
refine: {
cpct: [8, 10, 12, 14, 16]
cpct: step(8)
}
},
"弓藏": {
title: "普攻造成的伤害提升[aDmg]%",
refine: {
aDmg: [40, 50, 60, 70, 80]
aDmg: step(40)
}
},
"风花之颂": {
title: "施放元素战技时攻击力提升[atkPct]%",
refine: {
atkPct: [16, 20, 24, 28, 32]
atkPct: step(16)
}
},
"幽夜华尔兹": {
title: "Buff下普攻及元素战技造成的伤害提升[aDmg]%",
refine: {
aDmg: [20, 25, 30, 35, 40],
eDmg: [20, 25, 30, 35, 40]
aDmg: step(20),
eDmg: step(20)
}
},
"破魔之弓": {
title: "满能量下普攻伤害提高[aDmg]%,重击伤害提高[a2Dmg]%",
buffCount: 2,
refine: {
aDmg: [16, 20, 24, 28, 32],
a2Dmg: [12, 15, 18, 21, 24]
aDmg: step(16),
a2Dmg: step(12)
}
},
"掠食者": {
@ -326,79 +338,248 @@ let bow = {
"曚云之月": {
title: "满层元素爆发伤害提高[qDmg]%",
refine: {
qDmg: [40, 50, 60, 70, 80]
qDmg: step(40)
}
},
"冬极白星": [{
title: "元素战技与元素爆发伤害提高[eDmg]%",
refine: {
eDmg: [12, 15, 18, 21, 24],
qDmg: [12, 15, 18, 21, 24],
eDmg: step(12),
qDmg: step(12),
}
}, {
title: "满Buff下提高攻击力[atkPct]%",
refine: {
atkPct: [48, 60, 72, 84, 96]
atkPct: step(48, 12)
}
}],
"飞雷之弦振": [{
title: "满Buff下提高普攻伤害[aDmg]%",
refine: {
aDmg: [40, 50, 60, 70, 80]
aDmg: step(40)
}
}],
"终末嗟叹之诗": [{
title: "元素精通提高[mastery]",
refine: {
mastery: [60, 75, 90, 105, 120]
mastery: step(60)
}
}, {
title: "Buff下提高元素精通[mastery],攻击力[atkPct]%",
refine: {
mastery: [100, 125, 150, 175, 200],
atkPct: [20, 25, 30, 35, 40]
mastery: step(100),
atkPct: step(20)
}
}],
"阿莫斯之弓": [{
title: "普攻与重击伤害提高[a2Dmg]%",
refine: {
aDmg: [12, 15, 18, 21, 24],
a2Dmg: [12, 15, 18, 21, 24]
aDmg: step(12),
a2Dmg: step(12)
}
}, {
title: "5段Buff重击伤害提高[a2Dmg]%",
buffCount: 5,
refine: {
aDmg: [8, 10, 12, 14, 16],
a2Dmg: [8, 10, 12, 14, 16]
aDmg: step(8),
a2Dmg: step(8)
}
}],
"天空之翼": {
title: "暴击伤害提高[cdmg]%",
refine: {
cdmg: [20, 25, 30, 35, 40]
cdmg: step(20)
}
},
"若水": {
title: "生命值提高[hpPct]%,伤害提高[dmg]%",
refine: {
hpPct: [16, 20, 24, 28, 32],
dmg: [20, 25, 30, 35, 40]
hpPct: step(16),
dmg: step(20)
}
},
"陨龙之梦": {
title: "护盾+满Buff提高攻击力[atkPct]%",
buffCount: 10,
refine: {
atkPct: [4, 5, 6, 7, 8]
atkPct: step(4)
}
},
"落霞": {
title: "二层状态下提高伤害[dmg]%",
refine: {
dmg: [10, 12.5, 15, 17.5, 20]
dmg: step(10, 2.5)
}
}
};
export const weapons = { ...polearm, ...catalyst, ...bow };
let sword = {
"辰砂之纺锤": {
title: "元素战技造成的伤害值提高[ePlus]",
data: {
ePlus: ({ attr, calc, refine }) => calc(attr.def) * step(40)[refine] / 100
}
},
"腐殖之剑": {
title: "元素战技的伤害增加[eDmg]%,暴击率提高[eCpct]%",
refine: {
eDmg: step(16),
eCpct: step(6)
}
},
"降临之剑": {
title: "旅行者攻击力提高[atkPlus]",
data: {
atkPlus: 66
}
},
"黑剑": {
title: "普攻与重击的造成的伤害提升[aDmg]%",
refine: {
aDmg: step(20),
a2Dmg: step(20)
}
},
"暗巷闪光": {
title: "角色造成的伤害提升[dmg]%",
refine: {
dmg: step(12)
}
},
"宗室长剑": {
title: "3层Buff下暴击率提高[cpct]%",
buffCount: 3,
refine: {
cpct: step(8)
}
},
"试作斩岩": {
title: "满Buff提高攻击力及防御力[atkPct]%",
buffCount: 4,
refine: {
atkPct: step(4),
defPct: step(4)
}
},
"匣里龙吟": {
check: ({ element }) => ['火', '雷'].includes(element),
title: "对处于火元素或雷元素影响下的敌人,造成的伤害提高[dmg]%",
refine: {
dmg: step(20, 4)
}
},
"铁蜂刺": {
title: "满Buff伤害提高[dmg]%",
buffCount: 2,
refine: {
dmg: step(6)
}
},
"黑岩长剑": {
title: "满Buff攻击力提高[atkPct]%",
buffCount: 3,
refine: {
atkPct: step(12)
}
},
"飞天御剑": {
title: "施放元素爆发后,提高[atkPct]%的攻击力",
refine: {
atkPct: step(12)
}
},
"黎明神剑": {
title: "生命值高于90%时,暴击率提升[cpct]%",
refine: {
cpct: step(14)
}
},
"暗铁剑": {
check: ({ element }) => element === "雷",
title: "触发雷元素相关反应后攻击力提高[atkPct]%",
refine: {
atkPct: step(20)
}
},
"冷刃": {
check: ({ element }) => ['水', '冰'].includes(element),
title: "对处于水或冰元素影响的敌人伤害提高[dmg]%",
refine: {
dmg: step(12)
}
},
"波乱月白经津": [{
title: "元素伤害加成[dmg]%",
refine: {
dmg: step(12)
}
}, {
title: "满层提高普攻[aDmg]%",
buffCount: 2,
refine: {
aDmg: step(20)
}
}],
"雾切之回光": [{
title: "元素伤害加成[dmg]%",
refine: {
dmg: step(12)
}
}, {
title: "满层获得伤害加成[dmg]%",
refine: {
dmg: step(28)
}
}],
"苍古自由之誓": {
title: "触发Buff后提高普攻重击与下落攻击[aDmg]%,攻击力提升[atkPct]%",
refine: {
aDmg: step(16),
a2Dmg: step(16),
a3Dmg: step(16),
atkPct: step(20)
}
},
"磐岩结绿": [{
title: "基于生命值上限提高攻击力[atkPlus]",
data: {
atkPlus: ({ attr, calc, refine }) => {
console.log('panyan', calc(attr.hp), step(1.2)[refine]);
return calc(attr.hp) * step(1.2)[refine] / 100
}
}
}],
"斫峰之刃": [{
title: "护盾强效提升[shild]%",
refine: {
shild: step(20)
}
}, {
title: "满Buff提高攻击力[atkPct]%",
buffCount: 5,
refine: {
atkPct: step(4)
}
}],
"天空之刃": [{
title: "暴击率提高[cpct]%",
refine: {
cpct: step(4)
}
}, {
title: "普攻与重击的伤害值提高[aPlus]",
data: {
aPlus: ({ attr, calc, refine }) => calc(attr.atk) * step(20)[refine] / 100,
a2Plus: ({ attr, calc, refine }) => calc(attr.atk) * step(20)[refine] / 100
}
}],
"风鹰剑": {
title: "攻击力提高[atkPct]%",
refine: {
atkPct: step(20)
}
},
}
export const weapons = { ...polearm, ...catalyst, ...bow, ...sword };