fix: #685 #729 #I9CY30 #I9CSTM #I97YLH

This commit is contained in:
Aluxes 2024-04-02 01:39:32 +08:00
parent 3b01e8f4a3
commit 20bdcf2573
No known key found for this signature in database
GPG Key ID: 6696152F9C003087
9 changed files with 28 additions and 28 deletions

View File

@ -25,10 +25,10 @@ export async function profileArtis (e) {
let { game } = char let { game } = char
let charCfg = ArtisMarkCfg.getCfg(profile) let charCfg = ArtisMarkCfg.getCfg(profile)
let { attrMap } = Meta.getMeta('gs', 'arti') let { attrMap } = Meta.getMeta(game, 'arti')
let artisDetail = profile.getArtisMark() let artisDetail = profile.getArtisMark()
let artisKeyTitle = Artifact.getArtisKeyTitle() let artisKeyTitle = Artifact.getArtisKeyTitle(game)
// 渲染图像 // 渲染图像
return e.reply([await Common.render('character/artis-mark', { return e.reply([await Common.render('character/artis-mark', {
@ -43,7 +43,7 @@ export async function profileArtis (e) {
charCfg, charCfg,
game, game,
changeProfile: e._profileMsg changeProfile: e._profileMsg
}, { e, scale: 1.6 / 1.1, retType: "base64" }), new Button(e).profile(char, uid)]) }, { e, scale: 1.6 / 1.1, retType: 'base64' }), new Button(e).profile(char, uid)])
} }
/* /*
@ -94,4 +94,4 @@ export async function profileArtisList (e) {
artis, artis,
artisKeyTitle artisKeyTitle
}, { e, scale: 1.4 }) }, { e, scale: 1.4 })
} }

View File

@ -24,18 +24,19 @@ const ProfileChange = {
if (!/(变|改|换)/.test(msg)) { if (!/(变|改|换)/.test(msg)) {
return false return false
} }
msg = msg.toLowerCase().replace(/uid ?:? ?/, '').replace('', '') let game = /星铁/.test(msg) ? 'sr' : 'gs'
msg = msg.toLowerCase().replace(/uid ?:? ?/, '').replace('星铁', '')
let regRet = /^#*(\d{9,10})?(.+?)(详细|详情|面板|面版|圣遗物|伤害[1-7]?)?\s*(\d{9,10})?[变换改](.+)/.exec(msg) let regRet = /^#*(\d{9,10})?(.+?)(详细|详情|面板|面版|圣遗物|伤害[1-7]?)?\s*(\d{9,10})?[变换改](.+)/.exec(msg)
if (!regRet || !regRet[2]) { if (!regRet || !regRet[2]) {
return false return false
} }
let ret = {} let ret = {}
let change = {} let change = {}
let char = Character.get(lodash.trim(regRet[2]).replace('星铁', '')) let char = Character.get(lodash.trim(regRet[2]).replace(/\d{9,10}/g, ''), game)
game = char.isSr ? 'sr' : 'gs'
if (!char) { if (!char) {
return false return false
} }
const game = char.game
const isGs = game === 'gs' const isGs = game === 'gs'
const keyMap = isGs const keyMap = isGs
? { ? {
@ -68,7 +69,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 ret.game = game
msg = regRet[5] msg = regRet[5]
// 更换匹配 // 更换匹配
@ -81,11 +82,8 @@ const ProfileChange = {
// 匹配圣遗物 // 匹配圣遗物
let keyRet = keyReg.exec(txt) let keyRet = keyReg.exec(txt)
if (keyRet && keyRet[4]) { if (keyRet && keyRet[4]) {
let char = Character.get(lodash.trim(keyRet[2])) let char = Character.get(lodash.trim(keyRet[2]), game)
if (char) { if (char) {
if (char.game !== game) {
return true
}
lodash.forEach(keyRet[4].split('+'), (key) => { lodash.forEach(keyRet[4].split('+'), (key) => {
key = lodash.trim(key) key = lodash.trim(key)
let type = keyTitleMap[key] let type = keyTitleMap[key]
@ -176,8 +174,8 @@ const ProfileChange = {
} }
txt = lodash.trim(txt) txt = lodash.trim(txt)
if (txt) { if (txt) {
let chars = Character.get(txt) let chars = Character.get(txt, game)
if (chars && (chars.game === game)) { if (chars) {
char.char = chars.id char.char = chars.id
} }
} }
@ -285,7 +283,7 @@ const ProfileChange = {
if (ds['arti' + idx]) { if (ds['arti' + idx]) {
let source = getSource(ds['arti' + idx]) let source = getSource(ds['arti' + idx])
if (source && source.artis && source.artis[idx]) { if (source && source.artis && source.artis[idx]) {
artis[idx] = source.artis[idx] artis[idx] = lodash.cloneDeep(source.artis[idx])
} }
} }
let artisIdx = (isGs ? '00111' : '001122')[idx - 1] let artisIdx = (isGs ? '00111' : '001122')[idx - 1]

View File

@ -2,8 +2,8 @@ import lodash from 'lodash'
import { getTargetUid, getProfileRefresh } from './ProfileCommon.js' import { getTargetUid, getProfileRefresh } from './ProfileCommon.js'
import ProfileList from './ProfileList.js' import ProfileList from './ProfileList.js'
import { Cfg, Common, Data, Format } from '#miao' import { Cfg, Common, Data, Format } from '#miao'
import { Button } from '#miao.models' import { Button, MysApi, ProfileRank, Character, Weapon, Artifact } from '#miao.models'
import { MysApi, ProfileRank, Character, Weapon, Artifact } from '#miao.models'
import ProfileChange from './ProfileChange.js' import ProfileChange from './ProfileChange.js'
import { profileArtis } from './ProfileArtis.js' import { profileArtis } from './ProfileArtis.js'
import { ProfileWeapon } from './ProfileWeapon.js' import { ProfileWeapon } from './ProfileWeapon.js'
@ -253,7 +253,7 @@ let ProfileDetail = {
changeProfile: e._profileMsg changeProfile: e._profileMsg
} }
// 渲染图像 // 渲染图像
const msgRes = await e.reply([await Common.render('character/profile-detail', renderData, { e, scale: 1.6, retType: "base64" }), new Button(e).profile(char, uid)]) const msgRes = await e.reply([await Common.render('character/profile-detail', renderData, { e, scale: 1.6, retType: 'base64' }), new Button(e).profile(char, uid)])
if (msgRes) { if (msgRes) {
// 如果消息发送成功就将message_id和图片路径存起来3小时过期 // 如果消息发送成功就将message_id和图片路径存起来3小时过期
const message_id = [e.message_id] const message_id = [e.message_id]

View File

@ -103,7 +103,7 @@ export async function resetRank(e) {
} }
let game = e.isSr ? 'sr' : 'gs' let game = e.isSr ? 'sr' : 'gs'
let msg = e.original_msg || e.msg let msg = e.original_msg || e.msg
let name = msg.replace(/(#|重置|重设|排名|排行|群|群内|面板|详情|面版)/g, '').trim() let name = msg.replace(/(#|星铁|重置|重设|排名|排行|群|群内|面板|详情|面版)/g, '').trim()
let charId = '' let charId = ''
let charName = '全部角色' let charName = '全部角色'
if (name) { if (name) {

View File

@ -117,8 +117,9 @@ let CalSr = {
let abyss1Start = moment(versionStartTime, 'YYYY-MM-DD HH:mm:ss').day(1).hours(4).format(f) let abyss1Start = moment(versionStartTime, 'YYYY-MM-DD HH:mm:ss').day(1).hours(4).format(f)
if (newAbyssStart.diff(abyss1Start, 'days') % 14 !== 0) { let diff0 = Math.abs(newAbyssStart.diff(abyss1Start, 'days') % 14)
abyss1Start = moment(abyss1Start).subtract(7, 'days').format(f) if (diff0 !== 0) {
abyss1Start = moment(abyss1Start).subtract(diff0, 'days').format(f)
} }
let abyss1End = moment(abyss1Start).add(42, 'days').format(f) let abyss1End = moment(abyss1Start).add(42, 'days').format(f)
@ -138,10 +139,10 @@ let CalSr = {
let title1 = '「混沌回忆」' let title1 = '「混沌回忆」'
let title2 = '「虚构叙事」' let title2 = '「虚构叙事」'
let exchange = true let exchange = false
let diff = newAbyssStart.diff(abyss0Start, 'days') let diff = newAbyssStart.diff(abyss0Start, 'days')
if (diff >= 0 && diff % 14 === 0) { if (diff >= 0 && diff % 28 === 0) {
exchange = false exchange = true
} }
if (exchange) { if (exchange) {
[title1, title2] = [title2, title1] [title1, title2] = [title2, title1]

View File

@ -239,8 +239,9 @@ export default {
} }
}, },
4: [attr('cpct', 4), { 4: [attr('cpct', 4), {
title: '对陷入不少于3个负面效果的地方目标造成的暴击伤害提高[cdmg]%', title: '对陷入不少于3个负面效果的敌方目标造成的暴击率额外提高[cpct]%暴击伤害提高[cdmg]%',
data: { data: {
cpct: 4,
cdmg: 24 cdmg: 24
} }
}] }]

View File

@ -42,7 +42,7 @@ export const buffs = [{
enemydmg: ({ talent }) => talent.t['伤害提高'] * 100 * 4 enemydmg: ({ talent }) => talent.t['伤害提高'] * 100 * 4
} }
}, { }, {
title: '行迹-逾锋:对陷入灼烧状态的方目标造成的伤害提高[dmg]%', title: '行迹-逾锋:对陷入灼烧状态的方目标造成的伤害提高[dmg]%',
tree: 3, tree: 3,
data: { data: {
dmg: 20 dmg: 20

View File

@ -23,7 +23,7 @@ export const mainAttr = 'cpct,cdmg,def'
export const defDmgIdx = 1 export const defDmgIdx = 1
export const buffs = [{ export const buffs = [{
title: '终结技-惊惶:击中【惊惶】状态下的方目标时,造成的暴击伤害提高[cdmg]%', title: '终结技-惊惶:击中【惊惶】状态下的方目标时,造成的暴击伤害提高[cdmg]%',
data: { data: {
cdmg: ({ talent }) => talent.q['暴击伤害提高'] * 100 cdmg: ({ talent }) => talent.q['暴击伤害提高'] * 100
} }

View File

@ -13,7 +13,7 @@ export default function (staticIdx, keyIdx) {
], ],
延长记号: [ 延长记号: [
staticIdx(1, 'stance'), staticIdx(1, 'stance'),
keyIdx('对触电或风化状态的方目标伤害提高[dmg]%', 'dmg', 2) keyIdx('对触电或风化状态的方目标伤害提高[dmg]%', 'dmg', 2)
], ],
晚安与睡颜: [ 晚安与睡颜: [
(tables) => { (tables) => {