mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-22 06:58:24 +00:00
Avatar增加获取材料相关方法
This commit is contained in:
parent
b2253078f8
commit
f19c1fa7c1
@ -11,7 +11,7 @@ const ProfileStat = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 渲染
|
// 渲染
|
||||||
// isAvatarList true:练度统计 false角色列表
|
// isAvatarList true:角色列表 false练度统计
|
||||||
async render (e, isAvatarList = false) {
|
async render (e, isAvatarList = false) {
|
||||||
// 缓存时间,单位小时
|
// 缓存时间,单位小时
|
||||||
let msg = e.msg.replace('#', '').trim()
|
let msg = e.msg.replace('#', '').trim()
|
||||||
@ -20,6 +20,8 @@ const ProfileStat = {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isTalent = !isAvatarList && /天赋|技能/.test(msg)
|
||||||
|
|
||||||
let mys = await MysApi.init(e)
|
let mys = await MysApi.init(e)
|
||||||
if (!mys || !mys.uid) return false
|
if (!mys || !mys.uid) return false
|
||||||
|
|
||||||
@ -32,6 +34,7 @@ const ProfileStat = {
|
|||||||
detail: 1,
|
detail: 1,
|
||||||
talent: isAvatarList ? 0 : 1,
|
talent: isAvatarList ? 0 : 1,
|
||||||
rank: true,
|
rank: true,
|
||||||
|
materials: isTalent,
|
||||||
retType: 'array',
|
retType: 'array',
|
||||||
sort: true
|
sort: true
|
||||||
})
|
})
|
||||||
|
@ -8,6 +8,7 @@ import Artis from './artis/Artis.js'
|
|||||||
import ProfileAvatar from './avatar/ProfileAvatar.js'
|
import ProfileAvatar from './avatar/ProfileAvatar.js'
|
||||||
import ArtisMark from './artis/ArtisMark.js'
|
import ArtisMark from './artis/ArtisMark.js'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
|
import MysAvatar from './avatar/MysAvatar.js'
|
||||||
|
|
||||||
const charKey = 'name,abbr,sName,star,imgs,face,side,gacha,weaponTypeName'.split(',')
|
const charKey = 'name,abbr,sName,star,imgs,face,side,gacha,weaponTypeName'.split(',')
|
||||||
|
|
||||||
@ -26,7 +27,6 @@ export default class Avatar extends Base {
|
|||||||
this.setAvatar(ds)
|
this.setAvatar(ds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
get hasTalent () {
|
get hasTalent () {
|
||||||
return this.talent && !lodash.isEmpty(this.talent) && !!this._talent
|
return this.talent && !lodash.isEmpty(this.talent) && !!this._talent
|
||||||
}
|
}
|
||||||
@ -91,13 +91,50 @@ export default class Avatar extends Base {
|
|||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get isAvatar () {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是否是合法面板数据
|
||||||
|
get isProfile () {
|
||||||
|
return ProfileAvatar.isProfile(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
// profile.hasData 别名
|
||||||
|
get hasData () {
|
||||||
|
return !!(this.level > 1 || this?.weapon?.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
get imgs () {
|
||||||
|
return this.char.getImgs(this.costume) || {}
|
||||||
|
}
|
||||||
|
|
||||||
|
get costumeSplash () {
|
||||||
|
return ProfileAvatar.getCostumeSplash(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
get hasDmg () {
|
||||||
|
return this.isProfile && !!ProfileDmg.dmgRulePath(this.name, this.game)
|
||||||
|
}
|
||||||
|
|
||||||
|
get artis () {
|
||||||
|
return this._artis
|
||||||
|
}
|
||||||
|
|
||||||
|
static create (ds, game = 'gs') {
|
||||||
|
let profile = new Avatar(ds, game)
|
||||||
|
if (!profile) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return profile
|
||||||
|
}
|
||||||
|
|
||||||
_get (key) {
|
_get (key) {
|
||||||
if (charKey.includes(key)) {
|
if (charKey.includes(key)) {
|
||||||
return this.char[key]
|
return this.char[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置角色基础数据
|
* 设置角色基础数据
|
||||||
* @param ds
|
* @param ds
|
||||||
@ -253,44 +290,6 @@ export default class Avatar extends Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get isAvatar () {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// 是否是合法面板数据
|
|
||||||
get isProfile () {
|
|
||||||
return ProfileAvatar.isProfile(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
// profile.hasData 别名
|
|
||||||
get hasData () {
|
|
||||||
return !!(this.level > 1 || this?.weapon?.name)
|
|
||||||
}
|
|
||||||
|
|
||||||
get imgs () {
|
|
||||||
return this.char.getImgs(this.costume) || {}
|
|
||||||
}
|
|
||||||
|
|
||||||
get costumeSplash () {
|
|
||||||
return ProfileAvatar.getCostumeSplash(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
get hasDmg () {
|
|
||||||
return this.isProfile && !!ProfileDmg.dmgRulePath(this.name, this.game)
|
|
||||||
}
|
|
||||||
|
|
||||||
get artis () {
|
|
||||||
return this._artis
|
|
||||||
}
|
|
||||||
|
|
||||||
static create (ds, game = 'gs') {
|
|
||||||
let profile = new Avatar(ds, game)
|
|
||||||
if (!profile) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return profile
|
|
||||||
}
|
|
||||||
|
|
||||||
setAvatarBase (ds, source = '') {
|
setAvatarBase (ds, source = '') {
|
||||||
this._now = new Date() * 1
|
this._now = new Date() * 1
|
||||||
this.setBasic(ds, source)
|
this.setBasic(ds, source)
|
||||||
@ -373,4 +372,8 @@ export default class Avatar extends Base {
|
|||||||
getArtisDetail (mysArtis = false) {
|
getArtisDetail (mysArtis = false) {
|
||||||
return (mysArtis ? this.mysArtis : this.artis).getDetail()
|
return (mysArtis ? this.mysArtis : this.artis).getDetail()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getMaterials () {
|
||||||
|
return MysAvatar.getMaterials(this)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -360,8 +360,10 @@ export default class Player extends Base {
|
|||||||
* @param cfg.detail mys-detail数据更新级别,角色列表与详情
|
* @param cfg.detail mys-detail数据更新级别,角色列表与详情
|
||||||
* @param cfg.talent mys-talent数据更新级别,角色天赋数据
|
* @param cfg.talent mys-talent数据更新级别,角色天赋数据
|
||||||
* @param cfg.index mys-index数据更新级别,游戏统计数据
|
* @param cfg.index mys-index数据更新级别,游戏统计数据
|
||||||
|
* @param cfg.materials 是否返回角色的材料,默认false
|
||||||
* @param cfg.retType 返回类型,默认id为key对象,设置为array时返回数组
|
* @param cfg.retType 返回类型,默认id为key对象,设置为array时返回数组
|
||||||
* @param cfg.rank 返回为数组时,数据是否排序,排序规则:等级、星级、天赋、命座、武器、好感的顺序排序
|
* @param cfg.rank 面板数据是否参与群排序
|
||||||
|
* @param cfg.sort 返回为数组时,数据是否排序,排序规则:等级、星级、天赋、命座、武器、好感的顺序排序
|
||||||
* @returns {Promise<any[]|{}>}
|
* @returns {Promise<any[]|{}>}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -390,6 +392,9 @@ export default class Player extends Base {
|
|||||||
rank.getRank(profile)
|
rank.getRank(profile)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (cfg.materials) {
|
||||||
|
ds.materials = avatar.getMaterials()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
if (cfg.retType !== 'array') {
|
if (cfg.retType !== 'array') {
|
||||||
return avatarRet
|
return avatarRet
|
||||||
@ -402,4 +407,6 @@ export default class Player extends Base {
|
|||||||
}
|
}
|
||||||
return avatarRet
|
return avatarRet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -317,6 +317,14 @@ const MysAvatar = {
|
|||||||
stats.avatar5 = avatar5Count
|
stats.avatar5 = avatar5Count
|
||||||
ret.stats = stats
|
ret.stats = stats
|
||||||
return ret
|
return ret
|
||||||
|
},
|
||||||
|
|
||||||
|
getMaterials (avatar) {
|
||||||
|
let ret = {}
|
||||||
|
let { char } = avatar
|
||||||
|
ret.talent = char.getMaterials('talent')
|
||||||
|
ret.weekly = char.getMaterials('weekly')
|
||||||
|
return ret
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default MysAvatar
|
export default MysAvatar
|
||||||
|
Loading…
Reference in New Issue
Block a user