mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-21 22:48:13 +00:00
星铁面板初步支持展示武器数据
This commit is contained in:
parent
2a21366e1a
commit
1dddda52f7
@ -1,3 +1,9 @@
|
||||
# 2.4.0 Dev
|
||||
|
||||
* !!!尚未完成,不推荐切换至Dev!!!
|
||||
* 初步支持星铁面板数据获取与展示
|
||||
* 面板属性计算暂未包含武器及圣遗物Buff,面板数据暂不准确
|
||||
|
||||
# 2.3.8
|
||||
|
||||
* 面板服务增加由**Snap Hutao**提供的Enka转发代理,可通过`#喵喵设置面板服务4`进行选择
|
||||
|
@ -142,8 +142,14 @@ let ProfileDetail = {
|
||||
lodash.forEach((game === 'gs' ? 'cpct,cdmg,recharge,dmg' : 'cpct,cdmg,recharge,dmg,effPct,stance').split(','), (key) => {
|
||||
let fn = Format.pct
|
||||
let key2 = key
|
||||
if (key === 'dmg' && a.phy > a.dmg) {
|
||||
key2 = 'phy'
|
||||
if (key === 'dmg') {
|
||||
if (game === 'gs') {
|
||||
if (a.phy > a.dmg) {
|
||||
key2 = 'phy'
|
||||
}
|
||||
} else {
|
||||
key2 = Format.elem(char.elem, '', 'sr')
|
||||
}
|
||||
}
|
||||
attr[key] = fn(a[key2])
|
||||
attr[`${key}Base`] = fn(base[key2])
|
||||
@ -170,11 +176,13 @@ let ProfileDetail = {
|
||||
|
||||
let artisDetail = profile.getArtisMark()
|
||||
let artisKeyTitle = ProfileArtis.getArtisKeyTitle(game)
|
||||
let data = profile.getData('name,abbr,cons,level,talent,dataSource,updateTime,imgs,costumeSplash')
|
||||
data.weapon = profile.getWeaponDetail()
|
||||
let renderData = {
|
||||
save_id: uid,
|
||||
uid,
|
||||
game,
|
||||
data: profile.getData('name,abbr,cons,level,weapon,talent,dataSource,updateTime,imgs,costumeSplash'),
|
||||
data,
|
||||
attr,
|
||||
elem: char.elem,
|
||||
dmgCalc,
|
||||
|
@ -41,9 +41,9 @@ lodash.forEach(elemAliasSR, (txt, key) => {
|
||||
|
||||
const Elem = {
|
||||
// 根据名称获取元素key
|
||||
elem (elem = '', defElem = '') {
|
||||
elem (elem = '', defElem = '', game = 'gs') {
|
||||
elem = elem.toLowerCase()
|
||||
return elemMap[elem] || defElem
|
||||
return (game === 'gs' ? elemMap : elemMapSR)[elem] || defElem
|
||||
},
|
||||
|
||||
// 根据key获取元素名
|
||||
|
@ -4,11 +4,11 @@
|
||||
* */
|
||||
|
||||
export const miaoApi = {
|
||||
listApi: ({ url, uid, diyCfg }) => {
|
||||
listApi: ({ url, uid, diyCfg, game = 'gs' }) => {
|
||||
let qq = /\d{5,12}/.test(diyCfg.qq) ? diyCfg.qq : 'none'
|
||||
let token = diyCfg.token
|
||||
url = url || 'http://miaoapi.cn/'
|
||||
return `${url}profile/data?uid=${uid}&qq=${qq}&token=${token}&version=2`
|
||||
return `${url}profile/data?uid=${uid}&qq=${qq}&token=${token}&version=2&game=${game}`
|
||||
}
|
||||
}
|
||||
|
||||
@ -36,8 +36,8 @@ export const hutaoApi = {
|
||||
}
|
||||
}
|
||||
|
||||
export const luluApi = {
|
||||
url: 'https://mhy.fuckmys.tk/sr_info',
|
||||
export const homoApi = {
|
||||
url: 'https://api.mihomo.me/sr_info',
|
||||
listApi: ({ url, uid, diyCfg }) => {
|
||||
return `${url}/${uid}`
|
||||
}
|
||||
|
@ -111,7 +111,6 @@ class Artifact extends Base {
|
||||
}
|
||||
|
||||
getAttrData (mainId, attrData, level = 1, star = 5, idx = 1) {
|
||||
|
||||
let mainKey = metaDataSR.mainIdx[idx][mainId]
|
||||
let starCfg = metaDataSR.starData[star]
|
||||
let mainCfg = starCfg.main[mainKey]
|
||||
@ -125,11 +124,21 @@ class Artifact extends Base {
|
||||
}
|
||||
let attrs = []
|
||||
lodash.forEach(attrData, (ds) => {
|
||||
let _ds = ds
|
||||
if (lodash.isString(ds)) {
|
||||
console.log('str subids', ds)
|
||||
let [id, count, step] = ds.split(',')
|
||||
ds = { id, count, step }
|
||||
}
|
||||
let attrCfg = starCfg.sub[ds.id]
|
||||
if (!attrCfg) {
|
||||
console.log('not found attr', ds, _ds)
|
||||
return true
|
||||
}
|
||||
attrs.push({
|
||||
...ds,
|
||||
key: attrCfg.key,
|
||||
value: attrCfg.base * ds.count + attrCfg.step * ds.step
|
||||
key: attrCfg?.key,
|
||||
value: attrCfg?.base * ds.count + attrCfg.step * ds.step
|
||||
})
|
||||
})
|
||||
return {
|
||||
|
@ -83,7 +83,7 @@ export default class AvatarArtis extends Base {
|
||||
arti.main = attr.main || arti.main || {}
|
||||
arti.attrs = attr.attrs || arti.attrs || {}
|
||||
} else {
|
||||
console.log('attr id error', ds.main, arti.level, arti.star)
|
||||
console.log('attr id error', ds.main, ds.mainId, idx, arti.level, arti.star)
|
||||
}
|
||||
}
|
||||
return
|
||||
@ -163,11 +163,11 @@ export default class AvatarArtis extends Base {
|
||||
tmp.mainId = ds.main?.id
|
||||
tmp.attrs = []
|
||||
lodash.forEach(ds.attrs, (as) => {
|
||||
tmp.attrs.push({
|
||||
id: as?.id,
|
||||
count: as?.count,
|
||||
step: as?.step
|
||||
})
|
||||
tmp.attrs.push([
|
||||
as?.id || '',
|
||||
as?.count || 1,
|
||||
as?.step || 0
|
||||
].join(','))
|
||||
})
|
||||
} else {
|
||||
tmp.name = ds.name || ''
|
||||
|
@ -2,7 +2,7 @@ import lodash from 'lodash'
|
||||
import Base from './Base.js'
|
||||
import moment from 'moment'
|
||||
import { Character, AvatarArtis, ProfileData, Weapon } from './index.js'
|
||||
import { Data } from '#miao'
|
||||
import { Data, Format } from '#miao'
|
||||
import AttrCalc from './profile/AttrCalc.js'
|
||||
import Profile from './player/Profile.js'
|
||||
|
||||
@ -66,7 +66,7 @@ export default class AvatarData extends Base {
|
||||
mgg: 'MiniGG-Api',
|
||||
hutao: 'Hutao-Enka',
|
||||
mys: '米游社',
|
||||
lulu: '路路Api'
|
||||
homo: 'Mihomo'
|
||||
}[this._source] || this._source
|
||||
}
|
||||
|
||||
@ -161,6 +161,24 @@ export default class AvatarData extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
getWeaponDetail () {
|
||||
if (this.isGs) {
|
||||
return this.weapon
|
||||
}
|
||||
let ret = {
|
||||
...this.weapon
|
||||
}
|
||||
let wData = Weapon.get(ret.id, this.game)
|
||||
ret.splash = wData.imgs.gacha
|
||||
let attrs = wData.calcAttr(ret.level, ret.promote)
|
||||
lodash.forEach(attrs, (val, key) => {
|
||||
attrs[key] = Format.comma(val, 1)
|
||||
})
|
||||
ret.attrs = attrs
|
||||
ret.desc = wData.getAffixDesc(ret.affix)
|
||||
return ret
|
||||
}
|
||||
|
||||
setTalent (ds = false, mode = 'original', updateTime = '') {
|
||||
const now = this._now || (new Date()) * 1
|
||||
if (ds) {
|
||||
|
@ -23,7 +23,7 @@ export default class Player extends Base {
|
||||
if (!uid) {
|
||||
return false
|
||||
}
|
||||
let cacheObj = this._getCache(`player:${uid}`)
|
||||
let cacheObj = this._getCache(`player:${game}:${uid}`)
|
||||
if (cacheObj) {
|
||||
return cacheObj
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
import lodash from 'lodash'
|
||||
import Base from './Base.js'
|
||||
import { Format } from '#miao'
|
||||
|
||||
const baseAttr = {
|
||||
gs: 'atk,def,hp,mastery,recharge,cpct,cdmg,dmg,phy,heal,shield'.split(','),
|
||||
@ -14,14 +15,14 @@ class ProfileAttr extends Base {
|
||||
constructor (data = null, game = 'gs') {
|
||||
super()
|
||||
this.game = game
|
||||
this.init(data)
|
||||
this.init(data, this.game)
|
||||
}
|
||||
|
||||
static create (data = null, game = 'gs') {
|
||||
return new ProfileAttr(data, game)
|
||||
}
|
||||
|
||||
init (data) {
|
||||
init (data, game = 'gs') {
|
||||
// 基础属性
|
||||
this._attr = {}
|
||||
this._base = {}
|
||||
@ -35,6 +36,16 @@ class ProfileAttr extends Base {
|
||||
}
|
||||
base[key] = 0
|
||||
})
|
||||
if (game === 'sr') {
|
||||
Format.eachElem((key) => {
|
||||
attr[key] = {
|
||||
base: 0,
|
||||
plus: 0,
|
||||
pct: 0
|
||||
}
|
||||
base[key] = 0
|
||||
}, game)
|
||||
}
|
||||
if (data) {
|
||||
this.setAttr(data, true)
|
||||
}
|
||||
|
@ -2,20 +2,21 @@ import Base from './Base.js'
|
||||
import fetch from 'node-fetch'
|
||||
|
||||
export default class ProfileReq extends Base {
|
||||
constructor (e) {
|
||||
constructor (e, game = 'gs') {
|
||||
super()
|
||||
this.e = e
|
||||
this.game = game
|
||||
this.uid = e.uid
|
||||
}
|
||||
|
||||
static create (e) {
|
||||
static create (e, game = 'gs') {
|
||||
if (!e || !e.uid) {
|
||||
return false
|
||||
}
|
||||
if (e.uid * 1 < 100000005) {
|
||||
return false
|
||||
}
|
||||
return new ProfileReq(e)
|
||||
return new ProfileReq(e, game)
|
||||
}
|
||||
|
||||
async setCd (seconds = 60) {
|
||||
@ -65,9 +66,10 @@ export default class ProfileReq extends Base {
|
||||
|
||||
async requestProfile (player, serv) {
|
||||
let self = this
|
||||
console.log('self.game', self.game)
|
||||
this.serv = serv
|
||||
let uid = this.uid
|
||||
let reqParam = await serv.getReqParam(uid)
|
||||
let reqParam = await serv.getReqParam(uid, self.game)
|
||||
let cdTime = await this.inCd()
|
||||
if (cdTime && !process.argv.includes('web-debug')) {
|
||||
// return this.err(`请求过快,请${cdTime}秒后重试..`)
|
||||
@ -107,7 +109,7 @@ export default class ProfileReq extends Base {
|
||||
self._isReq = false
|
||||
data = {}
|
||||
}
|
||||
data = await serv.response(data, this)
|
||||
data = await serv.response(data, this, self.game)
|
||||
// 设置CD
|
||||
cdTime = serv.getCdTime(data)
|
||||
if (cdTime) {
|
||||
|
@ -31,14 +31,15 @@ export default class ProfileServ extends Base {
|
||||
}
|
||||
|
||||
// 请求当前面板服务
|
||||
async getReqParam (uid) {
|
||||
async getReqParam (uid, game = 'gs') {
|
||||
let url = this.getCfg('url')
|
||||
let profileApi = this.getCfg('listApi')
|
||||
let cfg = this._cfg
|
||||
let api = profileApi({
|
||||
url,
|
||||
uid: uid,
|
||||
diyCfg: this.diyCfg
|
||||
diyCfg: this.diyCfg,
|
||||
game
|
||||
})
|
||||
let param = {}
|
||||
|
||||
@ -53,11 +54,11 @@ export default class ProfileServ extends Base {
|
||||
}
|
||||
}
|
||||
|
||||
async response (data, req) {
|
||||
async response (data, req, game = 'gs') {
|
||||
// 处理返回
|
||||
let cfg = this._cfg
|
||||
if (cfg.response) {
|
||||
return await cfg.response.call(this, data, req)
|
||||
return await cfg.response.call(this, data, req, game)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import Base from './Base.js'
|
||||
import { Data } from '#miao'
|
||||
import { Data, Format } from '#miao'
|
||||
import { weaponData, weaponAbbr, weaponAlias, weaponType, weaponSet } from '../resources/meta/weapon/index.js'
|
||||
import { weaponData as weaponDataSR, weaponAlias as weaponAliasSR } from '../resources/meta-sr/weapon/index.js'
|
||||
|
||||
@ -111,7 +111,6 @@ class Weapon extends Base {
|
||||
const path = this.isGs ? 'resources/meta/weapon' : 'resources/meta-sr/weapon'
|
||||
try {
|
||||
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
|
||||
console.log(`${path}/${this.type}/${this.name}/data.json`)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
@ -186,6 +185,26 @@ class Weapon extends Base {
|
||||
affixDetail: txt
|
||||
}
|
||||
}
|
||||
|
||||
getAffixDesc (affix = 1) {
|
||||
let skill = this.detail.skill
|
||||
let { name, desc, tables } = skill
|
||||
let reg = /\$(\d)\[[i|f1]\](\%?)/g
|
||||
let ret
|
||||
while ((ret = reg.exec(desc)) !== null) {
|
||||
let idx = ret[1]
|
||||
let pct = ret[2]
|
||||
let value = tables[idx - 1][affix - 1]
|
||||
if (pct === '%') {
|
||||
value = Format.percent(value)
|
||||
}
|
||||
desc = desc.replaceAll(ret[0], value)
|
||||
}
|
||||
return {
|
||||
name: skill.name,
|
||||
desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Weapon
|
||||
|
@ -1,12 +1,11 @@
|
||||
import lodash from 'lodash'
|
||||
import EnkaData from './EnkaData.js'
|
||||
import { Data } from '#miao'
|
||||
import { Character } from '#miao.models'
|
||||
|
||||
export default {
|
||||
id: 'lulu',
|
||||
name: '路路Api',
|
||||
cfgKey: 'luluApi',
|
||||
id: 'homo',
|
||||
name: 'Mihomo',
|
||||
cfgKey: 'homoApi',
|
||||
// 处理请求参数
|
||||
async request (api) {
|
||||
let params = {
|
||||
@ -41,7 +40,7 @@ export default {
|
||||
try {
|
||||
player.setBasicData(Data.getData(data, 'name:NickName,face:HeadIconID,level:Level,word:WorldLevel,sign:Signature'))
|
||||
lodash.forEach(data.avatars, (ds, id) => {
|
||||
let ret = LuluData.setAvatar(player, ds)
|
||||
let ret = HomoData.setAvatar(player, ds)
|
||||
if (ret) {
|
||||
player._update.push(ds.AvatarID)
|
||||
}
|
||||
@ -57,7 +56,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
const LuluData = {
|
||||
const HomoData = {
|
||||
setAvatar (player, data) {
|
||||
let char = Character.get(data.AvatarID)
|
||||
if (!char) {
|
||||
@ -69,16 +68,15 @@ const LuluData = {
|
||||
promote: data.Promotion,
|
||||
cons: data.Rank || 0,
|
||||
weapon: Data.getData(data.EquipmentID, 'id:ID,promote:Promotion,level:Level,affix:Rank'),
|
||||
...LuluData.getTalent(data.BehaviorList, char),
|
||||
artis: LuluData.getArtis(data.RelicList)
|
||||
...HomoData.getTalent(data.BehaviorList, char),
|
||||
artis: HomoData.getArtis(data.RelicList)
|
||||
}
|
||||
avatar.setAvatar(setData, 'lulu')
|
||||
avatar.setAvatar(setData, 'homo')
|
||||
return avatar
|
||||
},
|
||||
getTalent (ds, char) {
|
||||
let talent = {}
|
||||
let trees = []
|
||||
let talentId = char.talentId
|
||||
lodash.forEach(ds, (d) => {
|
||||
let key = char.getTalentKey(d.BehaviorID)
|
||||
if (key || d.Level > 1) {
|
||||
@ -102,15 +100,10 @@ const LuluData = {
|
||||
if (!s.SubAffixID) {
|
||||
return true
|
||||
}
|
||||
tmp.attrs.push({
|
||||
id: s.SubAffixID,
|
||||
count: s.Cnt,
|
||||
step: s.Step || 0
|
||||
})
|
||||
tmp.attrs.push([s.SubAffixID, s.Cnt, s.Step || 0].join(','))
|
||||
})
|
||||
ret[ds.Type] = tmp
|
||||
})
|
||||
console.log(lodash.keys(ret))
|
||||
return ret
|
||||
}
|
||||
}
|
@ -10,10 +10,13 @@ export default {
|
||||
api = this.getCfg('api') || api
|
||||
return { api }
|
||||
},
|
||||
async response (data, req) {
|
||||
async response (data, req, game = 'gs') {
|
||||
if (data.status !== 0) {
|
||||
return req.err(data.msg || 'error', 60)
|
||||
}
|
||||
if (game === 'sr') {
|
||||
return data.data
|
||||
}
|
||||
if (data.version === 2) {
|
||||
data = data.data || {}
|
||||
if (!data.avatars || data.avatars.length === 0) {
|
||||
@ -22,32 +25,18 @@ export default {
|
||||
data.version = 2
|
||||
return data
|
||||
} else {
|
||||
data = data.data || {}
|
||||
if (!data.showAvatarInfoList || data.showAvatarInfoList.length === 0) {
|
||||
return req.err('empty', 5 * 60)
|
||||
}
|
||||
return data
|
||||
return req.err('empty', 5 * 60)
|
||||
}
|
||||
},
|
||||
|
||||
updatePlayer (player, data) {
|
||||
if (data.version === 2) {
|
||||
player.setBasicData(data)
|
||||
lodash.forEach(data.avatars, (avatar) => {
|
||||
let ret = MiaoData.setAvatarNew(player, avatar)
|
||||
if (ret) {
|
||||
player._update.push(ret.id)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
player.setBasicData(Data.getData(data, 'name:nickname,face:profilePicture.avatarId,card:nameCardID,level,word:worldLevel,sign:signature'))
|
||||
lodash.forEach(data.showAvatarInfoList, (ds) => {
|
||||
let ret = MiaoData.setAvatar(player, ds)
|
||||
if (ret) {
|
||||
player._update.push(ret.id)
|
||||
}
|
||||
})
|
||||
}
|
||||
player.setBasicData(data)
|
||||
lodash.forEach(data.avatars, (avatar) => {
|
||||
let ret = MiaoData.setAvatar(player, avatar)
|
||||
if (ret) {
|
||||
player._update.push(ret.id)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 获取冷却时间
|
||||
|
@ -7,44 +7,24 @@ let MiaoData = {
|
||||
setAvatar (player, ds) {
|
||||
let char = Character.get(ds.id)
|
||||
let avatar = player.getAvatar(ds.id, true)
|
||||
let talentRet = MiaoData.getTalent(char.id, ds.skill)
|
||||
avatar.setAvatar({
|
||||
level: ds.level,
|
||||
cons: ds.constellationNum || 0,
|
||||
promote: ds.promoteLevel,
|
||||
fetter: ds.fetterLevel,
|
||||
costume: char.checkCostume(ds.costumeID) ? ds.costumeID : 0,
|
||||
elem: talentRet.elem,
|
||||
weapon: MiaoData.getWeapon(ds.weapon),
|
||||
talent: talentRet.talent,
|
||||
artis: MiaoData.getArtifact(ds.reliquary)
|
||||
}, 'miao')
|
||||
return avatar
|
||||
},
|
||||
|
||||
setAvatarNew (player, ds) {
|
||||
let char = Character.get(ds.id)
|
||||
let avatar = player.getAvatar(ds.id, true)
|
||||
let talentRet = MiaoData.getTalentNew(char.id, ds.talent)
|
||||
avatar.setAvatar({
|
||||
...ds,
|
||||
elem: talentRet.elem,
|
||||
talent: talentRet.talent
|
||||
}, 'miao')
|
||||
return avatar
|
||||
},
|
||||
|
||||
getWeapon (weapon) {
|
||||
return {
|
||||
name: weapon.name,
|
||||
level: weapon.level,
|
||||
promote: weapon.promoteLevel,
|
||||
affix: (weapon.affixLevel || 0) + 1
|
||||
if (player.isSr) {
|
||||
avatar.setAvatar({
|
||||
...ds,
|
||||
...MiaoData.getTalentSR(char, ds.talent)
|
||||
}, 'miao')
|
||||
} else {
|
||||
let talentRet = MiaoData.getTalent(char, ds.talent)
|
||||
avatar.setAvatar({
|
||||
...ds,
|
||||
elem: talentRet.elem,
|
||||
talent: talentRet.talent
|
||||
}, 'miao')
|
||||
}
|
||||
return avatar
|
||||
},
|
||||
|
||||
getTalentNew (charid, data = {}) {
|
||||
let char = Character.get(charid)
|
||||
getTalent (char, data = {}) {
|
||||
let { talentId = {}, talentElem = {} } = char.meta
|
||||
let elem = ''
|
||||
let idx = 0
|
||||
@ -67,70 +47,18 @@ let MiaoData = {
|
||||
}
|
||||
},
|
||||
|
||||
getTalent (charid, data = {}) {
|
||||
let char = Character.get(charid)
|
||||
let { talentId = {}, talentElem = {} } = char.meta
|
||||
let elem = ''
|
||||
let idx = 0
|
||||
let ret = {}
|
||||
lodash.forEach(data, (ds) => {
|
||||
let key
|
||||
if (talentId[ds.id]) {
|
||||
key = talentId[ds.id]
|
||||
elem = elem || talentElem[ds.id]
|
||||
ret[key] = {
|
||||
level: ds.level
|
||||
}
|
||||
getTalentSR (char, data) {
|
||||
let talent = {}
|
||||
let trees = []
|
||||
lodash.forEach(data, (lv, id) => {
|
||||
let key = char.getTalentKey(id)
|
||||
if (key || lv > 1) {
|
||||
talent[key || id] = lv
|
||||
} else {
|
||||
key = ['a', 'e', 'q'][idx++]
|
||||
ret[key] = ret[key] || {
|
||||
level: ds.level
|
||||
}
|
||||
trees.push(id)
|
||||
}
|
||||
})
|
||||
return {
|
||||
talent: ret,
|
||||
elem
|
||||
}
|
||||
},
|
||||
|
||||
getArtifact (data) {
|
||||
let ret = {}
|
||||
let get = function (d) {
|
||||
if (!d) {
|
||||
return []
|
||||
}
|
||||
let name = d.name
|
||||
name = name.replace('FIGHT_PROP_', '')
|
||||
if (!attrMap[name]) {
|
||||
return []
|
||||
}
|
||||
let value = d.value
|
||||
if (value && value < 1) {
|
||||
value = value * 100
|
||||
}
|
||||
return { key: attrMap[name], value }
|
||||
}
|
||||
lodash.forEach(data, (ds) => {
|
||||
let sub = ds.appendAffix || []
|
||||
let idx = artisIdxMap[ds.type]
|
||||
if (!idx) {
|
||||
return
|
||||
}
|
||||
ret[idx] = {
|
||||
name: ds.name,
|
||||
level: ds.level,
|
||||
star: ds.rank,
|
||||
main: get(ds.mainAffix),
|
||||
attrs: [
|
||||
get(sub[0]),
|
||||
get(sub[1]),
|
||||
get(sub[2]),
|
||||
get(sub[3])
|
||||
]
|
||||
}
|
||||
})
|
||||
return ret
|
||||
return { talent, trees }
|
||||
}
|
||||
}
|
||||
export default MiaoData
|
||||
|
@ -6,7 +6,7 @@ import enkaApi from './EnkaApi.js'
|
||||
import miaoApi from './MiaoApi.js'
|
||||
import mggApi from './MggApi.js'
|
||||
import hutaoApi from './HutaoApi.js'
|
||||
import luluApi from './LuluApi.js'
|
||||
import homoApi from './HomoApi.js'
|
||||
|
||||
import lodash from 'lodash'
|
||||
|
||||
@ -21,7 +21,7 @@ const Profile = {
|
||||
mgg: mggApi,
|
||||
enka: enkaApi,
|
||||
hutao: hutaoApi,
|
||||
lulu: luluApi
|
||||
homo: homoApi
|
||||
}[key])
|
||||
}
|
||||
return Profile.servs[key]
|
||||
@ -34,9 +34,6 @@ const Profile = {
|
||||
* @returns {ProfileServ}
|
||||
*/
|
||||
getServ (uid, game = 'gs') {
|
||||
if (game === 'sr') {
|
||||
return Profile.serv('lulu')
|
||||
}
|
||||
let token = diyCfg?.miaoApi?.token
|
||||
let qq = diyCfg?.miaoApi?.qq
|
||||
let hasToken = !!(qq && token && token.length === 32 && !/^test/.test(token))
|
||||
@ -48,6 +45,14 @@ const Profile = {
|
||||
let servCfg = Cfg.get('profileServer', '0').toString() || '0'
|
||||
servCfg = servCfg[servIdx] || servCfg[0] || '0'
|
||||
|
||||
if (game === 'sr') {
|
||||
console.log(servCfg, hasToken)
|
||||
if ((servCfg === '0' || servCfg === '1') && hasToken) {
|
||||
return Profile.serv('miao')
|
||||
}
|
||||
return Profile.serv('homo')
|
||||
}
|
||||
|
||||
if ((servCfg === '0' || servCfg === '1') && hasToken) {
|
||||
return Profile.serv('miao')
|
||||
}
|
||||
@ -72,18 +77,18 @@ const Profile = {
|
||||
return false
|
||||
}
|
||||
player._update = []
|
||||
console.log('player game', player.game)
|
||||
let { uid, e } = player
|
||||
if (uid.toString().length !== 9 || !e) {
|
||||
return false
|
||||
}
|
||||
let req = ProfileReq.create(e)
|
||||
let req = ProfileReq.create(e, player.game)
|
||||
if (!req) {
|
||||
return false
|
||||
}
|
||||
console.log('game', player.game)
|
||||
let serv = Profile.getServ(uid, player.game)
|
||||
try {
|
||||
await req.requestProfile(player, serv)
|
||||
await req.requestProfile(player, serv, player.game)
|
||||
player._profile = new Date() * 1
|
||||
player.save()
|
||||
return player._update.length
|
||||
@ -101,7 +106,7 @@ const Profile = {
|
||||
return true
|
||||
}
|
||||
// 检查数据源
|
||||
if (!avatar._source || !['enka', 'change', 'miao', 'mgg', 'hutao', 'lulu'].includes(avatar._source)) {
|
||||
if (!avatar._source || !['enka', 'change', 'miao', 'mgg', 'hutao', 'homo'].includes(avatar._source)) {
|
||||
return false
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,6 @@ class AttrCalc {
|
||||
* @returns {{}}
|
||||
*/
|
||||
calc () {
|
||||
console.log('calc,hahahaha')
|
||||
this.attr = ProfileAttr.create({}, this.game)
|
||||
if (this.isGs) {
|
||||
this.addAttr('recharge', 100, true)
|
||||
@ -77,9 +76,6 @@ class AttrCalc {
|
||||
|
||||
|
||||
addAttr (key, val, isBase = false) {
|
||||
if (key === 'cpct') {
|
||||
console.log('isCpct', val, isBase)
|
||||
}
|
||||
this.attr.addAttr(key, val, isBase)
|
||||
}
|
||||
|
||||
@ -88,7 +84,7 @@ class AttrCalc {
|
||||
* @param affix
|
||||
*/
|
||||
setCharAttr (affix = '') {
|
||||
let { char, level, promote } = this.profile
|
||||
let { char, level, promote, trees } = this.profile
|
||||
let metaAttr = char.detail?.attr || {}
|
||||
let self = this
|
||||
if (this.isSr) {
|
||||
@ -98,6 +94,14 @@ class AttrCalc {
|
||||
k = k + (['hp', 'atk', 'def'].includes(k) ? 'Base' : '')
|
||||
self.addAttr(k, v, true)
|
||||
})
|
||||
|
||||
let tree = char.detail?.tree || {}
|
||||
lodash.forEach(trees || [], (tid) => {
|
||||
let tCfg = tree[tid]
|
||||
if (tCfg) {
|
||||
self.addAttr(tCfg.key, tCfg.value)
|
||||
}
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@ -231,7 +235,6 @@ class AttrCalc {
|
||||
if (!key) {
|
||||
return false
|
||||
}
|
||||
console.log(key, ds.value)
|
||||
if (['atk', 'hp', 'def'].includes(key)) {
|
||||
key = key + 'Pct'
|
||||
}
|
||||
|
@ -78,7 +78,7 @@
|
||||
</div>
|
||||
|
||||
<div class="copyright data-source">
|
||||
数据源:{{ {miao:'喵喵API', 'enka':'Enka.Network', 'mgg':'MiniGG-API', mys:'米游社', 'hutao':'Hutao-Enka', 'lulu':'路路Api'
|
||||
数据源:{{ {miao:'喵喵API', 'enka':'Enka.Network', 'mgg':'MiniGG-API', mys:'米游社', 'hutao':'Hutao-Enka', 'homo':'Mihomo'
|
||||
}[data.source]||data.source }} {{data.updateTime}}
|
||||
</div>
|
||||
{{else}}
|
||||
|
@ -832,4 +832,102 @@ body {
|
||||
.game-sr .artis-weapon {
|
||||
display: none;
|
||||
}
|
||||
.sr-weapon {
|
||||
margin: 0 15px 5px 10px;
|
||||
border-radius: 10px;
|
||||
background: url("../common/cont/card-bg.png") top left repeat-x;
|
||||
background-size: auto 150%;
|
||||
position: relative;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, 0.8);
|
||||
overflow: hidden;
|
||||
display: table;
|
||||
color: #fff;
|
||||
min-height: 120px;
|
||||
width: calc(100% - 25px);
|
||||
}
|
||||
.sr-weapon .weapon-img {
|
||||
display: table-cell;
|
||||
width: 185px;
|
||||
height: 100%;
|
||||
min-height: 120px;
|
||||
background-size: 100% auto;
|
||||
background-position: 0 5%;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, 0.8);
|
||||
}
|
||||
.sr-weapon .weapon-info {
|
||||
display: table-cell;
|
||||
padding: 10px 10px 5px 15px;
|
||||
}
|
||||
.sr-weapon .weapon-title span {
|
||||
font-size: 14px;
|
||||
}
|
||||
.sr-weapon .weapon-title strong {
|
||||
color: #d3bc8e;
|
||||
font-weight: normal;
|
||||
}
|
||||
.sr-weapon .weapon-attr {
|
||||
font-size: 12px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
display: flex;
|
||||
}
|
||||
.sr-weapon .weapon-attr .attr {
|
||||
padding-left: 22px;
|
||||
padding-right: 7px;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
line-height: 22px;
|
||||
height: 22px;
|
||||
font-size: 12px;
|
||||
color: #ffe699;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
}
|
||||
.sr-weapon .weapon-attr .attr span {
|
||||
font-size: 12px;
|
||||
display: none;
|
||||
}
|
||||
.sr-weapon .weapon-attr .attr:before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background-size: auto 100%;
|
||||
background-position: top center;
|
||||
vertical-align: middle;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.sr-weapon .weapon-attr .i-hp:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-hp.webp');
|
||||
}
|
||||
.sr-weapon .weapon-attr .i-atk:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-atk.webp');
|
||||
}
|
||||
.sr-weapon .weapon-attr .i-def:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-def.webp');
|
||||
}
|
||||
.sr-weapon .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);
|
||||
}
|
||||
.sr-weapon .weapon-desc 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;
|
||||
}
|
||||
/*# sourceMappingURL=profile-detail.css.map */
|
@ -102,7 +102,7 @@
|
||||
|
||||
{{if changeProfile}}
|
||||
<div class="cont">
|
||||
<div class="cont-footer dmg-desc">
|
||||
<div class="cont-footer dmg-desc">
|
||||
<strong>该面板为非实际数据。当前替换命令:</strong> {{changeProfile}}
|
||||
</div>
|
||||
</div>
|
||||
@ -110,9 +110,35 @@
|
||||
|
||||
<!-- 【 武器+圣遗物列表】 -->
|
||||
<div>
|
||||
{{if game === 'sr'}}
|
||||
<div class="cont">
|
||||
<div class="cont-footer dmg-desc">
|
||||
<strong>面板数据尚未完全计算全部Buff,面板不准确</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sr-weapon">
|
||||
<div class="weapon-img" style="background-image:url({{_res_path}}{{weapon.splash}})"></div>
|
||||
<div class="weapon-info">
|
||||
<div class="weapon-title">
|
||||
<strong>{{weapon.name}}</strong>
|
||||
<span>Lv.{{weapon.level}}</span>
|
||||
<span>叠影{{weapon.affix}}阶</span>
|
||||
</div>
|
||||
<div class="weapon-attr">
|
||||
{{set a = weapon.attrs}}
|
||||
<div class="attr i-hp"><span>生命</span>{{a.hp}}</div>
|
||||
<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>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if mode === "profile"}}
|
||||
{{set ad = artisDetail}}
|
||||
<div class="artis">
|
||||
{{ if game === 'gs' }}
|
||||
<div class="artis-weapon">
|
||||
<div class="item weapon">
|
||||
<div class="img" style="background-image:url({{_res_path}}{{weapon.img}})"></div>
|
||||
@ -131,6 +157,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{each ad.artis ds idx}}
|
||||
<div class="item arti">
|
||||
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
|
||||
|
@ -1046,4 +1046,122 @@ body {
|
||||
.artis-weapon {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.sr-weapon {
|
||||
margin: 0 15px 5px 10px;
|
||||
border-radius: 10px;
|
||||
background: url("../common/cont/card-bg.png") top left repeat-x;
|
||||
background-size: auto 150%;
|
||||
position: relative;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, .8);
|
||||
overflow: hidden;
|
||||
display: table;
|
||||
color: #fff;
|
||||
min-height: 120px;
|
||||
width: calc(100% - 25px);
|
||||
|
||||
.weapon-img {
|
||||
display: table-cell;
|
||||
width: 185px;
|
||||
height: 100%;
|
||||
min-height: 120px;
|
||||
background-size: 100% auto;
|
||||
background-position: 0 5%;
|
||||
box-shadow: 0 0 1px 0 #ccc, 2px 2px 4px 0 rgba(50, 50, 50, .8);
|
||||
}
|
||||
|
||||
.weapon-info {
|
||||
display: table-cell;
|
||||
padding: 10px 10px 5px 15px;
|
||||
}
|
||||
|
||||
.weapon-title {
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
strong {
|
||||
color: #d3bc8e;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.weapon-attr {
|
||||
font-size: 12px;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
display: flex;
|
||||
|
||||
.attr {
|
||||
padding-left: 22px;
|
||||
padding-right: 7px;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
line-height: 22px;
|
||||
height: 22px;
|
||||
font-size: 12px;
|
||||
|
||||
color: #ffe699;
|
||||
display: inline-block;
|
||||
border-radius: 4px;
|
||||
|
||||
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
|
||||
span {
|
||||
font-size: 12px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background-size: auto 100%;
|
||||
background-position: top center;
|
||||
vertical-align: middle;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.i-hp:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-hp.webp')
|
||||
}
|
||||
|
||||
.i-atk:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-atk.webp')
|
||||
}
|
||||
|
||||
.i-def:before {
|
||||
background-image: url('../meta-sr/public/icons/attr-def.webp')
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1001201": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1001202": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1001203": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1001204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1001205": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1001206": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1001207": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1001208": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1001209": {
|
||||
"key": "ice",
|
||||
"value": 6.399999978020787
|
||||
},
|
||||
"1001210": {
|
||||
"key": "def",
|
||||
"value": 10.000000009313226
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"877640": {
|
||||
"id": 877640,
|
||||
"type": "skill",
|
||||
|
@ -377,6 +377,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1002201": {
|
||||
"key": "wind",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1002202": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1002203": {
|
||||
"key": "wind",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1002204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1002205": {
|
||||
"key": "wind",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1002206": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1002207": {
|
||||
"key": "wind",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1002208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1002209": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1002210": {
|
||||
"key": "wind",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"124180": {
|
||||
"id": 124180,
|
||||
"type": "buff",
|
||||
|
@ -377,6 +377,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1106201": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1106202": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1106203": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1106204": {
|
||||
"key": "effPct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1106205": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1106206": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1106207": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1106208": {
|
||||
"key": "effPct",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1106209": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1106210": {
|
||||
"key": "ice",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"660958": {
|
||||
"id": 660958,
|
||||
"type": "skill",
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1202201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1202202": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1202203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1202204": {
|
||||
"key": "elec",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1202205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1202206": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1202207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1202208": {
|
||||
"key": "elec",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1202209": {
|
||||
"key": "def",
|
||||
"value": 10.000000009313226
|
||||
},
|
||||
"1202210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"264650": {
|
||||
"id": 264650,
|
||||
"type": "buff",
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1107201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1107202": {
|
||||
"key": "phy",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1107203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1107204": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1107205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1107206": {
|
||||
"key": "phy",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1107207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1107208": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1107209": {
|
||||
"key": "phy",
|
||||
"value": 6.399999978020787
|
||||
},
|
||||
"1107210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"864032": {
|
||||
"id": 864032,
|
||||
"type": "buff",
|
||||
|
@ -458,6 +458,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1005201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1005202": {
|
||||
"key": "stance",
|
||||
"value": 5.299999983981252
|
||||
},
|
||||
"1005203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1005204": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1005205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1005206": {
|
||||
"key": "stance",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1005207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1005208": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1005209": {
|
||||
"key": "stance",
|
||||
"value": 10.699999961070716
|
||||
},
|
||||
"1005210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"227636": {
|
||||
"id": 227636,
|
||||
"type": "skill",
|
||||
|
@ -377,13 +377,55 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1003201": {
|
||||
"key": "fire",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1003202": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1003203": {
|
||||
"key": "fire",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1003204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1003205": {
|
||||
"key": "fire",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1003206": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1003207": {
|
||||
"key": "fire",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1003208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1003209": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1003210": {
|
||||
"key": "fire",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"202642": {
|
||||
"id": 202642,
|
||||
"type": "skill",
|
||||
"root": true,
|
||||
"name": "星火",
|
||||
"levelReq": 0,
|
||||
"desc": "施放攻击后,有<nobr>50.0%</nobr>的基础概率使敌方目标陷入灼烧状态,持续<nobr>2</nobr>回合。<br />灼烧状态下,敌方目标每回合开始时受到等同于姬子<nobr>30.0%</nobr>攻击力的<span style=\"color:#F84F36;\">火</span>属性持续伤害。",
|
||||
"desc": "施放攻击后,有<nobr>50.0%</nobr>的基础概率使敌方目标陷入灼烧状态,持续<nobr>2</nobr>回合。<br />灼烧状态下,敌方目标每回合开始时受到等同于姬子<nobr>30.0%</nobr>攻击力的<span>火</span>属性持续伤害。",
|
||||
"cost": {
|
||||
"29328": 5000,
|
||||
"635675": 3,
|
||||
|
@ -440,6 +440,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1105201": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1105202": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1105203": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1105204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1105205": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1105206": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1105207": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1105208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1105209": {
|
||||
"key": "effDef",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1105210": {
|
||||
"key": "hp",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"506326": {
|
||||
"id": 506326,
|
||||
"type": "buff",
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1101201": {
|
||||
"key": "wind",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1101202": {
|
||||
"key": "cdmg",
|
||||
"value": 5.299999983981252
|
||||
},
|
||||
"1101203": {
|
||||
"key": "wind",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1101204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1101205": {
|
||||
"key": "wind",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1101206": {
|
||||
"key": "cdmg",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1101207": {
|
||||
"key": "wind",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1101208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1101209": {
|
||||
"key": "cdmg",
|
||||
"value": 10.699999961070716
|
||||
},
|
||||
"1101210": {
|
||||
"key": "wind",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"189034": {
|
||||
"id": 189034,
|
||||
"type": "buff",
|
||||
|
@ -356,6 +356,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1102201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1102202": {
|
||||
"key": "cdmg",
|
||||
"value": 5.299999983981252
|
||||
},
|
||||
"1102203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1102204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1102205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1102206": {
|
||||
"key": "cdmg",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1102207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1102208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1102209": {
|
||||
"key": "cdmg",
|
||||
"value": 10.699999961070716
|
||||
},
|
||||
"1102210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"310962": {
|
||||
"id": 310962,
|
||||
"type": "skill",
|
||||
@ -397,7 +439,7 @@
|
||||
"root": true,
|
||||
"name": "割裂",
|
||||
"levelReq": 0,
|
||||
"desc": "增幅状态下希儿的<span style=\"color:#7788ff;\">量子</span>抗性穿透提高<nobr>20.0%</nobr>。",
|
||||
"desc": "增幅状态下希儿的<span>量子</span>抗性穿透提高<nobr>20.0%</nobr>。",
|
||||
"cost": {
|
||||
"29328": 20000,
|
||||
"125435": 1,
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1103201": {
|
||||
"key": "cpct",
|
||||
"value": 2.699999953620136
|
||||
},
|
||||
"1103202": {
|
||||
"key": "effPct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1103203": {
|
||||
"key": "cpct",
|
||||
"value": 2.699999953620136
|
||||
},
|
||||
"1103204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1103205": {
|
||||
"key": "cpct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1103206": {
|
||||
"key": "effPct",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1103207": {
|
||||
"key": "cpct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1103208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1103209": {
|
||||
"key": "effPct",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1103210": {
|
||||
"key": "cpct",
|
||||
"value": 5.299999983981252
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"514036": {
|
||||
"id": 514036,
|
||||
"type": "buff",
|
||||
|
@ -461,6 +461,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1209201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1209202": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1209203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1209204": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1209205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1209206": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1209207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1209208": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1209209": {
|
||||
"key": "ice",
|
||||
"value": 6.399999978020787
|
||||
},
|
||||
"1209210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"84865": {
|
||||
"id": 84865,
|
||||
"type": "buff",
|
||||
@ -482,7 +524,7 @@
|
||||
"root": true,
|
||||
"name": "颁冰",
|
||||
"levelReq": 0,
|
||||
"desc": "施放攻击后,对携带<span style=\"color:#47C7FD;\">冰</span>属性弱点的敌方目标造成等同于彦卿<nobr>30.0%</nobr>攻击力的<span style=\"color:#47C7FD;\">冰</span>属性附加伤害。",
|
||||
"desc": "施放攻击后,对携带<span>冰</span>属性弱点的敌方目标造成等同于彦卿<nobr>30.0%</nobr>攻击力的<span>冰</span>属性附加伤害。",
|
||||
"cost": {
|
||||
"29328": 5000,
|
||||
"270195": 1,
|
||||
|
@ -356,6 +356,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1204201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1204202": {
|
||||
"key": "cpct",
|
||||
"value": 2.699999953620136
|
||||
},
|
||||
"1204203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1204204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1204205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1204206": {
|
||||
"key": "cpct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1204207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1204208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1204209": {
|
||||
"key": "cpct",
|
||||
"value": 5.299999983981252
|
||||
},
|
||||
"1204210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"56195": {
|
||||
"id": 56195,
|
||||
"type": "skill",
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1104201": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1104202": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1104203": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1104204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1104205": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1104206": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1104207": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1104208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1104209": {
|
||||
"key": "effDef",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1104210": {
|
||||
"key": "ice",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"303252": {
|
||||
"id": 303252,
|
||||
"type": "skill",
|
||||
|
@ -377,13 +377,55 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1108201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1108202": {
|
||||
"key": "effPct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1108203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1108204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1108205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1108206": {
|
||||
"key": "effPct",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1108207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1108208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1108209": {
|
||||
"key": "effPct",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1108210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"285968": {
|
||||
"id": 285968,
|
||||
"type": "skill",
|
||||
"root": true,
|
||||
"name": "圈套",
|
||||
"levelReq": 0,
|
||||
"desc": "天赋使敌方陷入<span style=\"color:#00FF9C;\">风</span>化状态的持续时间延长<nobr>1</nobr>回合。",
|
||||
"desc": "天赋使敌方陷入<span>风</span>化状态的持续时间延长<nobr>1</nobr>回合。",
|
||||
"cost": {
|
||||
"29328": 4000,
|
||||
"270195": 1,
|
||||
@ -400,7 +442,7 @@
|
||||
"root": true,
|
||||
"name": "加料",
|
||||
"levelReq": 0,
|
||||
"desc": "<span style=\"color:#00FF9C;\">风</span>化状态下的敌方目标对桑博造成的伤害降低<nobr>15.0%</nobr>。",
|
||||
"desc": "<span>风</span>化状态下的敌方目标对桑博造成的伤害降低<nobr>15.0%</nobr>。",
|
||||
"cost": {
|
||||
"29328": 128000,
|
||||
"125435": 1,
|
||||
|
@ -398,6 +398,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1004201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1004202": {
|
||||
"key": "imaginary",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1004203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1004204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1004205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1004206": {
|
||||
"key": "imaginary",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1004207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1004208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1004209": {
|
||||
"key": "imaginary",
|
||||
"value": 6.399999978020787
|
||||
},
|
||||
"1004210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"149174": {
|
||||
"id": 149174,
|
||||
"type": "buff",
|
||||
|
@ -461,6 +461,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1211201": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1211202": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1211203": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1211204": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1211205": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1211206": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1211207": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1211208": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1211209": {
|
||||
"key": "def",
|
||||
"value": 10.000000009313226
|
||||
},
|
||||
"1211210": {
|
||||
"key": "hp",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"671251": {
|
||||
"id": 671251,
|
||||
"type": "skill",
|
||||
|
@ -376,6 +376,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1206201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1206202": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1206203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1206204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1206205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1206206": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1206207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1206208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1206209": {
|
||||
"key": "hp",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1206210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"614646": {
|
||||
"id": 614646,
|
||||
"type": "buff",
|
||||
|
@ -395,6 +395,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1203201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1203202": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1203203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1203204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1203205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1203206": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1203207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1203208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1203209": {
|
||||
"key": "hp",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1203210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"343112": {
|
||||
"id": 343112,
|
||||
"type": "skill",
|
||||
|
@ -356,13 +356,55 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1009201": {
|
||||
"key": "fire",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1009202": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1009203": {
|
||||
"key": "fire",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1009204": {
|
||||
"key": "cpct",
|
||||
"value": 2.699999953620136
|
||||
},
|
||||
"1009205": {
|
||||
"key": "fire",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1009206": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1009207": {
|
||||
"key": "fire",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1009208": {
|
||||
"key": "cpct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1009209": {
|
||||
"key": "def",
|
||||
"value": 10.000000009313226
|
||||
},
|
||||
"1009210": {
|
||||
"key": "fire",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"177648": {
|
||||
"id": 177648,
|
||||
"type": "skill",
|
||||
"root": true,
|
||||
"name": "火花",
|
||||
"levelReq": 0,
|
||||
"desc": "施放普攻时,有<nobr>80.0%</nobr>的基础概率使敌方目标陷入灼烧状态,持续<nobr>3</nobr>回合。<br />灼烧状态下,敌方目标每回合开始时受到等同于艾丝妲普攻<nobr>50.0%</nobr>的<span style=\"color:#F84F36;\">火</span>属性持续伤害。",
|
||||
"desc": "施放普攻时,有<nobr>80.0%</nobr>的基础概率使敌方目标陷入灼烧状态,持续<nobr>3</nobr>回合。<br />灼烧状态下,敌方目标每回合开始时受到等同于艾丝妲普攻<nobr>50.0%</nobr>的<span>火</span>属性持续伤害。",
|
||||
"cost": {
|
||||
"29328": 4000,
|
||||
"635670": 2,
|
||||
@ -397,7 +439,7 @@
|
||||
"root": true,
|
||||
"name": "点燃",
|
||||
"levelReq": 0,
|
||||
"desc": "艾丝妲在场时,我方全体的<span style=\"color:#F84F36;\">火</span>属性伤害提高<nobr>18.0%</nobr>。",
|
||||
"desc": "艾丝妲在场时,我方全体的<span>火</span>属性伤害提高<nobr>18.0%</nobr>。",
|
||||
"cost": {
|
||||
"29328": 16000,
|
||||
"125435": 1,
|
||||
|
@ -450,6 +450,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1109201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1109202": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1109203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1109204": {
|
||||
"key": "cdmg",
|
||||
"value": 5.299999983981252
|
||||
},
|
||||
"1109205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1109206": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1109207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1109208": {
|
||||
"key": "cdmg",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1109209": {
|
||||
"key": "hp",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1109210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"489042": {
|
||||
"id": 489042,
|
||||
"type": "buff",
|
||||
|
@ -500,6 +500,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1006201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1006202": {
|
||||
"key": "effPct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1006203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1006204": {
|
||||
"key": "quantum",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1006205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1006206": {
|
||||
"key": "effPct",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1006207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1006208": {
|
||||
"key": "quantum",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1006209": {
|
||||
"key": "effPct",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1006210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"474176": {
|
||||
"id": 474176,
|
||||
"type": "buff",
|
||||
|
@ -377,6 +377,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1008201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1008202": {
|
||||
"key": "effDef",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1008203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1008204": {
|
||||
"key": "hp",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1008205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1008206": {
|
||||
"key": "effDef",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1008207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1008208": {
|
||||
"key": "hp",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1008209": {
|
||||
"key": "effDef",
|
||||
"value": 8.00000000745058
|
||||
},
|
||||
"1008210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"99186": {
|
||||
"id": 99186,
|
||||
"type": "buff",
|
||||
|
@ -396,6 +396,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1201201": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1201202": {
|
||||
"key": "quantum",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1201203": {
|
||||
"key": "atk",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1201204": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1201205": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1201206": {
|
||||
"key": "quantum",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1201207": {
|
||||
"key": "atk",
|
||||
"value": 6.0000000055879354
|
||||
},
|
||||
"1201208": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1201209": {
|
||||
"key": "quantum",
|
||||
"value": 6.399999978020787
|
||||
},
|
||||
"1201210": {
|
||||
"key": "atk",
|
||||
"value": 8.00000000745058
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"668114": {
|
||||
"id": 668114,
|
||||
"type": "skill",
|
||||
|
@ -356,6 +356,48 @@
|
||||
}
|
||||
},
|
||||
"tree": {
|
||||
"1013201": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1013202": {
|
||||
"key": "def",
|
||||
"value": 5.000000004656613
|
||||
},
|
||||
"1013203": {
|
||||
"key": "ice",
|
||||
"value": 3.1999999890103936
|
||||
},
|
||||
"1013204": {
|
||||
"key": "cpct",
|
||||
"value": 2.699999953620136
|
||||
},
|
||||
"1013205": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1013206": {
|
||||
"key": "def",
|
||||
"value": 7.499999972060323
|
||||
},
|
||||
"1013207": {
|
||||
"key": "ice",
|
||||
"value": 4.799999948590994
|
||||
},
|
||||
"1013208": {
|
||||
"key": "cpct",
|
||||
"value": 4.00000000372529
|
||||
},
|
||||
"1013209": {
|
||||
"key": "def",
|
||||
"value": 10.000000009313226
|
||||
},
|
||||
"1013210": {
|
||||
"key": "ice",
|
||||
"value": 6.399999978020787
|
||||
}
|
||||
},
|
||||
"treeData": {
|
||||
"205779": {
|
||||
"id": 205779,
|
||||
"type": "skill",
|
||||
|
Loading…
Reference in New Issue
Block a user