mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 04:35:42 +00:00
初步支持星铁面板数据获取与展示
This commit is contained in:
parent
ea2919d31f
commit
08e66d28be
@ -1,8 +1,9 @@
|
|||||||
# 2.4.0 Dev
|
# 2.4.0
|
||||||
|
|
||||||
* !!!尚未完成,不推荐切换至Dev!!!
|
|
||||||
* 初步支持星铁面板数据获取与展示
|
* 初步支持星铁面板数据获取与展示
|
||||||
* 面板属性计算暂未包含武器及圣遗物Buff,面板数据暂不准确
|
* 可使用`#星铁更新面板`来获取面板信息,通过`#希儿面板`来进行查看
|
||||||
|
* 部分角色的伤害计算,以及圣遗物评分功能仍在补全中
|
||||||
|
* 使用Miao-Yunzai可使用`*`来代填`#星铁`前缀,并能区分游戏使用不同UID,目前仍在Dev版本,请等待后续更新
|
||||||
|
|
||||||
# 2.3.8
|
# 2.3.8
|
||||||
|
|
||||||
|
@ -55,6 +55,7 @@ const ProfileChange = {
|
|||||||
ret.char = char.id
|
ret.char = char.id
|
||||||
ret.mode = regRet[3] === '换' ? '面板' : regRet[3]
|
ret.mode = regRet[3] === '换' ? '面板' : regRet[3]
|
||||||
ret.uid = regRet[1] || regRet[4] || ''
|
ret.uid = regRet[1] || regRet[4] || ''
|
||||||
|
ret.game = char.game
|
||||||
msg = regRet[5]
|
msg = regRet[5]
|
||||||
|
|
||||||
// 更换匹配
|
// 更换匹配
|
||||||
@ -147,13 +148,15 @@ const ProfileChange = {
|
|||||||
* @param uid
|
* @param uid
|
||||||
* @param charid
|
* @param charid
|
||||||
* @param ds
|
* @param ds
|
||||||
|
* @param game
|
||||||
* @returns {ProfileData|boolean}
|
* @returns {ProfileData|boolean}
|
||||||
*/
|
*/
|
||||||
getProfile (uid, charid, ds) {
|
getProfile (uid, charid, ds, game = 'gs') {
|
||||||
if (!charid) {
|
if (!charid) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
let player = Player.create(uid)
|
|
||||||
|
let player = Player.create(uid, game)
|
||||||
|
|
||||||
let source = player.getProfile(charid)
|
let source = player.getProfile(charid)
|
||||||
let dc = ds.char || {}
|
let dc = ds.char || {}
|
||||||
@ -180,7 +183,7 @@ const ProfileChange = {
|
|||||||
let id = cfg.char || source.id
|
let id = cfg.char || source.id
|
||||||
let key = cuid + ':' + id
|
let key = cuid + ':' + id
|
||||||
if (!profiles[key]) {
|
if (!profiles[key]) {
|
||||||
let cPlayer = Player.create(cuid)
|
let cPlayer = Player.create(cuid, game)
|
||||||
profiles[key] = cPlayer.getProfile(id) || {}
|
profiles[key] = cPlayer.getProfile(id) || {}
|
||||||
}
|
}
|
||||||
return profiles[key]?.id ? profiles[key] : source
|
return profiles[key]?.id ? profiles[key] : source
|
||||||
@ -194,6 +197,7 @@ const ProfileChange = {
|
|||||||
fetter: source.fetter || 10,
|
fetter: source.fetter || 10,
|
||||||
elem: char.elem,
|
elem: char.elem,
|
||||||
dataSource: 'change',
|
dataSource: 'change',
|
||||||
|
_source: 'change',
|
||||||
promote
|
promote
|
||||||
}, char.game, false)
|
}, char.game, false)
|
||||||
|
|
||||||
@ -201,9 +205,12 @@ const ProfileChange = {
|
|||||||
let wCfg = ds.weapon || {}
|
let wCfg = ds.weapon || {}
|
||||||
let wSource = getSource(wCfg).weapon || {}
|
let wSource = getSource(wCfg).weapon || {}
|
||||||
let weapon = Weapon.get(wCfg?.weapon || wSource?.name || defWeapon[char.weaponType], char.game, char.weaponType)
|
let weapon = Weapon.get(wCfg?.weapon || wSource?.name || defWeapon[char.weaponType], char.game, char.weaponType)
|
||||||
|
if (char.isGs) {
|
||||||
if (!weapon || weapon.type !== char.weaponType) {
|
if (!weapon || weapon.type !== char.weaponType) {
|
||||||
weapon = Weapon.get(defWeapon[char.weaponType], char.game)
|
weapon = Weapon.get(defWeapon[char.weaponType], char.game)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let wDs = {
|
let wDs = {
|
||||||
name: weapon.name,
|
name: weapon.name,
|
||||||
star: weapon.star,
|
star: weapon.star,
|
||||||
|
@ -28,8 +28,12 @@ let ProfileDetail = {
|
|||||||
e.reply('面板替换功能已禁用...')
|
e.reply('面板替换功能已禁用...')
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
if (pc.game === 'sr') {
|
||||||
|
e.reply('星铁面板暂不支持面板替换,请等待后续升级...')
|
||||||
|
return true
|
||||||
|
}
|
||||||
e.uid = pc.uid || e.runtime.uid
|
e.uid = pc.uid || e.runtime.uid
|
||||||
profileChange = ProfileChange.getProfile(e.uid, pc.char, pc.change)
|
profileChange = ProfileChange.getProfile(e.uid, pc.char, pc.change, pc.game)
|
||||||
if (profileChange && profileChange.char) {
|
if (profileChange && profileChange.char) {
|
||||||
msg = `#${profileChange.char?.name}${pc.mode || '面板'}`
|
msg = `#${profileChange.char?.name}${pc.mode || '面板'}`
|
||||||
e._profile = profileChange
|
e._profile = profileChange
|
||||||
|
@ -75,9 +75,9 @@ export default class AvatarArtis extends Base {
|
|||||||
arti.set = artiObj.setName || arti.set || ''
|
arti.set = artiObj.setName || arti.set || ''
|
||||||
arti.level = ds.level || arti.level || 1
|
arti.level = ds.level || arti.level || 1
|
||||||
arti.star = artiObj.getStarById(ds.id) || arti.star || 5
|
arti.star = artiObj.getStarById(ds.id) || arti.star || 5
|
||||||
|
let attrIds = ds.attrIds || ds.attrs
|
||||||
if (ds.mainId && ds.attrs) {
|
if (ds.mainId && attrIds) {
|
||||||
let attr = artiObj.getAttrData(ds.mainId, ds.attrs, arti.level, arti.star, idx)
|
let attr = artiObj.getAttrData(ds.mainId, attrIds, arti.level, arti.star, idx)
|
||||||
if (attr) {
|
if (attr) {
|
||||||
arti.mainId = ds.mainId
|
arti.mainId = ds.mainId
|
||||||
arti.main = attr.main || arti.main || {}
|
arti.main = attr.main || arti.main || {}
|
||||||
@ -85,6 +85,8 @@ export default class AvatarArtis extends Base {
|
|||||||
} else {
|
} else {
|
||||||
console.log('attr id error', ds.main, ds.mainId, idx, arti.level, arti.star)
|
console.log('attr id error', ds.main, ds.mainId, idx, arti.level, arti.star)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
arti.attrs = []
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
@ -160,9 +162,9 @@ export default class AvatarArtis extends Base {
|
|||||||
if (this.isSr) {
|
if (this.isSr) {
|
||||||
tmp.id = ds.id
|
tmp.id = ds.id
|
||||||
tmp.mainId = ds.main?.id
|
tmp.mainId = ds.main?.id
|
||||||
tmp.attrs = []
|
tmp.attrIds = []
|
||||||
lodash.forEach(ds.attrs, (as) => {
|
lodash.forEach(ds.attrs, (as) => {
|
||||||
tmp.attrs.push([
|
tmp.attrIds.push([
|
||||||
as?.id || '',
|
as?.id || '',
|
||||||
as?.count || 1,
|
as?.count || 1,
|
||||||
as?.step || 0
|
as?.step || 0
|
||||||
|
@ -94,13 +94,13 @@ const HomoData = {
|
|||||||
id: ds.ID,
|
id: ds.ID,
|
||||||
level: ds.Level || 1,
|
level: ds.Level || 1,
|
||||||
mainId: ds.MainAffixID,
|
mainId: ds.MainAffixID,
|
||||||
attrs: []
|
attrIds: []
|
||||||
}
|
}
|
||||||
lodash.forEach(ds.RelicSubAffix, (s) => {
|
lodash.forEach(ds.RelicSubAffix, (s) => {
|
||||||
if (!s.SubAffixID) {
|
if (!s.SubAffixID) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
tmp.attrs.push([s.SubAffixID, s.Cnt, s.Step || 0].join(','))
|
tmp.attrIds.push([s.SubAffixID, s.Cnt, s.Step || 0].join(','))
|
||||||
})
|
})
|
||||||
ret[ds.Type] = tmp
|
ret[ds.Type] = tmp
|
||||||
})
|
})
|
||||||
|
@ -189,7 +189,7 @@ let ArtisMark = {
|
|||||||
let ds = artis[idx]
|
let ds = artis[idx]
|
||||||
if (ds) {
|
if (ds) {
|
||||||
// 不再支持非id格式的面板
|
// 不再支持非id格式的面板
|
||||||
if (!ds.attrs || !ds.mainId) {
|
if ((!ds.attrIds && !ds.attr) || !ds.mainId) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user