* 增加3.6新圣遗物数据及资源
* 增加绮良良的角色信息,可通过`#绮良良天赋`、`#绮良良图鉴`等查看
@ -1,9 +1,9 @@
|
|||||||
# 2.3.6
|
# 2.3.7
|
||||||
|
|
||||||
* 3.5下半卡池信息更新
|
* 增加3.6新圣遗物数据及资源
|
||||||
* 一些已知问题修复
|
* 增加绮良良的角色信息,可通过`#绮良良天赋`、`#绮良良图鉴`等查看
|
||||||
|
|
||||||
# 2.3.1~2.3.5
|
# 2.3.1~2.3.6
|
||||||
|
|
||||||
* 增加`#角色记录``#抽卡统计`功能,可在`#喵喵设置`中开启
|
* 增加`#角色记录``#抽卡统计`功能,可在`#喵喵设置`中开启
|
||||||
* `#角色记录`、`#武器记录`、`#常驻记录` 可查看对应池子的抽卡记录
|
* `#角色记录`、`#武器记录`、`#常驻记录` 可查看对应池子的抽卡记录
|
||||||
|
@ -5,6 +5,7 @@ import { Cfg, Common, Format } from '#miao'
|
|||||||
import { MysApi, ProfileRank, ProfileArtis, Character, Weapon } from '#miao.models'
|
import { MysApi, ProfileRank, ProfileArtis, Character, Weapon } 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'
|
||||||
|
|
||||||
// 查看当前角色
|
// 查看当前角色
|
||||||
let ProfileDetail = {
|
let ProfileDetail = {
|
||||||
@ -150,6 +151,7 @@ let ProfileDetail = {
|
|||||||
if (mode === 'weapon') {
|
if (mode === 'weapon') {
|
||||||
wCfg = weapon.calcAttr(w.level, w.promote)
|
wCfg = weapon.calcAttr(w.level, w.promote)
|
||||||
wCfg.info = weapon.getAffixInfo(weapon.affix)
|
wCfg.info = weapon.getAffixInfo(weapon.affix)
|
||||||
|
wCfg.weapons = await ProfileWeapon.calc(profile)
|
||||||
}
|
}
|
||||||
|
|
||||||
let enemyLv = await selfUser.getCfg('char.enemyLv', 91)
|
let enemyLv = await selfUser.getCfg('char.enemyLv', 91)
|
||||||
|
37
apps/profile/ProfileWeapon.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import { ProfileData, Weapon } from '#miao.models'
|
||||||
|
import { Data } from '#miao'
|
||||||
|
|
||||||
|
export const ProfileWeapon = {
|
||||||
|
async calc (profile) {
|
||||||
|
let ret = []
|
||||||
|
await Weapon.forEach(async (w) => {
|
||||||
|
let weaponRet = w.getData('name,star,abbr,icon')
|
||||||
|
weaponRet.dmgs = []
|
||||||
|
for (let affix of [1, 5]) {
|
||||||
|
if (affix === 5 && w.maxAffix !== 5) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
let tempProfile = new ProfileData({
|
||||||
|
...profile.getData('uid,id,level,cons,fetter,elem,promote,talent,artis'),
|
||||||
|
dataSource: 'change'
|
||||||
|
}, false)
|
||||||
|
|
||||||
|
tempProfile.setWeapon({
|
||||||
|
name: w.name,
|
||||||
|
star: w.star,
|
||||||
|
level: w.maxLv,
|
||||||
|
promote: w.maxPromote,
|
||||||
|
affix
|
||||||
|
})
|
||||||
|
tempProfile.calcAttr()
|
||||||
|
weaponRet.dmgs.push({
|
||||||
|
affix,
|
||||||
|
...await tempProfile.calcDmg({ mode: 'single' })
|
||||||
|
})
|
||||||
|
}
|
||||||
|
ret.push(weaponRet)
|
||||||
|
}, profile?.weapon?.type)
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -60,6 +60,7 @@ export const characters = {
|
|||||||
10000066: ['神里绫人', 'Kamisato Ayato', 'Ayato', '绫人', '神里凌人', '凌人', '0人', '神人', '零人', '大舅哥'],
|
10000066: ['神里绫人', 'Kamisato Ayato', 'Ayato', '绫人', '神里凌人', '凌人', '0人', '神人', '零人', '大舅哥'],
|
||||||
|
|
||||||
// 3.0
|
// 3.0
|
||||||
|
10000061: ['绮良良', 'Kirara', '大猫猫', '大喵喵', '稻妻猫猫', '绮娘娘', '良良', '快递员'],
|
||||||
10000069: ['提纳里', 'Tighnari', '提那里', '小提', '驴'],
|
10000069: ['提纳里', 'Tighnari', '提那里', '小提', '驴'],
|
||||||
10000067: ['柯莱', 'Collei', '柯来', '科莱', '科来', '小天使', '须弥安柏', '草安柏', '须弥飞行冠军'],
|
10000067: ['柯莱', 'Collei', '柯来', '科莱', '科来', '小天使', '须弥安柏', '草安柏', '须弥飞行冠军'],
|
||||||
10000068: ['多莉', 'Dori', '多利', '多力', '奸商'],
|
10000068: ['多莉', 'Dori', '多利', '多力', '奸商'],
|
||||||
|
@ -54,6 +54,10 @@ class Weapon extends Base {
|
|||||||
return this.star <= 2 ? 70 : 90
|
return this.star <= 2 ? 70 : 90
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get maxPromote () {
|
||||||
|
return this.star <= 2 ? 4 : 6
|
||||||
|
}
|
||||||
|
|
||||||
get maxAffix () {
|
get maxAffix () {
|
||||||
let datas = this.detail?.affixData?.datas || {}
|
let datas = this.detail?.affixData?.datas || {}
|
||||||
return (datas['0'] && datas['0'][4]) ? 5 : 1
|
return (datas['0'] && datas['0'][4]) ? 5 : 1
|
||||||
@ -77,13 +81,24 @@ class Weapon extends Base {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async forEach (fn, type = '') {
|
||||||
|
for (let name in weaponData) {
|
||||||
|
let ds = weaponData[name]
|
||||||
|
let w = Weapon.get(ds.name)
|
||||||
|
if (!w || (type && type !== w.type)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
await fn(w)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
getDetail () {
|
getDetail () {
|
||||||
if (this._detail) {
|
if (this._detail) {
|
||||||
return this._detail
|
return this._detail
|
||||||
}
|
}
|
||||||
const path = 'resources/meta/weapon'
|
const path = 'resources/meta/weapon'
|
||||||
try {
|
try {
|
||||||
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`,'miao')
|
this._detail = Data.readJSON(`${path}/${this.type}/${this.name}/data.json`, 'miao')
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
|
@ -406,6 +406,28 @@ const buffs = {
|
|||||||
hyperBloom: 80
|
hyperBloom: 80
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
水仙之梦: {
|
||||||
|
2: attr('dmg', 15, '水'),
|
||||||
|
4: {
|
||||||
|
title: '3层Buff下提高攻击力25%,水伤15%',
|
||||||
|
data: {
|
||||||
|
atkPct: 25,
|
||||||
|
dmg: 15
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
花海甘露之光: {
|
||||||
|
2: attr('hpPct', 20),
|
||||||
|
4: {
|
||||||
|
title: '5层Buff下提高元素战技与元素爆发伤害50%',
|
||||||
|
data: {
|
||||||
|
eDmg: 50,
|
||||||
|
qDmg: 50
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default buffs
|
export default buffs
|
||||||
|
BIN
resources/meta/artifact/imgs/水仙之梦/1.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
resources/meta/artifact/imgs/水仙之梦/2.webp
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
resources/meta/artifact/imgs/水仙之梦/3.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
resources/meta/artifact/imgs/水仙之梦/4.webp
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
resources/meta/artifact/imgs/水仙之梦/5.webp
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
resources/meta/artifact/imgs/花海甘露之光/1.webp
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
resources/meta/artifact/imgs/花海甘露之光/2.webp
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
resources/meta/artifact/imgs/花海甘露之光/3.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
resources/meta/artifact/imgs/花海甘露之光/4.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/meta/artifact/imgs/花海甘露之光/5.webp
Normal file
After Width: | Height: | Size: 21 KiB |
@ -40,7 +40,9 @@ export const abbr = {
|
|||||||
深林的记忆: '草套',
|
深林的记忆: '草套',
|
||||||
饰金之梦: '饰金',
|
饰金之梦: '饰金',
|
||||||
沙上楼阁史话: '沙套',
|
沙上楼阁史话: '沙套',
|
||||||
乐园遗落之花: '乐园'
|
乐园遗落之花: '乐园',
|
||||||
|
水仙之梦: '水仙',
|
||||||
|
花海甘露之光: '花海'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const mainAttr = {
|
export const mainAttr = {
|
||||||
|
@ -36,5 +36,5 @@
|
|||||||
"talent": "「巧思」的哲学",
|
"talent": "「巧思」的哲学",
|
||||||
"weekly": "???"
|
"weekly": "???"
|
||||||
},
|
},
|
||||||
"eta": 1681264800000
|
"eta": 1683021600000
|
||||||
}
|
}
|
@ -36,5 +36,5 @@
|
|||||||
"talent": "「黄金」的哲学",
|
"talent": "「黄金」的哲学",
|
||||||
"weekly": "???"
|
"weekly": "???"
|
||||||
},
|
},
|
||||||
"eta": 1681264800000
|
"eta": 1683021600000
|
||||||
}
|
}
|
41
resources/meta/character/绮良良/data.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"id": 10000061,
|
||||||
|
"name": "绮良良",
|
||||||
|
"abbr": "绮良良",
|
||||||
|
"title": "",
|
||||||
|
"star": 4,
|
||||||
|
"elem": "dendro",
|
||||||
|
"allegiance": "狛荷屋",
|
||||||
|
"weapon": "sword",
|
||||||
|
"birth": "1-22",
|
||||||
|
"astro": "",
|
||||||
|
"desc": "稻妻快递公司「狛荷屋」的送货员,一只热爱自己工作、向往人类社会的「猫又」。",
|
||||||
|
"cncv": "",
|
||||||
|
"jpcv": "",
|
||||||
|
"costume": false,
|
||||||
|
"ver": 1,
|
||||||
|
"baseAttr": {
|
||||||
|
"hp": 12180,
|
||||||
|
"atk": 223,
|
||||||
|
"def": 546
|
||||||
|
},
|
||||||
|
"growAttr": {
|
||||||
|
"key": "hpPct",
|
||||||
|
"value": 24.0
|
||||||
|
},
|
||||||
|
"talentId": {
|
||||||
|
},
|
||||||
|
"talentCons": {
|
||||||
|
"e": 3,
|
||||||
|
"q": 5
|
||||||
|
},
|
||||||
|
"materials": {
|
||||||
|
"gem": "生长碧翡",
|
||||||
|
"boss": "常暗圆环",
|
||||||
|
"specialty": "天云草实",
|
||||||
|
"normal": "浮游晶化核",
|
||||||
|
"talent": "「浮世」的哲学",
|
||||||
|
"weekly": "亘古树海之一瞬"
|
||||||
|
},
|
||||||
|
"eta": 1684893600000
|
||||||
|
}
|
575
resources/meta/character/绮良良/detail.json
Normal file
@ -0,0 +1,575 @@
|
|||||||
|
{
|
||||||
|
"id": 10000061,
|
||||||
|
"name": "绮良良",
|
||||||
|
"talent": {
|
||||||
|
"a": {
|
||||||
|
"name": "普通攻击·箱纸切削术",
|
||||||
|
"desc": [
|
||||||
|
"<h3>普攻攻击</h3>",
|
||||||
|
"进行至多四段的连续攻击。",
|
||||||
|
"<h3>重击</h3>",
|
||||||
|
"消耗一定体力,向前方挥出三次爪击。",
|
||||||
|
"<h3>下落攻击</h3>",
|
||||||
|
"从空中下坠冲击地面,攻击下落路径上的敌人,并在落地时造成范围伤害。"
|
||||||
|
],
|
||||||
|
"tables": [
|
||||||
|
{
|
||||||
|
"name": "一段伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"47.9%",
|
||||||
|
"51.8%",
|
||||||
|
"55.7%",
|
||||||
|
"61.27%",
|
||||||
|
"65.17%",
|
||||||
|
"69.63%",
|
||||||
|
"75.75%",
|
||||||
|
"81.88%",
|
||||||
|
"88.01%",
|
||||||
|
"94.69%",
|
||||||
|
"101.37%",
|
||||||
|
"108.06%",
|
||||||
|
"114.74%",
|
||||||
|
"121.43%",
|
||||||
|
"128.11%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "二段伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"46.35%",
|
||||||
|
"50.13%",
|
||||||
|
"53.9%",
|
||||||
|
"59.29%",
|
||||||
|
"63.06%",
|
||||||
|
"67.38%",
|
||||||
|
"73.3%",
|
||||||
|
"79.23%",
|
||||||
|
"85.16%",
|
||||||
|
"91.63%",
|
||||||
|
"98.1%",
|
||||||
|
"104.57%",
|
||||||
|
"111.03%",
|
||||||
|
"117.5%",
|
||||||
|
"123.97%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "三段伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"25.42% + 38.13%",
|
||||||
|
"27.49% + 41.24%",
|
||||||
|
"29.56% + 44.34%",
|
||||||
|
"32.52% + 48.77%",
|
||||||
|
"34.59% + 51.88%",
|
||||||
|
"36.95% + 55.43%",
|
||||||
|
"40.2% + 60.3%",
|
||||||
|
"43.45% + 65.18%",
|
||||||
|
"46.71% + 70.06%",
|
||||||
|
"50.25% + 75.38%",
|
||||||
|
"53.8% + 80.7%",
|
||||||
|
"57.35% + 86.02%",
|
||||||
|
"60.89% + 91.34%",
|
||||||
|
"64.44% + 96.66%",
|
||||||
|
"67.99% + 101.98%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "四段伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"73.27%",
|
||||||
|
"79.24%",
|
||||||
|
"85.2%",
|
||||||
|
"93.72%",
|
||||||
|
"99.68%",
|
||||||
|
"106.5%",
|
||||||
|
"115.87%",
|
||||||
|
"125.24%",
|
||||||
|
"134.62%",
|
||||||
|
"144.84%",
|
||||||
|
"155.06%",
|
||||||
|
"165.29%",
|
||||||
|
"175.51%",
|
||||||
|
"185.74%",
|
||||||
|
"195.96%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "重击伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"22.38% + 44.75%+44.75%",
|
||||||
|
"24.2% + 48.4%+48.4%",
|
||||||
|
"26.02% + 52.04%+52.04%",
|
||||||
|
"28.62% + 57.24%+57.24%",
|
||||||
|
"30.44% + 60.89%+60.89%",
|
||||||
|
"32.52% + 65.05%+65.05%",
|
||||||
|
"35.39% + 70.77%+70.77%",
|
||||||
|
"38.25% + 76.5%+76.5%",
|
||||||
|
"41.11% + 82.22%+82.22%",
|
||||||
|
"44.23% + 88.47%+88.47%",
|
||||||
|
"47.36% + 94.71%+94.71%",
|
||||||
|
"50.48% + 100.96%+100.96%",
|
||||||
|
"53.6% + 107.2%+107.2%",
|
||||||
|
"56.72% + 113.45%+113.45%",
|
||||||
|
"59.85% + 119.69%+119.69%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "重击体力消耗",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点",
|
||||||
|
"20点"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "下坠期间伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"63.93%",
|
||||||
|
"69.14%",
|
||||||
|
"74.34%",
|
||||||
|
"81.77%",
|
||||||
|
"86.98%",
|
||||||
|
"92.92%",
|
||||||
|
"101.1%",
|
||||||
|
"109.28%",
|
||||||
|
"117.46%",
|
||||||
|
"126.38%",
|
||||||
|
"135.3%",
|
||||||
|
"144.22%",
|
||||||
|
"153.14%",
|
||||||
|
"162.06%",
|
||||||
|
"170.98%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "低空/高空坠地冲击伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"127.84% / 159.68%",
|
||||||
|
"138.24% / 172.67%",
|
||||||
|
"148.65% / 185.67%",
|
||||||
|
"163.51% / 204.24%",
|
||||||
|
"173.92% / 217.23%",
|
||||||
|
"185.81% / 232.09%",
|
||||||
|
"202.16% / 252.51%",
|
||||||
|
"218.51% / 272.94%",
|
||||||
|
"234.87% / 293.36%",
|
||||||
|
"252.7% / 315.64%",
|
||||||
|
"270.54% / 337.92%",
|
||||||
|
"288.38% / 360.2%",
|
||||||
|
"306.22% / 382.48%",
|
||||||
|
"324.05% / 404.76%",
|
||||||
|
"341.89% / 427.04%"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"e": {
|
||||||
|
"name": "呜喵町飞足",
|
||||||
|
"desc": [
|
||||||
|
"<h3>点按</h3>",
|
||||||
|
"以猫猫在花丛间穿行的灵巧身法起跳,使出甩尾飞踢痛揍敌人,造成草元素范围伤害,同时展开安全运输护盾,并为绮良良施加短暂的草元素附着。安全运输护盾对草元素伤害有250%的吸收效果。护盾的伤害吸收量受益于绮良良的生命值上限,且至多不超过绮良良生命值上限的一定比例,剩余的伤害吸收量在获取新的安全运输护盾时将会叠加,并刷新持续时间。",
|
||||||
|
"<h3>长按</h3>",
|
||||||
|
"拿出「半天之内送货上门」的气势,展开与点按相同的安全运输护盾,并蜷缩至特制的快递箱中,进入猫箱急件状态,更为迅捷地移动与战斗。",
|
||||||
|
"<h3>猫箱急件状态</h3>",
|
||||||
|
"·对冲撞触及的敌人造成草元素伤害,此效果每0.5秒对每个敌人至多触发一次;",
|
||||||
|
"·处于该状态下时,绮良良的移动速度、攀爬速度、跳跃能力提升,攀爬时消耗的体力提高;",
|
||||||
|
"·持续时间结束或再次施放技能时,将使出相比点按更为强大的翻正爪击,造成草元素范围伤害;",
|
||||||
|
"·猫箱急件状态持续至多10秒。效果结束时,技能将进入冷却。在猫箱急件状态下持续的时间越长,冷却时间越长;",
|
||||||
|
"·持续期间进行冲刺或主动解除攀爬,将提前结束猫箱急件状态。",
|
||||||
|
"<i>「嗯,你问往来送货如此迅速的秘诀是什么?当然是脚力啦!」</i>"
|
||||||
|
],
|
||||||
|
"tables": [
|
||||||
|
{
|
||||||
|
"name": "甩尾飞踢伤害伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"104%",
|
||||||
|
"111.8%",
|
||||||
|
"119.6%",
|
||||||
|
"130%",
|
||||||
|
"137.8%",
|
||||||
|
"145.6%",
|
||||||
|
"156%",
|
||||||
|
"166.4%",
|
||||||
|
"176.8%",
|
||||||
|
"187.2%",
|
||||||
|
"197.6%",
|
||||||
|
"208%",
|
||||||
|
"221%",
|
||||||
|
"234%",
|
||||||
|
"247%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "护盾吸收量",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"10%HP + 962",
|
||||||
|
"10.75%HP + 1058",
|
||||||
|
"11.5%HP + 1162",
|
||||||
|
"12.5%HP + 1275",
|
||||||
|
"13.25%HP + 1395",
|
||||||
|
"14%HP + 1523",
|
||||||
|
"15%HP + 1659",
|
||||||
|
"16%HP + 1804",
|
||||||
|
"17%HP + 1956",
|
||||||
|
"18%HP + 2117",
|
||||||
|
"19%HP + 2285",
|
||||||
|
"20%HP + 2461",
|
||||||
|
"21.25%HP + 2646",
|
||||||
|
"22.5%HP + 2838",
|
||||||
|
"23.75%HP + 3039"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "护盾吸收量上限",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"16%HP + 1541",
|
||||||
|
"17.2%HP + 1695",
|
||||||
|
"18.4%HP + 1862",
|
||||||
|
"20%HP + 2042",
|
||||||
|
"21.2%HP + 2234",
|
||||||
|
"22.4%HP + 2440",
|
||||||
|
"24%HP + 2658",
|
||||||
|
"25.6%HP + 2889",
|
||||||
|
"27.2%HP + 3133",
|
||||||
|
"28.8%HP + 3390",
|
||||||
|
"30.4%HP + 3660",
|
||||||
|
"32%HP + 3942",
|
||||||
|
"34%HP + 4238",
|
||||||
|
"36%HP + 4546",
|
||||||
|
"38%HP + 4867"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "护盾持续时间",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "猫箱急件冲撞伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"33.6%",
|
||||||
|
"36.12%",
|
||||||
|
"38.64%",
|
||||||
|
"42%",
|
||||||
|
"44.52%",
|
||||||
|
"47.04%",
|
||||||
|
"50.4%",
|
||||||
|
"53.76%",
|
||||||
|
"57.12%",
|
||||||
|
"60.48%",
|
||||||
|
"63.84%",
|
||||||
|
"67.2%",
|
||||||
|
"71.4%",
|
||||||
|
"75.6%",
|
||||||
|
"79.8%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "猫箱急件状态最大持续时间",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒",
|
||||||
|
"10秒"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "翻正爪击伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"144%",
|
||||||
|
"154.8%",
|
||||||
|
"165.6%",
|
||||||
|
"180%",
|
||||||
|
"190.8%",
|
||||||
|
"201.6%",
|
||||||
|
"216%",
|
||||||
|
"230.4%",
|
||||||
|
"244.8%",
|
||||||
|
"259.2%",
|
||||||
|
"273.6%",
|
||||||
|
"288%",
|
||||||
|
"306%",
|
||||||
|
"324%",
|
||||||
|
"342%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "冷却时间",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒",
|
||||||
|
"8秒到12秒"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"q": {
|
||||||
|
"name": "秘法·惊喜特派",
|
||||||
|
"desc": [
|
||||||
|
"以惩罚盗贼的特派快递箱猛砸敌人,造成草元素范围伤害。特派快递箱爆炸后,将分裂成许多猫草豆蔻,猫草豆蔻会在接触到敌人或一段时间后爆炸,造成草元素范围伤害。",
|
||||||
|
"<i>「嘿嘿,这就是专门为那些喜欢偷快递的家伙准备的,坏蛋们,收到记得好评哦!」</i>"
|
||||||
|
],
|
||||||
|
"tables": [
|
||||||
|
{
|
||||||
|
"name": "技能伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"570.24%",
|
||||||
|
"613.01%",
|
||||||
|
"655.78%",
|
||||||
|
"712.8%",
|
||||||
|
"755.57%",
|
||||||
|
"798.34%",
|
||||||
|
"855.36%",
|
||||||
|
"912.38%",
|
||||||
|
"969.41%",
|
||||||
|
"1026.43%",
|
||||||
|
"1083.46%",
|
||||||
|
"1140.48%",
|
||||||
|
"1211.76%",
|
||||||
|
"1283.04%",
|
||||||
|
"1354.32%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "猫草豆蔻爆炸伤害",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": false,
|
||||||
|
"values": [
|
||||||
|
"35.64%",
|
||||||
|
"38.31%",
|
||||||
|
"40.99%",
|
||||||
|
"44.55%",
|
||||||
|
"47.22%",
|
||||||
|
"49.9%",
|
||||||
|
"53.46%",
|
||||||
|
"57.02%",
|
||||||
|
"60.59%",
|
||||||
|
"64.15%",
|
||||||
|
"67.72%",
|
||||||
|
"71.28%",
|
||||||
|
"75.73%",
|
||||||
|
"80.19%",
|
||||||
|
"84.65%"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "猫草豆蔻存在时间",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒",
|
||||||
|
"12秒"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "冷却时间",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒",
|
||||||
|
"15秒"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "元素能量",
|
||||||
|
"unit": "",
|
||||||
|
"isSame": true,
|
||||||
|
"values": [
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60",
|
||||||
|
"60"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cons": {
|
||||||
|
"1": {
|
||||||
|
"name": "物器流转",
|
||||||
|
"desc": [
|
||||||
|
"施放秘法·惊喜特派时,绮良良的每8000点生命值上限都将额外生成1枚猫草豆蔻,至多通过这种方式额外生成4枚猫草豆蔻。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"name": "八尖裹术",
|
||||||
|
"desc": [
|
||||||
|
"绮良良处于呜喵町飞足的猫箱急件状态下时,将为冲撞触及的队伍中其他角色施加安全运输护盾·要件。",
|
||||||
|
"安全运输护盾·要件的伤害吸收量相当于呜喵町飞足的安全运输护盾的吸收量上限的40%,且对草元素伤害有250%的吸收效果。",
|
||||||
|
"安全运输护盾·要件持续12秒,此效果每10秒对每位角色至多触发一次。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"name": "万户门牌通识",
|
||||||
|
"desc": [
|
||||||
|
"呜喵町飞足的技能等级提高3级。",
|
||||||
|
"至多提升至15级。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"name": "韦驮骏足",
|
||||||
|
"desc": [
|
||||||
|
"处于安全运输护盾或安全运输护盾·要件的当前场上角色的普通攻击、重击与下落攻击命中敌人后,绮良良将使用猫草小豆蔻进行协同攻击,造成相当于绮良良攻击力200%草元素伤害,通过这种方式造成的伤害视为元素爆发伤害。此效果每3.8秒至多触发一次。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"name": "千里一日",
|
||||||
|
"desc": [
|
||||||
|
"秘法·惊喜特派的技能等级提高3级。",
|
||||||
|
"至多提升至15级。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"name": "沿途百景会心",
|
||||||
|
"desc": [
|
||||||
|
"绮良良施放元素战技或元素爆发后的15秒内,附近的队伍中所有角色获得12%所有元素伤害加成。"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"passive": [
|
||||||
|
{
|
||||||
|
"name": "妖说歧尾之变",
|
||||||
|
"desc": [
|
||||||
|
"绮良良处于呜喵町飞足的猫箱急件状态下时,每次冲撞触及敌人,都将获得一层加固包装,此效果每0.5秒对每个敌人至多触发一次,至多叠加3层。猫箱急件状态结束时,每层加固包装都将为绮良良生成一个安全运输护盾,通过这种方式生成的护盾的伤害吸收量相当于呜喵町飞足生成的安全运输护盾的20%,若绮良良已处于呜喵町飞足的安全运输护盾的庇护下,剩余的伤害吸收量将叠加,并刷新持续时间。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "应时惑目之灵",
|
||||||
|
"desc": [
|
||||||
|
"基于绮良良的生命值上限,每1000点生命值上限将使呜喵町飞足造成的伤害提升0.4%,秘法·惊喜特派造成的伤害提升0.3%。"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "祟祟猫步",
|
||||||
|
"desc": [
|
||||||
|
"绮良良在队伍中时,队伍中自己的角色接近产出禽肉、兽肉与冷鲜肉的小动物时,不会轻易惊动它们。"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"attr": {
|
||||||
|
"details": {
|
||||||
|
"90": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
resources/meta/character/绮良良/icons/cons-1.webp
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
resources/meta/character/绮良良/icons/cons-2.webp
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
resources/meta/character/绮良良/icons/cons-3.webp
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
resources/meta/character/绮良良/icons/cons-4.webp
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
resources/meta/character/绮良良/icons/cons-5.webp
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
resources/meta/character/绮良良/icons/cons-6.webp
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
resources/meta/character/绮良良/icons/passive-0.webp
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
resources/meta/character/绮良良/icons/passive-1.webp
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
resources/meta/character/绮良良/icons/passive-2.webp
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
resources/meta/character/绮良良/icons/talent-a.webp
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
resources/meta/character/绮良良/icons/talent-e.webp
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
resources/meta/character/绮良良/icons/talent-q.webp
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
resources/meta/character/绮良良/imgs/card.webp
Normal file
After Width: | Height: | Size: 453 KiB |
BIN
resources/meta/character/绮良良/imgs/face.webp
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
resources/meta/character/绮良良/imgs/splash.webp
Normal file
After Width: | Height: | Size: 1.1 MiB |
@ -41,7 +41,9 @@ export const abbr = {
|
|||||||
西福斯的月光: '西福斯',
|
西福斯的月光: '西福斯',
|
||||||
玛海菈的水色: '玛海菈',
|
玛海菈的水色: '玛海菈',
|
||||||
图莱杜拉的回忆: '图莱杜拉',
|
图莱杜拉的回忆: '图莱杜拉',
|
||||||
流浪的晚星: '流浪晚星'
|
流浪的晚星: '流浪晚星',
|
||||||
|
'「一心传」名刀': '一心传',
|
||||||
|
东花坊时雨: '伞剑'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const alias = {
|
export const alias = {
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import cheerio from 'cheerio'
|
|
||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import fetch from 'node-fetch'
|
import fetch from 'node-fetch'
|
||||||
import ImgDownloader from './sprider/ImgDown.js'
|
import ImgDownloader from './sprider/ImgDown.js'
|
||||||
import CharData from './sprider/CharDataAmber.js'
|
import CharData from './sprider/CharDataAmber.js'
|
||||||
import { Data } from '#miao'
|
import { Data } from '#miao'
|
||||||
import tId from './sprider/TalentId.js'
|
|
||||||
|
|
||||||
import testData from './test.js'
|
|
||||||
|
|
||||||
const _path = process.cwd()
|
const _path = process.cwd()
|
||||||
const _root = _path + '/plugins/miao-plugin/'
|
const _root = _path + '/plugins/miao-plugin/'
|
||||||
@ -108,66 +106,6 @@ async function down (name = '', force = false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const charData = {
|
const charData = {
|
||||||
2: { key: 'ayaka', name: '神里绫华' },
|
61: '绮良良'
|
||||||
3: { key: 'qin', name: '琴' },
|
|
||||||
4: { key: 'playergirl', name: '旅行者', id: 7 },
|
|
||||||
5: { key: 'playerboy', name: '空' },
|
|
||||||
6: { key: 'lisa', name: '丽莎' },
|
|
||||||
7: { key: 'playergirl', name: '荧' },
|
|
||||||
14: { key: 'barbara', name: '芭芭拉' },
|
|
||||||
15: { key: 'kaeya', name: '凯亚' },
|
|
||||||
16: { key: 'diluc', name: '迪卢克' },
|
|
||||||
20: { key: 'razor', name: '雷泽' },
|
|
||||||
21: { key: 'ambor', name: '安柏' },
|
|
||||||
22: { key: 'venti', name: '温迪' },
|
|
||||||
23: { key: 'xiangling', name: '香菱' },
|
|
||||||
24: { key: 'beidou', name: '北斗' },
|
|
||||||
25: { key: 'xingqiu', name: '行秋' },
|
|
||||||
26: { key: 'xiao', name: '魈' },
|
|
||||||
27: { key: 'ningguang', name: '凝光' },
|
|
||||||
29: { key: 'klee', name: '可莉' },
|
|
||||||
30: { key: 'zhongli', name: '钟离' },
|
|
||||||
31: { key: 'fischl', name: '菲谢尔' },
|
|
||||||
32: { key: 'bennett', name: '班尼特' },
|
|
||||||
33: { key: 'tartaglia', name: '达达利亚' },
|
|
||||||
34: { key: 'noel', name: '诺艾尔' },
|
|
||||||
35: { key: 'qiqi', name: '七七' },
|
|
||||||
36: { key: 'chongyun', name: '重云' },
|
|
||||||
37: { key: 'ganyu', name: '甘雨' },
|
|
||||||
38: { key: 'albedo', name: '阿贝多' },
|
|
||||||
39: { key: 'diona', name: '迪奥娜' },
|
|
||||||
41: { key: 'mona', name: '莫娜' },
|
|
||||||
42: { key: 'keqing', name: '刻晴' },
|
|
||||||
43: { key: 'sucrose', name: '砂糖' },
|
|
||||||
44: { key: 'xinyan', name: '辛焱' },
|
|
||||||
45: { key: 'rosaria', name: '罗莎莉亚' },
|
|
||||||
46: { key: 'hutao', name: '胡桃' },
|
|
||||||
47: { key: 'kazuha', name: '枫原万叶' },
|
|
||||||
48: { key: 'feiyan', name: '烟绯' },
|
|
||||||
49: { key: 'yoimiya', name: '宵宫' },
|
|
||||||
50: { key: 'tohma', name: '托马' },
|
|
||||||
51: { key: 'eula', name: '优菈' },
|
|
||||||
52: { key: 'shougun', name: '雷电将军' },
|
|
||||||
53: { key: 'sayu', name: '早柚' },
|
|
||||||
54: { key: 'kokomi', name: '珊瑚宫心海' },
|
|
||||||
55: { key: 'gorou', name: '五郎' },
|
|
||||||
56: { key: 'sara', name: '九条裟罗' },
|
|
||||||
57: { key: 'itto', name: '荒泷一斗' },
|
|
||||||
58: { key: 'yae', name: '八重神子' },
|
|
||||||
59: { key: 'heizo', name: '鹿野院平藏' },
|
|
||||||
60: { key: 'yelan', name: '夜兰' },
|
|
||||||
62: { key: 'aloy', name: '埃洛伊' },
|
|
||||||
63: { key: 'shenhe', name: '申鹤' },
|
|
||||||
64: { key: 'yunjin', name: '云堇' },
|
|
||||||
65: { key: 'shinobu', name: '久岐忍' },
|
|
||||||
66: { key: 'ayato', name: '神里绫人' },
|
|
||||||
67: { key: 'collei', name: '柯莱' },
|
|
||||||
68: { key: 'dori', name: '多莉' },
|
|
||||||
69: { key: 'tighnari', name: '提纳里' },
|
|
||||||
70: { key: 'nilou', name: '妮露' },
|
|
||||||
71: { key: 'cyno', name: '赛诺' },
|
|
||||||
72: { key: 'candace', name: '坎蒂丝' },
|
|
||||||
73: '纳西妲',
|
|
||||||
74: '莱依拉'
|
|
||||||
}
|
}
|
||||||
await down('73,74', true)
|
await down('61', true)
|
||||||
|
@ -20,7 +20,7 @@ async function getSets (id) {
|
|||||||
const url = `https://genshin.honeyhunterworld.com/i_${id}/?lang=CHS`
|
const url = `https://genshin.honeyhunterworld.com/i_${id}/?lang=CHS`
|
||||||
let req = await fetch(url, { agent })
|
let req = await fetch(url, { agent })
|
||||||
let txt = await req.text()
|
let txt = await req.text()
|
||||||
let sTxt = /sortable_data.push\((.*)\)/.exec(txt)
|
let sTxt = /sortable_data.push\((\[\[.*?\]\])[\n\s]*\)/.exec(txt)
|
||||||
let ret = {}
|
let ret = {}
|
||||||
|
|
||||||
if (sTxt && sTxt[1]) {
|
if (sTxt && sTxt[1]) {
|
||||||
@ -50,9 +50,9 @@ async function down (sets = '') {
|
|||||||
sets = sets.split(',')
|
sets = sets.split(',')
|
||||||
}
|
}
|
||||||
|
|
||||||
let ret = {}
|
let ret = Data.readJSON('resources/meta/artifact/data.json', 'miao')
|
||||||
|
|
||||||
let sTxt = /sortable_data.push\((.*)\)/.exec(txt)
|
let sTxt = /sortable_data.push\((\[\[.*?\]\])\)/.exec(txt)
|
||||||
if (sTxt && sTxt[1]) {
|
if (sTxt && sTxt[1]) {
|
||||||
// eslint-disable-next-line no-eval
|
// eslint-disable-next-line no-eval
|
||||||
let txt = sTxt[1]
|
let txt = sTxt[1]
|
||||||
@ -76,13 +76,15 @@ async function down (sets = '') {
|
|||||||
effect[setRet[1]] = setRet[2]
|
effect[setRet[1]] = setRet[2]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
tmp = {
|
if (idRet[1]) {
|
||||||
id: idRet[1],
|
let id = idRet[1]
|
||||||
name: na.find('img').attr('alt'),
|
ret[id] = ret[id] || {
|
||||||
sets: {},
|
id,
|
||||||
effect
|
name: na.find('img').attr('alt'),
|
||||||
|
sets: {},
|
||||||
|
effect
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ret[tmp.id] = tmp
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -136,4 +138,4 @@ async function down (sets = '') {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
await down()
|
await down('水仙之梦,花海甘露之光')
|
||||||
|