mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 04:35:42 +00:00
原神面板增加武器效果展示
This commit is contained in:
parent
832902b239
commit
29cea32286
@ -125,7 +125,7 @@ let Avatar = {
|
||||
}
|
||||
})
|
||||
}
|
||||
let char = Character.get(name.trim())
|
||||
let char = Character.get(name.trim(), e.game)
|
||||
if (!char) {
|
||||
return false
|
||||
}
|
||||
|
@ -77,11 +77,12 @@ let ProfileDetail = {
|
||||
if (!Common.cfg('avatarProfile')) {
|
||||
return false // 面板开关关闭
|
||||
}
|
||||
let char = Character.get(name.trim())
|
||||
let char = Character.get(name.trim(), e.game)
|
||||
if (!char) {
|
||||
return false
|
||||
}
|
||||
if (/星铁/.test(msg) || char.isSr) {
|
||||
e.game = 'sr'
|
||||
e.isSr = true
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,12 @@ class Weapon extends Base {
|
||||
return `${this.isGs ? 'meta' : 'meta-sr'}/weapon/${this.type}/${this.name}/icon.webp`
|
||||
}
|
||||
|
||||
get abbr () {
|
||||
let name = this.name
|
||||
let abbr = this.meta?.abbr
|
||||
return name.length <= 4 ? name : (abbr || name)
|
||||
}
|
||||
|
||||
get imgs () {
|
||||
if (this.isGs) {
|
||||
return {
|
||||
@ -117,6 +123,12 @@ class Weapon extends Base {
|
||||
return this._detail
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算武器主属性
|
||||
* @param level 武器等级
|
||||
* @param promote 武器突破
|
||||
* @returns {{atkBase: number, attr: {value: *, key: *}}|{}|boolean}
|
||||
*/
|
||||
calcAttr (level, promote = -1) {
|
||||
let metaAttr = this.detail?.attr
|
||||
if (!metaAttr) {
|
||||
@ -168,13 +180,30 @@ class Weapon extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
// 获取精炼描述
|
||||
/**
|
||||
* 获取武器精炼描述
|
||||
* @param affix 精炼
|
||||
* @returns {{name, desc: *}|{}}
|
||||
*/
|
||||
getAffixDesc (affix = 1) {
|
||||
if (this.isGs) {
|
||||
return {}
|
||||
let { text, datas } = this.detail?.affixData || {}
|
||||
let { descFix } = Meta.getMeta('gs', 'weapon')
|
||||
let reg = /\$\[(\d)\]/g
|
||||
let ret
|
||||
let desc = descFix[this.name] || text || ''
|
||||
while ((ret = reg.exec(desc)) !== null) {
|
||||
let idx = ret[1]
|
||||
let value = datas?.[idx]?.[affix - 1]
|
||||
desc = desc.replaceAll(ret[0], `<nobr>${value}</nobr>`)
|
||||
}
|
||||
return {
|
||||
name: '',
|
||||
desc
|
||||
}
|
||||
}
|
||||
let skill = this.detail.skill
|
||||
let { name, desc, tables } = skill
|
||||
let { desc, tables } = skill
|
||||
let reg = /\$(\d)\[(?:i|f1)\](\%?)/g
|
||||
let ret
|
||||
while ((ret = reg.exec(desc)) !== null) {
|
||||
@ -189,11 +218,15 @@ class Weapon extends Base {
|
||||
desc = desc.replaceAll(ret[0], value)
|
||||
}
|
||||
return {
|
||||
name: skill.name,
|
||||
name: skill.name || '',
|
||||
desc
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前武器Buff配置
|
||||
* @returns {*|boolean}
|
||||
*/
|
||||
getWeaponBuffs () {
|
||||
let { game } = this
|
||||
let { weaponBuffs } = Meta.getMeta(game, 'weapon')
|
||||
@ -207,6 +240,12 @@ class Weapon extends Base {
|
||||
return buffs
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取武器精炼 Buff
|
||||
* @param affix
|
||||
* @param isStatic
|
||||
* @returns {*[]}
|
||||
*/
|
||||
getWeaponAffixBuffs (affix, isStatic = true) {
|
||||
let buffs = this.getWeaponBuffs()
|
||||
let ret = []
|
||||
|
@ -646,9 +646,8 @@ body {
|
||||
background-position: 0 -80px;
|
||||
}
|
||||
.artis .weapon {
|
||||
height: 96px;
|
||||
height: 190px;
|
||||
overflow: visible;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.artis .weapon .img {
|
||||
width: 106px;
|
||||
@ -662,14 +661,11 @@ body {
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.artis .weapon .head {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
position: relative;
|
||||
height: 90px;
|
||||
padding: 15px 0 10px 15px;
|
||||
z-index: 3;
|
||||
border-radius: 10px;
|
||||
border-radius: 10px 10px 0 0;
|
||||
background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7), rgba(25, 25, 25, 0.5), rgba(25, 25, 25, 0), rgba(25, 25, 25, 0));
|
||||
}
|
||||
.artis .weapon .head strong {
|
||||
@ -721,9 +717,8 @@ body {
|
||||
right: 0;
|
||||
height: 26px;
|
||||
width: 100%;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
line-height: 26px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
text-align: center;
|
||||
padding: 0 5px 0 10px;
|
||||
}
|
||||
@ -734,8 +729,26 @@ body {
|
||||
color: #ffe699;
|
||||
font-weight: bold;
|
||||
}
|
||||
.artis .arti-stat {
|
||||
.artis .weapon .weapon-desc-cont {
|
||||
height: 100px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.artis .weapon .weapon-desc {
|
||||
height: 100px;
|
||||
padding: 6px 5px 7px 10px;
|
||||
color: #bbb;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.arti-stat {
|
||||
height: 84px;
|
||||
background: url("../common/cont/card-bg.png") top left repeat-x;
|
||||
margin: 5px 15px 5px 10px;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, 0.8);
|
||||
border-radius: 10px;
|
||||
}
|
||||
.arti-class-title {
|
||||
height: 25px;
|
||||
@ -970,13 +983,15 @@ body {
|
||||
}
|
||||
.sr-weapon .weapon-desc {
|
||||
margin-top: 7px;
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 0.7), 1px 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
.weapon-desc {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
white-space: break-spaces;
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 0.7), 1px 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
.sr-weapon .weapon-desc nobr {
|
||||
.weapon-desc nobr {
|
||||
color: #ffe699;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
@ -1082,4 +1097,4 @@ body {
|
||||
.copyright.ad {
|
||||
font-size: 12px;
|
||||
}
|
||||
/*# sourceMappingURL=profile-detail.css.map */
|
||||
/*# sourceMappingURL=profile-detail.css.map */
|
@ -49,7 +49,6 @@
|
||||
{{set cw = artisDetail?.charWeight || {} }}
|
||||
{{each attrMap title key}}
|
||||
<li>
|
||||
|
||||
<div class="icon"><i class="i-{{key}}"></i></div>
|
||||
|
||||
<div class="title">{{title}}</div>
|
||||
@ -113,6 +112,7 @@
|
||||
<!-- 【 武器+圣遗物列表】 -->
|
||||
<div>
|
||||
{{if game === 'sr'}}
|
||||
<!-- 【 星铁 天赋+行迹 】 -->
|
||||
<div class="sr-talent">
|
||||
<div class="char-talents">
|
||||
{{each talentMap tName key}}
|
||||
@ -130,7 +130,6 @@
|
||||
</div>
|
||||
|
||||
<div class="char-talents char-trees">
|
||||
|
||||
{{each data.treeData tCfg}}
|
||||
{{if tCfg?.type === 'talent' }}
|
||||
<div class="talent-item">
|
||||
@ -153,6 +152,7 @@
|
||||
</div>
|
||||
|
||||
{{if weapon && weapon.name}}
|
||||
<!-- 【 星铁 武器 】 -->
|
||||
<div class="sr-weapon">
|
||||
<div class="weapon-img" style="background-image:url({{_res_path}}{{weapon.splash}})"></div>
|
||||
<div class="weapon-info">
|
||||
@ -167,13 +167,26 @@
|
||||
<div class="attr i-atk"><span>攻击</span>{{a.atk}}</div>
|
||||
<div class="attr i-def"><span>防御</span>{{a.def}}</div>
|
||||
</div>
|
||||
<div class="weapon-desc">{{@weapon.desc?.desc}}</div>
|
||||
<div class="weapon-desc">
|
||||
{{@weapon.desc?.desc}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{if mode === "profile"}}
|
||||
{{set ad = artisDetail}}
|
||||
<div class="arti-stat">
|
||||
<div class="arti-class-title">评分规则:{{ad.classTitle}}</div>
|
||||
<div class="arti-stat-ret">
|
||||
<div><strong class="mark-{{ad.markClass}}">{{ad.markClass}}</strong><span>圣遗物评级</span></div>
|
||||
<div><strong>{{ad.mark}}</strong><span>圣遗物总分</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="artis">
|
||||
{{ if game === 'gs' }}
|
||||
<div class="artis-weapon">
|
||||
@ -192,14 +205,11 @@
|
||||
{{/if}} {{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item arti-stat">
|
||||
<div class="arti-class-title">评分规则:{{ad.classTitle}}</div>
|
||||
<div class="arti-stat-ret">
|
||||
<div><strong class="mark-{{ad.markClass}}">{{ad.markClass}}</strong><span>圣遗物评级</span></div>
|
||||
<div><strong>{{ad.mark}}</strong><span>圣遗物总分</span></div>
|
||||
<div class="weapon-desc-cont">
|
||||
<div class="weapon-desc">{{@weapon.desc?.desc}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
@ -798,9 +798,8 @@ body {
|
||||
|
||||
|
||||
.artis .weapon {
|
||||
height: 96px;
|
||||
height: 190px;
|
||||
overflow: visible;
|
||||
margin-bottom: 10px;
|
||||
|
||||
|
||||
.img {
|
||||
@ -816,14 +815,11 @@ body {
|
||||
}
|
||||
|
||||
.head {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
position: relative;
|
||||
height: 90px;
|
||||
padding: 15px 0 10px 15px;
|
||||
z-index: 3;
|
||||
border-radius: 10px;
|
||||
border-radius: 10px 10px 0 0;
|
||||
background: linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7), rgba(25, 25, 25, 0.5), rgba(25, 25, 25, 0), rgba(25, 25, 25, 0));
|
||||
|
||||
strong {
|
||||
@ -886,9 +882,8 @@ body {
|
||||
right: 0;
|
||||
height: 26px;
|
||||
width: 100%;
|
||||
background: rgba(0, 0, 0, .2);
|
||||
background: rgba(0, 0, 0, .3);
|
||||
line-height: 26px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
text-align: center;
|
||||
padding: 0 5px 0 10px;
|
||||
|
||||
@ -901,10 +896,30 @@ body {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.weapon-desc-cont {
|
||||
height: 100px;
|
||||
border-radius: 0 0 10px 10px;
|
||||
background: rgba(0, 0, 0, .4);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.weapon-desc {
|
||||
height: 100px;
|
||||
padding: 6px 5px 7px 10px;
|
||||
color: #bbb;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.artis .arti-stat {
|
||||
.arti-stat {
|
||||
height: 84px;
|
||||
background: url("../common/cont/card-bg.png") top left repeat-x;
|
||||
margin: 5px 15px 5px 10px;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, 0.8);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.arti-class-title {
|
||||
@ -1210,24 +1225,27 @@ body {
|
||||
|
||||
.weapon-desc {
|
||||
margin-top: 7px;
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
white-space: break-spaces;
|
||||
text-shadow: 0 0 1px rgba(0, 0, 0, 0.7), 1px 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
}
|
||||
|
||||
nobr {
|
||||
color: #ffe699;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
padding: 0 3px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
.weapon-desc {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
white-space: break-spaces;
|
||||
|
||||
nobr {
|
||||
color: #ffe699;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
padding: 0 3px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,34 +11,23 @@ let metaData = Data.readJSON('/resources/meta-sr/artifact/meta.json', 'miao')
|
||||
let setMeta = Meta.create('sr', 'artiSet')
|
||||
let artiMeta = Meta.create('sr', 'arti')
|
||||
|
||||
let artiMap = {}
|
||||
let idMap = {}
|
||||
let artiSetMap = {}
|
||||
lodash.forEach(data, (setData) => {
|
||||
let artiSet = {
|
||||
name: setData.name,
|
||||
effect: setData.skill,
|
||||
sets: {}
|
||||
}
|
||||
artiSetMap[setData.name] = artiSet
|
||||
setMeta.addDataItem(artiSet.name, artiSet)
|
||||
|
||||
lodash.forEach(setData.idxs, (ds, idx) => {
|
||||
artiMap[ds.name] = {
|
||||
...ds,
|
||||
set: setData.name,
|
||||
setId: setData.id,
|
||||
idx
|
||||
}
|
||||
artiMeta.addDataItem(ds.name, {
|
||||
...ds,
|
||||
set: setData.name,
|
||||
setId: setData.id,
|
||||
idx
|
||||
})
|
||||
|
||||
idMap[ds.name] = lodash.keys(ds.ids).join(',')
|
||||
|
||||
artiSet.sets[idx] = ds.name
|
||||
})
|
||||
})
|
||||
@ -54,5 +43,3 @@ artiMeta.addMeta({
|
||||
usefulAttr,
|
||||
...Data.getData(metaCfg, 'mainAttr,subAttr,attrMap')
|
||||
})
|
||||
|
||||
export * from './meta.js'
|
||||
|
@ -1,15 +1,13 @@
|
||||
import lodash from 'lodash'
|
||||
|
||||
let alias = {
|
||||
export const alias = {
|
||||
三月七: '三月,相遇之缘,37,3月7',
|
||||
丹恒: '单恒,单桓,冷面,小青龙,冷面小青龙',
|
||||
佩拉: '佩菈',
|
||||
佩拉: '佩菈,佩拉姐姐',
|
||||
停云: '幻胧',
|
||||
克拉拉: '',
|
||||
卡芙卡: '亲妈,卡夫卡',
|
||||
姬子: '',
|
||||
娜塔莎: '纳塔莎,纳塔沙,纳塔沙',
|
||||
布洛妮娅: '大鸭鸭,鸭鸭,板鸭,布洛尼亚,布洛妮亚,布洛尼娅',
|
||||
布洛妮娅: '大鸭鸭,鸭鸭,板鸭,布洛尼亚,布洛妮亚,布洛尼娅,甘蔗鸭',
|
||||
希儿: '希尔,蝴蝶,云天明',
|
||||
希露瓦: '希璐瓦',
|
||||
彦卿: '延卿,闫卿,彦清,彦青',
|
||||
@ -22,22 +20,10 @@ let alias = {
|
||||
罗刹: '罗沙,罗杀',
|
||||
艾丝妲: '宇宙级富婆',
|
||||
虎克: '胡可,虎克大人,漆黑的虎克,漆黑的虎克大人,鼹鼠党,鼹鼠党老大',
|
||||
银狼: '小鸭鸭,小板鸭,黑客,骇客,骇兔',
|
||||
银狼: '小鸭鸭,小板鸭,黑客,骇客,骇兔,憨色鸭,憨鸭',
|
||||
阿兰: '',
|
||||
青雀: '赌神,赌圣,青鹊,摸鱼',
|
||||
黑塔: '转圈圈',
|
||||
'丹恒•饮月': '丹恒·饮月,饮月君,饮月,丹恒饮月,龙尊',
|
||||
'托帕&账账': '托帕,账账'
|
||||
}
|
||||
|
||||
let aliasMap = {}
|
||||
lodash.forEach(alias, (txt, char) => {
|
||||
if (!txt) {
|
||||
return true
|
||||
}
|
||||
lodash.forEach(txt.split(','), (t) => {
|
||||
aliasMap[t] = char
|
||||
})
|
||||
})
|
||||
|
||||
export { alias, aliasMap }
|
@ -1,5 +1,5 @@
|
||||
import { Data, Meta } from '#miao'
|
||||
import { alias } from './meta.js'
|
||||
import { alias } from './alias.js'
|
||||
|
||||
let data = Data.readJSON('resources/meta-sr/character/data.json', 'miao')
|
||||
let meta = Meta.create('sr', 'char')
|
||||
|
@ -1,33 +1,16 @@
|
||||
import { Data, Meta } from '#miao'
|
||||
import lodash from 'lodash'
|
||||
import { abbr, alias } from './meta.js'
|
||||
import { abbr, aliasCfg } from './meta.js'
|
||||
|
||||
const types = '存护,丰饶,毁灭,同谐,虚无,巡猎,智识'.split(',')
|
||||
let data = Data.readJSON('/resources/meta-sr/weapon/data.json', 'miao')
|
||||
|
||||
const meta = Meta.create('sr', 'weapon')
|
||||
|
||||
|
||||
let data = Data.readJSON('/resources/meta-sr/weapon/data.json', 'miao')
|
||||
let aliasMap = {}
|
||||
|
||||
lodash.forEach(data, (ds) => {
|
||||
aliasMap[ds.id] = ds.id
|
||||
aliasMap[ds.name] = ds.id
|
||||
})
|
||||
lodash.forEach(alias, (name, alias) => {
|
||||
if (aliasMap[name]) {
|
||||
aliasMap[alias] = aliasMap[name]
|
||||
}
|
||||
})
|
||||
|
||||
meta.addData(data)
|
||||
meta.addAlias(alias)
|
||||
|
||||
export const weaponAlias = aliasMap
|
||||
export const weaponData = data
|
||||
meta.addAlias(aliasCfg)
|
||||
meta.addAbbr(abbr)
|
||||
|
||||
const weaponBuffs = {}
|
||||
|
||||
let loadBuffs = async function () {
|
||||
for (let type of types) {
|
||||
let calc = await Data.importDefault(`/resources/meta-sr/weapon/${type}/calc.js`, 'miao')
|
||||
@ -60,13 +43,13 @@ let loadBuffs = async function () {
|
||||
})
|
||||
}
|
||||
lodash.forEach(calc, (ds, key) => {
|
||||
let id = aliasMap[key]
|
||||
weaponBuffs[id] = ds
|
||||
let id = meta.getId(key)
|
||||
if (id) {
|
||||
weaponBuffs[id] = ds
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
await loadBuffs()
|
||||
|
||||
meta.addMeta({ weaponBuffs })
|
||||
|
||||
export { weaponBuffs }
|
||||
|
@ -20,7 +20,7 @@ export const abbr = {
|
||||
'今日亦是和平的一日': '今日亦是和平'
|
||||
}
|
||||
|
||||
let aliasCfg = {
|
||||
export const aliasCfg = {
|
||||
// 巡猎
|
||||
'锋镝': '',
|
||||
'离弦': '',
|
||||
@ -113,13 +113,3 @@ let aliasCfg = {
|
||||
'银河铁道之夜': '银河铁道,星穹铁道之夜,星穹铁道',
|
||||
'拂晓之前': '拂晓'
|
||||
}
|
||||
let alias = {}
|
||||
lodash.forEach(aliasCfg, (txt, name) => {
|
||||
if (txt) {
|
||||
lodash.forEach(txt.split(','), (t) => {
|
||||
alias[t] = name
|
||||
})
|
||||
}
|
||||
alias[name] = name
|
||||
})
|
||||
export { alias }
|
||||
|
@ -4,9 +4,6 @@ import calc from './calc.js'
|
||||
import * as metaData from './meta.js'
|
||||
import { usefulAttr } from './artis-mark.js'
|
||||
|
||||
let artiSetMap = {}
|
||||
let artiMap = {}
|
||||
|
||||
let setMeta = Meta.create('gs', 'artiSet')
|
||||
let artiMeta = Meta.create('gs', 'arti')
|
||||
|
||||
@ -18,7 +15,6 @@ lodash.forEach(artis, (ds) => {
|
||||
effect: ds.effect,
|
||||
sets: {}
|
||||
}
|
||||
artiSetMap[ds.name] = artiSet
|
||||
setMeta.addDataItem(ds.name, artiSet)
|
||||
|
||||
lodash.forEach(ds.sets, (as, idx) => {
|
||||
@ -28,16 +24,12 @@ lodash.forEach(artis, (ds) => {
|
||||
name: as.name,
|
||||
idx
|
||||
}
|
||||
artiMap[as.name] = tmp
|
||||
artiSet.sets[idx] = as.name
|
||||
artiMeta.addDataItem(as.name, tmp)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
export { artiMap, artiSetMap, calc }
|
||||
export * from './meta.js'
|
||||
|
||||
setMeta.addAbbr(metaData.abbr)
|
||||
setMeta.addAlias(metaData.aliasCfg)
|
||||
artiMeta.addMeta({
|
||||
|
54
resources/meta/weapon/desc.js
Normal file
54
resources/meta/weapon/desc.js
Normal file
@ -0,0 +1,54 @@
|
||||
// 简化一些过长的装备文案,以在面板中获得更好的展示效果
|
||||
export const descFix = {
|
||||
// 法器
|
||||
万世流涌大典: '生命值提升$[0]。生命值变化时,重击伤害提升$[1]。持续4秒,至多叠加3次;<br/>叠加至3层或3层时间刷新时,恢复$[2]点能量,每12秒一次。',
|
||||
纯水流华: '施放战技时,元素伤害提升$[0],获得24%生命值上限的生命之契,吸收治疗满后移除。移除时,每1000点提供$[1]元素伤害加成,上限$[2],持续12秒。',
|
||||
碧落之珑: '施放元素爆发或创造护盾后的3秒内:每2.5秒恢复$[0]能量,基于生命值上限,每1000点提升元素伤害$[1],上限$[2]。处于队伍后台也能触发。',
|
||||
不灭月华: '治疗加成提升$[0];普攻击造成的伤害增加,值为角色生命值上限的$[1]。施放爆发后的12秒内,普攻命中敌人恢复0.6点能量。',
|
||||
千夜浮梦: '基于其他角色的元素类型为装备者提供效果。每个同元素角色提升$[0]精通;不同元素角色提升$[1]元素伤害。队伍其他角色的精通提升$[2]点。',
|
||||
图莱杜拉的回忆: '普通攻击速度提升$[0];施放战技后14秒内:普攻击伤害每1秒提升$[1];普攻命中敌人后,普攻伤害提升$[2],上限$[3]。',
|
||||
金流监督: '攻击力提升$[0]。生命值变更时,普攻伤害提升$[1],重击伤害提升$[2],持续4秒,至多3层;3层后攻速提升$[3]。',
|
||||
神乐之真意: '施放战技时获得神乐舞效果,持续16秒,至多叠加3层。每层使角色的战技伤害提高$[0]。3层时,角色获得$[1]元素伤害加成。',
|
||||
盈满之实: '触发元素反应后,获得效果:每层精通提升$[0]点,攻击力降低5%,至多5层,处于后台时也能触发。未触发元素反应时将每6秒失去一层。',
|
||||
流浪的晚星: '每10秒基于精通的$[0]提升攻击力,并基于该提升的30%为其他角色提升攻击力,持续12秒,处于后台时也能触发,多件同名武器可叠加。',
|
||||
|
||||
// 单手剑
|
||||
降临之剑: '普通攻击与重击命中敌人后有50%概率在小范围内造成200%攻击力的伤害。该效果每10秒只能触发一次;<br/>此外,旅行者装备降临之剑时,攻击力提升66点。',
|
||||
天目影打刀: '施放元素战技获得1个胤种,至多同时存在3个。<br/>施放元素爆发清除所有胤种,并在2秒之后,基于消耗的胤种数量,每个为该角色恢复$[0]点元素能量。',
|
||||
风鹰剑: '攻击力提高$[0];<br/>受到伤害时触发:恢复等同于攻击力的$[1]的生命值,并对周围的敌人造成$[2]攻击力的伤害。每15秒只能触发一次。',
|
||||
天空之刃: '暴击率提升$[0];施放元素爆发时:移动速度提升10%,攻击速度提升10%,普通攻击与重击命中时,额外造成$[1]攻击力的伤害,持续12秒。',
|
||||
苍古自由之誓: '造成的伤害提高$[0];触发元素反应时,获得奋起之符。拥有2枚时,消耗并获得12秒状态:普攻、重击、下落攻击伤害提高$[1],攻击力提升$[2]。',
|
||||
雾切之回光: '获得$[0]所有元素伤害加成。<br /><strong>获得巴印:</strong>普攻造成元素伤害时5秒;施放元素爆发时10秒;能量低于100%时。当持有1/2/3层巴印时,获得$[1]元素伤害加成。',
|
||||
波乱月白经津: '获得$[0]元素伤害加成;其他角色施放战技时,产生1层波穗,至多2层。装备武器的角色施放战技时,消耗波穗每层提升$[1]普攻伤害,持续8秒。',
|
||||
圣显之钥: '生命值提升$[0]。战技命中敌人时:自己获得$[1]生命上限的精通,至多3层。叠加至3层之后为所有角色提供$[2]生命上限的精通,持续20秒。',
|
||||
静水流涌之辉: '装备者生命值变化时,战技伤害提升$[0],持续6秒,至多3层;其他角色生命值变化时,装备者的生命上限提升$[1],持续6秒,至多2层。',
|
||||
原木刀: '触发草元素反应后,每20秒产生至多存在10秒的种识之叶,后台也能触发。拾取提升精通$[0]点,持续12秒。',
|
||||
西福斯的月光: '每10秒基于精通的$[0]提升充能效率,并基于该提升的30%为其他角色提升充能效率,持续12秒。处于后台时也能触发,多件同名武器可叠加。',
|
||||
东花坊时雨: '攻击命中敌人后,为命中的一名敌人施加状态,对该状态敌人造成的伤害提升$[0]。状态持续10秒,每15秒至多一次;敌人被击败时清除CD。',
|
||||
船坞长剑: '受到或进行治疗时,获得标记,最多3层,处于后台也能获得。施放战技或爆发时,消耗标记:每枚标记提高$[0]点精通,恢复$[1]点能量。每15秒至多一次。',
|
||||
海渊终曲: '施放战技时,攻击力提升$[0],持续12秒,获得24%生命值上限的生命之契,吸收治疗满后移除。基于清除值的$[1]提升至多$[2]点攻击力,持续12秒。',
|
||||
|
||||
// 双手剑
|
||||
便携动力锯: '受到或进行治疗时,获得标记,最多3层,处于后台也能获得。施放战技或爆发时,消耗标记:每枚标记提高$[0]精通,恢复$[1]点能量。',
|
||||
松籁响起之时: '攻击力提高$[0];普攻或重击命中时,获得低语之符。拥有4枚低语之符时,将消耗所有:普攻速度提高$[1],攻击力提升$[2],持续12秒。',
|
||||
森林王器: '触发草元素反应后,每20秒产生至多存在10秒的种识之叶,后台也能触发。拾取提升精通$[0]点,持续12秒。',
|
||||
玛海菈的水色: '每10秒基于精通的$[0]提升攻击力,并基于该提升的30%为其他角色提升攻击力,持续12秒。处于后台时也能触发,多件同名武器可叠加。',
|
||||
|
||||
// 长柄武器
|
||||
勘探钻机: '受到或进行治疗时,获得标记,最多3层,处于后台也能获得。施放战技或爆发时,消耗标记:每枚标记提高$[0]攻击力与$[1]元素伤害加成。',
|
||||
贯月矢: '触发草元素反应后,每20秒产生至多存在10秒的种识之叶,后台也能触发。拾取提升攻击力<nobr>32%</nobr>,持续12秒。',
|
||||
|
||||
// 弓
|
||||
终末嗟叹之诗: '精通提高$[0]点;战技或爆发命中敌人时,获得追思之符,后台也能触发。4枚时消耗所有追思之符:精通提高$[1]点,攻击力提升$[2],持续12秒。',
|
||||
冬极白星: '战技和爆发伤害提高$[0];普攻、重击、战技或爆发命中后,将产生1层效果。处于1/2/3/4层效果时,攻击力将提高$[1]。',
|
||||
飞雷之弦振: '攻击力提高$[0],获得巴印:普攻时,持续5秒;施放战技时,持续10秒;能量低于100%时。持有1/2/3层巴印时,普攻伤害提高$[1]。',
|
||||
猎人之径: '获得$[0]元素伤害加成。重击命中敌人后:重击伤害值提高,为精通的$[1]。该效果将在生效12次或10秒后消失,每12秒至多获得一次状态。',
|
||||
最初的大魔术: '攻击力提升$[0];队伍中每有1/2/3个同属性(包括自身)攻击力提升$[1],每1/2/3个不同属性移动速度提升$[2]。',
|
||||
测距规: '受到或进行治疗时,获得标记,最多3层,处于后台也能获得。施放战技或爆发时,消耗标记:每枚标记提高$[0]攻击力与$[1]元素伤害,持续10秒。',
|
||||
王下近侍: '施放战技或爆发时,精通提升$[0]点,持续12秒,每20秒至多触发一次。状态结束或切换角色被移除时,对附近一名敌人造成$[1]攻击力的伤害。',
|
||||
竭泽: '施放战技后获得持续15秒的状态,CD12秒:在攻击命中敌人时造成$[0]攻击力的范围伤害,每2秒至多一次,触发3次后移除。',
|
||||
|
||||
// "施放元素爆发或创造护盾后的3秒内,将产生「定土玉圭」效果:每2.5秒恢复$[0]点元素能量,并基于装备者的生命值上限,每1000点使其对应元素类型的元素伤害加成提高$[1],至多提高$[2]。装备该武器的角色处于队伍后台时,依然能产生「定土玉圭」效果。",
|
||||
//
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Data, Meta } from '#miao'
|
||||
import lodash from 'lodash'
|
||||
import { weaponType, abbr, alias, weaponSet } from './meta.js'
|
||||
import { descFix } from './desc.js'
|
||||
|
||||
let weaponBuffs = {}
|
||||
let data = {}
|
||||
@ -49,5 +50,5 @@ meta.addData(data)
|
||||
meta.addAlias(alias)
|
||||
meta.addAbbr(abbr)
|
||||
meta.addMeta({
|
||||
weaponType, weaponSet, weaponBuffs
|
||||
weaponType, weaponSet, weaponBuffs, descFix
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user