diff --git a/lib/plugins/loader.js b/lib/plugins/loader.js
index b7b31dc..c6bbf38 100644
--- a/lib/plugins/loader.js
+++ b/lib/plugins/loader.js
@@ -356,6 +356,9 @@ class PluginsLoader {
case 'text':
/** 中文#转为英文 */
val.text = val.text.replace(/#|井/g, '#').trim()
+ if(/星铁|崩坏星穹铁道|铁道|星轨|星穹铁道|\/common\//.test(val.text)){
+ e.isSr = true
+ }
if (e.msg) {
e.msg += val.text
} else {
diff --git a/plugins/genshin/apps/gcLog.js b/plugins/genshin/apps/gcLog.js
index 27650ea..09c6a5a 100644
--- a/plugins/genshin/apps/gcLog.js
+++ b/plugins/genshin/apps/gcLog.js
@@ -32,7 +32,7 @@ export class gcLog extends plugin {
fnc: 'logJson'
},
{
- reg: '^#*(抽卡|抽奖|角色|武器|常驻|up)池*(记录|祈愿|分析)$',
+ reg: '^#*(原神|星铁|崩坏星穹铁道|铁道)?(抽卡|抽奖|角色|武器|常驻|up|新手|光锥)池*(记录|祈愿|分析)$',
fnc: 'getLog'
},
{
@@ -48,7 +48,7 @@ export class gcLog extends plugin {
fnc: 'helpPort'
},
{
- reg: '^#*(抽卡|抽奖|角色|武器|常驻|up)池*统计$',
+ reg: '^#*(原神|星铁|崩坏星穹铁道|铁道)?(抽卡|抽奖|角色|武器|常驻|up|新手|光锥)池*统计$',
fnc: 'logCount'
}
]
@@ -58,9 +58,11 @@ export class gcLog extends plugin {
}
async init () {
- let file = './data/gachaJson'
- if (!fs.existsSync(file)) {
- fs.mkdirSync(file)
+ let file = ['./data/gachaJson','./data/srJson','./temp/html/StarRail']
+ for(let i of file){
+ if (!fs.existsSync(i)) {
+ fs.mkdirSync(i)
+ }
}
}
@@ -95,8 +97,12 @@ export class gcLog extends plugin {
let data = await new GachaLog(this.e).logUrl()
if (!data) return
-
- let img = await puppeteer.screenshot('gachaLog', data)
+ let url='gachaLog'
+ if(this.e.isSr){
+ data.tplFile='./plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html'
+ url='StarRail/gachaLog'
+ }
+ let img = await puppeteer.screenshot(url, data)
if (img) await this.reply(img)
}
@@ -118,8 +124,12 @@ export class gcLog extends plugin {
if (!data) return false
if (typeof data != 'object') return
-
- let img = await puppeteer.screenshot('gachaLog', data)
+ let url='gachaLog'
+ if(this.e.isSr){
+ data.tplFile='./plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html'
+ url='StarRail/gachaLog'
+ }
+ let img = await puppeteer.screenshot(url, data)
if (img) await this.reply(img)
}
@@ -127,8 +137,12 @@ export class gcLog extends plugin {
async getLog () {
let data = await new GachaLog(this.e).getLogData()
if (!data) return
-
- let img = await puppeteer.screenshot('gachaLog', data)
+ let url='gachaLog'
+ if(this.e.isSr){
+ data.tplFile='./plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html'
+ url='StarRail/gachaLog'
+ }
+ let img = await puppeteer.screenshot(url, data)
if (img) await this.reply(img)
}
@@ -139,7 +153,7 @@ export class gcLog extends plugin {
return
}
- let friend = this.e.bot.fl.get(Number(this.e.user_id))
+ let friend = Bot.fl.get(Number(this.e.user_id))
if (!friend) {
await this.reply('无法发送文件,请先添加好友')
return
@@ -201,8 +215,12 @@ export class gcLog extends plugin {
async logCount () {
let data = await new LogCount(this.e).count()
if (!data) return
-
- let img = await puppeteer.screenshot('logCount', data)
+ let url='logCount'
+ if(this.e.isSr){
+ data.tplFile='./plugins/genshin/resources/StarRail/html/logCount/logCount.html'
+ url='StarRail/logCount'
+ }
+ let img = await puppeteer.screenshot(url, data)
if (img) await this.reply(img)
}
}
diff --git a/plugins/genshin/defSet/pool/1.yaml b/plugins/genshin/defSet/pool/1.yaml
new file mode 100644
index 0000000..d345bdb
--- /dev/null
+++ b/plugins/genshin/defSet/pool/1.yaml
@@ -0,0 +1,6 @@
+- from: '2020-4-26 08:00:00'
+ to: '2050-09-15 17:59:59'
+ five:
+ - 常驻池
+ four: []
+ name: 常驻池
diff --git a/plugins/genshin/defSet/pool/100.yaml b/plugins/genshin/defSet/pool/100.yaml
new file mode 100644
index 0000000..bce5a34
--- /dev/null
+++ b/plugins/genshin/defSet/pool/100.yaml
@@ -0,0 +1,6 @@
+- from: '2020-09-15 06:00:00'
+ to: '2050-09-15 17:59:59'
+ five:
+ - 新手池
+ four: []
+ name: 新手池
diff --git a/plugins/genshin/defSet/pool/11.yaml b/plugins/genshin/defSet/pool/11.yaml
new file mode 100644
index 0000000..f32a0ec
--- /dev/null
+++ b/plugins/genshin/defSet/pool/11.yaml
@@ -0,0 +1,9 @@
+- from: '2023-04-26 08:00:00'
+ to: '2023-05-17 16:00:00'
+ five:
+ - 希儿
+ four:
+ - 娜塔莎
+ - 虎克
+ - 佩拉
+ name: 蝶立锋锷
\ No newline at end of file
diff --git a/plugins/genshin/defSet/pool/12.yaml b/plugins/genshin/defSet/pool/12.yaml
new file mode 100644
index 0000000..be15d93
--- /dev/null
+++ b/plugins/genshin/defSet/pool/12.yaml
@@ -0,0 +1,9 @@
+- from: '2023-04-26 08:00:00'
+ to: '2023-05-17 16:00:00'
+ five:
+ - 于夜色中
+ four:
+ - 一场术后对话
+ - 晚安与睡颜
+ - 鼬鼠党欢迎你
+ name: 流光定影
\ No newline at end of file
diff --git a/plugins/genshin/defSet/pool/2.yaml b/plugins/genshin/defSet/pool/2.yaml
new file mode 100644
index 0000000..00579fa
--- /dev/null
+++ b/plugins/genshin/defSet/pool/2.yaml
@@ -0,0 +1,6 @@
+- from: '2023-04-26 08:00:00'
+ to: '2050-09-15 17:59:59'
+ five:
+ - 新手池
+ four: []
+ name: 新手池
diff --git a/plugins/genshin/defSet/pool/301.yaml b/plugins/genshin/defSet/pool/301.yaml
index ca7a742..431d262 100644
--- a/plugins/genshin/defSet/pool/301.yaml
+++ b/plugins/genshin/defSet/pool/301.yaml
@@ -1,3 +1,13 @@
+- from: '2023-05-02 18:00:00'
+ to: '2023-05-23 14:59:59'
+ five:
+ - 白术
+ - 甘雨
+ four:
+ - 卡维
+ - 坎蒂丝
+ - 菲谢尔
+ name: 心珠循琅|浮生孰来
- from: '2023-04-12 06:00:00'
to: '2023-05-02 17:59:59'
five:
diff --git a/plugins/genshin/defSet/pool/302.yaml b/plugins/genshin/defSet/pool/302.yaml
index c544b26..69201a7 100644
--- a/plugins/genshin/defSet/pool/302.yaml
+++ b/plugins/genshin/defSet/pool/302.yaml
@@ -1,3 +1,15 @@
+- from: '2023-05-02 18:00:00'
+ to: '2023-05-23 14:59:59'
+ five:
+ - 碧落之珑
+ - 阿莫斯之弓
+ four:
+ - 玛海菈的水色
+ - 流浪的晚星
+ - 匣里龙吟
+ - 西风长枪
+ - 祭礼弓
+ name: 神铸赋形
- from: '2023-04-12 06:00:00'
to: '2023-05-02 17:59:59'
five:
diff --git a/plugins/genshin/model/gachaLog.js b/plugins/genshin/model/gachaLog.js
index 2e3876c..905361f 100644
--- a/plugins/genshin/model/gachaLog.js
+++ b/plugins/genshin/model/gachaLog.js
@@ -6,7 +6,7 @@ import common from '../../../lib/common/common.js'
import gsCfg from './gsCfg.js'
export default class GachaLog extends base {
- constructor (e) {
+ constructor(e) {
super(e)
this.model = 'gachaLog'
@@ -21,9 +21,21 @@ export default class GachaLog extends base {
{ type: 302, typeName: '武器' },
{ type: 200, typeName: '常驻' }
]
+ if (e.isSr) {
+ /** 绑定的uid */
+ this.uidKey = `Yz:srJson:mys:qq-uid:${this.userId}`
+
+ this.path = `./data/srJson/${this.e.user_id}/`
+ this.pool = [
+ { type: 11, typeName: '角色' },
+ { type: 12, typeName: '光锥' },
+ { type: 1, typeName: '常驻' },
+ { type: 2, typeName: '新手' }
+ ]
+ }
}
- async logUrl () {
+ async logUrl() {
let url = this.e.msg
/** 处理url */
@@ -55,7 +67,7 @@ export default class GachaLog extends base {
return data
}
- async logFile () {
+ async logFile() {
let url = await this.downFile()
if (!url) {
if (this.e?.file?.name.includes('output')) {
@@ -68,7 +80,7 @@ export default class GachaLog extends base {
return this.logUrl()
}
- dealUrl (url) {
+ dealUrl(url) {
// timestamp=1641338980〈=zh-cn 修复链接有奇怪符号
url = url.replace(/〈=/g, '&').split('getGachaLog?')[1]
@@ -91,7 +103,7 @@ export default class GachaLog extends base {
return params
}
- async downFile () {
+ async downFile() {
this.creatFile()
let textPath = `${this.path}output_log.txt`
@@ -111,7 +123,7 @@ export default class GachaLog extends base {
let url = txt.match(/auth_appid=webview_gacha(.*)hk4e_cn/)
/** 删除文件 */
- fs.unlink(textPath, () => {})
+ fs.unlink(textPath, () => { })
if (!url || !url[0]) {
return false
@@ -120,7 +132,7 @@ export default class GachaLog extends base {
return url[0]
}
- async checkUrl (param) {
+ async checkUrl(param) {
if (!param.region) {
this.e.reply('链接参数错误:缺少region\n请复制完整链接')
return false
@@ -172,15 +184,15 @@ export default class GachaLog extends base {
}
}
- async logApi (param) {
+ async logApi(param) {
// 调用一次接口判断链接是否正确
let logUrl = 'https://hk4e-api.mihoyo.com/event/gacha_info/api/getGachaLog?'
-
/** 国际服 */
if (!['cn_gf01', 'cn_qd01'].includes(param.region)) {
logUrl = 'https://hk4e-api-os.mihoyo.com/event/gacha_info/api/getGachaLog?'
}
+
let logParam = new URLSearchParams({
authkey_ver: 1,
lang: 'zh-cn', // 只支持简体中文
@@ -190,7 +202,22 @@ export default class GachaLog extends base {
end_id: 0,
...param
}).toString()
-
+ if (this.e.isSr) {
+ logUrl = 'https://api-takumi.mihoyo.com/common/gacha_record/api/getGachaLog?'
+ if (!['prod_gf_cn', 'prod_qd_cn'].includes(param.region)) {
+ logUrl = 'https://api-os-takumi.mihoyo.com/common/gacha_record/api/getGachaLog?'
+ }
+ logParam = new URLSearchParams({
+ authkey_ver: 1,
+ lang: 'zh-cn', // 只支持简体中文
+ gacha_type: 11,
+ page: 1,
+ size: 20,
+ game_biz: 'hkrpg_cn',
+ end_id: 0,
+ ...param
+ }).toString()
+ }
let res = await fetch(logUrl + logParam).catch((err) => {
logger.error(`[获取抽卡记录失败] ${err}`)
})
@@ -201,7 +228,7 @@ export default class GachaLog extends base {
}
/** 更新抽卡记录 */
- async updateLog () {
+ async updateLog() {
/** 获取authkey */
let authkey = await redis.get(`${this.urlKey}${this.uid}`)
if (!authkey) return false
@@ -244,7 +271,7 @@ export default class GachaLog extends base {
}
/** 递归获取所有数据 */
- async getAllLog (ids, authkey, page = 1, endId = 0) {
+ async getAllLog(ids, authkey, page = 1, endId = 0) {
let res = await this.logApi({
gacha_type: this.type,
page,
@@ -288,11 +315,11 @@ export default class GachaLog extends base {
}
// 读取本地json
- readJson () {
+ readJson() {
let logJson = []; let ids = new Map()
let file = `${this.path}/${this.uid}/${this.type}.json`
if (fs.existsSync(file)) {
- // 获取本地数据 进行数据合并
+ // 获取本地数据 进行数据合并
logJson = JSON.parse(fs.readFileSync(file, 'utf8'))
for (let val of logJson) {
if (val.id) {
@@ -304,7 +331,7 @@ export default class GachaLog extends base {
return { list: logJson, ids }
}
- creatFile () {
+ creatFile() {
if (!fs.existsSync(this.path)) {
fs.mkdirSync(this.path)
}
@@ -315,7 +342,7 @@ export default class GachaLog extends base {
}
}
- writeJson (data) {
+ writeJson(data) {
this.creatFile()
let file = `${this.path}${this.uid}/`
@@ -324,7 +351,7 @@ export default class GachaLog extends base {
}
/** #抽卡记录 */
- async getLogData () {
+ async getLogData() {
/** 卡池 */
this.getPool()
@@ -348,30 +375,38 @@ export default class GachaLog extends base {
return data
}
- getPool () {
- let msg = this.e.msg.replace(/#|抽卡|记录|祈愿|分析|池/g, '')
- this.type = 301
+ getPool() {
+ let msg = this.e.msg.replace(/#|抽卡|记录|祈愿|分析|池|原神|星铁|崩坏星穹铁道|铁道/g, '')
+ this.type = this.e.isSr ? 11 : 301
this.typeName = '角色'
switch (msg) {
case 'up':
case '抽卡':
case '角色':
case '抽奖':
- this.type = 301
+ this.type = this.e.isSr ? 11 : 301
this.typeName = '角色'
break
case '常驻':
- this.type = 200
+ this.type = this.e.isSr ? 1 : 200
this.typeName = '常驻'
break
case '武器':
- this.type = 302
- this.typeName = '武器'
+ this.type = this.e.isSr ? 12 : 302
+ this.typeName = this.e.isSr ? '光锥' : '武器'
+ break
+ case "光锥":
+ this.type = 12
+ this.typeName = '光锥'
+ break
+ case "新手":
+ this.type = this.e.isSr ? 2 : 100
+ this.typeName = '新手'
break
}
}
- async getUid () {
+ async getUid() {
if (!fs.existsSync(this.path)) {
this.e.reply('暂无抽卡记录\n#记录帮助,查看配置说明', false, { at: true })
return false
@@ -394,7 +429,7 @@ export default class GachaLog extends base {
/** 拿修改时间最后的uid */
let uidArr = []
for (let uid of logs) {
- let json = `${this.path}${uid}/301.json`
+ let json = this?.e?.isSr ? `${this.path}${uid}/301.json` : `${this.path}${uid}/11.json`
if (!fs.existsSync(json)) {
continue
}
@@ -419,7 +454,7 @@ export default class GachaLog extends base {
}
/** 统计计算记录 */
- analyse () {
+ analyse() {
if (lodash.isEmpty(this.all)) {
this.all = this.readJson().list
}
@@ -450,7 +485,7 @@ export default class GachaLog extends base {
} else {
fourLog[val.name] = 1
}
- if (val.item_type == '武器') {
+ if (val.item_type == '武器' || val.item_type == '光锥') {
weaponFourNum++
}
}
@@ -558,9 +593,8 @@ export default class GachaLog extends base {
noWaiRate = (fiveNum - bigNum - wai) / (fiveNum - bigNum)
noWaiRate = (noWaiRate * 100).toFixed(1)
}
-
- let firstTime = this.all[this.all.length - 1].time.substring(0, 16)
- let lastTime = this.all[0].time.substring(0, 16)
+ let firstTime = this.all[this.all.length - 1]?.time.substring(0, 16)
+ let lastTime = this.all[0]?.time.substring(0, 16)
return {
allNum,
@@ -583,11 +617,10 @@ export default class GachaLog extends base {
}
}
- checkIsUp () {
- if (['莫娜', '七七', '迪卢克', '琴'].includes(this.role.name)) {
+ checkIsUp() {
+ if (['莫娜', '七七', '迪卢克', '琴', '姬子', '杰帕德', '彦卿', '白露', '瓦尔特', '克拉拉', '布洛妮娅'].includes(this.role.name)) {
return false
}
-
let role5join = {
'刻晴': {
start: '2021-02-17 18:00:00',
@@ -602,7 +635,6 @@ export default class GachaLog extends base {
end: '2023-03-21 17:59:59'
}
}
-
if (lodash.keys(role5join).includes(this.role.name)) {
let start = new Date(role5join[this.role.name].start).getTime()
let end = new Date(role5join[this.role.name].end).getTime()
@@ -614,14 +646,14 @@ export default class GachaLog extends base {
return true
}
}
-
return true
}
/** 渲染数据 */
- randData (data) {
+ randData(data) {
let line = []
- if (this.type == 301) {
+ let weapon = this.e.isSr ? '光锥' : '武器'
+ if ([301, 11].includes(this.type)) {
line = [[
{ lable: '未出五星', num: data.noFiveNum, unit: '抽' },
{ lable: '五星', num: data.fiveNum, unit: '个' },
@@ -631,16 +663,16 @@ export default class GachaLog extends base {
{ lable: '未出四星', num: data.noFourNum, unit: '抽' },
{ lable: '五星常驻', num: data.wai, unit: '个' },
{ lable: 'UP平均', num: data.isvalidNum, unit: '抽' },
- { lable: 'UP花费原石', num: data.upYs, unit: '' }
+ { lable: `UP花费${this?.e?.isSr ? '星琼' : '原石'}`, num: data.upYs, unit: '' }
]]
}
// 常驻池
- if (this.type == 200) {
+ if ([200, 1].includes(this.type)) {
line = [[
{ lable: '未出五星', num: data.noFiveNum, unit: '抽' },
{ lable: '五星', num: data.fiveNum, unit: '个' },
{ lable: '五星平均', num: data.fiveAvg, unit: '抽', color: data.fiveColor },
- { lable: '五星武器', num: data.weaponNum, unit: '个' }
+ { lable: `五星${weapon}`, num: data.weaponNum, unit: '个' }
], [
{ lable: '未出四星', num: data.noFourNum, unit: '抽' },
{ lable: '四星', num: data.fourNum, unit: '个' },
@@ -649,12 +681,26 @@ export default class GachaLog extends base {
]]
}
// 武器池
- if (this.type == 302) {
+ if ([302, 12].includes(this.type)) {
line = [[
{ lable: '未出五星', num: data.noFiveNum, unit: '抽' },
{ lable: '五星', num: data.fiveNum, unit: '个' },
{ lable: '五星平均', num: data.fiveAvg, unit: '抽', color: data.fiveColor },
- { lable: '四星武器', num: data.weaponFourNum, unit: '个' }
+ { lable: `四星${weapon}`, num: data.weaponFourNum, unit: '个' }
+ ], [
+ { lable: '未出四星', num: data.noFourNum, unit: '抽' },
+ { lable: '四星', num: data.fourNum, unit: '个' },
+ { lable: '四星平均', num: data.fourAvg, unit: '抽' },
+ { lable: '四星最多', num: data.maxFour.num, unit: data.maxFour.name }
+ ]]
+ }
+ // 新手池
+ if ([100, 2].includes(this.type)) {
+ line = [[
+ { lable: '未出五星', num: data.noFiveNum, unit: '抽' },
+ { lable: '五星', num: data.fiveNum, unit: '个' },
+ { lable: '五星平均', num: data.fiveAvg, unit: '抽', color: data.fiveColor },
+ { lable: `五星${weapon}`, num: data.weaponNum, unit: '个' }
], [
{ lable: '未出四星', num: data.noFourNum, unit: '抽' },
{ lable: '四星', num: data.fourNum, unit: '个' },
@@ -662,7 +708,6 @@ export default class GachaLog extends base {
{ lable: '四星最多', num: data.maxFour.num, unit: data.maxFour.name }
]]
}
-
let hasMore = false
if (this.e.isGroup && data.fiveLog.length > 48) {
data.fiveLog = data.fiveLog.slice(0, 48)
@@ -684,22 +729,22 @@ export default class GachaLog extends base {
}
}
- getServer () {
+ getServer() {
let uid = this.uid
switch (String(uid)[0]) {
case '1':
case '2':
- return 'cn_gf01' // 官服
+ return this.e.isSr ? 'prod_gf_cn' : 'cn_gf01' // 官服
case '5':
- return 'cn_qd01' // B服
+ return this.e.isSr ? 'prod_qd_cn' : 'cn_qd01' // B服
case '6':
- return 'os_usa' // 美服
+ return this.e.isSr ? 'prod_official_usa' : 'os_usa' // 美服
case '7':
- return 'os_euro' // 欧服
+ return this.e.isSr ? 'prod_official_euro' : 'os_euro' // 欧服
case '8':
- return 'os_asia' // 亚服
+ return this.e.isSr ? 'prod_official_asia' : 'os_asia' // 亚服
case '9':
- return 'os_cht' // 港澳台服
+ return this.e.isSr ? 'prod_official_cht' : 'os_cht' // 港澳台服
}
return 'cn_gf01'
}
diff --git a/plugins/genshin/model/logCount.js b/plugins/genshin/model/logCount.js
index 3de796c..0d065f8 100644
--- a/plugins/genshin/model/logCount.js
+++ b/plugins/genshin/model/logCount.js
@@ -5,7 +5,7 @@ import gsCfg from './gsCfg.js'
import moment from 'moment'
export default class LogCount extends base {
- constructor (e) {
+ constructor(e) {
super(e)
this.model = 'logCount'
@@ -25,14 +25,30 @@ export default class LogCount extends base {
this.role5 = ['刻晴', '莫娜', '七七', '迪卢克', '琴', '提纳里', '迪希雅']
/** 五星武器 */
this.weapon5 = ['阿莫斯之弓', '天空之翼', '天空之卷', '天空之脊', '天空之傲', '天空之刃', '四风原典', '和璞鸢', '狼的末路', '风鹰剑']
+ if (e.isSr) {
+ /** 绑定的uid */
+ this.uidKey = `Yz:srJson:mys:qq-uid:${this.userId}`
+
+ this.path = `./data/srJson/${this.e.user_id}/`
+ this.pool = [
+ { type: 11, typeName: '角色' },
+ { type: 12, typeName: '光锥' },
+ { type: 1, typeName: '常驻' },
+ { type: 2, typeName: '新手' }
+ ]
+ /** 五星角色 */
+ this.role5 = ['姬子', '杰帕德', '彦卿', '白露', '瓦尔特', '克拉拉', '布洛妮娅']
+ /** 五星武器 */
+ this.weapon5 = ['银河铁道之夜', '无可取代的东西', '但战斗还未结束', '以世界之名', '制胜的瞬间', '如泥酣眠', '时节不居']
+ }
}
// 读取本地json
- readJson () {
+ readJson() {
let logJson = []; let ids = []
let file = `${this.path}/${this.uid}/${this.type}.json`
if (fs.existsSync(file)) {
- // 获取本地数据 进行数据合并
+ // 获取本地数据 进行数据合并
logJson = JSON.parse(fs.readFileSync(file, 'utf8'))
for (let val of logJson) {
if (val.id) {
@@ -45,7 +61,7 @@ export default class LogCount extends base {
}
/** #抽卡统计 */
- async count () {
+ async count() {
/** 卡池 */
this.getPool()
@@ -68,30 +84,38 @@ export default class LogCount extends base {
}
}
- getPool () {
- let msg = this.e.msg.replace(/#|抽卡|统计|池/g, '')
- this.type = 301
+ getPool() {
+ let msg = this.e.msg.replace(/#|抽卡|记录|祈愿|分析|池|原神|星铁|崩坏星穹铁道|铁道|抽卡|统计|池/g, '')
+ this.type = this.e.isSr?11:301
this.typeName = '角色'
switch (msg) {
case 'up':
case '抽卡':
case '角色':
case '抽奖':
- this.type = 301
+ this.type = this.e.isSr ? 11 : 301
this.typeName = '角色'
break
case '常驻':
- this.type = 200
+ this.type = this.e.isSr ? 1 : 200
this.typeName = '常驻'
break
case '武器':
- this.type = 302
- this.typeName = '武器'
+ this.type = this.e.isSr ? 12 : 302
+ this.typeName = this.e.isSr ? '光锥' : '武器'
+ break
+ case "光锥":
+ this.type = 12
+ this.typeName = '光锥'
+ break
+ case "新手":
+ this.type = this.e.isSr? 2:100
+ this.typeName = '新手'
break
}
}
- async getUid () {
+ async getUid() {
if (!fs.existsSync(this.path)) {
this.e.reply('暂无抽卡记录\n#记录帮助,查看配置说明', false, { at: true })
return false
@@ -138,7 +162,7 @@ export default class LogCount extends base {
return uidArr[0].uid
}
- getPoolCfg () {
+ getPoolCfg() {
let poolCfg = gsCfg.getdefSet('pool', this.type)
poolCfg.forEach(v => {
@@ -150,8 +174,9 @@ export default class LogCount extends base {
}
/** 统计计算记录 */
- analyseHistory () {
+ analyseHistory() {
let all = this.readJson().list
+
all = all.reverse()
let poolCfg = [...this.getPoolCfg()].reverse()
diff --git a/plugins/genshin/model/user.js b/plugins/genshin/model/user.js
index e4f1378..be20633 100644
--- a/plugins/genshin/model/user.js
+++ b/plugins/genshin/model/user.js
@@ -7,7 +7,7 @@ import MysUser from './mys/MysUser.js'
import MysInfo from './mys/mysInfo.js'
export default class User extends base {
- constructor (e) {
+ constructor(e) {
super(e)
this.model = 'bingCk'
/** 绑定的uid */
@@ -15,20 +15,24 @@ export default class User extends base {
/** 多角色uid */
this.allUid = []
+ if (this.e.isSr) {
+ /** 绑定的uid */
+ this.uidKey = `Yz:srJson:mys:qq-uid:${this.userId}`
+ }
}
// 获取当前user实例
- async user () {
+ async user() {
return await MysInfo.getNoteUser(this.e)
}
- async resetCk () {
+ async resetCk() {
let user = await this.user()
await user.initCache()
}
/** 绑定ck */
- async bing () {
+ async bing() {
let user = await this.user()
let set = gsCfg.getConfig('mys', 'set')
@@ -97,24 +101,31 @@ export default class User extends base {
})
}
await this.e.reply(uidMsg.join('\n'))
-
- let msg = '【#体力】查询当前树脂'
- msg += '\n【#原石】查看原石札记'
- msg += '\n【#原石统计】原石统计数据'
- msg += '\n【#练度统计】技能统计列表'
- msg += '\n【#uid】当前绑定ck uid列表'
- msg += '\n【#ck】检查当前用户ck是否有效'
- msg += '\n【#我的ck】查看当前绑定ck'
- msg += '\n【#删除ck】删除当前绑定ck'
+ let msg = ''
+ this.region_name += lodash.map(this.allUid, 'region_name').join(',')
+ if (/天空岛|世界树/.test(this.region_name)) {
+ msg += '原神模块支持:\n【#体力】查询当前树脂'
+ msg += '\n【#签到】米游社原神自动签到'
+ msg += '\n【#关闭签到】开启或关闭原神自动签到'
+ msg += '\n【#原石】查看原石札记'
+ msg += '\n【#原石统计】原石统计数据'
+ msg += '\n【#练度统计】技能统计列表'
+ msg += '\n【#uid】当前绑定ck uid列表'
+ msg += '\n【#ck】检查当前用户ck是否有效'
+ msg += '\n【#我的ck】查看当前绑定ck'
+ msg += '\n【#删除ck】删除当前绑定ck'
+ }
+ if (/星穹列车/.test(this.region_name)) {
+ msg += "\n星穹铁道支持:\n功能还在咕咕咕~"
+ }
msg += '\n 支持绑定多个ck'
-
msg = await common.makeForwardMsg(this.e, ['使用命令说明', msg], '绑定成功:使用命令说明')
await this.e.reply(msg)
}
/** 检查ck是否可用 */
- async checkCk (param) {
+ async checkCk(param) {
let res
for (let type of ['mys', 'hoyolab']) {
let roleRes = await this.getGameRoles(type)
@@ -135,7 +146,7 @@ export default class User extends base {
if (!res) return false
if (!res.data.list || res.data.list.length <= 0) {
- this.checkMsg = '该账号尚未绑定原神角色!'
+ this.checkMsg = '该账号尚未绑定原神或星穹角色!'
return false
}
@@ -161,17 +172,17 @@ export default class User extends base {
return this.uid
}
- async getGameRoles (server = 'mys') {
+ async getGameRoles(server = 'mys') {
return await MysUser.getGameRole(this.ck, server)
}
// 获取米游社通行证id
- async getUserInfo (server = 'mys') {
+ async getUserInfo(server = 'mys') {
return await MysUser.getUserFullInfo(this.ck, server)
}
/** 保存ck */
- getCk () {
+ getCk() {
let ck = gsCfg.getBingCkSingle(this.e.user_id)
lodash.map(ck, o => {
@@ -185,6 +196,7 @@ export default class User extends base {
ck: this.ck,
ltuid: this.ltuid,
login_ticket: this.login_ticket,
+ region_name: this.region_name,
device_id: this.getGuid(),
isMain: true
}
@@ -196,6 +208,7 @@ export default class User extends base {
qq: this.e.user_id,
ck: this.ck,
ltuid: this.ltuid,
+ region_name: v.region_name,
device_id: this.getGuid(),
isMain: false
}
@@ -204,14 +217,14 @@ export default class User extends base {
}
/** 删除绑定ck */
- async delCk (uid = '') {
+ async delCk(uid = '') {
let user = await this.user()
let uids = await user.delCk()
return `绑定cookie已删除,uid:${uids.join(',')}`
}
/** 绑定uid,若有ck的话优先使用ck-uid */
- async bingUid () {
+ async bingUid() {
let uid = this.e.msg.match(/[1|2|5-9][0-9]{8}/g)
if (!uid) return
uid = uid[0]
@@ -221,28 +234,40 @@ export default class User extends base {
}
/** #uid */
- async showUid () {
+ async showUid() {
let user = await this.user()
-
if (!user.hasCk) {
await this.e.reply(`当前绑定uid:${user.uid || '无'}`, false, { at: true })
return
}
let uids = user.ckUids
+ let ckData = user.ckData
let uid = user.uid * 1
let msg = [`当前uid:${uid}`, '当前绑定cookie Uid列表', '通过【#uid+序号】来切换uid']
- for (let i in uids) {
- let tmp = `${Number(i) + 1}: ${uids[i]}`
- if (uids[i] * 1 === uid) {
- tmp += ' ☑'
+ let region_name = []
+ Object.keys(ckData).forEach((v) => {
+ if (!region_name.includes(ckData[v].region_name)) {
+ region_name.push(ckData[v].region_name)
+ }
+ });
+ let count = 0;
+ for (let n of region_name) {
+ msg.push(n)
+ for (let i in uids) {
+ if (ckData[uids[i]].region_name == n) {
+ let tmp = `${++count}: ${uids[i]}`
+ if (uids[i] * 1 === uid) {
+ tmp += ' ☑'
+ }
+ msg.push(tmp)
+ }
}
- msg.push(tmp)
}
await this.e.reply(msg.join('\n'))
}
/** 切换uid */
- async toggleUid (index) {
+ async toggleUid(index) {
let user = await this.user()
let uidList = user.ckUids
if (index > uidList.length) {
@@ -254,7 +279,7 @@ export default class User extends base {
}
/** 加载旧ck */
- async loadOldData () {
+ async loadOldData() {
let file = [
'./data/MysCookie/NoteCookie.json',
'./data/NoteCookie/NoteCookie.json',
@@ -309,7 +334,7 @@ export default class User extends base {
}
/** 我的ck */
- async myCk () {
+ async myCk() {
let user = await this.user()
if (!user.hasCk) {
this.e.reply('当前尚未绑定cookie')
@@ -322,7 +347,7 @@ export default class User extends base {
}
}
- async checkCkStatus () {
+ async checkCkStatus() {
let user = await this.user()
if (!user.hasCk) {
await this.e.reply(`\n未绑定CK,当前绑定uid:${user.uid || '无'}`, false, { at: true })
@@ -354,15 +379,15 @@ export default class User extends base {
await this.e.reply(cks.join('\n----\n'), false, { at: true })
}
- getGuid () {
- function S4 () {
+ getGuid() {
+ function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)
}
return (S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4())
}
- async userAdmin () {
+ async userAdmin() {
this.model = 'userAdmin'
await MysInfo.initCache()
let stat = await MysUser.getStatData()
diff --git a/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.css b/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.css
new file mode 100644
index 0000000..f93af9f
--- /dev/null
+++ b/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.css
@@ -0,0 +1,351 @@
+@font-face {
+ font-family: "tttgbnumber";
+ src: url("../../../../../resources/font/tttgbnumber.ttf");
+ font-weight: normal;
+ font-style: normal;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ user-select: none;
+}
+
+body {
+ font-size: 18px;
+ color: #1e1f20;
+ font-family: PingFangSC-Medium, PingFang SC, sans-serif;
+ transform: scale(1.5);
+ transform-origin: 0 0;
+ width: 465px;
+}
+
+.container {
+ width: 465px;
+ padding: 20px 15px 10px 15px;
+ background-color: #f5f6fb;
+}
+
+.head_box {
+ border-radius: 15px;
+ font-family: tttgbnumber;
+ padding: 10px 20px;
+ position: relative;
+ box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
+}
+
+.head_box .id_text {
+ font-size: 24px;
+}
+
+.head_box .day_text {
+ font-size: 20px;
+}
+
+.head_box .genshin_logo {
+ position: absolute;
+ top: 1px;
+ right: 15px;
+ width: 97px;
+}
+
+.logo {
+ font-size: 12px;
+ font-family: "tttgbnumber";
+ text-align: center;
+ color: #7994a7;
+ position: relative;
+ padding-left: 10px;
+}
+
+
+.data_box {
+ border-radius: 15px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ padding: 20px 0px 5px 10px;
+ background: #fff;
+ box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
+ position: relative;
+}
+
+.tab_lable {
+ position: absolute;
+ top: -10px;
+ left: -8px;
+ background: #d4b98c;
+ color: #fff;
+ font-size: 14px;
+ padding: 3px 10px;
+ border-radius: 15px 0px 15px 15px;
+ z-index: 20;
+}
+
+.data_line {
+ display: flex;
+ justify-content: space-around;
+ margin-bottom: 14px;
+ padding-right: 10px;
+}
+
+.data_line_item {
+ width: 100px;
+ text-align: center;
+ /*margin: 0 20px;*/
+}
+
+.num {
+ font-family: tttgbnumber;
+ font-size: 24px;
+}
+
+.num .unit {
+ font-size: 12px;
+}
+
+.data_box .lable {
+ font-size: 14px;
+ color: #7f858a;
+ line-height: 1;
+ margin-top: 3px;
+}
+
+body {
+ width: 510px;
+}
+
+.container {
+ width: 510px;
+}
+
+.data_box {
+ margin-bottom: 10px;
+}
+
+.info_box_border{
+ border-radius: 15px;
+ /* margin-top: 20px; */
+ margin-bottom: 20px;
+ padding: 6px 0px 5px 10px;
+ background: #fff;
+ box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
+ position: relative;
+}
+
+.card_list {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+
+.card_list .item {
+ margin: 0px 8px 10px 0px;
+ border-radius: 7px;
+ box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%);
+ height: 90px;
+ position: relative;
+ overflow: hidden;
+ background: #e7e5d9;
+}
+
+.card_list .item img {
+ width: 70px;
+ height: 70px;
+ border-radius: 7px 7px 20px 0;
+}
+
+.card_list .item.star5 img {
+ background-image: url(../../img/other/bg5.png);
+ width: 100%;
+ height: 70px;
+ /*filter: brightness(1.1);*/
+ background-size: 100%;
+ background-repeat: no-repeat;
+}
+
+.card_list .item.star4 img {
+ width: 100%;
+ height: 70px;
+ background-image: url(../../img/other/bg4.png);
+ background-size: 100%;
+ background-repeat: no-repeat;
+}
+
+.card_list .item .num {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ z-index: 9;
+ font-size: 18px;
+ text-align: center;
+ color: #fff;
+ border-radius: 3px;
+ padding: 1px 5px;
+ border-radius: 3px;
+ background: rgb(0 0 0 / 50%);
+ font-family: "tttgbnumber";
+}
+
+.card_list .item .name,
+.card_list .item .num_name {
+ position: absolute;
+ top: 71px;
+ left: 0px;
+ z-index: 9;
+ font-size: 12px;
+ text-align: center;
+ width: 100%;
+ height: 16px;
+ line-height: 18px;
+}
+
+.card_list .item .num_name {
+ font-family: "tttgbnumber";
+ font-size: 16px;
+}
+
+.base_info {
+ position: relative;
+ padding-left: 10px;
+ margin: 5px 10px;
+}
+
+.uid:before {
+ content: " ";
+ position: absolute;
+ width: 5px;
+ height: 24px;
+ border-radius: 1px;
+ left: 0;
+ top: 0;
+ background: #d3bc8d;
+}
+
+.label_301 {
+ background-color: rgb(235 106 75);
+}
+
+.label_302 {
+ background-color: #E69449;
+}
+
+.label_200 {
+ background-color: #757CC8;
+}
+
+.label {
+ color: #fff;
+ border-radius: 10px;
+ font-size: 12px;
+ padding: 2px 7px;
+ vertical-align: 2px;
+}
+
+.ritem {
+ display: flex;
+ font-size: 12px;
+ margin-bottom: 5px;
+}
+
+.info_role {
+ display: flex;
+ flex-wrap: wrap;
+ padding: 0 0px 5px 9px;
+}
+
+.ritem .role {
+ width: 20px;
+ height: 20px;
+ background-color: #ffb285;
+ border-radius: 100%;
+}
+
+.ritem .weapon_box {
+ overflow: hidden;
+ width: 20px;
+ height: 20px;
+ border-radius: 100%;
+}
+
+.ritem .weapon {
+ width: 20px;
+ height: 20px;
+ background-color: #ffb285;
+ border-radius: 100%;
+ transform: scale(1.5);
+ -webkit-transform: scale(1.5);
+
+}
+
+.ritem .role_text {
+ margin: 2px 3px 0 2px;
+ display: flex;
+ align-items: baseline;
+}
+
+.ritem .role_name {
+ width: 24px;
+ white-space: nowrap;
+ overflow: hidden;
+}
+
+.ritem .role_num {
+ width: 24px;
+}
+
+.line_box {
+ height: 32px;
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 12px;
+ color: #7d7d7d;
+ padding-bottom: 5px;
+}
+
+.line_box .line {
+ height: 2px;
+ flex-grow: 1;
+ background-color: #ebebeb;
+ margin: 0px 10px;
+}
+
+.red {
+ color: #f21000;
+}
+
+.orange {
+ color: #ff8d00;
+}
+
+.green {
+ color: #12d88c;
+}
+
+.blue {
+ color: #4169E1;
+}
+
+.purple {
+ color: #7500ff;
+}
+.minimum{
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ z-index: 9;
+ font-size: 12px;
+ text-align: center;
+ color: #fff;
+ border-radius: 3px;
+ padding: 1px 3px;
+ background-color: rgb(0 0 0 / 80%);
+ font-family: "tttgbnumber";
+}
+.hasMore{
+ font-size: 12px;
+ margin: 6px 0;
+ color: #7f858a;
+}
\ No newline at end of file
diff --git a/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html b/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html
new file mode 100644
index 0000000..9b79198
--- /dev/null
+++ b/plugins/genshin/resources/StarRail/html/gachaLog/gachaLog.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+ {{@headStyle}}
+
+
+
+
+
+
+
+ ID: {{uid}}
+
+
+ {{allNum}}抽
+ {{typeName}}池
+
+
+
+
+
数据总览
+ {{each line val}}
+
+ {{each val item}}
+
+
{{item.num}}{{item.unit}}
+
{{item.lable}}
+
+ {{/each}}
+
+ {{/each}}
+
+
+
+ 五星历史 {{firstTime}} ~ {{lastTime}}
+
+
+
+
+
+ {{each fiveLog val}}
+
+ {{ if val.isUp && typeName == '角色' }}
+
UP
+ {{/if}}
+

+
+
{{val.num}}
+
+ {{/each}}
+
+ {{if hasMore }}
+
*完整数据请私聊查看
+ {{/if}}
+
+
Created By Yunzai-Bot
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/genshin/resources/StarRail/html/logCount/logCount.css b/plugins/genshin/resources/StarRail/html/logCount/logCount.css
new file mode 100644
index 0000000..cfcbba6
--- /dev/null
+++ b/plugins/genshin/resources/StarRail/html/logCount/logCount.css
@@ -0,0 +1,184 @@
+@font-face {
+ font-family: "tttgbnumber";
+ src: url("../../../../../resources/font/tttgbnumber.ttf");
+ font-weight: normal;
+ font-style: normal;
+}
+@font-face {
+ font-family: "HYWenHei-55W";
+ src: url("../../../../../resources/font/HYWenHei-55W.ttf");
+ font-weight: normal;
+ font-style: normal;
+}
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ user-select: none;
+}
+body {
+ font-size: 16px;
+ width: 530px;
+ color: #1e1f20;
+ transform: scale(1.5);
+ transform-origin: 0 0;
+}
+.container {
+ width: 530px;
+ padding: 20px 15px 10px 15px;
+ background-color: #f5f6fb;
+}
+.head_box {
+
+ border-radius: 15px;
+ font-family: tttgbnumber;
+ padding: 10px 20px;
+ position: relative;
+ box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
+
+}
+.head_box .id_text {
+ font-size: 24px;
+}
+.head_box .day_text {
+ font-size: 20px;
+}
+.head_box .genshin_logo {
+ position: absolute;
+ top: 1px;
+ right: 15px;
+ width: 97px;
+}
+.base_info {
+ position: relative;
+ padding-left: 10px;
+}
+.uid {
+ font-family: tttgbnumber;
+}
+.pool_box {
+ font-family: HYWenHei-55W;
+ border-radius: 12px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ padding: 10px 5px 5px 5px;
+ background: #fff;
+ box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
+ position: relative;
+}
+.title_box {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+}
+.title{
+ white-space: nowrap;
+ max-width: 210px;
+ overflow: hidden;
+}
+.name_box {
+ display: flex;
+ align-items: center;
+ flex: 1;
+}
+.title_box .date {
+ margin-right: 10px;
+}
+.list_box {
+ display: flex;
+ flex-wrap: wrap;
+}
+.item {
+ margin: 0px 0 10px 10px;
+ border-radius: 7px;
+ overflow: hidden;
+ box-shadow: 0 2px 6px 0 rgb(132 93 90 / 30%);
+ height: 70px;
+ width: 70px;
+ background: #e9e5dc;
+ position: relative;
+}
+.item .role_img {
+ width: 100%;
+ overflow: hidden;
+ background-size: 100%;
+ background-repeat: no-repeat;
+ position: absolute;
+ top: 0;
+ /*filter: contrast(95%);*/
+}
+.item .num {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ z-index: 9;
+ font-size: 18px;
+ text-align: center;
+ color: #fff;
+ border-radius: 3px;
+ padding: 1px 5px;
+ border-radius: 3px;
+ background: rgb(0 0 0 / 50%);
+ font-family: "tttgbnumber";
+}
+.label_301 {
+ background-color: rgb(235 106 75);
+}
+.label_302 {
+ background-color: #e69449;
+}
+.label_200 {
+ background-color: #757cc8;
+}
+
+.label {
+ color: #fff;
+ border-radius: 10px;
+ font-size: 16px;
+ padding: 2px 7px;
+ vertical-align: 2px;
+}
+.bg5 {
+ background-image: url(../../img/other/bg5.png);
+ width: 100%;
+ height: 70px;
+ /*filter: brightness(1.1);*/
+ background-size: 100%;
+ background-repeat: no-repeat;
+}
+.bg4 {
+ width: 100%;
+ height: 70px;
+ background-image: url(../../img/other/bg4.png);
+ background-size: 100%;
+ background-repeat: no-repeat;
+}
+.list_box .item .life1 {
+ background-color: #62a8ea;
+}
+.list_box .item .life2 {
+ background-color: #62a8ea;
+}
+.list_box .item .life3 {
+ background-color: #45b97c;
+}
+.list_box .item .life4 {
+ background-color: #45b97c;
+}
+.list_box .item .life5 {
+ background-color: #ff5722;
+}
+.list_box .item .life6 {
+ background-color: #ff5722;
+}
+.logo {
+ font-size: 14px;
+ font-family: "tttgbnumber";
+ text-align: center;
+ color: #7994a7;
+}
+.hasMore{
+ font-size: 12px;
+ margin: -6px 0 10px 6px;
+ color: #7f858a;
+}
diff --git a/plugins/genshin/resources/StarRail/html/logCount/logCount.html b/plugins/genshin/resources/StarRail/html/logCount/logCount.html
new file mode 100644
index 0000000..1cceca9
--- /dev/null
+++ b/plugins/genshin/resources/StarRail/html/logCount/logCount.html
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+ {{@headStyle}}
+
+
+
+
+
ID: {{uid}}
+
抽卡统计-{{typeName}}
+
+ {{each pool val}}
+ {{if val.roleNum > 0}}
+
+
+
+
「{{val.five}}」
+
{{val.count}}抽
+
+ {{if typeName != "常驻"}}
+
{{val.start}} - {{val.end}}
+ {{/if}}
+
+
+ {{each val.role v}}
+
+
+
{{v.count}}
+ {{if v.item_type=='角色'}}
+

+ {{/if}}
+ {{if v.item_type=='光锥'}}
+

+ {{/if}}
+
+ {{/each}}
+
+
+ {{/if}}
+ {{/each}}
+ {{if isGroup }}
+
*完整数据请私聊查看
+ {{/if}}
+
Created By Yunzai-Bot
+
+
+
+
diff --git a/plugins/genshin/resources/StarRail/img/items/.webp b/plugins/genshin/resources/StarRail/img/items/.webp
new file mode 100644
index 0000000..5d31307
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/丰饶.webp b/plugins/genshin/resources/StarRail/img/items/丰饶.webp
new file mode 100644
index 0000000..fbaa9bb
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/丰饶.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/冰.webp b/plugins/genshin/resources/StarRail/img/items/冰.webp
new file mode 100644
index 0000000..fde2e9c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/冰.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/同谐.webp b/plugins/genshin/resources/StarRail/img/items/同谐.webp
new file mode 100644
index 0000000..bca455f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/同谐.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/存护.webp b/plugins/genshin/resources/StarRail/img/items/存护.webp
new file mode 100644
index 0000000..d755ca5
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/存护.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/巡猎.webp b/plugins/genshin/resources/StarRail/img/items/巡猎.webp
new file mode 100644
index 0000000..cb8eab5
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/巡猎.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/巡�猎.webp b/plugins/genshin/resources/StarRail/img/items/巡�猎.webp
new file mode 100644
index 0000000..cb8eab5
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/巡�猎.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/智识.webp b/plugins/genshin/resources/StarRail/img/items/智识.webp
new file mode 100644
index 0000000..3577601
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/智识.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/毁灭.webp b/plugins/genshin/resources/StarRail/img/items/毁灭.webp
new file mode 100644
index 0000000..1abdc25
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/毁灭.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/火.webp b/plugins/genshin/resources/StarRail/img/items/火.webp
new file mode 100644
index 0000000..d02a648
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/火.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/物理.webp b/plugins/genshin/resources/StarRail/img/items/物理.webp
new file mode 100644
index 0000000..0ddb128
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/物理.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/虚数.webp b/plugins/genshin/resources/StarRail/img/items/虚数.webp
new file mode 100644
index 0000000..8270c45
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/虚数.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/虚无.webp b/plugins/genshin/resources/StarRail/img/items/虚无.webp
new file mode 100644
index 0000000..e63de9a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/虚无.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/量子.webp b/plugins/genshin/resources/StarRail/img/items/量子.webp
new file mode 100644
index 0000000..bde8303
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/量子.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/雷.webp b/plugins/genshin/resources/StarRail/img/items/雷.webp
new file mode 100644
index 0000000..8aaa7b0
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/雷.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/items/风.webp b/plugins/genshin/resources/StarRail/img/items/风.webp
new file mode 100644
index 0000000..2768ae5
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/items/风.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/三月七.webp b/plugins/genshin/resources/StarRail/img/role/三月七.webp
new file mode 100644
index 0000000..d32630f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/三月七.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/丹恒.webp b/plugins/genshin/resources/StarRail/img/role/丹恒.webp
new file mode 100644
index 0000000..c51d261
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/丹恒.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/佩拉.webp b/plugins/genshin/resources/StarRail/img/role/佩拉.webp
new file mode 100644
index 0000000..7634595
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/佩拉.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/停云.webp b/plugins/genshin/resources/StarRail/img/role/停云.webp
new file mode 100644
index 0000000..81bf76d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/停云.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/克拉拉.webp b/plugins/genshin/resources/StarRail/img/role/克拉拉.webp
new file mode 100644
index 0000000..3b7c7c0
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/克拉拉.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/卡芙卡.webp b/plugins/genshin/resources/StarRail/img/role/卡芙卡.webp
new file mode 100644
index 0000000..24bb735
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/卡芙卡.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/姬子.webp b/plugins/genshin/resources/StarRail/img/role/姬子.webp
new file mode 100644
index 0000000..07e688e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/姬子.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/娜塔莎.webp b/plugins/genshin/resources/StarRail/img/role/娜塔莎.webp
new file mode 100644
index 0000000..b4e997a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/娜塔莎.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/布洛妮娅.webp b/plugins/genshin/resources/StarRail/img/role/布洛妮娅.webp
new file mode 100644
index 0000000..f24fd22
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/布洛妮娅.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/希儿.webp b/plugins/genshin/resources/StarRail/img/role/希儿.webp
new file mode 100644
index 0000000..e1a174c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/希儿.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/希露瓦.webp b/plugins/genshin/resources/StarRail/img/role/希露瓦.webp
new file mode 100644
index 0000000..4d90b62
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/希露瓦.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/彦卿.webp b/plugins/genshin/resources/StarRail/img/role/彦卿.webp
new file mode 100644
index 0000000..f148241
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/彦卿.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/景元.webp b/plugins/genshin/resources/StarRail/img/role/景元.webp
new file mode 100644
index 0000000..689501d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/景元.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/杰帕德.webp b/plugins/genshin/resources/StarRail/img/role/杰帕德.webp
new file mode 100644
index 0000000..d75ff85
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/杰帕德.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/桑博.webp b/plugins/genshin/resources/StarRail/img/role/桑博.webp
new file mode 100644
index 0000000..5be6aef
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/桑博.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/瓦尔特.webp b/plugins/genshin/resources/StarRail/img/role/瓦尔特.webp
new file mode 100644
index 0000000..b619b38
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/瓦尔特.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/白露.webp b/plugins/genshin/resources/StarRail/img/role/白露.webp
new file mode 100644
index 0000000..9bf96f3
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/白露.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/素裳.webp b/plugins/genshin/resources/StarRail/img/role/素裳.webp
new file mode 100644
index 0000000..23e65a5
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/素裳.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/罗刹.webp b/plugins/genshin/resources/StarRail/img/role/罗刹.webp
new file mode 100644
index 0000000..27c80a0
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/罗刹.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/艾丝妲.webp b/plugins/genshin/resources/StarRail/img/role/艾丝妲.webp
new file mode 100644
index 0000000..10f9f3c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/艾丝妲.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/虎克.webp b/plugins/genshin/resources/StarRail/img/role/虎克.webp
new file mode 100644
index 0000000..7b3391c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/虎克.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/银狼.webp b/plugins/genshin/resources/StarRail/img/role/银狼.webp
new file mode 100644
index 0000000..6befe99
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/银狼.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/阿兰.webp b/plugins/genshin/resources/StarRail/img/role/阿兰.webp
new file mode 100644
index 0000000..9933dd6
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/阿兰.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/青雀.webp b/plugins/genshin/resources/StarRail/img/role/青雀.webp
new file mode 100644
index 0000000..136cc4e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/青雀.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/role/黑塔.webp b/plugins/genshin/resources/StarRail/img/role/黑塔.webp
new file mode 100644
index 0000000..a16e86e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/role/黑塔.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/三月七.webp b/plugins/genshin/resources/StarRail/img/side/三月七.webp
new file mode 100644
index 0000000..a06f5dc
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/三月七.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/丹恒.webp b/plugins/genshin/resources/StarRail/img/side/丹恒.webp
new file mode 100644
index 0000000..3ce836a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/丹恒.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/佩拉.webp b/plugins/genshin/resources/StarRail/img/side/佩拉.webp
new file mode 100644
index 0000000..ff8192d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/佩拉.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/停云.webp b/plugins/genshin/resources/StarRail/img/side/停云.webp
new file mode 100644
index 0000000..55db200
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/停云.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/克拉拉.webp b/plugins/genshin/resources/StarRail/img/side/克拉拉.webp
new file mode 100644
index 0000000..8818d44
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/克拉拉.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/卡芙卡.webp b/plugins/genshin/resources/StarRail/img/side/卡芙卡.webp
new file mode 100644
index 0000000..505f713
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/卡芙卡.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/姬子.webp b/plugins/genshin/resources/StarRail/img/side/姬子.webp
new file mode 100644
index 0000000..e011309
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/姬子.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/娜塔莎.webp b/plugins/genshin/resources/StarRail/img/side/娜塔莎.webp
new file mode 100644
index 0000000..5c29b2c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/娜塔莎.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/布洛妮娅.webp b/plugins/genshin/resources/StarRail/img/side/布洛妮娅.webp
new file mode 100644
index 0000000..a555adb
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/布洛妮娅.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/希儿.webp b/plugins/genshin/resources/StarRail/img/side/希儿.webp
new file mode 100644
index 0000000..4528afd
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/希儿.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/希露瓦.webp b/plugins/genshin/resources/StarRail/img/side/希露瓦.webp
new file mode 100644
index 0000000..ba90c8f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/希露瓦.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/开拓者.webp b/plugins/genshin/resources/StarRail/img/side/开拓者.webp
new file mode 100644
index 0000000..6358833
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/开拓者.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/彦卿.webp b/plugins/genshin/resources/StarRail/img/side/彦卿.webp
new file mode 100644
index 0000000..4b9fed2
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/彦卿.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/景元.webp b/plugins/genshin/resources/StarRail/img/side/景元.webp
new file mode 100644
index 0000000..ec0acf7
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/景元.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/杰帕德.webp b/plugins/genshin/resources/StarRail/img/side/杰帕德.webp
new file mode 100644
index 0000000..3baeb1a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/杰帕德.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/桑博.webp b/plugins/genshin/resources/StarRail/img/side/桑博.webp
new file mode 100644
index 0000000..f665c92
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/桑博.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/瓦尔特.webp b/plugins/genshin/resources/StarRail/img/side/瓦尔特.webp
new file mode 100644
index 0000000..4797a88
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/瓦尔特.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/白露.webp b/plugins/genshin/resources/StarRail/img/side/白露.webp
new file mode 100644
index 0000000..9911f64
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/白露.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/素裳.webp b/plugins/genshin/resources/StarRail/img/side/素裳.webp
new file mode 100644
index 0000000..b6674b1
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/素裳.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/罗刹.webp b/plugins/genshin/resources/StarRail/img/side/罗刹.webp
new file mode 100644
index 0000000..b7ff2dc
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/罗刹.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/艾丝妲.webp b/plugins/genshin/resources/StarRail/img/side/艾丝妲.webp
new file mode 100644
index 0000000..e0e4839
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/艾丝妲.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/虎克.webp b/plugins/genshin/resources/StarRail/img/side/虎克.webp
new file mode 100644
index 0000000..148dfed
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/虎克.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/银狼.webp b/plugins/genshin/resources/StarRail/img/side/银狼.webp
new file mode 100644
index 0000000..86b334e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/银狼.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/阿兰.webp b/plugins/genshin/resources/StarRail/img/side/阿兰.webp
new file mode 100644
index 0000000..3ecea2f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/阿兰.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/青雀.webp b/plugins/genshin/resources/StarRail/img/side/青雀.webp
new file mode 100644
index 0000000..dbaa836
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/青雀.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/side/黑塔.webp b/plugins/genshin/resources/StarRail/img/side/黑塔.webp
new file mode 100644
index 0000000..d57b681
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/side/黑塔.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/「我」的诞生.webp b/plugins/genshin/resources/StarRail/img/weapon/「我」的诞生.webp
new file mode 100644
index 0000000..403d71e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/「我」的诞生.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/一场术后对话.webp b/plugins/genshin/resources/StarRail/img/weapon/一场术后对话.webp
new file mode 100644
index 0000000..6d29f75
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/一场术后对话.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/与行星相会.webp b/plugins/genshin/resources/StarRail/img/weapon/与行星相会.webp
new file mode 100644
index 0000000..826b3ed
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/与行星相会.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/乐圮.webp b/plugins/genshin/resources/StarRail/img/weapon/乐圮.webp
new file mode 100644
index 0000000..88d74f8
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/乐圮.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/于夜色中.webp b/plugins/genshin/resources/StarRail/img/weapon/于夜色中.webp
new file mode 100644
index 0000000..f6f6bc3
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/于夜色中.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/今日亦是和平的一日.webp b/plugins/genshin/resources/StarRail/img/weapon/今日亦是和平的一日.webp
new file mode 100644
index 0000000..dfdd1b6
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/今日亦是和平的一日.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/以世界之名.webp b/plugins/genshin/resources/StarRail/img/weapon/以世界之名.webp
new file mode 100644
index 0000000..db632a4
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/以世界之名.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/但战斗还未结束.webp b/plugins/genshin/resources/StarRail/img/weapon/但战斗还未结束.webp
new file mode 100644
index 0000000..b34e0c2
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/但战斗还未结束.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/余生的第一天.webp b/plugins/genshin/resources/StarRail/img/weapon/余生的第一天.webp
new file mode 100644
index 0000000..3fbf5ad
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/余生的第一天.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/俱殁.webp b/plugins/genshin/resources/StarRail/img/weapon/俱殁.webp
new file mode 100644
index 0000000..7b6fbad
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/俱殁.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/决心如汗珠般闪耀.webp b/plugins/genshin/resources/StarRail/img/weapon/决心如汗珠般闪耀.webp
new file mode 100644
index 0000000..9135613
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/决心如汗珠般闪耀.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/别让世界静下来.webp b/plugins/genshin/resources/StarRail/img/weapon/别让世界静下来.webp
new file mode 100644
index 0000000..b184d03
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/别让世界静下来.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/制胜的瞬间.webp b/plugins/genshin/resources/StarRail/img/weapon/制胜的瞬间.webp
new file mode 100644
index 0000000..64a1727
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/制胜的瞬间.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/匿影.webp b/plugins/genshin/resources/StarRail/img/weapon/匿影.webp
new file mode 100644
index 0000000..b818870
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/匿影.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/同一种心情.webp b/plugins/genshin/resources/StarRail/img/weapon/同一种心情.webp
new file mode 100644
index 0000000..7a27fbb
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/同一种心情.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/后会有期.webp b/plugins/genshin/resources/StarRail/img/weapon/后会有期.webp
new file mode 100644
index 0000000..c07a498
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/后会有期.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/唯有沉默.webp b/plugins/genshin/resources/StarRail/img/weapon/唯有沉默.webp
new file mode 100644
index 0000000..46e949d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/唯有沉默.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/嘉果.webp b/plugins/genshin/resources/StarRail/img/weapon/嘉果.webp
new file mode 100644
index 0000000..72974d4
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/嘉果.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/在蓝天下.webp b/plugins/genshin/resources/StarRail/img/weapon/在蓝天下.webp
new file mode 100644
index 0000000..cfe3a98
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/在蓝天下.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/天倾.webp b/plugins/genshin/resources/StarRail/img/weapon/天倾.webp
new file mode 100644
index 0000000..f20ac9c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/天倾.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/天才们的休憩.webp b/plugins/genshin/resources/StarRail/img/weapon/天才们的休憩.webp
new file mode 100644
index 0000000..67a593a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/天才们的休憩.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/如泥酣眠.webp b/plugins/genshin/resources/StarRail/img/weapon/如泥酣眠.webp
new file mode 100644
index 0000000..fff6914
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/如泥酣眠.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/宇宙市场趋势.webp b/plugins/genshin/resources/StarRail/img/weapon/宇宙市场趋势.webp
new file mode 100644
index 0000000..95e65b9
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/宇宙市场趋势.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/幽邃.webp b/plugins/genshin/resources/StarRail/img/weapon/幽邃.webp
new file mode 100644
index 0000000..4366154
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/幽邃.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/延长记号.webp b/plugins/genshin/resources/StarRail/img/weapon/延长记号.webp
new file mode 100644
index 0000000..4a81659
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/延长记号.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/开疆.webp b/plugins/genshin/resources/StarRail/img/weapon/开疆.webp
new file mode 100644
index 0000000..362914c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/开疆.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/戍御.webp b/plugins/genshin/resources/StarRail/img/weapon/戍御.webp
new file mode 100644
index 0000000..579705c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/戍御.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/我们是地火.webp b/plugins/genshin/resources/StarRail/img/weapon/我们是地火.webp
new file mode 100644
index 0000000..be2e4ae
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/我们是地火.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/拂晓之前.webp b/plugins/genshin/resources/StarRail/img/weapon/拂晓之前.webp
new file mode 100644
index 0000000..6989a04
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/拂晓之前.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/无可取代的东西.webp b/plugins/genshin/resources/StarRail/img/weapon/无可取代的东西.webp
new file mode 100644
index 0000000..d0298b1
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/无可取代的东西.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/无处可逃.webp b/plugins/genshin/resources/StarRail/img/weapon/无处可逃.webp
new file mode 100644
index 0000000..bd74d1c
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/无处可逃.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/早餐的仪式感.webp b/plugins/genshin/resources/StarRail/img/weapon/早餐的仪式感.webp
new file mode 100644
index 0000000..a573f5b
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/早餐的仪式感.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/时节不居.webp b/plugins/genshin/resources/StarRail/img/weapon/时节不居.webp
new file mode 100644
index 0000000..d9be46a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/时节不居.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/星海巡航.webp b/plugins/genshin/resources/StarRail/img/weapon/星海巡航.webp
new file mode 100644
index 0000000..fa75c74
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/星海巡航.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/春水初生.webp b/plugins/genshin/resources/StarRail/img/weapon/春水初生.webp
new file mode 100644
index 0000000..5409d98
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/春水初生.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/晚安与睡颜.webp b/plugins/genshin/resources/StarRail/img/weapon/晚安与睡颜.webp
new file mode 100644
index 0000000..8608d3e
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/晚安与睡颜.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/智库.webp b/plugins/genshin/resources/StarRail/img/weapon/智库.webp
new file mode 100644
index 0000000..a8e783b
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/智库.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/暖夜不会漫长.webp b/plugins/genshin/resources/StarRail/img/weapon/暖夜不会漫长.webp
new file mode 100644
index 0000000..5fec09d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/暖夜不会漫长.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/朗道的选择.webp b/plugins/genshin/resources/StarRail/img/weapon/朗道的选择.webp
new file mode 100644
index 0000000..1ead8b8
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/朗道的选择.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/此时恰好.webp b/plugins/genshin/resources/StarRail/img/weapon/此时恰好.webp
new file mode 100644
index 0000000..5ec246b
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/此时恰好.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/汪!散步时间!.webp b/plugins/genshin/resources/StarRail/img/weapon/汪!散步时间!.webp
new file mode 100644
index 0000000..f4b206a
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/汪!散步时间!.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/渊环.webp b/plugins/genshin/resources/StarRail/img/weapon/渊环.webp
new file mode 100644
index 0000000..36d84ea
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/渊环.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/灵钥.webp b/plugins/genshin/resources/StarRail/img/weapon/灵钥.webp
new file mode 100644
index 0000000..7082deb
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/灵钥.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/点个关注吧!.webp b/plugins/genshin/resources/StarRail/img/weapon/点个关注吧!.webp
new file mode 100644
index 0000000..3e11752
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/点个关注吧!.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/物穰.webp b/plugins/genshin/resources/StarRail/img/weapon/物穰.webp
new file mode 100644
index 0000000..5746dea
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/物穰.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/猎物的视线.webp b/plugins/genshin/resources/StarRail/img/weapon/猎物的视线.webp
new file mode 100644
index 0000000..2a3a487
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/猎物的视线.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/琥珀.webp b/plugins/genshin/resources/StarRail/img/weapon/琥珀.webp
new file mode 100644
index 0000000..a010798
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/琥珀.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/相抗.webp b/plugins/genshin/resources/StarRail/img/weapon/相抗.webp
new file mode 100644
index 0000000..5a9fa5b
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/相抗.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/睿见.webp b/plugins/genshin/resources/StarRail/img/weapon/睿见.webp
new file mode 100644
index 0000000..2f4ed45
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/睿见.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/离弦.webp b/plugins/genshin/resources/StarRail/img/weapon/离弦.webp
new file mode 100644
index 0000000..eb1751f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/离弦.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/秘密誓心.webp b/plugins/genshin/resources/StarRail/img/weapon/秘密誓心.webp
new file mode 100644
index 0000000..004bc6d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/秘密誓心.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/等价交换.webp b/plugins/genshin/resources/StarRail/img/weapon/等价交换.webp
new file mode 100644
index 0000000..a37c245
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/等价交换.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/舞!舞!舞!.webp b/plugins/genshin/resources/StarRail/img/weapon/舞!舞!舞!.webp
new file mode 100644
index 0000000..84d3a79
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/舞!舞!舞!.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/蕃息.webp b/plugins/genshin/resources/StarRail/img/weapon/蕃息.webp
new file mode 100644
index 0000000..c57ebb9
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/蕃息.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/记一位星神的陨落.webp b/plugins/genshin/resources/StarRail/img/weapon/记一位星神的陨落.webp
new file mode 100644
index 0000000..3b691e7
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/记一位星神的陨落.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/记忆中的模样.webp b/plugins/genshin/resources/StarRail/img/weapon/记忆中的模样.webp
new file mode 100644
index 0000000..7323eae
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/记忆中的模样.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/记忆的质料.webp b/plugins/genshin/resources/StarRail/img/weapon/记忆的质料.webp
new file mode 100644
index 0000000..97ffbd3
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/记忆的质料.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/论剑.webp b/plugins/genshin/resources/StarRail/img/weapon/论剑.webp
new file mode 100644
index 0000000..6063bfe
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/论剑.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/调和.webp b/plugins/genshin/resources/StarRail/img/weapon/调和.webp
new file mode 100644
index 0000000..521acec
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/调和.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/轮契.webp b/plugins/genshin/resources/StarRail/img/weapon/轮契.webp
new file mode 100644
index 0000000..88ce7b1
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/轮契.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/过往未来.webp b/plugins/genshin/resources/StarRail/img/weapon/过往未来.webp
new file mode 100644
index 0000000..72205b6
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/过往未来.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/这就是我啦!.webp b/plugins/genshin/resources/StarRail/img/weapon/这就是我啦!.webp
new file mode 100644
index 0000000..16504a3
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/这就是我啦!.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/重返幽冥.webp b/plugins/genshin/resources/StarRail/img/weapon/重返幽冥.webp
new file mode 100644
index 0000000..3849c2d
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/重返幽冥.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/银河铁道之夜.webp b/plugins/genshin/resources/StarRail/img/weapon/银河铁道之夜.webp
new file mode 100644
index 0000000..ecfd640
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/银河铁道之夜.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/锋镝.webp b/plugins/genshin/resources/StarRail/img/weapon/锋镝.webp
new file mode 100644
index 0000000..811a281
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/锋镝.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/镂月裁云之意.webp b/plugins/genshin/resources/StarRail/img/weapon/镂月裁云之意.webp
new file mode 100644
index 0000000..215553f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/镂月裁云之意.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/鼹鼠党欢迎你.webp b/plugins/genshin/resources/StarRail/img/weapon/鼹鼠党欢迎你.webp
new file mode 100644
index 0000000..98f5cbd
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/鼹鼠党欢迎你.webp differ
diff --git a/plugins/genshin/resources/StarRail/img/weapon/齐颂.webp b/plugins/genshin/resources/StarRail/img/weapon/齐颂.webp
new file mode 100644
index 0000000..527241f
Binary files /dev/null and b/plugins/genshin/resources/StarRail/img/weapon/齐颂.webp differ