更新对e.game的处理逻辑
@ -1,4 +1,4 @@
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import { exec } from 'child_process'
|
||||
import { Cfg, Common, Data, Version, App } from '#miao'
|
||||
|
@ -1,4 +1,4 @@
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import { promisify } from 'util'
|
||||
import { pipeline } from 'stream'
|
||||
import MD5 from 'md5'
|
||||
|
@ -1,7 +1,7 @@
|
||||
import lodash from 'lodash'
|
||||
import { Data } from '#miao'
|
||||
import { Character, Weapon } from '#miao.models'
|
||||
import { poolDetail } from '../../resources/meta/info/index.js'
|
||||
import { poolDetail } from '../../resources/meta-gs/info/index.js'
|
||||
import moment from 'moment'
|
||||
|
||||
let poolVersion = []
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Cfg, Common, Data, Version } from '#miao'
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import HelpTheme from './HelpTheme.js'
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import lodash from 'lodash'
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import { Data } from '#miao'
|
||||
|
||||
let HelpTheme = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import cfgData from './cfg/CfgData.js'
|
||||
import { Version } from '#miao'
|
||||
|
@ -1,4 +1,4 @@
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import { Data } from '#miao'
|
||||
|
||||
|
@ -40,7 +40,7 @@ class Artifact extends Base {
|
||||
|
||||
get img () {
|
||||
return this.isGs ?
|
||||
`meta/artifact/imgs/${this.setName}/${this.idx}.webp` :
|
||||
`meta-gs/artifact/imgs/${this.setName}/${this.idx}.webp` :
|
||||
`meta-sr/artifact/${this.setName}/arti-${this.idx}.webp`
|
||||
}
|
||||
|
||||
|
@ -208,6 +208,9 @@ export default class Avatar extends Base {
|
||||
|
||||
// 设置天赋
|
||||
setTalent (ds = false, mode = 'original', updateTime = '') {
|
||||
if (!this.char) {
|
||||
return false
|
||||
}
|
||||
const now = this._now || (new Date()) * 1
|
||||
if (ds) {
|
||||
let ret = this.char.getAvatarTalent(ds, this.cons, mode)
|
||||
|
@ -299,7 +299,7 @@ class Character extends Base {
|
||||
}
|
||||
try {
|
||||
let name = this.isTraveler ? `旅行者/${this.elem}` : this.name
|
||||
this.meta._detail = Data.readJSON(`resources/meta${this.isSr ? '-sr' : ''}/character/${name}/data.json`, 'miao')
|
||||
this.meta._detail = Data.readJSON(`resources/meta-${this.game}/character/${name}/data.json`, 'miao')
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ import Base from './Base.js'
|
||||
import { Data } from '#miao'
|
||||
import MaterialMeta from './material/MaterialMeta.js'
|
||||
|
||||
let data = Data.readJSON('resources/meta/material/data.json','miao')
|
||||
let abbr = await Data.importDefault('resources/meta/material/abbr.js', 'miao')
|
||||
let data = Data.readJSON('resources/meta-gs/material/data.json','miao')
|
||||
let abbr = await Data.importDefault('resources/meta-gs/material/abbr.js', 'miao')
|
||||
let mMap = {}
|
||||
let getItem = (ds) => {
|
||||
mMap[ds.name] = {
|
||||
@ -72,7 +72,7 @@ class Material extends Base {
|
||||
}
|
||||
|
||||
get img () {
|
||||
return `meta/material/${this.type}/${this.name}.webp`
|
||||
return `meta-gs/material/${this.type}/${this.name}.webp`
|
||||
}
|
||||
|
||||
get icon () {
|
||||
|
@ -63,7 +63,7 @@ export default class Player extends Base {
|
||||
let imgs = char?.imgs || {}
|
||||
return {
|
||||
face: imgs.face || '/common/item/face.webp',
|
||||
banner: imgs.banner || `/meta${this.isSr ? '-sr' : ''}/character/common/imgs/banner.webp`
|
||||
banner: imgs.banner || `/meta-${this.game}/character/common/imgs/banner.webp`
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import Base from './Base.js'
|
||||
import { Character } from './index.js'
|
||||
import DmgBuffs from './dmg/DmgBuffs.js'
|
||||
import DmgAttr from './dmg/DmgAttr.js'
|
||||
import DmgCalc from './dmg/DmgCalc.js'
|
||||
import { Common, MiaoError, Meta } from '#miao'
|
||||
import { MiaoError, Meta } from '#miao'
|
||||
|
||||
export default class ProfileDmg extends Base {
|
||||
constructor (profile = {}, game = 'gs') {
|
||||
@ -20,18 +20,11 @@ export default class ProfileDmg extends Base {
|
||||
|
||||
static dmgRulePath (name, game = 'gs') {
|
||||
const _path = process.cwd()
|
||||
const meta = game === 'sr' ? 'meta-sr' : 'meta'
|
||||
let path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc_user.js`
|
||||
for (let file of ['calc_user', 'calc_auto', 'calc']) {
|
||||
let path = `${_path}/plugins/miao-plugin/resources/meta-${game}/character/${name}/${file}.js`
|
||||
if (fs.existsSync(path)) {
|
||||
return path
|
||||
}
|
||||
path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc_auto.js`
|
||||
if (fs.existsSync(path) && Common.cfg('teamCalc')) {
|
||||
return path
|
||||
}
|
||||
path = `${_path}/plugins/miao-plugin/resources/${meta}/character/${name}/calc.js`
|
||||
if (fs.existsSync(path)) {
|
||||
return path
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ class Weapon extends Base {
|
||||
}
|
||||
|
||||
get img () {
|
||||
return `${this.isGs ? 'meta' : 'meta-sr'}/weapon/${this.type}/${this.name}/icon.webp`
|
||||
return `${this.isGs ? 'meta-gs' : 'meta-sr'}/weapon/${this.type}/${this.name}/icon.webp`
|
||||
}
|
||||
|
||||
get abbr () {
|
||||
@ -41,9 +41,9 @@ class Weapon extends Base {
|
||||
get imgs () {
|
||||
if (this.isGs) {
|
||||
return {
|
||||
icon: `meta/weapon/${this.type}/${this.name}/icon.webp`,
|
||||
icon2: `meta/weapon/${this.type}/${this.name}/awaken.webp`,
|
||||
gacha: `meta/weapon/${this.type}/${this.name}/gacha.webp`
|
||||
icon: `meta-gs/weapon/${this.type}/${this.name}/icon.webp`,
|
||||
icon2: `meta-gs/weapon/${this.type}/${this.name}/awaken.webp`,
|
||||
gacha: `meta-gs/weapon/${this.type}/${this.name}/gacha.webp`
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
@ -114,7 +114,7 @@ class Weapon extends Base {
|
||||
if (this._detail) {
|
||||
return this._detail
|
||||
}
|
||||
const path = this.isGs ? 'resources/meta/weapon' : 'resources/meta-sr/weapon'
|
||||
const path = this.isGs ? 'resources/meta-gs/weapon' : 'resources/meta-sr/weapon'
|
||||
try {
|
||||
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
|
||||
} catch (e) {
|
||||
|
@ -117,6 +117,11 @@ let ArtisMark = {
|
||||
mainKey = 'dmg'
|
||||
}
|
||||
fixPct = Math.max(0, Math.min(1, (attrs[mainKey]?.weight || 0) / (posMaxMark['m' + idx])))
|
||||
if (game === 'gs') {
|
||||
if (['atk', 'hp', 'def'].includes(mainKey) && attrs[mainKey]?.weight >= 75) {
|
||||
fixPct = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
ret += (attrs[mainKey]?.mark || 0) * (mAttr.value || 0) / 4
|
||||
}
|
||||
@ -201,7 +206,7 @@ let ArtisMark = {
|
||||
})
|
||||
let setData = artis.getSetData()
|
||||
artis.mark = totalMark
|
||||
artis.markClass = ArtisMark.getMarkClass(totalMark / 5)
|
||||
artis.markClass = ArtisMark.getMarkClass(totalMark / (this.isGs ? 5 : 6))
|
||||
let ret = {
|
||||
classTitle: charCfg.classTitle,
|
||||
artis: artisRet,
|
||||
|
@ -84,7 +84,7 @@ const ArtisMarkCfg = {
|
||||
}
|
||||
|
||||
let charRule = char.getArtisCfg() || function ({ def }) {
|
||||
return def(usefulAttr[char.name] || {})
|
||||
return def(usefulAttr[char.name] || { atk: 75, cpct: 100, cdmg: 100, dmg: 100, phy: 100 })
|
||||
}
|
||||
|
||||
if (charRule) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import lodash from 'lodash'
|
||||
import moment from 'moment'
|
||||
import { Data } from '#miao'
|
||||
import { chestInfo } from '../../resources/meta/info/index.js'
|
||||
import { chestInfo } from '../../resources/meta-gs/info/index.js'
|
||||
import AvatarUtil from './AvatarUtil.js'
|
||||
|
||||
const MysAvatar = {
|
||||
|
@ -64,7 +64,7 @@ const ProfileAvatar = {
|
||||
return this.char.getImgs(profile._costume).splash
|
||||
}
|
||||
|
||||
let nPath = `meta/character/${name}`
|
||||
let nPath = `meta-gs/character/${name}`
|
||||
let isSuper = false
|
||||
let talent = profile.talent ? lodash.map(profile.talent, (ds) => ds.original).join('') : ''
|
||||
if (profile.cons === 6 || ['ACE', 'MAX'].includes(profile.artis?.markClass) || talent === '101010') {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Data } from '#miao'
|
||||
import lodash from 'lodash'
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
|
||||
const charPath = process.cwd() + '/plugins/miao-plugin/resources/meta/character'
|
||||
const charPath = process.cwd() + '/plugins/miao-plugin/resources/meta-gs/character'
|
||||
let cfgMap = {
|
||||
char: {},
|
||||
async init () {
|
||||
@ -28,7 +28,7 @@ let cfgMap = {
|
||||
return fs.existsSync(`${charPath}/${char}/${file}.js`)
|
||||
},
|
||||
async getCfg (char, file, module = '') {
|
||||
let cfg = await Data.importModule(`resources/meta/character/${char}/${file}.js`, 'miao')
|
||||
let cfg = await Data.importModule(`resources/meta-gs/character/${char}/${file}.js`, 'miao')
|
||||
if (module) {
|
||||
return cfg[module]
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/**
|
||||
* 角色照片及角色图像资源相关
|
||||
* */
|
||||
import fs from 'fs'
|
||||
import fs from 'node:fs'
|
||||
import lodash from 'lodash'
|
||||
import sizeOf from 'image-size'
|
||||
import { Cfg } from '#miao'
|
||||
@ -90,8 +90,8 @@ const CharImg = {
|
||||
if (!['空', '荧', '旅行者'].includes(name)) {
|
||||
travelerElem = ''
|
||||
}
|
||||
const nPath = `/meta/character/${name}/`
|
||||
const tPath = `/meta/character/旅行者/${travelerElem}/`
|
||||
const nPath = `/meta-gs/character/${name}/`
|
||||
const tPath = `/meta-gs/character/旅行者/${travelerElem}/`
|
||||
let add = (key, path, path2) => {
|
||||
if (path2 && fs.existsSync(`${rPath}/${nPath}/${path2}.${fileType}`)) {
|
||||
imgs[key] = `${nPath}${path2}.${fileType}`
|
||||
|
@ -14,9 +14,9 @@ import Weapon from './Weapon.js'
|
||||
import User from './User.js'
|
||||
import MysApi from './MysApi.js'
|
||||
|
||||
for (let game of ['meta', 'meta-sr']) {
|
||||
for (let game of ['gs', 'sr']) {
|
||||
for (let type of ['artifact', 'character', 'material', 'weapon']) {
|
||||
let file = `./plugins/miao-plugin/resources/${game}/${type}/index.js`
|
||||
let file = `./plugins/miao-plugin/resources/meta-${game}/${type}/index.js`
|
||||
if (fs.existsSync(file)) {
|
||||
try {
|
||||
await import(`file://${process.cwd()}/${file}`)
|
||||
|
@ -8,8 +8,8 @@
|
||||
{{block 'main'}}
|
||||
<div class="uid">UID {{uid}}</div>
|
||||
|
||||
<div class="artis">
|
||||
|
||||
<div class="profile-cont game-{{game}}">
|
||||
<div class="artis">
|
||||
{{each artis ds}}
|
||||
<div class="item arti">
|
||||
{{if ds && ds.name && ds.main && ds.main.key && ds.main.key!="undefined"}}
|
||||
@ -29,7 +29,8 @@
|
||||
{{each ds.attrs attr}}
|
||||
{{if attr && attr.key}}
|
||||
<li class="{{ds.charWeight[attr.key]*1 > 79.9 ?`great`:(ds.charWeight[attr.key]*1>0 ? `useful`:`nouse`)}}">
|
||||
<span class="title">{{if attr.eff}}<i class="eff">{{attr.eff || ''}}</i>{{/if}}{{if attr.upNum}}<i class="up-num up-{{attr.upNum}}"></i>{{/if}}{{artisKeyTitle[attr.key]}}</span>
|
||||
<span class="title">{{if attr.eff}}<i class="eff">{{attr.eff || ''}}</i>{{/if}}{{if attr.upNum}}<i
|
||||
class="up-num up-{{attr.upNum}}"></i>{{/if}}{{artisKeyTitle[attr.key]}}</span>
|
||||
<span class="val">+{{attr.value}}</span></li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@ -37,5 +38,6 @@
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/block}}
|
@ -57,7 +57,6 @@ body,
|
||||
width: 650px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.artis .no-bg {
|
||||
opacity: 0;
|
||||
|
@ -12,7 +12,8 @@
|
||||
|
||||
{{block 'main'}}
|
||||
{{set ad = artisDetail}}
|
||||
<div class="basic">
|
||||
<div class="profile-cont game-{{game}}">
|
||||
<div class="basic">
|
||||
<div class="main-pic"
|
||||
style="background-image:url({{_res_path}}{{splash}})"></div>
|
||||
<div class="detail">
|
||||
@ -29,10 +30,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="artis">
|
||||
<div class="artis">
|
||||
<% for(let idx = 1; idx<=(game==='gs'?5:6); idx++) {
|
||||
let ds = ad?.artis[idx]
|
||||
%>
|
||||
@ -100,18 +101,18 @@
|
||||
{{/if}}
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{if changeProfile}}
|
||||
<div class="cont">
|
||||
{{if changeProfile}}
|
||||
<div class="cont">
|
||||
<div class="cont-footer dmg-desc">
|
||||
<strong>该面板为非实际数据。当前替换命令:</strong> {{changeProfile}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 词条规则 -->
|
||||
<div class="cont">
|
||||
<!-- 词条规则 -->
|
||||
<div class="cont">
|
||||
<div class="cont-title">
|
||||
{{data.name}}评分规则: {{charCfg.classTitle}}
|
||||
</div>
|
||||
@ -150,10 +151,10 @@
|
||||
<li><strong>词条得分:</strong> 词条数值 * 当前词条每点得分。小攻击、小防御、小生命折算为对应百分比词条进行计分</li>
|
||||
<li><strong>原始总分(对齐前):</strong>计算所有副词条的评分之和,沙杯头三个位置附加25%的主词条评分</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 位置规则 -->
|
||||
<div class="cont">
|
||||
<!-- 位置规则 -->
|
||||
<div class="cont">
|
||||
<div class="cont-title">
|
||||
圣遗物评分计算
|
||||
</div>
|
||||
@ -211,10 +212,10 @@
|
||||
<li><strong>得分级别:</strong>MAX(>56分) / ACE(>49分) / SSS(>42分) / SS(>35分) / S(>28分) / A / B / C / D
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cont">
|
||||
<div class="cont">
|
||||
<div class="cont-title">圣遗物评分补充说明</div>
|
||||
<ul class="cont-msg">
|
||||
<li>圣遗物评分的目标是对角色圣遗物词条进行一个快速的评估,一般来说评分更高的圣遗物可能会更匹配角色</li>
|
||||
@ -224,5 +225,6 @@
|
||||
<li>喵喵逻辑与通用的评分不同,请勿横向比较分值。当前评分逻辑仍在完善中,如有问题请反馈给喵喵</li>
|
||||
<li>目前为角色通用逻辑,后期会补充同角色不同流派(例如血牛钟离、暴力芭芭拉)的判定及评分逻辑,以使评分更加精准</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/block}}
|
||||
|
@ -76,7 +76,6 @@ body, .container {
|
||||
width: 650px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 0 10px;
|
||||
|
||||
.no-bg {
|
||||
opacity: 0;
|
||||
|
@ -143,6 +143,9 @@ body {
|
||||
.char-attr li .value2 .base {
|
||||
color: #eee;
|
||||
}
|
||||
.char-attr li .value2 .base.zero {
|
||||
color: #aaaa;
|
||||
}
|
||||
.char-attr li .value2 .plus {
|
||||
color: #90e800;
|
||||
}
|
||||
@ -289,42 +292,6 @@ body {
|
||||
filter: grayscale(100%);
|
||||
opacity: 0.4;
|
||||
}
|
||||
.elem_anemo .talent-icon {
|
||||
background-image: url(../common/bg/talent-anemo.png);
|
||||
}
|
||||
.elem_anemo .container {
|
||||
background-image: url(../common/bg/bg-anemo.jpg);
|
||||
}
|
||||
.elem_cryo .talent-icon {
|
||||
background-image: url(../common/bg/talent-cryo.png);
|
||||
}
|
||||
.elem_cryo .container {
|
||||
background-image: url(../common/bg/bg-cryo.jpg);
|
||||
}
|
||||
.elem_electro .talent-icon {
|
||||
background-image: url(../common/bg/talent-electro.png);
|
||||
}
|
||||
.elem_electro .container {
|
||||
background-image: url(../common/bg/bg-electro.jpg);
|
||||
}
|
||||
.elem_geo .talent-icon {
|
||||
background-image: url(../common/bg/talent-geo.png);
|
||||
}
|
||||
.elem_geo .container {
|
||||
background-image: url(../common/bg/bg-geo.jpg);
|
||||
}
|
||||
.elem_hydro .talent-icon {
|
||||
background-image: url(../common/bg/talent-hydro.png);
|
||||
}
|
||||
.elem_hydro .container {
|
||||
background-image: url(../common/bg/bg-hydro.jpg);
|
||||
}
|
||||
.elem_pyro .talent-icon {
|
||||
background-image: url(../common/bg/talent-pyro.png);
|
||||
}
|
||||
.elem_pyro .container {
|
||||
background-image: url(../common/bg/bg-pyro.jpg);
|
||||
}
|
||||
.data-info {
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
@ -402,28 +369,30 @@ body {
|
||||
.dmg-cont .tr > div.value-none {
|
||||
box-shadow: none;
|
||||
}
|
||||
.dmg-cont .thead {
|
||||
.dmg-cont .tr.thead {
|
||||
text-align: center;
|
||||
}
|
||||
.dmg-cont .thead > div {
|
||||
.dmg-cont .tr.thead > div {
|
||||
color: #d3bc8e;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
font-size: 15px;
|
||||
}
|
||||
.dmg-cont .title,
|
||||
.dmg-cont .th {
|
||||
.dmg-cont .tr .title,
|
||||
.dmg-cont .tr .th {
|
||||
color: #d3bc8e;
|
||||
padding-right: 15px;
|
||||
text-align: right;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
}
|
||||
.profile-mode .dmg-idx {
|
||||
display: none !important;
|
||||
}
|
||||
.profile-mode .dmg-title {
|
||||
width: 33.3333%;
|
||||
width: 40%;
|
||||
}
|
||||
.dmg-mode .dmg-idx,
|
||||
.weapon-mode .dmg-idx {
|
||||
@ -976,6 +945,7 @@ body {
|
||||
display: table;
|
||||
color: #fff;
|
||||
min-height: 100px;
|
||||
width: 100%;
|
||||
}
|
||||
.sr-weapon .weapon-img {
|
||||
display: table-cell;
|
||||
|
@ -60,7 +60,7 @@
|
||||
{{attr[key]}}
|
||||
</div>
|
||||
<div class="value2">
|
||||
<span class="base">{{attr[key+'Base']}}</span>
|
||||
<span class="base {{attr[key+'Base'] === '0.0%' ? 'zero':''}}">{{attr[key+'Base']}}</span>
|
||||
<span class="plus">+{{attr[key+'Plus']}}</span>
|
||||
</div>
|
||||
|
||||
|
@ -160,6 +160,10 @@ body {
|
||||
|
||||
.base {
|
||||
color: #eee;
|
||||
|
||||
&.zero {
|
||||
color: #aaaa;
|
||||
}
|
||||
}
|
||||
|
||||
.plus {
|
||||
@ -347,59 +351,6 @@ body {
|
||||
}
|
||||
|
||||
|
||||
.elem_anemo .talent-icon {
|
||||
background-image: url(../common/bg/talent-anemo.png)
|
||||
}
|
||||
|
||||
.elem_anemo .container {
|
||||
background-image: url(../common/bg/bg-anemo.jpg);
|
||||
}
|
||||
|
||||
|
||||
.elem_cryo .talent-icon {
|
||||
background-image: url(../common/bg/talent-cryo.png)
|
||||
}
|
||||
|
||||
.elem_cryo .container {
|
||||
background-image: url(../common/bg/bg-cryo.jpg);
|
||||
}
|
||||
|
||||
|
||||
.elem_electro .talent-icon {
|
||||
background-image: url(../common/bg/talent-electro.png)
|
||||
}
|
||||
|
||||
.elem_electro .container {
|
||||
background-image: url(../common/bg/bg-electro.jpg);
|
||||
}
|
||||
|
||||
|
||||
.elem_geo .talent-icon {
|
||||
background-image: url(../common/bg/talent-geo.png)
|
||||
}
|
||||
|
||||
.elem_geo .container {
|
||||
background-image: url(../common/bg/bg-geo.jpg);
|
||||
}
|
||||
|
||||
|
||||
.elem_hydro .talent-icon {
|
||||
background-image: url(../common/bg/talent-hydro.png)
|
||||
}
|
||||
|
||||
.elem_hydro .container {
|
||||
background-image: url(../common/bg/bg-hydro.jpg);
|
||||
}
|
||||
|
||||
|
||||
.elem_pyro .talent-icon {
|
||||
background-image: url(../common/bg/talent-pyro.png)
|
||||
}
|
||||
|
||||
.elem_pyro .container {
|
||||
background-image: url(../common/bg/bg-pyro.jpg);
|
||||
}
|
||||
|
||||
.data-info {
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
@ -446,13 +397,13 @@ body {
|
||||
color: #d3bc8e;
|
||||
padding: 10px 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.cont-title span {
|
||||
span {
|
||||
font-size: 12px;
|
||||
color: #aaa;
|
||||
margin-left: 10px;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
.cont-footer {
|
||||
@ -469,49 +420,52 @@ body {
|
||||
|
||||
.dmg-cont .tr {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.dmg-cont .tr:nth-child(even) {
|
||||
|
||||
&:nth-child(even) {
|
||||
background: rgba(0, 0, 0, .4);
|
||||
}
|
||||
}
|
||||
|
||||
.dmg-cont .tr:nth-child(odd) {
|
||||
&:nth-child(odd) {
|
||||
background: rgba(50, 50, 50, .4);
|
||||
}
|
||||
}
|
||||
|
||||
.dmg-cont .tr > div {
|
||||
& > div {
|
||||
display: table-cell;
|
||||
box-shadow: 0 0 1px 0 #fff;
|
||||
}
|
||||
|
||||
.dmg-cont .tr > div.value-full {
|
||||
&.value-full {
|
||||
display: table;
|
||||
width: 200%;
|
||||
}
|
||||
}
|
||||
|
||||
.dmg-cont .tr > div.value-none {
|
||||
&.value-none {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dmg-cont .thead {
|
||||
|
||||
&.thead {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.dmg-cont .thead > div {
|
||||
& > div {
|
||||
color: #d3bc8e;
|
||||
background: rgba(0, 0, 0, .4);
|
||||
line-height: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.dmg-cont .title,
|
||||
.dmg-cont .th {
|
||||
.title,
|
||||
.th {
|
||||
color: #d3bc8e;
|
||||
padding-right: 15px;
|
||||
text-align: right;
|
||||
background: rgba(0, 0, 0, .4);
|
||||
min-width: 100px;
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.profile-mode .dmg-idx {
|
||||
@ -519,7 +473,7 @@ body {
|
||||
}
|
||||
|
||||
.profile-mode .dmg-title {
|
||||
width: 33.3333%;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.dmg-mode,
|
||||
@ -1199,6 +1153,7 @@ body {
|
||||
display: table;
|
||||
color: #fff;
|
||||
min-height: 100px;
|
||||
width: 100%;
|
||||
|
||||
.weapon-img {
|
||||
display: table-cell;
|
||||
|
@ -8,16 +8,18 @@
|
||||
|
||||
{{block 'main'}}
|
||||
{{set demo = chars[0]?.abbr || "雷神" }}
|
||||
<div class="head-box">
|
||||
<div class="profile-cont game-{{game}}">
|
||||
<div class="head-box">
|
||||
<div class="title">#面板列表
|
||||
<div class="label">UID:{{uid}}</div>
|
||||
</div>
|
||||
{{if msg}}
|
||||
<div class="label">{{msg}}</div>
|
||||
{{/if}}
|
||||
<div class="label">你可以使用<span>#{{demo}}面板</span>、<span>#{{demo}}伤害</span>、<span>#{{demo}}圣遗物</span>命令来查看面板信息了</div>
|
||||
</div>
|
||||
<div class="cont group-rank-tip {{groupRank?'has-rank':'no-rank'}}">
|
||||
<div class="label">你可以使用<span>#{{demo}}面板</span>、<span>#{{demo}}伤害</span>、<span>#{{demo}}圣遗物</span>命令来查看面板信息了
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont group-rank-tip {{groupRank?'has-rank':'no-rank'}}">
|
||||
<div class="cont-title">
|
||||
{{if !allowRank}}
|
||||
<span> <i class="group-rank-icon dmg-icon"></i>本面板暂未参与排名,参与要求:{{rankCfg.limitTxt}} </span>
|
||||
@ -31,8 +33,8 @@
|
||||
</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont {{groupRank?'has-rank':'no-rank'}}">
|
||||
</div>
|
||||
<div class="cont {{groupRank?'has-rank':'no-rank'}}">
|
||||
<div class="char-list">
|
||||
{{each chars char}}
|
||||
<div class="char-item {{char.isNew&&hasNew ?'new-char':''}}">
|
||||
@ -61,5 +63,6 @@
|
||||
当前更新服务:{{servName}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/block}}
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |