mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-25 01:21:55 +00:00
星铁面板初步支持展示武器数据
This commit is contained in:
parent
2a21366e1a
commit
1dddda52f7
@ -1,3 +1,9 @@
|
|||||||
|
# 2.4.0 Dev
|
||||||
|
|
||||||
|
* !!!尚未完成,不推荐切换至Dev!!!
|
||||||
|
* 初步支持星铁面板数据获取与展示
|
||||||
|
* 面板属性计算暂未包含武器及圣遗物Buff,面板数据暂不准确
|
||||||
|
|
||||||
# 2.3.8
|
# 2.3.8
|
||||||
|
|
||||||
* 面板服务增加由**Snap Hutao**提供的Enka转发代理,可通过`#喵喵设置面板服务4`进行选择
|
* 面板服务增加由**Snap Hutao**提供的Enka转发代理,可通过`#喵喵设置面板服务4`进行选择
|
||||||
|
@ -142,9 +142,15 @@ let ProfileDetail = {
|
|||||||
lodash.forEach((game === 'gs' ? 'cpct,cdmg,recharge,dmg' : 'cpct,cdmg,recharge,dmg,effPct,stance').split(','), (key) => {
|
lodash.forEach((game === 'gs' ? 'cpct,cdmg,recharge,dmg' : 'cpct,cdmg,recharge,dmg,effPct,stance').split(','), (key) => {
|
||||||
let fn = Format.pct
|
let fn = Format.pct
|
||||||
let key2 = key
|
let key2 = key
|
||||||
if (key === 'dmg' && a.phy > a.dmg) {
|
if (key === 'dmg') {
|
||||||
|
if (game === 'gs') {
|
||||||
|
if (a.phy > a.dmg) {
|
||||||
key2 = 'phy'
|
key2 = 'phy'
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
key2 = Format.elem(char.elem, '', 'sr')
|
||||||
|
}
|
||||||
|
}
|
||||||
attr[key] = fn(a[key2])
|
attr[key] = fn(a[key2])
|
||||||
attr[`${key}Base`] = fn(base[key2])
|
attr[`${key}Base`] = fn(base[key2])
|
||||||
attr[`${key}Plus`] = fn(a[key2] - base[key2])
|
attr[`${key}Plus`] = fn(a[key2] - base[key2])
|
||||||
@ -170,11 +176,13 @@ let ProfileDetail = {
|
|||||||
|
|
||||||
let artisDetail = profile.getArtisMark()
|
let artisDetail = profile.getArtisMark()
|
||||||
let artisKeyTitle = ProfileArtis.getArtisKeyTitle(game)
|
let artisKeyTitle = ProfileArtis.getArtisKeyTitle(game)
|
||||||
|
let data = profile.getData('name,abbr,cons,level,talent,dataSource,updateTime,imgs,costumeSplash')
|
||||||
|
data.weapon = profile.getWeaponDetail()
|
||||||
let renderData = {
|
let renderData = {
|
||||||
save_id: uid,
|
save_id: uid,
|
||||||
uid,
|
uid,
|
||||||
game,
|
game,
|
||||||
data: profile.getData('name,abbr,cons,level,weapon,talent,dataSource,updateTime,imgs,costumeSplash'),
|
data,
|
||||||
attr,
|
attr,
|
||||||
elem: char.elem,
|
elem: char.elem,
|
||||||
dmgCalc,
|
dmgCalc,
|
||||||
|
@ -41,9 +41,9 @@ lodash.forEach(elemAliasSR, (txt, key) => {
|
|||||||
|
|
||||||
const Elem = {
|
const Elem = {
|
||||||
// 根据名称获取元素key
|
// 根据名称获取元素key
|
||||||
elem (elem = '', defElem = '') {
|
elem (elem = '', defElem = '', game = 'gs') {
|
||||||
elem = elem.toLowerCase()
|
elem = elem.toLowerCase()
|
||||||
return elemMap[elem] || defElem
|
return (game === 'gs' ? elemMap : elemMapSR)[elem] || defElem
|
||||||
},
|
},
|
||||||
|
|
||||||
// 根据key获取元素名
|
// 根据key获取元素名
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
* */
|
* */
|
||||||
|
|
||||||
export const miaoApi = {
|
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 qq = /\d{5,12}/.test(diyCfg.qq) ? diyCfg.qq : 'none'
|
||||||
let token = diyCfg.token
|
let token = diyCfg.token
|
||||||
url = url || 'http://miaoapi.cn/'
|
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 = {
|
export const homoApi = {
|
||||||
url: 'https://mhy.fuckmys.tk/sr_info',
|
url: 'https://api.mihomo.me/sr_info',
|
||||||
listApi: ({ url, uid, diyCfg }) => {
|
listApi: ({ url, uid, diyCfg }) => {
|
||||||
return `${url}/${uid}`
|
return `${url}/${uid}`
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,6 @@ class Artifact extends Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getAttrData (mainId, attrData, level = 1, star = 5, idx = 1) {
|
getAttrData (mainId, attrData, level = 1, star = 5, idx = 1) {
|
||||||
|
|
||||||
let mainKey = metaDataSR.mainIdx[idx][mainId]
|
let mainKey = metaDataSR.mainIdx[idx][mainId]
|
||||||
let starCfg = metaDataSR.starData[star]
|
let starCfg = metaDataSR.starData[star]
|
||||||
let mainCfg = starCfg.main[mainKey]
|
let mainCfg = starCfg.main[mainKey]
|
||||||
@ -125,11 +124,21 @@ class Artifact extends Base {
|
|||||||
}
|
}
|
||||||
let attrs = []
|
let attrs = []
|
||||||
lodash.forEach(attrData, (ds) => {
|
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]
|
let attrCfg = starCfg.sub[ds.id]
|
||||||
|
if (!attrCfg) {
|
||||||
|
console.log('not found attr', ds, _ds)
|
||||||
|
return true
|
||||||
|
}
|
||||||
attrs.push({
|
attrs.push({
|
||||||
...ds,
|
...ds,
|
||||||
key: attrCfg.key,
|
key: attrCfg?.key,
|
||||||
value: attrCfg.base * ds.count + attrCfg.step * ds.step
|
value: attrCfg?.base * ds.count + attrCfg.step * ds.step
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
|
@ -83,7 +83,7 @@ export default class AvatarArtis extends Base {
|
|||||||
arti.main = attr.main || arti.main || {}
|
arti.main = attr.main || arti.main || {}
|
||||||
arti.attrs = attr.attrs || arti.attrs || {}
|
arti.attrs = attr.attrs || arti.attrs || {}
|
||||||
} else {
|
} 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
|
return
|
||||||
@ -163,11 +163,11 @@ export default class AvatarArtis extends Base {
|
|||||||
tmp.mainId = ds.main?.id
|
tmp.mainId = ds.main?.id
|
||||||
tmp.attrs = []
|
tmp.attrs = []
|
||||||
lodash.forEach(ds.attrs, (as) => {
|
lodash.forEach(ds.attrs, (as) => {
|
||||||
tmp.attrs.push({
|
tmp.attrs.push([
|
||||||
id: as?.id,
|
as?.id || '',
|
||||||
count: as?.count,
|
as?.count || 1,
|
||||||
step: as?.step
|
as?.step || 0
|
||||||
})
|
].join(','))
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
tmp.name = ds.name || ''
|
tmp.name = ds.name || ''
|
||||||
|
@ -2,7 +2,7 @@ import lodash from 'lodash'
|
|||||||
import Base from './Base.js'
|
import Base from './Base.js'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import { Character, AvatarArtis, ProfileData, Weapon } from './index.js'
|
import { Character, AvatarArtis, ProfileData, Weapon } from './index.js'
|
||||||
import { Data } from '#miao'
|
import { Data, Format } from '#miao'
|
||||||
import AttrCalc from './profile/AttrCalc.js'
|
import AttrCalc from './profile/AttrCalc.js'
|
||||||
import Profile from './player/Profile.js'
|
import Profile from './player/Profile.js'
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ export default class AvatarData extends Base {
|
|||||||
mgg: 'MiniGG-Api',
|
mgg: 'MiniGG-Api',
|
||||||
hutao: 'Hutao-Enka',
|
hutao: 'Hutao-Enka',
|
||||||
mys: '米游社',
|
mys: '米游社',
|
||||||
lulu: '路路Api'
|
homo: 'Mihomo'
|
||||||
}[this._source] || this._source
|
}[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 = '') {
|
setTalent (ds = false, mode = 'original', updateTime = '') {
|
||||||
const now = this._now || (new Date()) * 1
|
const now = this._now || (new Date()) * 1
|
||||||
if (ds) {
|
if (ds) {
|
||||||
|
@ -23,7 +23,7 @@ export default class Player extends Base {
|
|||||||
if (!uid) {
|
if (!uid) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let cacheObj = this._getCache(`player:${uid}`)
|
let cacheObj = this._getCache(`player:${game}:${uid}`)
|
||||||
if (cacheObj) {
|
if (cacheObj) {
|
||||||
return cacheObj
|
return cacheObj
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import Base from './Base.js'
|
import Base from './Base.js'
|
||||||
|
import { Format } from '#miao'
|
||||||
|
|
||||||
const baseAttr = {
|
const baseAttr = {
|
||||||
gs: 'atk,def,hp,mastery,recharge,cpct,cdmg,dmg,phy,heal,shield'.split(','),
|
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') {
|
constructor (data = null, game = 'gs') {
|
||||||
super()
|
super()
|
||||||
this.game = game
|
this.game = game
|
||||||
this.init(data)
|
this.init(data, this.game)
|
||||||
}
|
}
|
||||||
|
|
||||||
static create (data = null, game = 'gs') {
|
static create (data = null, game = 'gs') {
|
||||||
return new ProfileAttr(data, game)
|
return new ProfileAttr(data, game)
|
||||||
}
|
}
|
||||||
|
|
||||||
init (data) {
|
init (data, game = 'gs') {
|
||||||
// 基础属性
|
// 基础属性
|
||||||
this._attr = {}
|
this._attr = {}
|
||||||
this._base = {}
|
this._base = {}
|
||||||
@ -35,6 +36,16 @@ class ProfileAttr extends Base {
|
|||||||
}
|
}
|
||||||
base[key] = 0
|
base[key] = 0
|
||||||
})
|
})
|
||||||
|
if (game === 'sr') {
|
||||||
|
Format.eachElem((key) => {
|
||||||
|
attr[key] = {
|
||||||
|
base: 0,
|
||||||
|
plus: 0,
|
||||||
|
pct: 0
|
||||||
|
}
|
||||||
|
base[key] = 0
|
||||||
|
}, game)
|
||||||
|
}
|
||||||
if (data) {
|
if (data) {
|
||||||
this.setAttr(data, true)
|
this.setAttr(data, true)
|
||||||
}
|
}
|
||||||
|
@ -2,20 +2,21 @@ import Base from './Base.js'
|
|||||||
import fetch from 'node-fetch'
|
import fetch from 'node-fetch'
|
||||||
|
|
||||||
export default class ProfileReq extends Base {
|
export default class ProfileReq extends Base {
|
||||||
constructor (e) {
|
constructor (e, game = 'gs') {
|
||||||
super()
|
super()
|
||||||
this.e = e
|
this.e = e
|
||||||
|
this.game = game
|
||||||
this.uid = e.uid
|
this.uid = e.uid
|
||||||
}
|
}
|
||||||
|
|
||||||
static create (e) {
|
static create (e, game = 'gs') {
|
||||||
if (!e || !e.uid) {
|
if (!e || !e.uid) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if (e.uid * 1 < 100000005) {
|
if (e.uid * 1 < 100000005) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return new ProfileReq(e)
|
return new ProfileReq(e, game)
|
||||||
}
|
}
|
||||||
|
|
||||||
async setCd (seconds = 60) {
|
async setCd (seconds = 60) {
|
||||||
@ -65,9 +66,10 @@ export default class ProfileReq extends Base {
|
|||||||
|
|
||||||
async requestProfile (player, serv) {
|
async requestProfile (player, serv) {
|
||||||
let self = this
|
let self = this
|
||||||
|
console.log('self.game', self.game)
|
||||||
this.serv = serv
|
this.serv = serv
|
||||||
let uid = this.uid
|
let uid = this.uid
|
||||||
let reqParam = await serv.getReqParam(uid)
|
let reqParam = await serv.getReqParam(uid, self.game)
|
||||||
let cdTime = await this.inCd()
|
let cdTime = await this.inCd()
|
||||||
if (cdTime && !process.argv.includes('web-debug')) {
|
if (cdTime && !process.argv.includes('web-debug')) {
|
||||||
// return this.err(`请求过快,请${cdTime}秒后重试..`)
|
// return this.err(`请求过快,请${cdTime}秒后重试..`)
|
||||||
@ -107,7 +109,7 @@ export default class ProfileReq extends Base {
|
|||||||
self._isReq = false
|
self._isReq = false
|
||||||
data = {}
|
data = {}
|
||||||
}
|
}
|
||||||
data = await serv.response(data, this)
|
data = await serv.response(data, this, self.game)
|
||||||
// 设置CD
|
// 设置CD
|
||||||
cdTime = serv.getCdTime(data)
|
cdTime = serv.getCdTime(data)
|
||||||
if (cdTime) {
|
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 url = this.getCfg('url')
|
||||||
let profileApi = this.getCfg('listApi')
|
let profileApi = this.getCfg('listApi')
|
||||||
let cfg = this._cfg
|
let cfg = this._cfg
|
||||||
let api = profileApi({
|
let api = profileApi({
|
||||||
url,
|
url,
|
||||||
uid: uid,
|
uid: uid,
|
||||||
diyCfg: this.diyCfg
|
diyCfg: this.diyCfg,
|
||||||
|
game
|
||||||
})
|
})
|
||||||
let param = {}
|
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
|
let cfg = this._cfg
|
||||||
if (cfg.response) {
|
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 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, weaponAbbr, weaponAlias, weaponType, weaponSet } from '../resources/meta/weapon/index.js'
|
||||||
import { weaponData as weaponDataSR, weaponAlias as weaponAliasSR } from '../resources/meta-sr/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'
|
const path = this.isGs ? 'resources/meta/weapon' : 'resources/meta-sr/weapon'
|
||||||
try {
|
try {
|
||||||
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
|
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
|
||||||
console.log(`${path}/${this.type}/${this.name}/data.json`)
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
@ -186,6 +185,26 @@ class Weapon extends Base {
|
|||||||
affixDetail: txt
|
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
|
export default Weapon
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import EnkaData from './EnkaData.js'
|
|
||||||
import { Data } from '#miao'
|
import { Data } from '#miao'
|
||||||
import { Character } from '#miao.models'
|
import { Character } from '#miao.models'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
id: 'lulu',
|
id: 'homo',
|
||||||
name: '路路Api',
|
name: 'Mihomo',
|
||||||
cfgKey: 'luluApi',
|
cfgKey: 'homoApi',
|
||||||
// 处理请求参数
|
// 处理请求参数
|
||||||
async request (api) {
|
async request (api) {
|
||||||
let params = {
|
let params = {
|
||||||
@ -41,7 +40,7 @@ export default {
|
|||||||
try {
|
try {
|
||||||
player.setBasicData(Data.getData(data, 'name:NickName,face:HeadIconID,level:Level,word:WorldLevel,sign:Signature'))
|
player.setBasicData(Data.getData(data, 'name:NickName,face:HeadIconID,level:Level,word:WorldLevel,sign:Signature'))
|
||||||
lodash.forEach(data.avatars, (ds, id) => {
|
lodash.forEach(data.avatars, (ds, id) => {
|
||||||
let ret = LuluData.setAvatar(player, ds)
|
let ret = HomoData.setAvatar(player, ds)
|
||||||
if (ret) {
|
if (ret) {
|
||||||
player._update.push(ds.AvatarID)
|
player._update.push(ds.AvatarID)
|
||||||
}
|
}
|
||||||
@ -57,7 +56,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LuluData = {
|
const HomoData = {
|
||||||
setAvatar (player, data) {
|
setAvatar (player, data) {
|
||||||
let char = Character.get(data.AvatarID)
|
let char = Character.get(data.AvatarID)
|
||||||
if (!char) {
|
if (!char) {
|
||||||
@ -69,16 +68,15 @@ const LuluData = {
|
|||||||
promote: data.Promotion,
|
promote: data.Promotion,
|
||||||
cons: data.Rank || 0,
|
cons: data.Rank || 0,
|
||||||
weapon: Data.getData(data.EquipmentID, 'id:ID,promote:Promotion,level:Level,affix:Rank'),
|
weapon: Data.getData(data.EquipmentID, 'id:ID,promote:Promotion,level:Level,affix:Rank'),
|
||||||
...LuluData.getTalent(data.BehaviorList, char),
|
...HomoData.getTalent(data.BehaviorList, char),
|
||||||
artis: LuluData.getArtis(data.RelicList)
|
artis: HomoData.getArtis(data.RelicList)
|
||||||
}
|
}
|
||||||
avatar.setAvatar(setData, 'lulu')
|
avatar.setAvatar(setData, 'homo')
|
||||||
return avatar
|
return avatar
|
||||||
},
|
},
|
||||||
getTalent (ds, char) {
|
getTalent (ds, char) {
|
||||||
let talent = {}
|
let talent = {}
|
||||||
let trees = []
|
let trees = []
|
||||||
let talentId = char.talentId
|
|
||||||
lodash.forEach(ds, (d) => {
|
lodash.forEach(ds, (d) => {
|
||||||
let key = char.getTalentKey(d.BehaviorID)
|
let key = char.getTalentKey(d.BehaviorID)
|
||||||
if (key || d.Level > 1) {
|
if (key || d.Level > 1) {
|
||||||
@ -102,15 +100,10 @@ const LuluData = {
|
|||||||
if (!s.SubAffixID) {
|
if (!s.SubAffixID) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
tmp.attrs.push({
|
tmp.attrs.push([s.SubAffixID, s.Cnt, s.Step || 0].join(','))
|
||||||
id: s.SubAffixID,
|
|
||||||
count: s.Cnt,
|
|
||||||
step: s.Step || 0
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
ret[ds.Type] = tmp
|
ret[ds.Type] = tmp
|
||||||
})
|
})
|
||||||
console.log(lodash.keys(ret))
|
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,10 +10,13 @@ export default {
|
|||||||
api = this.getCfg('api') || api
|
api = this.getCfg('api') || api
|
||||||
return { api }
|
return { api }
|
||||||
},
|
},
|
||||||
async response (data, req) {
|
async response (data, req, game = 'gs') {
|
||||||
if (data.status !== 0) {
|
if (data.status !== 0) {
|
||||||
return req.err(data.msg || 'error', 60)
|
return req.err(data.msg || 'error', 60)
|
||||||
}
|
}
|
||||||
|
if (game === 'sr') {
|
||||||
|
return data.data
|
||||||
|
}
|
||||||
if (data.version === 2) {
|
if (data.version === 2) {
|
||||||
data = data.data || {}
|
data = data.data || {}
|
||||||
if (!data.avatars || data.avatars.length === 0) {
|
if (!data.avatars || data.avatars.length === 0) {
|
||||||
@ -22,32 +25,18 @@ export default {
|
|||||||
data.version = 2
|
data.version = 2
|
||||||
return data
|
return data
|
||||||
} else {
|
} else {
|
||||||
data = data.data || {}
|
|
||||||
if (!data.showAvatarInfoList || data.showAvatarInfoList.length === 0) {
|
|
||||||
return req.err('empty', 5 * 60)
|
return req.err('empty', 5 * 60)
|
||||||
}
|
}
|
||||||
return data
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
updatePlayer (player, data) {
|
updatePlayer (player, data) {
|
||||||
if (data.version === 2) {
|
|
||||||
player.setBasicData(data)
|
player.setBasicData(data)
|
||||||
lodash.forEach(data.avatars, (avatar) => {
|
lodash.forEach(data.avatars, (avatar) => {
|
||||||
let ret = MiaoData.setAvatarNew(player, avatar)
|
let ret = MiaoData.setAvatar(player, avatar)
|
||||||
if (ret) {
|
if (ret) {
|
||||||
player._update.push(ret.id)
|
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)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 获取冷却时间
|
// 获取冷却时间
|
||||||
|
@ -7,44 +7,24 @@ let MiaoData = {
|
|||||||
setAvatar (player, ds) {
|
setAvatar (player, ds) {
|
||||||
let char = Character.get(ds.id)
|
let char = Character.get(ds.id)
|
||||||
let avatar = player.getAvatar(ds.id, true)
|
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) {
|
if (player.isSr) {
|
||||||
let char = Character.get(ds.id)
|
avatar.setAvatar({
|
||||||
let avatar = player.getAvatar(ds.id, true)
|
...ds,
|
||||||
let talentRet = MiaoData.getTalentNew(char.id, ds.talent)
|
...MiaoData.getTalentSR(char, ds.talent)
|
||||||
|
}, 'miao')
|
||||||
|
} else {
|
||||||
|
let talentRet = MiaoData.getTalent(char, ds.talent)
|
||||||
avatar.setAvatar({
|
avatar.setAvatar({
|
||||||
...ds,
|
...ds,
|
||||||
elem: talentRet.elem,
|
elem: talentRet.elem,
|
||||||
talent: talentRet.talent
|
talent: talentRet.talent
|
||||||
}, 'miao')
|
}, 'miao')
|
||||||
|
}
|
||||||
return avatar
|
return avatar
|
||||||
},
|
},
|
||||||
|
|
||||||
getWeapon (weapon) {
|
getTalent (char, data = {}) {
|
||||||
return {
|
|
||||||
name: weapon.name,
|
|
||||||
level: weapon.level,
|
|
||||||
promote: weapon.promoteLevel,
|
|
||||||
affix: (weapon.affixLevel || 0) + 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
getTalentNew (charid, data = {}) {
|
|
||||||
let char = Character.get(charid)
|
|
||||||
let { talentId = {}, talentElem = {} } = char.meta
|
let { talentId = {}, talentElem = {} } = char.meta
|
||||||
let elem = ''
|
let elem = ''
|
||||||
let idx = 0
|
let idx = 0
|
||||||
@ -67,70 +47,18 @@ let MiaoData = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
getTalent (charid, data = {}) {
|
getTalentSR (char, data) {
|
||||||
let char = Character.get(charid)
|
let talent = {}
|
||||||
let { talentId = {}, talentElem = {} } = char.meta
|
let trees = []
|
||||||
let elem = ''
|
lodash.forEach(data, (lv, id) => {
|
||||||
let idx = 0
|
let key = char.getTalentKey(id)
|
||||||
let ret = {}
|
if (key || lv > 1) {
|
||||||
lodash.forEach(data, (ds) => {
|
talent[key || id] = lv
|
||||||
let key
|
|
||||||
if (talentId[ds.id]) {
|
|
||||||
key = talentId[ds.id]
|
|
||||||
elem = elem || talentElem[ds.id]
|
|
||||||
ret[key] = {
|
|
||||||
level: ds.level
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
key = ['a', 'e', 'q'][idx++]
|
trees.push(id)
|
||||||
ret[key] = ret[key] || {
|
|
||||||
level: ds.level
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return {
|
return { talent, trees }
|
||||||
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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default MiaoData
|
export default MiaoData
|
||||||
|
@ -6,7 +6,7 @@ import enkaApi from './EnkaApi.js'
|
|||||||
import miaoApi from './MiaoApi.js'
|
import miaoApi from './MiaoApi.js'
|
||||||
import mggApi from './MggApi.js'
|
import mggApi from './MggApi.js'
|
||||||
import hutaoApi from './HutaoApi.js'
|
import hutaoApi from './HutaoApi.js'
|
||||||
import luluApi from './LuluApi.js'
|
import homoApi from './HomoApi.js'
|
||||||
|
|
||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ const Profile = {
|
|||||||
mgg: mggApi,
|
mgg: mggApi,
|
||||||
enka: enkaApi,
|
enka: enkaApi,
|
||||||
hutao: hutaoApi,
|
hutao: hutaoApi,
|
||||||
lulu: luluApi
|
homo: homoApi
|
||||||
}[key])
|
}[key])
|
||||||
}
|
}
|
||||||
return Profile.servs[key]
|
return Profile.servs[key]
|
||||||
@ -34,9 +34,6 @@ const Profile = {
|
|||||||
* @returns {ProfileServ}
|
* @returns {ProfileServ}
|
||||||
*/
|
*/
|
||||||
getServ (uid, game = 'gs') {
|
getServ (uid, game = 'gs') {
|
||||||
if (game === 'sr') {
|
|
||||||
return Profile.serv('lulu')
|
|
||||||
}
|
|
||||||
let token = diyCfg?.miaoApi?.token
|
let token = diyCfg?.miaoApi?.token
|
||||||
let qq = diyCfg?.miaoApi?.qq
|
let qq = diyCfg?.miaoApi?.qq
|
||||||
let hasToken = !!(qq && token && token.length === 32 && !/^test/.test(token))
|
let hasToken = !!(qq && token && token.length === 32 && !/^test/.test(token))
|
||||||
@ -48,6 +45,14 @@ const Profile = {
|
|||||||
let servCfg = Cfg.get('profileServer', '0').toString() || '0'
|
let servCfg = Cfg.get('profileServer', '0').toString() || '0'
|
||||||
servCfg = servCfg[servIdx] || servCfg[0] || '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) {
|
if ((servCfg === '0' || servCfg === '1') && hasToken) {
|
||||||
return Profile.serv('miao')
|
return Profile.serv('miao')
|
||||||
}
|
}
|
||||||
@ -72,18 +77,18 @@ const Profile = {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
player._update = []
|
player._update = []
|
||||||
|
console.log('player game', player.game)
|
||||||
let { uid, e } = player
|
let { uid, e } = player
|
||||||
if (uid.toString().length !== 9 || !e) {
|
if (uid.toString().length !== 9 || !e) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let req = ProfileReq.create(e)
|
let req = ProfileReq.create(e, player.game)
|
||||||
if (!req) {
|
if (!req) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
console.log('game', player.game)
|
|
||||||
let serv = Profile.getServ(uid, player.game)
|
let serv = Profile.getServ(uid, player.game)
|
||||||
try {
|
try {
|
||||||
await req.requestProfile(player, serv)
|
await req.requestProfile(player, serv, player.game)
|
||||||
player._profile = new Date() * 1
|
player._profile = new Date() * 1
|
||||||
player.save()
|
player.save()
|
||||||
return player._update.length
|
return player._update.length
|
||||||
@ -101,7 +106,7 @@ const Profile = {
|
|||||||
return true
|
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
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ class AttrCalc {
|
|||||||
* @returns {{}}
|
* @returns {{}}
|
||||||
*/
|
*/
|
||||||
calc () {
|
calc () {
|
||||||
console.log('calc,hahahaha')
|
|
||||||
this.attr = ProfileAttr.create({}, this.game)
|
this.attr = ProfileAttr.create({}, this.game)
|
||||||
if (this.isGs) {
|
if (this.isGs) {
|
||||||
this.addAttr('recharge', 100, true)
|
this.addAttr('recharge', 100, true)
|
||||||
@ -77,9 +76,6 @@ class AttrCalc {
|
|||||||
|
|
||||||
|
|
||||||
addAttr (key, val, isBase = false) {
|
addAttr (key, val, isBase = false) {
|
||||||
if (key === 'cpct') {
|
|
||||||
console.log('isCpct', val, isBase)
|
|
||||||
}
|
|
||||||
this.attr.addAttr(key, val, isBase)
|
this.attr.addAttr(key, val, isBase)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +84,7 @@ class AttrCalc {
|
|||||||
* @param affix
|
* @param affix
|
||||||
*/
|
*/
|
||||||
setCharAttr (affix = '') {
|
setCharAttr (affix = '') {
|
||||||
let { char, level, promote } = this.profile
|
let { char, level, promote, trees } = this.profile
|
||||||
let metaAttr = char.detail?.attr || {}
|
let metaAttr = char.detail?.attr || {}
|
||||||
let self = this
|
let self = this
|
||||||
if (this.isSr) {
|
if (this.isSr) {
|
||||||
@ -98,6 +94,14 @@ class AttrCalc {
|
|||||||
k = k + (['hp', 'atk', 'def'].includes(k) ? 'Base' : '')
|
k = k + (['hp', 'atk', 'def'].includes(k) ? 'Base' : '')
|
||||||
self.addAttr(k, v, true)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,7 +235,6 @@ class AttrCalc {
|
|||||||
if (!key) {
|
if (!key) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
console.log(key, ds.value)
|
|
||||||
if (['atk', 'hp', 'def'].includes(key)) {
|
if (['atk', 'hp', 'def'].includes(key)) {
|
||||||
key = key + 'Pct'
|
key = key + 'Pct'
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="copyright data-source">
|
<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}}
|
}[data.source]||data.source }} {{data.updateTime}}
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
@ -832,4 +832,102 @@ body {
|
|||||||
.game-sr .artis-weapon {
|
.game-sr .artis-weapon {
|
||||||
display: none;
|
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 */
|
/*# sourceMappingURL=profile-detail.css.map */
|
@ -110,9 +110,35 @@
|
|||||||
|
|
||||||
<!-- 【 武器+圣遗物列表】 -->
|
<!-- 【 武器+圣遗物列表】 -->
|
||||||
<div>
|
<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"}}
|
{{if mode === "profile"}}
|
||||||
{{set ad = artisDetail}}
|
{{set ad = artisDetail}}
|
||||||
<div class="artis">
|
<div class="artis">
|
||||||
|
{{ if game === 'gs' }}
|
||||||
<div class="artis-weapon">
|
<div class="artis-weapon">
|
||||||
<div class="item weapon">
|
<div class="item weapon">
|
||||||
<div class="img" style="background-image:url({{_res_path}}{{weapon.img}})"></div>
|
<div class="img" style="background-image:url({{_res_path}}{{weapon.img}})"></div>
|
||||||
@ -131,6 +157,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
{{each ad.artis ds idx}}
|
{{each ad.artis ds idx}}
|
||||||
<div class="item arti">
|
<div class="item arti">
|
||||||
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
|
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
|
||||||
|
@ -1047,3 +1047,121 @@ body {
|
|||||||
display: none;
|
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": {
|
"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": {
|
"877640": {
|
||||||
"id": 877640,
|
"id": 877640,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -377,6 +377,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"124180": {
|
||||||
"id": 124180,
|
"id": 124180,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -377,6 +377,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"660958": {
|
||||||
"id": 660958,
|
"id": 660958,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"264650": {
|
||||||
"id": 264650,
|
"id": 264650,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"864032": {
|
||||||
"id": 864032,
|
"id": 864032,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -458,6 +458,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"227636": {
|
||||||
"id": 227636,
|
"id": 227636,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -377,13 +377,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"202642": {
|
||||||
"id": 202642,
|
"id": 202642,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
"root": true,
|
"root": true,
|
||||||
"name": "星火",
|
"name": "星火",
|
||||||
"levelReq": 0,
|
"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": {
|
"cost": {
|
||||||
"29328": 5000,
|
"29328": 5000,
|
||||||
"635675": 3,
|
"635675": 3,
|
||||||
|
@ -440,6 +440,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"506326": {
|
||||||
"id": 506326,
|
"id": 506326,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"189034": {
|
||||||
"id": 189034,
|
"id": 189034,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -356,6 +356,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"310962": {
|
||||||
"id": 310962,
|
"id": 310962,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
@ -397,7 +439,7 @@
|
|||||||
"root": true,
|
"root": true,
|
||||||
"name": "割裂",
|
"name": "割裂",
|
||||||
"levelReq": 0,
|
"levelReq": 0,
|
||||||
"desc": "增幅状态下希儿的<span style=\"color:#7788ff;\">量子</span>抗性穿透提高<nobr>20.0%</nobr>。",
|
"desc": "增幅状态下希儿的<span>量子</span>抗性穿透提高<nobr>20.0%</nobr>。",
|
||||||
"cost": {
|
"cost": {
|
||||||
"29328": 20000,
|
"29328": 20000,
|
||||||
"125435": 1,
|
"125435": 1,
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"514036": {
|
||||||
"id": 514036,
|
"id": 514036,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -461,6 +461,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"84865": {
|
||||||
"id": 84865,
|
"id": 84865,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
@ -482,7 +524,7 @@
|
|||||||
"root": true,
|
"root": true,
|
||||||
"name": "颁冰",
|
"name": "颁冰",
|
||||||
"levelReq": 0,
|
"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": {
|
"cost": {
|
||||||
"29328": 5000,
|
"29328": 5000,
|
||||||
"270195": 1,
|
"270195": 1,
|
||||||
|
@ -356,6 +356,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"56195": {
|
||||||
"id": 56195,
|
"id": 56195,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"303252": {
|
||||||
"id": 303252,
|
"id": 303252,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -377,13 +377,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"285968": {
|
||||||
"id": 285968,
|
"id": 285968,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
"root": true,
|
"root": true,
|
||||||
"name": "圈套",
|
"name": "圈套",
|
||||||
"levelReq": 0,
|
"levelReq": 0,
|
||||||
"desc": "天赋使敌方陷入<span style=\"color:#00FF9C;\">风</span>化状态的持续时间延长<nobr>1</nobr>回合。",
|
"desc": "天赋使敌方陷入<span>风</span>化状态的持续时间延长<nobr>1</nobr>回合。",
|
||||||
"cost": {
|
"cost": {
|
||||||
"29328": 4000,
|
"29328": 4000,
|
||||||
"270195": 1,
|
"270195": 1,
|
||||||
@ -400,7 +442,7 @@
|
|||||||
"root": true,
|
"root": true,
|
||||||
"name": "加料",
|
"name": "加料",
|
||||||
"levelReq": 0,
|
"levelReq": 0,
|
||||||
"desc": "<span style=\"color:#00FF9C;\">风</span>化状态下的敌方目标对桑博造成的伤害降低<nobr>15.0%</nobr>。",
|
"desc": "<span>风</span>化状态下的敌方目标对桑博造成的伤害降低<nobr>15.0%</nobr>。",
|
||||||
"cost": {
|
"cost": {
|
||||||
"29328": 128000,
|
"29328": 128000,
|
||||||
"125435": 1,
|
"125435": 1,
|
||||||
|
@ -398,6 +398,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"149174": {
|
||||||
"id": 149174,
|
"id": 149174,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -461,6 +461,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"671251": {
|
||||||
"id": 671251,
|
"id": 671251,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -376,6 +376,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"614646": {
|
||||||
"id": 614646,
|
"id": 614646,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -395,6 +395,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"343112": {
|
||||||
"id": 343112,
|
"id": 343112,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -356,13 +356,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"177648": {
|
||||||
"id": 177648,
|
"id": 177648,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
"root": true,
|
"root": true,
|
||||||
"name": "火花",
|
"name": "火花",
|
||||||
"levelReq": 0,
|
"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": {
|
"cost": {
|
||||||
"29328": 4000,
|
"29328": 4000,
|
||||||
"635670": 2,
|
"635670": 2,
|
||||||
@ -397,7 +439,7 @@
|
|||||||
"root": true,
|
"root": true,
|
||||||
"name": "点燃",
|
"name": "点燃",
|
||||||
"levelReq": 0,
|
"levelReq": 0,
|
||||||
"desc": "艾丝妲在场时,我方全体的<span style=\"color:#F84F36;\">火</span>属性伤害提高<nobr>18.0%</nobr>。",
|
"desc": "艾丝妲在场时,我方全体的<span>火</span>属性伤害提高<nobr>18.0%</nobr>。",
|
||||||
"cost": {
|
"cost": {
|
||||||
"29328": 16000,
|
"29328": 16000,
|
||||||
"125435": 1,
|
"125435": 1,
|
||||||
|
@ -450,6 +450,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"489042": {
|
||||||
"id": 489042,
|
"id": 489042,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -500,6 +500,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"474176": {
|
||||||
"id": 474176,
|
"id": 474176,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -377,6 +377,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"99186": {
|
||||||
"id": 99186,
|
"id": 99186,
|
||||||
"type": "buff",
|
"type": "buff",
|
||||||
|
@ -396,6 +396,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"668114": {
|
||||||
"id": 668114,
|
"id": 668114,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
@ -356,6 +356,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tree": {
|
"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": {
|
"205779": {
|
||||||
"id": 205779,
|
"id": 205779,
|
||||||
"type": "skill",
|
"type": "skill",
|
||||||
|
Loading…
Reference in New Issue
Block a user