添加 纳西妲、莱依拉 的图鉴信息
优化character的进入判定逻辑,防止一些额外的log触发
@ -1,8 +1,8 @@
|
||||
# 2.0.2
|
||||
|
||||
* 添加 纳西妲、莱依拉 的天赋及命座数据
|
||||
* 可通过 `#草神天赋``草神命座`查看
|
||||
* 数据源关系,暂不支持详细属性及图鉴查看
|
||||
* 可通过 `#草神天赋``#草神命座``#草神图鉴`查看
|
||||
* 优化character的进入判定逻辑,防止一些额外的log触发
|
||||
|
||||
# 2.0.1
|
||||
|
||||
|
@ -219,7 +219,7 @@ async function profileCfg (e) {
|
||||
let regRet = /喵喵面板(?:设置)?\s*(好友|群|群聊|陌生人)?\s*(\d*)\s*(开启|关闭|删除)?\s*$/.exec(e.msg)
|
||||
|
||||
if (!regRet) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let [, target, groupId, actionType] = regRet
|
||||
@ -250,7 +250,7 @@ async function profileCfg (e) {
|
||||
let groups = Cfg.get('profile.groups', {})
|
||||
lodash.forEach(lodash.keys(groups), (group, idx) => {
|
||||
if (lodash.isUndefined(groups[group])) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
cfg.groups.push({
|
||||
group,
|
||||
|
@ -11,7 +11,8 @@ let app = App.init({
|
||||
})
|
||||
|
||||
app.reg('character', character, {
|
||||
rule: /^#.+$/,
|
||||
rule: /^#喵喵角色卡片$/,
|
||||
check: checkCharacter,
|
||||
name: '角色卡片'
|
||||
})
|
||||
|
||||
@ -34,9 +35,16 @@ export default app
|
||||
|
||||
// 查看当前角色
|
||||
export async function character (e) {
|
||||
if (!e.char) {
|
||||
return false
|
||||
}
|
||||
return renderAvatar(e, e.char?.name)
|
||||
}
|
||||
|
||||
function checkCharacter (e) {
|
||||
let msg = e.original_msg || e.msg
|
||||
if (!msg) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let uidRet = /[0-9]{9}/.exec(msg)
|
||||
@ -47,7 +55,7 @@ export async function character (e) {
|
||||
let name = msg.replace(/#|老婆|老公|卡片/g, '').trim()
|
||||
|
||||
if (Common.isDisable(e, 'char.char')) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let char = Character.get(name.trim())
|
||||
@ -55,5 +63,8 @@ export async function character (e) {
|
||||
if (!char) {
|
||||
return false
|
||||
}
|
||||
return renderAvatar(e, char.name)
|
||||
|
||||
e.msg = '#喵喵角色卡片'
|
||||
e.char = char
|
||||
return true
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ let regex = /^#?\s*(?:喵喵)?(?:上传|添加)(.+)(?:照片|写真|图片|图
|
||||
export async function uploadCharacterImg (e) {
|
||||
let promise = await isAllowedToUploadCharacterImage(e)
|
||||
if (!promise) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let imageMessages = []
|
||||
@ -22,11 +22,11 @@ export async function uploadCharacterImg (e) {
|
||||
let regRet = regex.exec(msg)
|
||||
// 通过解析正则获取消息中的角色名
|
||||
if (!regRet || !regRet[1]) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
let char = Character.get(regRet[1])
|
||||
if (!char || !char.name) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
let name = char.name
|
||||
for (let val of e.message) {
|
||||
|
@ -18,7 +18,7 @@ export async function profileArtis (e) {
|
||||
})
|
||||
|
||||
if (err) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
if (!profile.hasArtis()) {
|
||||
@ -68,7 +68,7 @@ export async function profileArtisList (e) {
|
||||
let name = profile.name
|
||||
let char = Character.get(name)
|
||||
if (!profile.hasData || !profile.hasArtis()) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
let profileArtis = profile.getArtisMark()
|
||||
lodash.forEach(profileArtis.artis, (arti, idx) => {
|
||||
|
@ -221,7 +221,7 @@ export async function getProfileAll (e) {
|
||||
let chars = []
|
||||
lodash.forEach(profiles || [], (ds) => {
|
||||
if (!['enka', 'input2', 'miao'].includes(ds.dataSource)) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
ds.name && chars.push(ds.name)
|
||||
})
|
||||
|
@ -22,7 +22,7 @@ export async function profileList (e) {
|
||||
}
|
||||
lodash.forEach(profiles || {}, (profile) => {
|
||||
if (!profile.hasData) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
let char = profile.char
|
||||
let tmp = char.getData('id,face,name,abbr,element,star')
|
||||
|
@ -4,15 +4,15 @@ import { MysApi } from '../../models/index.js'
|
||||
/** 获取角色卡片的原图 */
|
||||
export async function getOriginalPicture (e) {
|
||||
if (!e.hasReply && !e.source) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
// 引用的消息不是自己的消息
|
||||
if (e.source.user_id !== e.self_id) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
// 引用的消息不是纯图片
|
||||
if (!/^\[图片]$/.test(e.source.message)) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
// 获取原消息
|
||||
let source
|
||||
|
@ -58,7 +58,7 @@ async function help (e) {
|
||||
|
||||
lodash.forEach(helpList, (group) => {
|
||||
if (group.auth && group.auth === 'master' && !e.isMaster) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
|
||||
lodash.forEach(group.list, (help) => {
|
||||
|
@ -53,7 +53,7 @@ export default app
|
||||
export async function profileDetail (e) {
|
||||
let msg = e.original_msg || e.msg
|
||||
if (!msg) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let mode = 'profile'
|
||||
@ -94,17 +94,17 @@ export async function profileDetail (e) {
|
||||
if (!e.isMaster) {
|
||||
if (Common.isDisable(e, 'char.profile')) {
|
||||
// 面板开关关闭
|
||||
return
|
||||
return false
|
||||
}
|
||||
if (e.isPrivate) {
|
||||
if ((e.sub_type === 'friend' && Cfg.get('profile.friend.status') === false) ||
|
||||
(e.sub_type === 'group' && Cfg.get('profile.stranger.status') === false)) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
} else if (e.isGroup) {
|
||||
let groupCfg = Cfg.get(`profile.groups.群${e.group_id}.status`)
|
||||
if (groupCfg === false || (groupCfg !== true && Cfg.get('profile.group.status') === false)) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
18
apps/stat.js
@ -32,7 +32,7 @@ export default app
|
||||
|
||||
async function consStat (e) {
|
||||
if (Cfg.isDisable(e, 'wiki.stat')) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let consData = await HutaoApi.getCons()
|
||||
@ -115,7 +115,7 @@ async function consStat (e) {
|
||||
|
||||
async function abyssPct (e) {
|
||||
if (Cfg.isDisable(e, 'wiki.stat')) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
let mode = /使用/.test(e.msg) ? 'use' : 'pct'
|
||||
@ -312,22 +312,22 @@ async function abyssTeam (e) {
|
||||
let ds = ret[floor]
|
||||
lodash.forEach(floorData.teams, (t1) => {
|
||||
if (t1.mark2 <= 0) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
lodash.forEach(floorData.teams, (t2) => {
|
||||
if (t1.mark2 <= 0) {
|
||||
return false
|
||||
return true
|
||||
}
|
||||
if (t1.half === t2.half || t2.mark2 <= 0) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
|
||||
let teamKey = t1.half === 'up' ? (t1.team + '+' + t2.team) : (t2.team + '+' + t1.team)
|
||||
if (ds[teamKey]) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
if (hasSame(t1.teamArr, t2.teamArr)) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
|
||||
ds[teamKey] = {
|
||||
@ -441,10 +441,10 @@ async function uploadData (e) {
|
||||
let addMsg = function (title, ds) {
|
||||
let tmp = {}
|
||||
if (!ds) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
if (!ds.avatarId && !ds.id) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
let char = Character.get(ds.avatarId || ds.id)
|
||||
tmp.title = title
|
||||
|
@ -158,7 +158,7 @@ const getLineData = function (char) {
|
||||
})
|
||||
let ga = char.growAttr
|
||||
ret.push({
|
||||
num: ga.value,
|
||||
num: ga.key === 'mastery' ? Format.comma(ga.value, 1) : ga.value,
|
||||
label: `成长·${attrMap[ga.key]}`
|
||||
})
|
||||
|
||||
|
@ -55,12 +55,12 @@ let Cal = {
|
||||
lodash.forEach(detailData.data.list, (ds) => {
|
||||
let { ann_id: annId, content, title } = ds
|
||||
if (ignoreReg.test(title)) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
content = content.replace(/(<|<)[\w "%:;=\-\\/\\(\\),\\.]+(>|>)/g, '')
|
||||
content = /(?:活动时间|祈愿介绍|任务开放时间|冒险....包|折扣时间)\s*〓([^〓]+)(〓|$)/.exec(content)
|
||||
if (!content || !content[1]) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
content = content[1]
|
||||
let annTime = []
|
||||
@ -76,7 +76,7 @@ let Cal = {
|
||||
vTime = versionTime[vRet[1]]
|
||||
}
|
||||
if (!vTime) {
|
||||
return
|
||||
return true
|
||||
}
|
||||
if (/永久开放/.test(content)) {
|
||||
annTime = [vTime, '2099/01/01 00:00:00']
|
||||
@ -194,7 +194,7 @@ let Cal = {
|
||||
let detail = timeMap[id] || {}
|
||||
|
||||
if (ignoreIds.includes(id) || ignoreReg.test(title) || detail.display === false) {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
if (/神铸赋形/.test(title)) {
|
||||
|
@ -19,6 +19,7 @@ class App {
|
||||
v3App () {
|
||||
let cfg = this.cfg || {}
|
||||
let rules = []
|
||||
let check = []
|
||||
let event = cfg.event
|
||||
let cls = class extends plugin {
|
||||
constructor () {
|
||||
@ -33,6 +34,11 @@ class App {
|
||||
|
||||
accept (e) {
|
||||
e.original_msg = e.original_msg || e.msg
|
||||
for (let idx = 0; idx < check.length; idx++) {
|
||||
if (check[idx](e, e.original_msg) === true) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,6 +63,10 @@ class App {
|
||||
fnc: key
|
||||
})
|
||||
|
||||
if (app.check) {
|
||||
check.push(app.check)
|
||||
}
|
||||
|
||||
cls.prototype[key] = async function () {
|
||||
let e = this.e
|
||||
if (event === 'poke') {
|
||||
@ -97,7 +107,15 @@ class App {
|
||||
let event = cfg.event
|
||||
let apps = this.apps
|
||||
return async function (e) {
|
||||
e.original_msg = e.original_msg || e.msg
|
||||
let msg = e.original_msg || e.msg || ''
|
||||
for (let key in apps) {
|
||||
let app = apps[key]
|
||||
if (app.check && app.check(e, msg) === true) {
|
||||
break
|
||||
}
|
||||
}
|
||||
msg = e.msg
|
||||
for (let key in apps) {
|
||||
let app = apps[key]
|
||||
let rule = app.rule || app.reg || 'noCheck'
|
||||
|
@ -2,7 +2,7 @@
|
||||
"id": 10000073,
|
||||
"name": "纳西妲",
|
||||
"abbr": "纳西妲",
|
||||
"title": "",
|
||||
"title": "???",
|
||||
"star": 5,
|
||||
"elem": "dendro",
|
||||
"allegiance": "???",
|
||||
@ -10,18 +10,35 @@
|
||||
"birth": "1-1",
|
||||
"astro": "智慧主座",
|
||||
"desc": "测试角色",
|
||||
"cncv": "",
|
||||
"jpcv": "",
|
||||
"cncv": "???",
|
||||
"jpcv": "???",
|
||||
"costume": false,
|
||||
"source": "amber",
|
||||
"ver": 1,
|
||||
"baseAttr": {},
|
||||
"growAttr": {},
|
||||
"talentKey": {
|
||||
"undefined": "q"
|
||||
"baseAttr": {
|
||||
"hp": 10360,
|
||||
"atk": 298.97,
|
||||
"def": 630.21
|
||||
},
|
||||
"growAttr": {
|
||||
"key": "mastery",
|
||||
"value": "115.19999694824"
|
||||
},
|
||||
"talentKey": {
|
||||
"7331": "a",
|
||||
"7332": "e",
|
||||
"7339": "q"
|
||||
},
|
||||
"talentId": {},
|
||||
"talentCons": {
|
||||
"e": 3,
|
||||
"q": 5
|
||||
},
|
||||
"materials": {
|
||||
"gem": "生长碧翡",
|
||||
"boss": "灭诤草蔓",
|
||||
"specialty": "劫波莲",
|
||||
"normal": "孢囊晶尘",
|
||||
"talent": "「巧思」的哲学",
|
||||
"weekly": "???"
|
||||
}
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
{
|
||||
"id": 10000073,
|
||||
"id": "73",
|
||||
"name": "纳西妲",
|
||||
"talent": {
|
||||
"a": {
|
||||
"id": 7331,
|
||||
"name": "普通攻击·行相",
|
||||
"desc": [
|
||||
"<h3>普通攻击</h3>",
|
||||
@ -177,7 +178,7 @@
|
||||
"132.13% / 165.04%",
|
||||
"145.35% / 181.54%",
|
||||
"154.59% / 193.1%",
|
||||
"165.17% / 206.3%",
|
||||
"165.16% / 206.3%",
|
||||
"179.7% / 224.45%",
|
||||
"194.23% / 242.61%",
|
||||
"208.77% / 260.76%",
|
||||
@ -192,6 +193,7 @@
|
||||
]
|
||||
},
|
||||
"e": {
|
||||
"id": 7332,
|
||||
"name": "所闻遍计",
|
||||
"desc": [
|
||||
"在身边施以草木之业缚,造成草元素范围伤害,并对命中的敌人施加蕴种印。",
|
||||
@ -364,6 +366,7 @@
|
||||
]
|
||||
},
|
||||
"q": {
|
||||
"id": 7339,
|
||||
"name": "心景幻成",
|
||||
"desc": [
|
||||
"将梦想的殿堂具现,展开「摩耶之殿」领域。",
|
||||
@ -377,68 +380,68 @@
|
||||
"tables": [
|
||||
{
|
||||
"name": "火:伤害提升",
|
||||
"unit": "",
|
||||
"unit": "1名/2名角色",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"1名角色11.12% / 2名角色16.72%",
|
||||
"1名角色11.95% / 2名角色17.97%",
|
||||
"1名角色12.79% / 2名角色19.23%",
|
||||
"1名角色13.9% / 2名角色20.9%",
|
||||
"1名角色14.73% / 2名角色22.15%",
|
||||
"1名角色15.57% / 2名角色23.41%",
|
||||
"1名角色16.68% / 2名角色25.08%",
|
||||
"1名角色17.79% / 2名角色26.75%",
|
||||
"1名角色18.9% / 2名角色28.42%",
|
||||
"1名角色20.02% / 2名角色30.1%",
|
||||
"1名角色21.13% / 2名角色31.77%",
|
||||
"1名角色22.24% / 2名角色33.44%",
|
||||
"1名角色23.63% / 2名角色35.53%",
|
||||
"1名角色25.02% / 2名角色37.62%",
|
||||
"1名角色26.41% / 2名角色39.71%"
|
||||
"11.12% / 16.72%",
|
||||
"11.95% / 17.97%",
|
||||
"12.79% / 19.23%",
|
||||
"13.9% / 20.9%",
|
||||
"14.73% / 22.15%",
|
||||
"15.57% / 23.41%",
|
||||
"16.68% / 25.08%",
|
||||
"17.79% / 26.75%",
|
||||
"18.9% / 28.42%",
|
||||
"20.02% / 30.1%",
|
||||
"21.13% / 31.77%",
|
||||
"22.24% / 33.44%",
|
||||
"23.63% / 35.53%",
|
||||
"25.02% / 37.62%",
|
||||
"26.41% / 39.71%"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "雷:间隔降低",
|
||||
"unit": "",
|
||||
"unit": "1名/2名角色",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"1名角色0.17秒 / 2名角色0.25秒",
|
||||
"1名角色0.18秒 / 2名角色0.27秒",
|
||||
"1名角色0.19秒 / 2名角色0.29秒",
|
||||
"1名角色0.21秒 / 2名角色0.31秒",
|
||||
"1名角色0.22秒 / 2名角色0.33秒",
|
||||
"1名角色0.23秒 / 2名角色0.35秒",
|
||||
"1名角色0.25秒 / 2名角色0.38秒",
|
||||
"1名角色0.27秒 / 2名角色0.4秒",
|
||||
"1名角色0.28秒 / 2名角色0.43秒",
|
||||
"1名角色0.3秒 / 2名角色0.45秒",
|
||||
"1名角色0.32秒 / 2名角色0.48秒",
|
||||
"1名角色0.33秒 / 2名角色0.5秒",
|
||||
"1名角色0.35秒 / 2名角色0.53秒",
|
||||
"1名角色0.38秒 / 2名角色0.56秒",
|
||||
"1名角色0.4秒 / 2名角色0.59秒"
|
||||
"0.17秒 / 0.25秒",
|
||||
"0.18秒 / 0.27秒",
|
||||
"0.19秒 / 0.29秒",
|
||||
"0.21秒 / 0.31秒",
|
||||
"0.22秒 / 0.33秒",
|
||||
"0.23秒 / 0.35秒",
|
||||
"0.25秒 / 0.38秒",
|
||||
"0.27秒 / 0.4秒",
|
||||
"0.28秒 / 0.43秒",
|
||||
"0.3秒 / 0.45秒",
|
||||
"0.32秒 / 0.48秒",
|
||||
"0.33秒 / 0.5秒",
|
||||
"0.35秒 / 0.53秒",
|
||||
"0.38秒 / 0.56秒",
|
||||
"0.4秒 / 0.59秒"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "水:持续时间延长",
|
||||
"unit": "",
|
||||
"unit": "1名/2名角色",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"1名角色2.22秒 / 2名角色3.34秒",
|
||||
"1名角色2.39秒 / 2名角色3.59秒",
|
||||
"1名角色2.56秒 / 2名角色3.84秒",
|
||||
"1名角色2.78秒 / 2名角色4.17秒",
|
||||
"1名角色2.95秒 / 2名角色4.42秒",
|
||||
"1名角色3.11秒 / 2名角色4.67秒",
|
||||
"1名角色3.34秒 / 2名角色5.01秒",
|
||||
"1名角色3.56秒 / 2名角色5.34秒",
|
||||
"1名角色3.78秒 / 2名角色5.67秒",
|
||||
"1名角色4秒 / 2名角色6.01秒",
|
||||
"1名角色4.23秒 / 2名角色6.34秒",
|
||||
"1名角色4.45秒 / 2名角色6.67秒",
|
||||
"1名角色4.73秒 / 2名角色7.09秒",
|
||||
"1名角色5秒 / 2名角色7.51秒",
|
||||
"1名角色5.28秒 / 2名角色7.92秒"
|
||||
"2.22秒 / 3.34秒",
|
||||
"2.39秒 / 3.59秒",
|
||||
"2.56秒 / 3.84秒",
|
||||
"2.78秒 / 4.17秒",
|
||||
"2.95秒 / 4.42秒",
|
||||
"3.11秒 / 4.67秒",
|
||||
"3.34秒 / 5.01秒",
|
||||
"3.56秒 / 5.34秒",
|
||||
"3.78秒 / 5.67秒",
|
||||
"4秒 / 6.01秒",
|
||||
"4.23秒 / 6.34秒",
|
||||
"4.45秒 / 6.67秒",
|
||||
"4.73秒 / 7.09秒",
|
||||
"5秒 / 7.51秒",
|
||||
"5.28秒 / 7.92秒"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -555,6 +558,13 @@
|
||||
}
|
||||
},
|
||||
"passive": [
|
||||
{
|
||||
"name": "诸相随念净行",
|
||||
"desc": [
|
||||
"纳西妲能够通过所闻遍计,与一定范围内的部分采集物进行交互。",
|
||||
"或许还有其他的效果…"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "净善摄受明论",
|
||||
"desc": [
|
||||
@ -569,18 +579,88 @@
|
||||
"基于纳西妲元素精通超过200点的部分,每1点元素精通能使所闻遍计的灭净三业造成的伤害提升0.1%,暴击率提升0.03%。",
|
||||
"通过这种方式,至多使灭净三业造成的伤害提升80%,暴击率提升24%。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "诸相随念净行",
|
||||
"desc": [
|
||||
"纳西妲能够通过所闻遍计,与一定范围内的部分采集物进行交互。",
|
||||
"或许还有其他的效果…"
|
||||
]
|
||||
}
|
||||
],
|
||||
"attr": {
|
||||
"keys": [
|
||||
"hpBase",
|
||||
"atkBase",
|
||||
"defBase",
|
||||
"mastery"
|
||||
],
|
||||
"details": {
|
||||
"90": {}
|
||||
"1": [
|
||||
"807",
|
||||
"23.27",
|
||||
"49.06",
|
||||
"0%"
|
||||
],
|
||||
"20": [
|
||||
"2092",
|
||||
"60.38",
|
||||
"127.26",
|
||||
"0%"
|
||||
],
|
||||
"50": [
|
||||
"5357",
|
||||
"154.6",
|
||||
"325.89",
|
||||
"28.799999237061"
|
||||
],
|
||||
"60": [
|
||||
"6721",
|
||||
"193.94",
|
||||
"408.82",
|
||||
"57.599998474121"
|
||||
],
|
||||
"70": [
|
||||
"7926",
|
||||
"228.74",
|
||||
"482.18",
|
||||
"57.599998474121"
|
||||
],
|
||||
"80": [
|
||||
"9140",
|
||||
"263.78",
|
||||
"556.02",
|
||||
"86.400001525879"
|
||||
],
|
||||
"90": [
|
||||
"10360",
|
||||
"298.97",
|
||||
"630.21",
|
||||
"115.19999694824"
|
||||
],
|
||||
"20+": [
|
||||
"2784",
|
||||
"80.33",
|
||||
"169.33",
|
||||
"0%"
|
||||
],
|
||||
"50+": [
|
||||
"6012",
|
||||
"173.51",
|
||||
"365.74",
|
||||
"57.599998474121"
|
||||
],
|
||||
"60+": [
|
||||
"7212",
|
||||
"208.12",
|
||||
"438.71",
|
||||
"57.599998474121"
|
||||
],
|
||||
"70+": [
|
||||
"8418",
|
||||
"242.92",
|
||||
"512.07",
|
||||
"86.400001525879"
|
||||
],
|
||||
"80+": [
|
||||
"9632",
|
||||
"277.96",
|
||||
"585.91",
|
||||
"115.19999694824"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 8.4 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-1.webp
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 6.6 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-2.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 6.7 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-3.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 6.2 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-4.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.8 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-5.webp
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 5.8 KiB |
BIN
resources/meta/character/纳西妲/icons/cons-6.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.1 KiB |
BIN
resources/meta/character/纳西妲/icons/passive-0.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.0 KiB |
BIN
resources/meta/character/纳西妲/icons/passive-1.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 7.0 KiB |
BIN
resources/meta/character/纳西妲/icons/passive-2.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.1 KiB |
BIN
resources/meta/character/纳西妲/icons/talent-a.webp
Normal file
After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 6.7 KiB |
BIN
resources/meta/character/纳西妲/icons/talent-e.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 9.8 KiB |
BIN
resources/meta/character/纳西妲/icons/talent-q.webp
Normal file
After Width: | Height: | Size: 11 KiB |
525
resources/meta/character/纳西妲/imgs/banner.webp
Normal file
Before Width: | Height: | Size: 420 KiB |
BIN
resources/meta/character/纳西妲/imgs/card.webp
Normal file
After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 105 KiB |
BIN
resources/meta/character/纳西妲/imgs/face.webp
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
resources/meta/character/纳西妲/imgs/gacha.webp
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
resources/meta/character/纳西妲/imgs/side.webp
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.7 MiB |
BIN
resources/meta/character/纳西妲/imgs/splash.webp
Normal file
After Width: | Height: | Size: 430 KiB |
@ -2,26 +2,43 @@
|
||||
"id": 10000074,
|
||||
"name": "莱依拉",
|
||||
"abbr": "莱依拉",
|
||||
"title": "",
|
||||
"title": "???",
|
||||
"star": 4,
|
||||
"elem": "cryo",
|
||||
"elem": "hydro",
|
||||
"allegiance": "???",
|
||||
"weapon": "sword",
|
||||
"birth": "1-1",
|
||||
"astro": "夜莺座",
|
||||
"desc": "测试角色",
|
||||
"cncv": "",
|
||||
"jpcv": "",
|
||||
"cncv": "???",
|
||||
"jpcv": "???",
|
||||
"costume": false,
|
||||
"source": "amber",
|
||||
"ver": 1,
|
||||
"baseAttr": {},
|
||||
"growAttr": {},
|
||||
"talentKey": {
|
||||
"undefined": "q"
|
||||
"baseAttr": {
|
||||
"hp": 11092,
|
||||
"atk": 216.65,
|
||||
"def": 655.22
|
||||
},
|
||||
"growAttr": {
|
||||
"key": "hpPct",
|
||||
"value": "24.0%"
|
||||
},
|
||||
"talentKey": {
|
||||
"7431": "a",
|
||||
"7432": "e",
|
||||
"7439": "q"
|
||||
},
|
||||
"talentId": {},
|
||||
"talentCons": {
|
||||
"e": 3,
|
||||
"q": 5
|
||||
},
|
||||
"materials": {
|
||||
"gem": "哀叙冰玉",
|
||||
"boss": "永续机芯",
|
||||
"specialty": "月莲",
|
||||
"normal": "禁咒绘卷",
|
||||
"talent": "「巧思」的哲学",
|
||||
"weekly": "???"
|
||||
}
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
{
|
||||
"id": 10000074,
|
||||
"id": "74",
|
||||
"name": "莱依拉",
|
||||
"talent": {
|
||||
"a": {
|
||||
"id": 7431,
|
||||
"name": "普通攻击·熠辉轨度剑",
|
||||
"desc": [
|
||||
"<h3>普通攻击</h3>",
|
||||
@ -20,7 +21,7 @@
|
||||
"values": [
|
||||
"51.22%",
|
||||
"55.39%",
|
||||
"59.55%",
|
||||
"59.56%",
|
||||
"65.51%",
|
||||
"69.68%",
|
||||
"74.44%",
|
||||
@ -85,13 +86,13 @@
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"47.73% + 52.55%",
|
||||
"51.62% + 56.82%",
|
||||
"51.61% + 56.82%",
|
||||
"55.5% + 61.1%",
|
||||
"61.05% + 67.21%",
|
||||
"64.94% + 71.49%",
|
||||
"64.93% + 71.49%",
|
||||
"69.38% + 76.38%",
|
||||
"75.48% + 83.1%",
|
||||
"81.58% + 89.82%",
|
||||
"81.59% + 89.82%",
|
||||
"87.69% + 96.54%",
|
||||
"94.35% + 103.87%",
|
||||
"101.01% + 111.2%",
|
||||
@ -133,7 +134,7 @@
|
||||
"74.34%",
|
||||
"81.77%",
|
||||
"86.98%",
|
||||
"92.92%",
|
||||
"92.93%",
|
||||
"101.1%",
|
||||
"109.28%",
|
||||
"117.46%",
|
||||
@ -170,6 +171,7 @@
|
||||
]
|
||||
},
|
||||
"e": {
|
||||
"id": 7432,
|
||||
"name": "垂裳端凝之夜",
|
||||
"desc": [
|
||||
"展开安眠帷幕护盾,并造成冰元素范围伤害。安眠帷幕护盾的伤害吸收量受益于莱依拉的生命值上限,并对冰元素伤害有250%的吸收效果。",
|
||||
@ -186,21 +188,21 @@
|
||||
"unit": "",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"0.15",
|
||||
"0.16",
|
||||
"0.17",
|
||||
"0.19",
|
||||
"0.2",
|
||||
"0.21",
|
||||
"0.22",
|
||||
"0.24",
|
||||
"0.25",
|
||||
"0.27",
|
||||
"0.28",
|
||||
"0.3",
|
||||
"0.32",
|
||||
"0.33",
|
||||
"0.35"
|
||||
"14.85%",
|
||||
"15.96%",
|
||||
"17.08%",
|
||||
"18.56%",
|
||||
"19.67%",
|
||||
"20.79%",
|
||||
"22.27%",
|
||||
"23.76%",
|
||||
"25.24%",
|
||||
"26.73%",
|
||||
"28.21%",
|
||||
"29.7%",
|
||||
"31.55%",
|
||||
"33.41%",
|
||||
"35.26%"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -230,20 +232,20 @@
|
||||
"unit": "",
|
||||
"isSame": false,
|
||||
"values": [
|
||||
"10.8%HP + 1040",
|
||||
"11.61%HP + 1144",
|
||||
"12.42%HP + 1256",
|
||||
"13.5%HP + 1378",
|
||||
"14.31%HP + 1508",
|
||||
"15.12%HP + 1646",
|
||||
"16.2%HP + 1794",
|
||||
"17.28%HP + 1950",
|
||||
"18.36%HP + 2114",
|
||||
"19.44%HP + 2288",
|
||||
"20.52%HP + 2470",
|
||||
"21.6%HP + 2660",
|
||||
"22.95%HP + 2860",
|
||||
"24.3%HP + 3068",
|
||||
"10.8%HP + 1040.01",
|
||||
"11.61%HP + 1144.02",
|
||||
"12.42%HP + 1256.71",
|
||||
"13.5%HP + 1378.06",
|
||||
"14.31%HP + 1508.08",
|
||||
"15.12%HP + 1646.76",
|
||||
"16.2%HP + 1794.12",
|
||||
"17.28%HP + 1950.14",
|
||||
"18.36%HP + 2114.83",
|
||||
"19.44%HP + 2288.19",
|
||||
"20.52%HP + 2470.22",
|
||||
"21.6%HP + 2660.91",
|
||||
"22.95%HP + 2860.27",
|
||||
"24.3%HP + 3068.3",
|
||||
"25.65%HP + 3285"
|
||||
]
|
||||
},
|
||||
@ -294,6 +296,7 @@
|
||||
]
|
||||
},
|
||||
"q": {
|
||||
"id": 7439,
|
||||
"name": "星流摇床之梦",
|
||||
"desc": [
|
||||
"释放帮助入眠的饰梦天球,持续发射星光弹攻击领域内的敌人,造成冰元素伤害。",
|
||||
@ -436,6 +439,12 @@
|
||||
}
|
||||
},
|
||||
"passive": [
|
||||
{
|
||||
"name": "叠影的梦兆",
|
||||
"desc": [
|
||||
"合成角色天赋素材时,有10%概率获得2倍产出。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "如光骤现",
|
||||
"desc": [
|
||||
@ -449,17 +458,88 @@
|
||||
"desc": [
|
||||
"垂裳端凝之夜发射的飞星造成的伤害提高,提高值相当于莱依拉生命值上限的1.5%。"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "叠影的梦兆",
|
||||
"desc": [
|
||||
"合成角色天赋素材时,有10%概率获得2倍产出。"
|
||||
]
|
||||
}
|
||||
],
|
||||
"attr": {
|
||||
"keys": [
|
||||
"hpBase",
|
||||
"atkBase",
|
||||
"defBase",
|
||||
"hpPct"
|
||||
],
|
||||
"details": {
|
||||
"90": {}
|
||||
"1": [
|
||||
"930",
|
||||
"18.16",
|
||||
"54.94",
|
||||
"0%"
|
||||
],
|
||||
"20": [
|
||||
"2389",
|
||||
"46.66",
|
||||
"141.13",
|
||||
"0%"
|
||||
],
|
||||
"50": [
|
||||
"5881",
|
||||
"114.87",
|
||||
"347.41",
|
||||
"6.0%"
|
||||
],
|
||||
"60": [
|
||||
"7308",
|
||||
"142.73",
|
||||
"431.66",
|
||||
"12.0%"
|
||||
],
|
||||
"70": [
|
||||
"8569",
|
||||
"167.35",
|
||||
"506.15",
|
||||
"12.0%"
|
||||
],
|
||||
"80": [
|
||||
"9831",
|
||||
"192.0",
|
||||
"580.68",
|
||||
"18.0%"
|
||||
],
|
||||
"90": [
|
||||
"11092",
|
||||
"216.65",
|
||||
"655.22",
|
||||
"24.0%"
|
||||
],
|
||||
"20+": [
|
||||
"3084",
|
||||
"60.23",
|
||||
"182.17",
|
||||
"0%"
|
||||
],
|
||||
"50+": [
|
||||
"6540",
|
||||
"127.72",
|
||||
"386.29",
|
||||
"12.0%"
|
||||
],
|
||||
"60+": [
|
||||
"7801",
|
||||
"152.37",
|
||||
"460.82",
|
||||
"12.0%"
|
||||
],
|
||||
"70+": [
|
||||
"9062",
|
||||
"177.0",
|
||||
"535.31",
|
||||
"18.0%"
|
||||
],
|
||||
"80+": [
|
||||
"10324",
|
||||
"201.64",
|
||||
"609.84",
|
||||
"24.0%"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 6.9 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-1.webp
Normal file
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.0 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-2.webp
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6.3 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-3.webp
Normal file
After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 7.3 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-4.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.3 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-5.webp
Normal file
After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 6.1 KiB |
BIN
resources/meta/character/莱依拉/icons/cons-6.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 6.3 KiB |
BIN
resources/meta/character/莱依拉/icons/passive-0.webp
Normal file
After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.6 KiB |
BIN
resources/meta/character/莱依拉/icons/passive-1.webp
Normal file
After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
BIN
resources/meta/character/莱依拉/icons/passive-2.webp
Normal file
After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.7 KiB |
BIN
resources/meta/character/莱依拉/icons/talent-a.webp
Normal file
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 6.3 KiB |
BIN
resources/meta/character/莱依拉/icons/talent-e.webp
Normal file
After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 3.7 KiB |
BIN
resources/meta/character/莱依拉/icons/talent-q.webp
Normal file
After Width: | Height: | Size: 8.6 KiB |
525
resources/meta/character/莱依拉/imgs/banner.webp
Normal file
Before Width: | Height: | Size: 516 KiB |
BIN
resources/meta/character/莱依拉/imgs/card.webp
Normal file
After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 83 KiB |
BIN
resources/meta/character/莱依拉/imgs/face.webp
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
resources/meta/character/莱依拉/imgs/gacha.webp
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
resources/meta/character/莱依拉/imgs/side.webp
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.0 MiB |
BIN
resources/meta/character/莱依拉/imgs/splash.webp
Normal file
After Width: | Height: | Size: 356 KiB |
BIN
resources/meta/material/boss/灭诤草蔓.webp
Normal file
After Width: | Height: | Size: 30 KiB |
@ -1266,5 +1266,17 @@
|
||||
"star": 5
|
||||
}
|
||||
}
|
||||
},
|
||||
"灭诤草蔓": {
|
||||
"id": "n113040",
|
||||
"name": "灭诤草蔓",
|
||||
"type": "boss",
|
||||
"star": 4
|
||||
},
|
||||
"???": {
|
||||
"id": "n113041",
|
||||
"name": "???",
|
||||
"type": "weekly",
|
||||
"star": 5
|
||||
}
|
||||
}
|
BIN
resources/meta/material/weekly/???.webp
Normal file
After Width: | Height: | Size: 14 KiB |
@ -249,6 +249,8 @@ const charData = {
|
||||
69: { key: 'tighnari', name: '提纳里' },
|
||||
70: { key: 'nilou', name: '妮露' },
|
||||
71: { key: 'cyno', name: '赛诺' },
|
||||
72: { key: 'candace', name: '坎蒂丝' }
|
||||
72: { key: 'candace', name: '坎蒂丝' },
|
||||
73: { key: 'nahida', name: '纳西妲' },
|
||||
74: { key: 'layla', name: '莱依拉' }
|
||||
}
|
||||
await down('70,71,72', true)
|
||||
await down('73', true)
|
||||
|
@ -220,6 +220,11 @@ const CharData = {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (/(1名角色|2名角色)/.test(val)) {
|
||||
unit = '1名/2名角色'
|
||||
let val2 = val.replace(/(1名角色|2名角色)/g, '')
|
||||
values2.push(val2)
|
||||
}
|
||||
})
|
||||
|
||||
details.push({
|
||||
|