From 041d46f788a993f7adff6ee1e447e4c62871be7e Mon Sep 17 00:00:00 2001 From: yoimiya-kokomi <592981798@qq.com> Date: Sat, 6 Aug 2022 06:12:57 +0800 Subject: [PATCH] =?UTF-8?q?`#=E9=9D=A2=E6=9D=BF`=E3=80=81`#=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=9D=A2=E6=9D=BF`=E5=91=BD=E4=BB=A4=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E5=9B=BE=E7=89=87=E6=B8=B2=E6=9F=93=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=20=E4=B8=80=E4=BA=9B=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 14 ++++-- apps/character.js | 18 ++++--- apps/character/profile-common.js | 55 ++++++++++++--------- apps/character/profile-list.js | 54 +++++++++++++++++++++ apps/index.js | 5 +- components/models/Character.js | 4 ++ resources/character/profile-list.css | 53 ++++++++++++++++++++ resources/character/profile-list.html | 29 +++++++++++ resources/character/profile-list.less | 62 ++++++++++++++++++++++++ resources/common/common.css | 36 ++++++++++++++ resources/common/common.less | 61 +++++++++++++++++------ resources/common/item/bg1.png | Bin 0 -> 15511 bytes resources/common/item/bg2.png | Bin 0 -> 28353 bytes resources/common/layout/default.html | 16 +++--- resources/common/layout/elem.html | 16 +++--- resources/common/tpl.css | 21 -------- resources/common/tpl/avatar-card.less | 25 ---------- resources/meta/character/温迪/calc.js | 33 +++++++------ resources/stat/abyss-summary.html | 8 +-- 19 files changed, 376 insertions(+), 134 deletions(-) create mode 100644 apps/character/profile-list.js create mode 100644 resources/character/profile-list.css create mode 100644 resources/character/profile-list.html create mode 100644 resources/character/profile-list.less create mode 100644 resources/common/item/bg1.png create mode 100644 resources/common/item/bg2.png diff --git a/CHANGELOG.md b/CHANGELOG.md index a80ee058..8eb6943e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,24 @@ -# 1.9.4 +# 1.9.5 + +* `#面板`、`#更新面板`命令使用图片渲染结果 +* Enka面板服务支持配置代理 **@永恒的小黑屋** + * 如需配置可在**miao-plugin/config/profile.js**文件中配置 +* 一些已知问题修复 + +# 1.9.1 ~ 1.9.4 * `#上传深渊`使用图片渲染深渊结果,同时可被`#喵喵深渊`触发 * 可展示本期深渊的全部角色信息,包括组队、天赋及圣遗物 * 数据会上传至胡桃Api进行伤害排名,并展示在页面内 * 可在`#喵喵设置`中启用`#喵喵深渊`作为默认`#深渊`,默认关闭 * 启用后不会覆盖`#上期深渊`以及`#深渊12层`具体楼层的命令 -* 部分角色的圣遗物评分增加充能的词条评分权重 - -# 1.9.1 ~ 1.9.3 - * `#更新面板`支持配置更新API,适配Enka新校验逻辑 * B服角色使用Enka服务进行面板信息获取 * 感谢Enka官方 **@Algoinde**的官方授权及UA校验 * 感谢 **@MiniGrayGay**提供的Enka服务中转,若面板更新失败可尝试在**miao-plugin/config/profile.js**文件中配置切换更新API * 更新面板增加单用户更新间隔控制,默认5分钟 * 修正部分V3Yunzai下的适配问题 +* 部分角色的圣遗物评分增加充能的词条评分权重 # 1.9.0 diff --git a/apps/character.js b/apps/character.js index 7109cdb1..26fd5bde 100644 --- a/apps/character.js +++ b/apps/character.js @@ -1,25 +1,26 @@ import { Common, Cfg } from '../components/index.js' import { renderAvatar } from './character/avatar-card.js' -import { getTargetUid, getProfile, profileHelp, getProfileAll } from './character/profile-common.js' +import { getTargetUid, getProfile, profileHelp, getProfileAll, inputProfile } from './character/profile-common.js' import { profileArtis } from './character/profile-artis.js' import { renderProfile } from './character/profile-detail.js' import { Character } from '../components/models.js' -import { isV3 } from '../components/Changelog.js' +// +export { getProfileAll, getProfile, profileHelp } export { enemyLv, getOriginalPicture } from './character/utils.js' // 角色图像上传 export { uploadCharacterImg } from './character/character-img-upload.js' -// -export { getProfileAll, getProfile, profileHelp } - // 圣遗物列表 export { profileArtisList } from './character/profile-artis.js' // 老婆 export { wife, pokeWife, wifeReg } from './character/avatar-wife.js' +// 面板角色列表 +export { profileList } from './character/profile-list.js' + // 查看当前角色 export async function character (e, { render }) { let msg = e.original_msg || e.msg @@ -108,8 +109,11 @@ export async function character (e, { render }) { if (mode === 'profile' || mode === 'dmg') { return renderProfile(e, char, render, mode, { dmgIdx }) - } else if (mode === 'refresh' || mode === 'input') { - await getProfile(e, mode) + } else if (mode === 'input') { + await inputProfile(e, mode) + return true + } else if (mode === 'refresh') { + await getProfile(e, { render }) return true } else if (mode === 'artis') { return profileArtis(e, { render }) diff --git a/apps/character/profile-common.js b/apps/character/profile-common.js index 8cfcf5fe..67362581 100644 --- a/apps/character/profile-common.js +++ b/apps/character/profile-common.js @@ -3,6 +3,7 @@ * */ import lodash from 'lodash' import { segment } from 'oicq' +import { profileList } from './profile-list.js'; import Profile from '../../components/Profile.js' import { Character } from '../../components/models.js' import { isV3 } from '../../components/Changelog.js' @@ -150,33 +151,38 @@ export async function autoGetProfile (e, uid, avatar, callback) { return { profile, char, refresh } } -/* -* 面板数据更新 -* */ -export async function getProfile (e, mode = 'refresh') { +export async function inputProfile (e) { let uid = await getTargetUid(e) if (!uid) { return true } - if (mode === 'input') { - if (e.inputData.trim().length < 5) { - e.reply('【输入示例】\n#录入夜兰面板 生命14450+25469, 攻击652+444, 防御548+144, 元素精通84, 暴击76.3, 爆伤194.2, 治疗0,充能112.3,元素伤害61.6,物伤0') - return true - // await profileHelp(e); - } + if (e.inputData.trim().length < 5) { + e.reply('【输入示例】\n#录入夜兰面板 生命14450+25469, 攻击652+444, 防御548+144, 元素精通84, 暴击76.3, 爆伤194.2, 治疗0,充能112.3,元素伤害61.6,物伤0') + return true + // await profileHelp(e); + } - let ret = Profile.inputProfile(uid, e) - let char = Character.get(e.avatar) - if (lodash.isString(ret)) { - e.reply(ret) - return true - } else if (ret) { - e.reply(`${char.name}信息手工录入完成,你可以使用 #角色名+面板 / #角色名+伤害 来查看详细角色面板属性了`) - } else { - e.reply(`${char.name}信息手工录入失败,请检查录入格式。回复 #角色面板帮助 可查看录入提示`) - e.reply('【输入示例】\n#录入夜兰面板 生命14450+25469, 攻击652+444, 防御548+144, 元素精通84, 暴击76.3, 爆伤194.2, 治疗0,充能112.3,元素伤害61.6,物伤0') - } + let ret = Profile.inputProfile(uid, e) + let char = Character.get(e.avatar) + if (lodash.isString(ret)) { + e.reply(ret) + return true + } else if (ret) { + e.reply(`${char.name}信息手工录入完成,你可以使用 #角色名+面板 / #角色名+伤害 来查看详细角色面板属性了`) + } else { + e.reply(`${char.name}信息手工录入失败,请检查录入格式。回复 #角色面板帮助 可查看录入提示`) + e.reply('【输入示例】\n#录入夜兰面板 生命14450+25469, 攻击652+444, 防御548+144, 元素精通84, 暴击76.3, 爆伤194.2, 治疗0,充能112.3,元素伤害61.6,物伤0') + } + return true +} + +/* +* 面板数据更新 +* */ +export async function getProfile (e, { render }) { + let uid = await getTargetUid(e) + if (!uid) { return true } @@ -189,17 +195,18 @@ export async function getProfile (e, mode = 'refresh') { if (!data.chars) { e.reply('获取角色面板数据失败,请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~') } else { - let ret = [] + let ret = {} lodash.forEach(data.chars, (ds) => { let char = Character.get(ds.id) if (char) { - ret.push(char.name) + ret[char.name] = true } }) if (ret.length === 0) { e.reply('获取角色面板数据失败,未能请求到角色数据。请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~') } else { - e.reply(`获取角色面板数据成功!\n${ret.length > 8 ? '所有已获取' : '本次获取成功'}角色: ${ret.join(', ')} 。\n你可以使用 #角色名+面板 来查看详细角色面板属性了。`) + e.newChar = ret + return await profileList(e, { render }) } } return true diff --git a/apps/character/profile-list.js b/apps/character/profile-list.js new file mode 100644 index 00000000..8a9053cb --- /dev/null +++ b/apps/character/profile-list.js @@ -0,0 +1,54 @@ +import lodash from 'lodash' +import { autoRefresh, getTargetUid } from './profile-common.js' +import { Common, Profile } from '../../components/index.js' +import { Character } from '../../components/models.js'; + +export async function profileList (e, { render }) { + let uid = await getTargetUid(e) + if (!uid) { + return true + } + + let profiles = Profile.getAll(uid) || {} + + let chars = [] + let msg = '' + let newChar = {} + if (e.newChar) { + msg = '获取角色面板数据成功' + newChar = e.newChar + } + lodash.forEach(profiles || [], (ds) => { + if (!['enka', 'input2', 'miao-pre', 'miao'].includes(ds.dataSource)) { + return + } + let { id } = ds + let char = Character.get(id) + let tmp = char.getData('id,name,abbr,element,star') + tmp.source = ds.dataSource + tmp.level = ds.lv || 1 + tmp.isNew = newChar[char.name] ? 1 : 0 + chars.push(tmp) + }) + + if (chars.length === 0) { + if (await autoRefresh(e)) { + await profileList(e, { render }) + return true + } else { + e.reply('尚未获取任何角色数据') + } + return true + } + + chars = lodash.sortBy(chars, ['isNew', 'star', 'level', 'id']) + chars = chars.reverse() + + // 渲染图像 + return await Common.render('character/profile-list', { + save_id: uid, + uid, + chars, + msg + }, { e, render, scale: 1.6 }) +} diff --git a/apps/index.js b/apps/index.js index 99f03e05..3110d622 100644 --- a/apps/index.js +++ b/apps/index.js @@ -16,7 +16,8 @@ export { getProfileAll, profileHelp, getOriginalPicture, - uploadCharacterImg + uploadCharacterImg, + profileList } from './character.js' export { @@ -48,7 +49,7 @@ let rule = { reg: '^#圣遗物列表\\s*(\\d{9})?$', describe: '【#角色】圣遗物列表' }, - getProfileAll: { + profileList: { reg: '^#(面板角色|角色面板|面板)(列表)?\\s*(\\d{9})?$', describe: '【#角色】查看当前已获取面板数据的角色列表' }, diff --git a/components/models/Character.js b/components/models/Character.js index 81d4f4b5..94f062ac 100644 --- a/components/models/Character.js +++ b/components/models/Character.js @@ -200,6 +200,10 @@ class Character extends Base { return !/10\d{6}/.test(this.id) } + get abbr () { + return abbrMap[this.name] || this.name + } + checkWifeType (type) { return !!wifeMap[type][this.id] } diff --git a/resources/character/profile-list.css b/resources/character/profile-list.css new file mode 100644 index 00000000..31670c96 --- /dev/null +++ b/resources/character/profile-list.css @@ -0,0 +1,53 @@ +body, +.container { + width: 650px; +} +.container > .cont { + margin-left: 15px; +} +.head-box { + margin-top: 10px; +} +.head-box .label { + font-size: 14px; +} +.char-list { + display: flex; + flex-wrap: wrap; + padding: 10px; +} +.char-item { + margin: 5px; +} +.char-item .name { + margin-top: 5px; + display: block; + font-size: 14px; + color: #fff; + text-align: center; + text-shadow: 0 0 1px #000; +} +.char-item.new-char .name:before { + content: ""; + display: inline-block; + width: 8px; + height: 8px; + background: #90e800; + border-radius: 50%; + margin-right: 3px; +} +.char-icon { + width: 64px; + height: 64px; + border-radius: 50%; + border: 2px solid #fff; + box-shadow: 1px 1px 3px 0 #000; + overflow: visible; +} +.char-icon .img { + background-size: auto 100%; + background-position: top center; + overflow: hidden; + border-radius: 50%; +} +/*# sourceMappingURL=profile-list.css.map */ \ No newline at end of file diff --git a/resources/character/profile-list.html b/resources/character/profile-list.html new file mode 100644 index 00000000..2d864fb1 --- /dev/null +++ b/resources/character/profile-list.html @@ -0,0 +1,29 @@ +{{extend elemLayout}} + +{{block 'css'}} + + +{{/block}} + + +{{block 'main'}} +{{set demo = chars[0]?.abbr || "雷神" }} +
+
角色面板列表
+
{{msg}}
+
你可以使用#{{demo}}面板#{{demo}}伤害#{{demo}}圣遗物命令来查看面板信息
+
+
+ {{each chars char}} +
+
+ +
+ {{char.abbr}} +
+ {{/each}} +
+ + +{{/block}} \ No newline at end of file diff --git a/resources/character/profile-list.less b/resources/character/profile-list.less new file mode 100644 index 00000000..44110c5e --- /dev/null +++ b/resources/character/profile-list.less @@ -0,0 +1,62 @@ +body, .container { + width: 650px; +} + +.container > .cont { + margin-left: 15px; +} + +.head-box { + margin-top: 10px; + + .label { + font-size: 14px; + } +} + +.char-list { + display: flex; + flex-wrap: wrap; + padding: 10px; +} + +.char-item { + margin: 5px; + + .name { + margin-top: 5px; + display: block; + font-size: 14px; + color: #fff; + text-align: center; + text-shadow: 0 0 1px #000; + } + + &.new-char { + .name:before { + content: ""; + display: inline-block; + width: 8px; + height: 8px; + background: #90e800; + border-radius: 50%; + margin-right: 3px; + } + } +} + +.char-icon { + width: 64px; + height: 64px; + border-radius: 50%; + border: 2px solid #fff; + box-shadow: 1px 1px 3px 0 #000; + overflow: visible; + + .img { + background-size: auto 100%; + background-position: top center; + overflow: hidden; + border-radius: 50%; + } +} \ No newline at end of file diff --git a/resources/common/common.css b/resources/common/common.css index 94c77e8f..19b95196 100644 --- a/resources/common/common.css +++ b/resources/common/common.css @@ -32,6 +32,7 @@ margin: 0; padding: 0; box-sizing: border-box; + -webkit-user-select: none; user-select: none; } body { @@ -69,6 +70,10 @@ body { font-size: 16px; text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, 0.9); } +.head-box .label span { + color: #d3bc8e; + padding: 0 2px; +} .notice { color: #888; font-size: 12px; @@ -329,4 +334,35 @@ ul.cont-msg li strong, color: #fff; margin: 20px 0 10px 0; } +/* item-icon */ +.item-icon { + width: 100%; + height: 100%; + border-radius: 4px; + position: relative; + overflow: hidden; +} +.item-icon .img { + width: 100%; + height: 100%; + display: block; + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} +.item-icon.star1 { + background-image: url("../common/item/bg1.png"); +} +.item-icon.star2 { + background-image: url("../common/item/bg2.png"); +} +.item-icon.star3 { + background-image: url("../common/item/bg3.png"); +} +.item-icon.star4 { + background-image: url("../common/item/bg4.png"); +} +.item-icon.star5 { + background-image: url("../common/item/bg5.png"); +} /*# sourceMappingURL=common.css.map */ \ No newline at end of file diff --git a/resources/common/common.less b/resources/common/common.less index 25c96af9..461292f7 100644 --- a/resources/common/common.less +++ b/resources/common/common.less @@ -37,6 +37,7 @@ margin: 0; padding: 0; box-sizing: border-box; + -webkit-user-select: none; user-select: none; } @@ -63,25 +64,28 @@ body { color: #fff; margin-top: 30px; -} + .title { + font-size: 36px; + font-family: NZBZ, sans-serif; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); + } -.head-box .title { - font-size: 36px; - font-family: NZBZ, sans-serif; - text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); -} + .genshin_logo { + position: absolute; + top: 1px; + right: 15px; + width: 97px; + } + .label { + font-size: 16px; + text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); -.head-box .genshin_logo { - position: absolute; - top: 1px; - right: 15px; - width: 97px; -} - -.head-box .label { - font-size: 16px; - text-shadow: 0 0 1px #000, 1px 1px 3px rgba(0, 0, 0, .9); + span { + color: #d3bc8e; + padding: 0 2px; + } + } } @@ -305,3 +309,28 @@ ul.cont-msg, .cont-footer ul { color: #fff; margin: 20px 0 10px 0; } + +/* item-icon */ +.item-icon { + width: 100%; + height: 100%; + border-radius: 4px; + position: relative; + overflow: hidden; + + .img { + width: 100%; + height: 100%; + display: block; + background-size: contain; + background-position: center; + background-repeat: no-repeat; + } + + @stars: 1, 2, 3, 4, 5; + each(@stars, { + &.star@{value} { + background-image: url("../common/item/bg@{value}.png"); + } + }) +} \ No newline at end of file diff --git a/resources/common/item/bg1.png b/resources/common/item/bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..5811598929e7719a2e3f1b67f2c70e2a81eed0e0 GIT binary patch literal 15511 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 literal 0 HcmV?d00001 diff --git a/resources/common/item/bg2.png b/resources/common/item/bg2.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d5363c18397652fec42cd8f72e55ddcd3a9da1 GIT binary patch literal 28353 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

-08X-Ub#sTE>DfkenAA(>n_+= z%$j?D>}QQg6XMvDzU*e;-jdDX1f{BVn84Oc$F8?bxXD_Rw{V~GrnRZOVlWVNW4aJA z5i_CH+R@c(w*IMEwj;cK@L=9P&(d+y=bu4Od~L$!Wr9QJ^zV6S?;2o^`q^z=G(-vq zbo{!)?#`y0MbjsuJ4eZU7LrXCu#S$PnMet)UBu8fYJ72)cFvjO4T(Oaqw$!b)&PmQ zF=AK_0;N##T+x(vf;S!3AW?MvmBHAfxKrpggm{zu3SAttq7bvS0rxEnQ4y@(m_$(v z8*!7fzAn}*`evhd__oX5tP{7Dg)^Cn(g+o`UGz*Hv1TU1S?UddYL;n6VhUrmBenTy z^lvb@S~E|lelI4E%D<~xF(*LFgKfj4JJak_mO7KxR$aTLdcZ}M?yAltUuagY0(XmB zpJy>PB|?9P(dwX^|5m-9JMZ3GX~5 z6uqHI^}v6*wthdFf*}^U%Ka|gDHJ~!I3{!zW49&*Of&&tweO&_^E}5E;mt~a9&YTk z(7fk+eZqCV*M%ISP}Atl)&64(OV^Zk(thAaJmx@8B`J~vHf9IhIwYm-aia?u%dCPa zqQkN~S_M9Sve{|&G{syDK)@~)iHT-&>TQvHST2u+O!Uf^btCwG)6bN`QyOGMgj@g0 zKFqc+mlld1KH~OEt$=J>1Dtsa*ZIaRciFc3q9%UAWAKH_MBbrsoT#rcY+{|X&{Ldl z=_-)E8M+(tH$ zpJv_{tAwp7ptHk(qSH(}2KaDD-AG34IW*hwS2e>qvHfhKu@qeGe5eiYxYPB4oTrDc zYogI|As6s-3WW9rcDDx@t{jiPCAJWAH&)k~!cK_Dji&i@q|Sw?_Yk%#HnTJcXgk_B zI2*dS&Byi-@*3T-$U9c8{KOXxRj?r#2JVJif4`Rl}5Yko9LX zwDF=GZi$72 z>2tfiZ9L?)0QBpmN^?rj9RlX$EJd<3By^h&?~hrpyT3(_o-wIc)C&vvLkeYmNT8Ea z+_VCz(e@gJ@ry3>dg6@6g6oq_Cb}ULAN7`mC@z49p^FU|5D}W;(^%Bp+j*e!%$@25 z4QWl7%@Z%JvV;@t%xh<0s$0*o${T##+6!%_?jGEmG{9vQ`H|Hf`F!ektZ|>s;d5zc zwT?B{XR!b?UVDvqm+^4k>o$pfX;~yt1YIzt%8fGg)uo<%VtwpLSU-bq7L6TN%qNiZ zoWz`8j2qq#^(eLDV6_LmJiMt_z`oCMT}eihf2>?u`Iwm*Hqo`>XdGHvH@IBtZtI~} z*gh8@am?og))Rut%e+KjDece{#<-veL`|<{?NC8KwfgXUDYAKmUM+_j-{tm^pV~>Q v$M}@kr5z0HoAA8;LThGlW9C)v|MLF>B^2w2uOXn800000NkvXXu0mjfCxG&+ literal 0 HcmV?d00001 diff --git a/resources/common/layout/default.html b/resources/common/layout/default.html index 14f85ace..fbe1c9c2 100644 --- a/resources/common/layout/default.html +++ b/resources/common/layout/default.html @@ -1,13 +1,15 @@ - + - + + - - - - - + + + + + + miao-plugin {{block 'css'}} {{/block}} diff --git a/resources/common/layout/elem.html b/resources/common/layout/elem.html index aa0df654..ecdb4b44 100644 --- a/resources/common/layout/elem.html +++ b/resources/common/layout/elem.html @@ -1,13 +1,15 @@ - + - + + - - - - - + + + + + + miao-plugin {{block 'css'}} {{/block}} diff --git a/resources/common/tpl.css b/resources/common/tpl.css index 47d0f0ec..5f6310a9 100644 --- a/resources/common/tpl.css +++ b/resources/common/tpl.css @@ -138,27 +138,6 @@ .item-card .life5 { background-color: #ff5722; } -.item-icon { - width: 100%; - height: 100%; - border-radius: 4px; - position: relative; - overflow: hidden; -} -.item-icon .img { - width: 100%; - height: 100%; - display: block; - background-size: contain; - background-position: center; - background-repeat: no-repeat; -} -.item-icon.star5 { - background-image: url(../common/item/bg5.png); -} -.item-icon.star4 { - background-image: url(../common/item/bg4.png); -} .avatar-card { margin: 3px; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.8); diff --git a/resources/common/tpl/avatar-card.less b/resources/common/tpl/avatar-card.less index 6833168c..4ed44dec 100644 --- a/resources/common/tpl/avatar-card.less +++ b/resources/common/tpl/avatar-card.less @@ -1,28 +1,3 @@ -.item-icon { - width: 100%; - height: 100%; - border-radius: 4px; - position: relative; - overflow: hidden; - - .img { - width: 100%; - height: 100%; - display: block; - background-size: contain; - background-position: center; - background-repeat: no-repeat; - } - - &.star5 { - background-image: url(../common/item/bg5.png); - } - - &.star4 { - background-image: url(../common/item/bg4.png); - } -} - .avatar-card { margin: 3px; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.8); diff --git a/resources/meta/character/温迪/calc.js b/resources/meta/character/温迪/calc.js index 38bde9be..d1dd02e0 100644 --- a/resources/meta/character/温迪/calc.js +++ b/resources/meta/character/温迪/calc.js @@ -1,47 +1,48 @@ export const details = [{ - title: "E点按伤害", + title: 'E点按伤害', dmg: ({ talent }, dmg) => dmg(talent.e['点按伤害'], 'e') }, { - title: "E长按伤害", - dmg: ({ talent }, dmg) => dmg(talent.e['长按伤害'], 'e') + title: 'Q单段伤害', + params: { q: true }, + dmg: ({ talent }, dmg) => dmg(talent.q['持续伤害'], 'q') }, { - title: "Q单段伤害", + title: 'Q含转化单段', params: { q: true }, dmg: ({ talent }, dmg) => { - let basic = dmg(talent.q['持续伤害'], 'q'); - //暂时以物伤近似计算 - let fj = dmg(talent.q['附加元素伤害'], 'q', 'phy'); + let basic = dmg(talent.q['持续伤害'], 'q') + // 暂时以物伤近似计算 + let fj = dmg(talent.q['附加元素伤害'], 'q', 'phy') return { dmg: basic.dmg + fj.dmg, avg: basic.avg + fj.avg } } }, { - title: "扩散反应伤害", + title: '扩散反应伤害', dmg: ({}, { ks }) => ks() -}]; +}] -export const mainAttr = "atk,cpct,cdmg"; +export const mainAttr = 'atk,cpct,cdmg' export const buffs = [{ - title: "温迪2命:E降低12%风抗与物抗", + title: '温迪2命:E降低12%风抗与物抗', cons: 2, data: { kx: 12 } }, { - title: "温迪4命:温迪获取元素晶球或元素微粒后,获得25%风元素伤害加成", + title: '温迪4命:温迪获取元素晶球或元素微粒后,获得25%风元素伤害加成', cons: 4, data: { dmg: 25 } }, { - title: "温迪6命:Q降低20%风抗", + title: '温迪6命:Q降低20%风抗', cons: 6, data: { kx: ({ params }) => params.q ? 20 : 0 } }, { - title: "元素精通:扩散伤害提高[ks]%", - mastery: "ks" -}]; \ No newline at end of file + title: '元素精通:扩散伤害提高[ks]%', + mastery: 'ks' +}] diff --git a/resources/stat/abyss-summary.html b/resources/stat/abyss-summary.html index 6d0e4a11..9fc81972 100644 --- a/resources/stat/abyss-summary.html +++ b/resources/stat/abyss-summary.html @@ -63,13 +63,13 @@

- {{each floor.display.up.avatars id}} + {{each floor?.display?.up?.avatars||[] id}} <% include(_layout_path+'../tpl/avatar-card.html', [avatars[id],{_res_path}]) %> {{/each}}
- {{each floor.display.down.avatars id}} + {{each floor?.display?.down?.avatars||[] id}} <% include(_tpl_path+'/avatar-card.html', [avatars[id],{_res_path}]) %> {{/each}}
@@ -82,12 +82,12 @@ 第{{idx}}间
-
{{level.up.time}}
+
{{level?.up?.time}}
{{each upDown v k}}
- {{each level[k].avatars id}} + {{each level[k]?.avatars||[] id}} {{set avatar = avatars[id] || {} }}