diff --git a/CHANGELOG.md b/CHANGELOG.md index daef8d62..831bb23b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 2.4.0 Dev + +* !!!尚未完成,不推荐切换至Dev!!! +* 初步支持星铁面板数据获取与展示 +* 面板属性计算暂未包含武器及圣遗物Buff,面板数据暂不准确 + # 2.3.8 * 面板服务增加由**Snap Hutao**提供的Enka转发代理,可通过`#喵喵设置面板服务4`进行选择 diff --git a/apps/profile/ProfileDetail.js b/apps/profile/ProfileDetail.js index 16fedbb4..b41ca07f 100644 --- a/apps/profile/ProfileDetail.js +++ b/apps/profile/ProfileDetail.js @@ -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, diff --git a/components/common/Elem.js b/components/common/Elem.js index 7f94bf13..765d627a 100644 --- a/components/common/Elem.js +++ b/components/common/Elem.js @@ -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获取元素名 diff --git a/config/system/profile_system.js b/config/system/profile_system.js index 08f8bc30..9cda1ab5 100644 --- a/config/system/profile_system.js +++ b/config/system/profile_system.js @@ -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}` } diff --git a/models/Artifact.js b/models/Artifact.js index 45d13020..90a07dd3 100644 --- a/models/Artifact.js +++ b/models/Artifact.js @@ -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 { diff --git a/models/AvatarArtis.js b/models/AvatarArtis.js index c002e5f8..73e89ded 100644 --- a/models/AvatarArtis.js +++ b/models/AvatarArtis.js @@ -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 || '' diff --git a/models/AvatarData.js b/models/AvatarData.js index 549a5c21..402fc0e8 100644 --- a/models/AvatarData.js +++ b/models/AvatarData.js @@ -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) { diff --git a/models/Player.js b/models/Player.js index 599aa7e9..bf513289 100644 --- a/models/Player.js +++ b/models/Player.js @@ -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 } diff --git a/models/ProfileAttr.js b/models/ProfileAttr.js index 42ad2ae8..0effb7e5 100644 --- a/models/ProfileAttr.js +++ b/models/ProfileAttr.js @@ -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) } diff --git a/models/ProfileReq.js b/models/ProfileReq.js index d642e8f9..ae35355a 100644 --- a/models/ProfileReq.js +++ b/models/ProfileReq.js @@ -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) { diff --git a/models/ProfileServ.js b/models/ProfileServ.js index 03f90ad9..20847f02 100644 --- a/models/ProfileServ.js +++ b/models/ProfileServ.js @@ -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) } } diff --git a/models/Weapon.js b/models/Weapon.js index b9823bf6..5f254687 100644 --- a/models/Weapon.js +++ b/models/Weapon.js @@ -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 diff --git a/models/player/LuluApi.js b/models/player/HomoApi.js similarity index 82% rename from models/player/LuluApi.js rename to models/player/HomoApi.js index 278fa33b..0208efd1 100644 --- a/models/player/LuluApi.js +++ b/models/player/HomoApi.js @@ -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 } } diff --git a/models/player/MiaoApi.js b/models/player/MiaoApi.js index 2187002c..89044537 100644 --- a/models/player/MiaoApi.js +++ b/models/player/MiaoApi.js @@ -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) + } + }) }, // 获取冷却时间 diff --git a/models/player/MiaoData.js b/models/player/MiaoData.js index 57fa6c2a..bfac23c0 100644 --- a/models/player/MiaoData.js +++ b/models/player/MiaoData.js @@ -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 diff --git a/models/player/Profile.js b/models/player/Profile.js index 2b035515..b2a8dd80 100644 --- a/models/player/Profile.js +++ b/models/player/Profile.js @@ -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 } diff --git a/models/profile/AttrCalc.js b/models/profile/AttrCalc.js index 1faa22ad..3d76764c 100644 --- a/models/profile/AttrCalc.js +++ b/models/profile/AttrCalc.js @@ -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' } diff --git a/resources/character/character-card.html b/resources/character/character-card.html index 1e0a3a83..df8eac68 100644 --- a/resources/character/character-card.html +++ b/resources/character/character-card.html @@ -78,7 +78,7 @@ {{else}} diff --git a/resources/character/profile-detail.css b/resources/character/profile-detail.css index 8002d4d7..16bca75f 100644 --- a/resources/character/profile-detail.css +++ b/resources/character/profile-detail.css @@ -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 */ \ No newline at end of file diff --git a/resources/character/profile-detail.html b/resources/character/profile-detail.html index 4e742185..e12e9dd2 100644 --- a/resources/character/profile-detail.html +++ b/resources/character/profile-detail.html @@ -102,7 +102,7 @@ {{if changeProfile}}
- @@ -110,9 +110,35 @@
+ {{if game === 'sr'}} +
+ +
+ +
+
+
+
+ {{weapon.name}} + Lv.{{weapon.level}} + 叠影{{weapon.affix}}阶 +
+
+ {{set a = weapon.attrs}} +
生命{{a.hp}}
+
攻击{{a.atk}}
+
防御{{a.def}}
+
+
{{@weapon.desc?.desc}}
+
+
+ {{/if}} {{if mode === "profile"}} {{set ad = artisDetail}}
+ {{ if game === 'gs' }}
@@ -131,6 +157,7 @@
+ {{/if}} {{each ad.artis ds idx}}
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}} diff --git a/resources/character/profile-detail.less b/resources/character/profile-detail.less index 4779196c..103b8549 100644 --- a/resources/character/profile-detail.less +++ b/resources/character/profile-detail.less @@ -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; + } + } } \ No newline at end of file diff --git a/resources/meta-sr/character/三月七/data.json b/resources/meta-sr/character/三月七/data.json index ee99c2a5..5dc3d3f2 100644 --- a/resources/meta-sr/character/三月七/data.json +++ b/resources/meta-sr/character/三月七/data.json @@ -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", diff --git a/resources/meta-sr/character/丹恒/data.json b/resources/meta-sr/character/丹恒/data.json index 055382a9..29b2bcc1 100644 --- a/resources/meta-sr/character/丹恒/data.json +++ b/resources/meta-sr/character/丹恒/data.json @@ -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", diff --git a/resources/meta-sr/character/佩拉/data.json b/resources/meta-sr/character/佩拉/data.json index 53fc6589..6549d178 100644 --- a/resources/meta-sr/character/佩拉/data.json +++ b/resources/meta-sr/character/佩拉/data.json @@ -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", diff --git a/resources/meta-sr/character/停云/data.json b/resources/meta-sr/character/停云/data.json index 356e291a..5344c7db 100644 --- a/resources/meta-sr/character/停云/data.json +++ b/resources/meta-sr/character/停云/data.json @@ -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", diff --git a/resources/meta-sr/character/克拉拉/data.json b/resources/meta-sr/character/克拉拉/data.json index d049bebd..3d9af9e8 100644 --- a/resources/meta-sr/character/克拉拉/data.json +++ b/resources/meta-sr/character/克拉拉/data.json @@ -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", diff --git a/resources/meta-sr/character/卡芙卡/data.json b/resources/meta-sr/character/卡芙卡/data.json index d087f38a..7f7990e4 100644 --- a/resources/meta-sr/character/卡芙卡/data.json +++ b/resources/meta-sr/character/卡芙卡/data.json @@ -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", diff --git a/resources/meta-sr/character/姬子/data.json b/resources/meta-sr/character/姬子/data.json index 81b0eafc..fe45164c 100644 --- a/resources/meta-sr/character/姬子/data.json +++ b/resources/meta-sr/character/姬子/data.json @@ -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": "施放攻击后,有50.0%的基础概率使敌方目标陷入灼烧状态,持续2回合。
灼烧状态下,敌方目标每回合开始时受到等同于姬子30.0%攻击力的属性持续伤害。", + "desc": "施放攻击后,有50.0%的基础概率使敌方目标陷入灼烧状态,持续2回合。
灼烧状态下,敌方目标每回合开始时受到等同于姬子30.0%攻击力的属性持续伤害。", "cost": { "29328": 5000, "635675": 3, diff --git a/resources/meta-sr/character/娜塔莎/data.json b/resources/meta-sr/character/娜塔莎/data.json index ff6f7a07..f5609a14 100644 --- a/resources/meta-sr/character/娜塔莎/data.json +++ b/resources/meta-sr/character/娜塔莎/data.json @@ -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", diff --git a/resources/meta-sr/character/布洛妮娅/data.json b/resources/meta-sr/character/布洛妮娅/data.json index f36c37ce..370ca829 100644 --- a/resources/meta-sr/character/布洛妮娅/data.json +++ b/resources/meta-sr/character/布洛妮娅/data.json @@ -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", diff --git a/resources/meta-sr/character/希儿/data.json b/resources/meta-sr/character/希儿/data.json index 2ca05d30..3f17a25f 100644 --- a/resources/meta-sr/character/希儿/data.json +++ b/resources/meta-sr/character/希儿/data.json @@ -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": "增幅状态下希儿的量子抗性穿透提高20.0%。", + "desc": "增幅状态下希儿的量子抗性穿透提高20.0%。", "cost": { "29328": 20000, "125435": 1, diff --git a/resources/meta-sr/character/希露瓦/data.json b/resources/meta-sr/character/希露瓦/data.json index 543f5c0a..63afa766 100644 --- a/resources/meta-sr/character/希露瓦/data.json +++ b/resources/meta-sr/character/希露瓦/data.json @@ -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", diff --git a/resources/meta-sr/character/彦卿/data.json b/resources/meta-sr/character/彦卿/data.json index 2ca10ca5..bdb904e9 100644 --- a/resources/meta-sr/character/彦卿/data.json +++ b/resources/meta-sr/character/彦卿/data.json @@ -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": "施放攻击后,对携带属性弱点的敌方目标造成等同于彦卿30.0%攻击力的属性附加伤害。", + "desc": "施放攻击后,对携带属性弱点的敌方目标造成等同于彦卿30.0%攻击力的属性附加伤害。", "cost": { "29328": 5000, "270195": 1, diff --git a/resources/meta-sr/character/景元/data.json b/resources/meta-sr/character/景元/data.json index 47a6b4ef..ee08da79 100644 --- a/resources/meta-sr/character/景元/data.json +++ b/resources/meta-sr/character/景元/data.json @@ -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", diff --git a/resources/meta-sr/character/杰帕德/data.json b/resources/meta-sr/character/杰帕德/data.json index 39c2365b..5bdf06e6 100644 --- a/resources/meta-sr/character/杰帕德/data.json +++ b/resources/meta-sr/character/杰帕德/data.json @@ -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", diff --git a/resources/meta-sr/character/桑博/data.json b/resources/meta-sr/character/桑博/data.json index a31a9017..daff5102 100644 --- a/resources/meta-sr/character/桑博/data.json +++ b/resources/meta-sr/character/桑博/data.json @@ -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": "天赋使敌方陷入化状态的持续时间延长1回合。", + "desc": "天赋使敌方陷入化状态的持续时间延长1回合。", "cost": { "29328": 4000, "270195": 1, @@ -400,7 +442,7 @@ "root": true, "name": "加料", "levelReq": 0, - "desc": "化状态下的敌方目标对桑博造成的伤害降低15.0%。", + "desc": "化状态下的敌方目标对桑博造成的伤害降低15.0%。", "cost": { "29328": 128000, "125435": 1, diff --git a/resources/meta-sr/character/瓦尔特/data.json b/resources/meta-sr/character/瓦尔特/data.json index f398ab8a..f0e9f6db 100644 --- a/resources/meta-sr/character/瓦尔特/data.json +++ b/resources/meta-sr/character/瓦尔特/data.json @@ -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", diff --git a/resources/meta-sr/character/白露/data.json b/resources/meta-sr/character/白露/data.json index b88bbe92..96b81b1d 100644 --- a/resources/meta-sr/character/白露/data.json +++ b/resources/meta-sr/character/白露/data.json @@ -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", diff --git a/resources/meta-sr/character/素裳/data.json b/resources/meta-sr/character/素裳/data.json index f018e6fa..2496c459 100644 --- a/resources/meta-sr/character/素裳/data.json +++ b/resources/meta-sr/character/素裳/data.json @@ -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", diff --git a/resources/meta-sr/character/罗刹/data.json b/resources/meta-sr/character/罗刹/data.json index 6f2e1f32..399c8c06 100644 --- a/resources/meta-sr/character/罗刹/data.json +++ b/resources/meta-sr/character/罗刹/data.json @@ -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", diff --git a/resources/meta-sr/character/艾丝妲/data.json b/resources/meta-sr/character/艾丝妲/data.json index bf6fd9b0..46b98ab2 100644 --- a/resources/meta-sr/character/艾丝妲/data.json +++ b/resources/meta-sr/character/艾丝妲/data.json @@ -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": "施放普攻时,有80.0%的基础概率使敌方目标陷入灼烧状态,持续3回合。
灼烧状态下,敌方目标每回合开始时受到等同于艾丝妲普攻50.0%属性持续伤害。", + "desc": "施放普攻时,有80.0%的基础概率使敌方目标陷入灼烧状态,持续3回合。
灼烧状态下,敌方目标每回合开始时受到等同于艾丝妲普攻50.0%属性持续伤害。", "cost": { "29328": 4000, "635670": 2, @@ -397,7 +439,7 @@ "root": true, "name": "点燃", "levelReq": 0, - "desc": "艾丝妲在场时,我方全体的属性伤害提高18.0%。", + "desc": "艾丝妲在场时,我方全体的属性伤害提高18.0%。", "cost": { "29328": 16000, "125435": 1, diff --git a/resources/meta-sr/character/虎克/data.json b/resources/meta-sr/character/虎克/data.json index 2a82f519..694be1f3 100644 --- a/resources/meta-sr/character/虎克/data.json +++ b/resources/meta-sr/character/虎克/data.json @@ -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", diff --git a/resources/meta-sr/character/银狼/data.json b/resources/meta-sr/character/银狼/data.json index 1a234ee6..aca9aafd 100644 --- a/resources/meta-sr/character/银狼/data.json +++ b/resources/meta-sr/character/银狼/data.json @@ -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", diff --git a/resources/meta-sr/character/阿兰/data.json b/resources/meta-sr/character/阿兰/data.json index 1bbfad73..14e88f4c 100644 --- a/resources/meta-sr/character/阿兰/data.json +++ b/resources/meta-sr/character/阿兰/data.json @@ -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", diff --git a/resources/meta-sr/character/青雀/data.json b/resources/meta-sr/character/青雀/data.json index 3e460900..d2b0e2ad 100644 --- a/resources/meta-sr/character/青雀/data.json +++ b/resources/meta-sr/character/青雀/data.json @@ -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", diff --git a/resources/meta-sr/character/黑塔/data.json b/resources/meta-sr/character/黑塔/data.json index c53442c3..1d145753 100644 --- a/resources/meta-sr/character/黑塔/data.json +++ b/resources/meta-sr/character/黑塔/data.json @@ -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",