feat: 角色天赋图鉴(支持自定义等级)

This commit is contained in:
bietiaop 2024-09-02 16:22:23 +08:00
parent 4f02e6b2ce
commit 15b14eece4
23 changed files with 937 additions and 124 deletions

View file

@ -1,10 +1,13 @@
import fs from 'fs';
import {
getRoleImage,
getRoleCircleImage,
getSmallSquareAvatar,
getSquareAvatar,
getSuitImage,
getWeaponImage,
getHakushCharacter,
getHakushWeapon,
} from '../../lib/download.js';
import { char } from '../../lib/convert.js';
import { getAllEquipID } from '../../lib/convert/equip.js';
@ -17,30 +20,49 @@ export async function downloadAll() {
const equipSprites = getAllEquipID();
const weaponSprites = getAllWeaponID();
const result = {
char: {
success: 0,
failed: 0,
total: charIDs.length,
images: {
char: {
success: 0,
failed: 0,
total: charIDs.length,
},
charSmallSquare: {
success: 0,
failed: 0,
total: charIDs.length,
},
charCircle: {
success: 0,
failed: 0,
total: charIDs.length,
},
charSquare: {
success: 0,
failed: 0,
total: charIDs.length,
},
equip: {
success: 0,
failed: 0,
total: equipSprites.length,
},
weapon: {
success: 0,
failed: 0,
total: weaponSprites.length,
},
},
charSmallSquare: {
success: 0,
failed: 0,
total: charIDs.length,
},
charSquare: {
success: 0,
failed: 0,
total: charIDs.length,
},
equip: {
success: 0,
failed: 0,
total: equipSprites.length,
},
weapon: {
success: 0,
failed: 0,
total: weaponSprites.length,
hakush: {
char: {
success: 0,
failed: 0,
total: charIDs.length,
},
equip: {
success: 0,
failed: 0,
total: equipSprites.length,
},
},
};
await this.reply(
@ -51,51 +73,75 @@ export async function downloadAll() {
for (const id of charIDs) {
try {
await getSquareAvatar(id);
result.charSquare.success++;
result.images.charSquare.success++;
} catch (error) {
logger.error('getSquareAvatar', id, error);
result.charSquare.failed++;
result.images.charSquare.failed++;
}
try {
await getSmallSquareAvatar(id);
result.charSmallSquare.success++;
result.images.charSmallSquare.success++;
} catch (error) {
logger.error('getSmallSquareAvatar', id, error);
result.charSmallSquare.failed++;
result.images.charSmallSquare.failed++;
}
try {
await getRoleImage(id);
result.char.success++;
result.images.char.success++;
} catch (error) {
logger.error('getRoleImage', id, error);
result.char.failed++;
result.images.char.failed++;
}
try {
await getRoleCircleImage(id);
result.images.charCircle.success++;
} catch (error) {
logger.error('getRoleCircleImage', id, error);
result.images.charCircle.failed++;
}
try {
await getHakushCharacter(id);
result.hakush.char.success++;
} catch (error) {
logger.error('getHakushCharacter', id, error);
result.hakush.char.failed++;
}
}
for (const sprite of equipSprites) {
try {
await getSuitImage(sprite);
result.equip.success++;
result.images.equip.success++;
} catch (error) {
logger.error('getSuitImage', sprite, error);
result.equip.failed++;
result.images.equip.failed++;
}
}
for (const sprite of weaponSprites) {
try {
await getWeaponImage(sprite);
result.weapon.success++;
result.images.weapon.success++;
} catch (error) {
logger.error('getWeaponImage', sprite, error);
result.weapon.failed++;
result.images.weapon.failed++;
}
try {
await getHakushWeapon(sprite);
result.hakush.equip.success++;
} catch (error) {
logger.error('getHakushWeapon', sprite, error);
result.hakush.equip.failed++;
}
}
const messages = [
'资源下载完成(成功的包含先前下载的图片)',
`角色图需下载${charIDs.length}张,成功${result.char.success}张,失败${result.char.failed}`,
`角色头像图需下载${charIDs.length}张,成功${result.charSquare.success}张,失败${result.charSquare.failed}`,
`角色头像图(练度统计)需下载${charIDs.length}张,成功${result.charSmallSquare.success}张,失败${result.charSmallSquare.failed}`,
`驱动盘套装图需下载${equipSprites.length}张,成功${result.equip.success}张,失败${result.equip.failed}`,
`武器图需下载${weaponSprites.length}张,成功${result.weapon.success}张,失败${result.weapon.failed}`,
'资源下载完成(成功的包含先前下载的资源)',
`角色图需下载${charIDs.length}张,成功${result.images.char.success}张,失败${result.images.char.failed}`,
`角色头像图需下载${charIDs.length}张,成功${result.images.charSquare.success}张,失败${result.images.charSquare.failed}`,
`角色圆形图需下载${charIDs.length}张,成功${result.images.charCircle.success}张,失败${result.images.charCircle.failed}`,
`角色头像图(练度统计)需下载${charIDs.length}张,成功${result.images.charSmallSquare.success}张,失败${result.images.charSmallSquare.failed}`,
`驱动盘套装图需下载${equipSprites.length}张,成功${result.images.equip.success}张,失败${result.images.equip.failed}`,
`武器图需下载${weaponSprites.length}张,成功${result.images.weapon.success}张,失败${result.images.weapon.failed}`,
`Hakush角色数据需下载${charIDs.length}个,成功${result.hakush.char.success}张,失败${result.hakush.char.failed}`,
`Hakush驱动盘数据需下载${equipSprites.length}个,成功${result.hakush.equip.success}张,失败${result.hakush.equip.failed}`,
];
await this.reply(messages.join('\n'));
}