原神面板增加武器效果展示

This commit is contained in:
Kokomi 2023-10-23 22:14:09 +08:00
parent 832902b239
commit 29cea32286
14 changed files with 209 additions and 133 deletions

View File

@ -125,7 +125,7 @@ let Avatar = {
}
})
}
let char = Character.get(name.trim())
let char = Character.get(name.trim(), e.game)
if (!char) {
return false
}

View File

@ -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
}

View File

@ -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 = []

View File

@ -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 */

View File

@ -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}}

View File

@ -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;
}
}

View File

@ -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'

View File

@ -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 }

View File

@ -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')

View File

@ -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 }

View File

@ -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 }

View File

@ -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({

View 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]。装备该武器的角色处于队伍后台时,依然能产生「定土玉圭」效果。",
//
}

View File

@ -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
})