mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
fix: 1.1内容
This commit is contained in:
parent
267a790cbc
commit
4a54442fae
6 changed files with 226 additions and 220 deletions
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
> [!tip]
|
||||
> 说明
|
||||
>
|
||||
> 插件依靠社区维护,发起者随缘更新,但是ZZZure组织成员会对PR进行合并,你可以在PR页面@协助者进行合并。
|
||||
|
||||
# 安装
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ export class GachaLog extends ZZZPlugin {
|
|||
);
|
||||
}
|
||||
await this.reply(
|
||||
await common.makeForwardMsg(this.e, msg, '抽卡记录更新成功')
|
||||
await common.makeForwardMsg(this.e, msg.join('\n'), '抽卡记录更新成功')
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
128
lib/download.js
128
lib/download.js
|
|
@ -1,6 +1,11 @@
|
|||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { ZZZ_SQUARE_AVATAR, ZZZ_SQUARE_BANGBOO } from './mysapi/api.js';
|
||||
import {
|
||||
ZZZ_SQUARE_AVATAR,
|
||||
ZZZ_SQUARE_BANGBOO,
|
||||
NEW_ZZZ_SQUARE_BANGBOO,
|
||||
NEW_ZZZ_SQUARE_AVATAR,
|
||||
} from './mysapi/api.js';
|
||||
import { imageResourcesPath } from './path.js';
|
||||
import { char, equip, weapon } from './convert.js';
|
||||
import { getResourceRemotePath } from './assets.js';
|
||||
|
|
@ -46,6 +51,23 @@ export const downloadFile = async (url, savePath) => {
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 查看文件是否存在,如果存在则返回路径,否则下载文件
|
||||
* @param {string} url 下载地址
|
||||
* @param {string} savePath 保存路径
|
||||
* @returns {Promise<string | null>} 保存路径
|
||||
*/
|
||||
export const checkFile = async (url, savePath) => {
|
||||
if (fs.existsSync(savePath)) {
|
||||
const stats = fs.statSync(savePath);
|
||||
if (stats.size > 0) {
|
||||
return savePath;
|
||||
}
|
||||
}
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取角色头像(方形)
|
||||
* @param {string | number} charID
|
||||
|
|
@ -54,16 +76,13 @@ export const downloadFile = async (url, savePath) => {
|
|||
export const getSquareAvatar = async charID => {
|
||||
const filename = `role_square_avatar_${charID}.png`;
|
||||
const avatarPath = path.join(ZZZ_SQUARE_AVATAR_PATH, filename);
|
||||
if (fs.existsSync(avatarPath)) {
|
||||
const stats = fs.statSync(avatarPath);
|
||||
if (stats.size > 0) {
|
||||
return avatarPath;
|
||||
}
|
||||
let url = `${ZZZ_SQUARE_AVATAR}/${filename}`;
|
||||
let result = await checkFile(url, avatarPath);
|
||||
if (!result) {
|
||||
url = `${NEW_ZZZ_SQUARE_AVATAR}/${filename}`;
|
||||
result = await checkFile(url, avatarPath);
|
||||
}
|
||||
const url = `${ZZZ_SQUARE_AVATAR}/${filename}`;
|
||||
const savePath = avatarPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -77,16 +96,9 @@ export const getSmallSquareAvatar = async charID => {
|
|||
if (!sprite) return null;
|
||||
const filename = `IconRoleGeneral${sprite}.png`;
|
||||
const avatarPath = path.join(ZZZ_SMALL_SQUARE_AVATAR_PATH, filename);
|
||||
if (fs.existsSync(avatarPath)) {
|
||||
const stats = fs.statSync(avatarPath);
|
||||
if (stats.size > 0) {
|
||||
return avatarPath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('role_general', filename);
|
||||
const savePath = avatarPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
const result = await checkFile(url, avatarPath);
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -97,16 +109,13 @@ export const getSmallSquareAvatar = async charID => {
|
|||
export const getSquareBangboo = async bangbooId => {
|
||||
const filename = `bangboo_rectangle_avatar_${bangbooId}.png`;
|
||||
const bangbooPath = path.join(ZZZ_SQUARE_BANGBOO_PATH, filename);
|
||||
if (fs.existsSync(bangbooPath)) {
|
||||
const stats = fs.statSync(bangbooPath);
|
||||
if (stats.size > 0) {
|
||||
return bangbooPath;
|
||||
}
|
||||
let url = `${ZZZ_SQUARE_BANGBOO}/${filename}`;
|
||||
let result = await checkFile(url, bangbooPath);
|
||||
if (!result) {
|
||||
url = `${NEW_ZZZ_SQUARE_BANGBOO}/${filename}`;
|
||||
result = await checkFile(url, bangbooPath);
|
||||
}
|
||||
const url = `${ZZZ_SQUARE_BANGBOO}/${filename}`;
|
||||
const savePath = bangbooPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -116,18 +125,17 @@ export const getSquareBangboo = async bangbooId => {
|
|||
*/
|
||||
export const getWeaponImage = async id => {
|
||||
const name = weapon.IDToWeaponFileName(id);
|
||||
const filename = `${name}.png`;
|
||||
let filename = `${name}_High.png`;
|
||||
const weaponPath = path.join(ZZZ_WEAPON_PATH, filename);
|
||||
if (fs.existsSync(weaponPath)) {
|
||||
const stats = fs.statSync(weaponPath);
|
||||
if (stats.size > 0) {
|
||||
return weaponPath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('weapon', filename);
|
||||
const savePath = weaponPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
let result = await checkFile(url, weaponPath);
|
||||
if (!result) {
|
||||
filename = `${name}.png`;
|
||||
const weaponPath = path.join(ZZZ_WEAPON_PATH, filename);
|
||||
const url = await getResourceRemotePath('weapon', filename);
|
||||
result = await checkFile(url, weaponPath);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -140,16 +148,9 @@ export const getRoleImage = async id => {
|
|||
if (!sprite) return null;
|
||||
const filename = `IconRole${sprite}.png`;
|
||||
const rolePath = path.join(ZZZ_ROLE_PATH, filename);
|
||||
if (fs.existsSync(rolePath)) {
|
||||
const stats = fs.statSync(rolePath);
|
||||
if (stats.size > 0) {
|
||||
return rolePath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('role', filename);
|
||||
const savePath = rolePath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
const result = await checkFile(url, rolePath);
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -162,16 +163,9 @@ export const getRoleCircleImage = async id => {
|
|||
if (!sprite) return null;
|
||||
const filename = `IconRoleCircle${sprite}.png`;
|
||||
const roleCirclePath = path.join(ZZZ_ROLE_CIRCLE_PATH, filename);
|
||||
if (fs.existsSync(roleCirclePath)) {
|
||||
const stats = fs.statSync(roleCirclePath);
|
||||
if (stats.size > 0) {
|
||||
return roleCirclePath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('role_circle', filename);
|
||||
const savePath = roleCirclePath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
const result = await checkFile(url, roleCirclePath);
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -183,16 +177,9 @@ export const getSuitImage = async suitId => {
|
|||
const suitName = equip.equipIdToSprite(suitId);
|
||||
const filename = `${suitName}.png`;
|
||||
const suitPath = path.join(ZZZ_SUIT_PATH, filename);
|
||||
if (fs.existsSync(suitPath)) {
|
||||
const stats = fs.statSync(suitPath);
|
||||
if (stats.size > 0) {
|
||||
return suitPath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('suit', filename);
|
||||
const savePath = suitPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
const result = await checkFile(url, suitPath);
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -204,14 +191,7 @@ export const getSuit3DImage = async suitId => {
|
|||
const suitName = equip.equipIdToSprite(suitId);
|
||||
const filename = `${suitName}_3d.png`;
|
||||
const suitPath = path.join(ZZZ_SUIT_3D_PATH, filename);
|
||||
if (fs.existsSync(suitPath)) {
|
||||
const stats = fs.statSync(suitPath);
|
||||
if (stats.size > 0) {
|
||||
return suitPath;
|
||||
}
|
||||
}
|
||||
const url = await getResourceRemotePath('suit_3d', filename);
|
||||
const savePath = suitPath;
|
||||
const download = await downloadFile(url, savePath);
|
||||
return download;
|
||||
const result = await checkFile(url, suitPath);
|
||||
return result;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@ export const ZZZ_API = `${NEW_URL}/event/game_record_zzz/api/zzz`,
|
|||
export const ZZZ_RES = 'https://act-webstatic.mihoyo.com/game_record/zzz',
|
||||
ZZZ_SQUARE_AVATAR = `${ZZZ_RES}/role_square_avatar`,
|
||||
ZZZ_SQUARE_BANGBOO = `${ZZZ_RES}/bangboo_rectangle_avatar`;
|
||||
export const NEW_ZZZ_RES = 'https://act-webstatic.mihoyo.com/game_record/nap',
|
||||
NEW_ZZZ_SQUARE_AVATAR = `${NEW_ZZZ_RES}/role_square_avatar`,
|
||||
NEW_ZZZ_SQUARE_BANGBOO = `${NEW_ZZZ_RES}/bangboo_rectangle_avatar`;
|
||||
|
||||
export const PUBLIC_API = 'https://public-operation-nap.mihoyo.com',
|
||||
PUBILC_GACHA_LOG_API = `${PUBLIC_API}/common/gacha_record/api`,
|
||||
|
|
|
|||
|
|
@ -1,63 +1,21 @@
|
|||
{
|
||||
"1011": {
|
||||
"sprite_id": "01",
|
||||
"name": "安比",
|
||||
"full_name": "安比·德玛拉",
|
||||
"en_name": "Anby"
|
||||
},
|
||||
"1021": {
|
||||
"sprite_id": "11",
|
||||
"name": "猫又",
|
||||
"full_name": "猫宫 又奈",
|
||||
"en_name": "Nekomata"
|
||||
},
|
||||
"1031": {
|
||||
"sprite_id": "12",
|
||||
"name": "妮可",
|
||||
"full_name": "妮可·德玛拉",
|
||||
"en_name": "Nicole"
|
||||
},
|
||||
"1041": {
|
||||
"sprite_id": "05",
|
||||
"name": "「11号」",
|
||||
"full_name": "「11号」",
|
||||
"en_name": "Soldier 11"
|
||||
},
|
||||
"1061": {
|
||||
"sprite_id": "09",
|
||||
"name": "可琳",
|
||||
"full_name": "可琳·威克斯",
|
||||
"en_name": "Corin"
|
||||
},
|
||||
"1081": {
|
||||
"sprite_id": "10",
|
||||
"name": "比利",
|
||||
"full_name": "比利·奇德",
|
||||
"en_name": "Billy"
|
||||
"1251": {
|
||||
"sprite_id": "29",
|
||||
"name": "青衣",
|
||||
"full_name": "青衣",
|
||||
"en_name": "QingYi"
|
||||
},
|
||||
"1091": {
|
||||
"sprite_id": "10",
|
||||
"name": "雅",
|
||||
"full_name": "星见 雅",
|
||||
"en_name": "Miyabi"
|
||||
},
|
||||
"1101": {
|
||||
"sprite_id": "14",
|
||||
"name": "珂蕾妲",
|
||||
"full_name": "珂蕾妲·贝洛伯格",
|
||||
"en_name": "Koleda"
|
||||
},
|
||||
"1111": {
|
||||
"sprite_id": "15",
|
||||
"name": "安东",
|
||||
"full_name": "安东·伊万诺夫",
|
||||
"en_name": "Anton"
|
||||
},
|
||||
"1121": {
|
||||
"sprite_id": "16",
|
||||
"name": "本",
|
||||
"full_name": "本·比格",
|
||||
"en_name": "Ben"
|
||||
"1261": {
|
||||
"sprite_id": "24",
|
||||
"name": "简",
|
||||
"full_name": "简·杜",
|
||||
"en_name": "Jane"
|
||||
},
|
||||
"1131": {
|
||||
"sprite_id": "17",
|
||||
|
|
@ -65,23 +23,17 @@
|
|||
"full_name": "苍角",
|
||||
"en_name": "Soukaku"
|
||||
},
|
||||
"1141": {
|
||||
"sprite_id": "18",
|
||||
"name": "莱卡恩",
|
||||
"full_name": "冯·莱卡恩",
|
||||
"en_name": "Lycaon"
|
||||
"1201": {
|
||||
"sprite_id": "",
|
||||
"name": "悠真",
|
||||
"full_name": "悠真",
|
||||
"en_name": "Harumasa"
|
||||
},
|
||||
"1151": {
|
||||
"sprite_id": "27",
|
||||
"name": "露西",
|
||||
"full_name": "露西亚娜·德·蒙特夫",
|
||||
"en_name": "Lucy"
|
||||
},
|
||||
"1161": {
|
||||
"sprite_id": "27",
|
||||
"name": "莱特",
|
||||
"full_name": "莱特",
|
||||
"en_name": "Lighter"
|
||||
"1081": {
|
||||
"sprite_id": "10",
|
||||
"name": "比利",
|
||||
"full_name": "比利·奇德",
|
||||
"en_name": "Billy"
|
||||
},
|
||||
"1181": {
|
||||
"sprite_id": "20",
|
||||
|
|
@ -89,29 +41,47 @@
|
|||
"full_name": "格莉丝·霍华德",
|
||||
"en_name": "Grace"
|
||||
},
|
||||
"1191": {
|
||||
"sprite_id": "21",
|
||||
"name": "艾莲",
|
||||
"full_name": "艾莲·乔",
|
||||
"en_name": "Ellen"
|
||||
"2011": {
|
||||
"sprite_id": "",
|
||||
"name": "哲",
|
||||
"full_name": "哲",
|
||||
"en_name": "Wise"
|
||||
},
|
||||
"1201": {
|
||||
"sprite_id": "21",
|
||||
"name": "悠真",
|
||||
"full_name": "浅羽 悠真",
|
||||
"en_name": "Harumasa"
|
||||
"1011": {
|
||||
"sprite_id": "01",
|
||||
"name": "安比",
|
||||
"full_name": "安比·德玛拉",
|
||||
"en_name": "Anby"
|
||||
},
|
||||
"1211": {
|
||||
"sprite_id": "22",
|
||||
"name": "丽娜",
|
||||
"full_name": "亚历山德丽娜·莎芭丝缇安",
|
||||
"en_name": "Rina"
|
||||
"1071": {
|
||||
"sprite_id": "",
|
||||
"name": "凯撒",
|
||||
"full_name": "凯撒",
|
||||
"en_name": "Caesar"
|
||||
},
|
||||
"1221": {
|
||||
"sprite_id": "22",
|
||||
"name": "柳",
|
||||
"full_name": "月城 柳",
|
||||
"en_name": "Yanagi"
|
||||
"2021": {
|
||||
"sprite_id": "",
|
||||
"name": "铃",
|
||||
"full_name": "铃",
|
||||
"en_name": "Belle"
|
||||
},
|
||||
"1031": {
|
||||
"sprite_id": "12",
|
||||
"name": "妮可",
|
||||
"full_name": "妮可·德玛拉",
|
||||
"en_name": "Nicole"
|
||||
},
|
||||
"1281": {
|
||||
"sprite_id": "28",
|
||||
"name": "派派",
|
||||
"full_name": "派派",
|
||||
"en_name": "Piper"
|
||||
},
|
||||
"1021": {
|
||||
"sprite_id": "11",
|
||||
"name": "猫又",
|
||||
"full_name": "猫宫又奈",
|
||||
"en_name": "Nekomata"
|
||||
},
|
||||
"1241": {
|
||||
"sprite_id": "23",
|
||||
|
|
@ -119,34 +89,82 @@
|
|||
"full_name": "朱鸢",
|
||||
"en_name": "Zhu Yuan"
|
||||
},
|
||||
"1251": {
|
||||
"sprite_id": "23",
|
||||
"name": "青衣",
|
||||
"full_name": "青衣",
|
||||
"en_name": "QingYi"
|
||||
"1141": {
|
||||
"sprite_id": "18",
|
||||
"name": "莱卡恩",
|
||||
"full_name": "冯·莱卡恩",
|
||||
"en_name": "Lycaon"
|
||||
},
|
||||
"1161": {
|
||||
"sprite_id": "",
|
||||
"name": "莱特",
|
||||
"full_name": "莱特",
|
||||
"en_name": "Lighter"
|
||||
},
|
||||
"1111": {
|
||||
"sprite_id": "15",
|
||||
"name": "安东",
|
||||
"full_name": "安东·伊万诺夫",
|
||||
"en_name": "Anton"
|
||||
},
|
||||
"1041": {
|
||||
"sprite_id": "05",
|
||||
"name": "「11号」",
|
||||
"full_name": "「11号」",
|
||||
"en_name": "Soldier 11"
|
||||
},
|
||||
"1091": {
|
||||
"sprite_id": "",
|
||||
"name": "雅",
|
||||
"full_name": "雅",
|
||||
"en_name": "Miyabi"
|
||||
},
|
||||
"1121": {
|
||||
"sprite_id": "16",
|
||||
"name": "本",
|
||||
"full_name": "本·比格",
|
||||
"en_name": "Ben"
|
||||
},
|
||||
"1211": {
|
||||
"sprite_id": "22",
|
||||
"name": "丽娜",
|
||||
"full_name": "亚历山德丽娜·莎芭丝缇安",
|
||||
"en_name": "Rina"
|
||||
},
|
||||
"1151": {
|
||||
"sprite_id": "27",
|
||||
"name": "露西",
|
||||
"full_name": "露西",
|
||||
"en_name": "Lucy"
|
||||
},
|
||||
"1101": {
|
||||
"sprite_id": "14",
|
||||
"name": "珂蕾妲",
|
||||
"full_name": "珂蕾妲·贝洛伯格",
|
||||
"en_name": "Koleda"
|
||||
},
|
||||
"1221": {
|
||||
"sprite_id": "",
|
||||
"name": "柳",
|
||||
"full_name": "柳",
|
||||
"en_name": "Yanagi"
|
||||
},
|
||||
"1271": {
|
||||
"sprite_id": "23",
|
||||
"sprite_id": "30",
|
||||
"name": "赛斯",
|
||||
"full_name": "赛斯·洛威尔",
|
||||
"en_name": "Seth"
|
||||
},
|
||||
"1281": {
|
||||
"sprite_id": "28",
|
||||
"name": "派派",
|
||||
"full_name": "派派·韦尔",
|
||||
"en_name": "Piper"
|
||||
"1171": {
|
||||
"sprite_id": "",
|
||||
"name": "柏妮思",
|
||||
"full_name": "柏妮思",
|
||||
"en_name": "Burnice"
|
||||
},
|
||||
"2011": {
|
||||
"sprite_id": "28",
|
||||
"name": "哲",
|
||||
"full_name": "哲",
|
||||
"en_name": "Wise"
|
||||
},
|
||||
"2021": {
|
||||
"sprite_id": "28",
|
||||
"name": "铃",
|
||||
"full_name": "铃",
|
||||
"en_name": "Belle"
|
||||
"1191": {
|
||||
"sprite_id": "21",
|
||||
"name": "艾莲",
|
||||
"full_name": "艾莲·乔",
|
||||
"en_name": "Ellen"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,47 +1,51 @@
|
|||
{
|
||||
"12001": "Weapon_B_Common_01",
|
||||
"12002": "Weapon_B_Common_02",
|
||||
"12003": "Weapon_B_Common_03",
|
||||
"12004": "Weapon_B_Common_04",
|
||||
"12005": "Weapon_B_Common_05",
|
||||
"12006": "Weapon_B_Common_06",
|
||||
"12007": "Weapon_B_Common_07",
|
||||
"12008": "Weapon_B_Common_08",
|
||||
"13108": "Weapon_A_1081",
|
||||
"14104": "Weapon_S_1041",
|
||||
"12009": "Weapon_B_Common_09",
|
||||
"12010": "Weapon_B_Common_10",
|
||||
"12011": "Weapon_B_Common_11",
|
||||
"12012": "Weapon_B_Common_12",
|
||||
"12013": "Weapon_B_Common_13",
|
||||
"12014": "Weapon_B_Common_14",
|
||||
"13001": "Weapon_A_Common_01",
|
||||
"13103": "Weapon_A_1031",
|
||||
"13002": "Weapon_A_Common_02",
|
||||
"13003": "Weapon_A_Common_03",
|
||||
"13004": "Weapon_A_Common_04",
|
||||
"13005": "Weapon_A_Common_05",
|
||||
"13006": "Weapon_A_Common_06",
|
||||
"13007": "Weapon_A_Common_07",
|
||||
"13113": "Weapon_A_1131",
|
||||
"12003": "Weapon_B_Common_03",
|
||||
"12002": "Weapon_B_Common_02",
|
||||
"13008": "Weapon_A_Common_08",
|
||||
"13009": "Weapon_A_Common_09",
|
||||
"14001": "Weapon_S_Common_01",
|
||||
"13003": "Weapon_A_Common_03",
|
||||
"13010": "Weapon_A_Common_10",
|
||||
"13011": "Weapon_A_Common_11",
|
||||
"13101": "Weapon_A_1011",
|
||||
"13103": "Weapon_A_1031",
|
||||
"13106": "Weapon_A_1061",
|
||||
"13108": "Weapon_A_1081",
|
||||
"13111": "Weapon_A_1111",
|
||||
"13112": "Weapon_A_1121",
|
||||
"13113": "Weapon_A_1131",
|
||||
"13115": "Weapon_A_1151",
|
||||
"13128": "Weapon_A_1281",
|
||||
"14001": "Weapon_S_Common_01",
|
||||
"14002": "Weapon_S_Common_02",
|
||||
"14003": "Weapon_S_Common_03",
|
||||
"14102": "Weapon_S_1021",
|
||||
"14104": "Weapon_S_1041",
|
||||
"14110": "Weapon_S_1101",
|
||||
"14114": "Weapon_S_1141",
|
||||
"14118": "Weapon_S_1181",
|
||||
"12011": "Weapon_B_Common_11",
|
||||
"13007": "Weapon_A_Common_07",
|
||||
"12005": "Weapon_B_Common_05",
|
||||
"13112": "Weapon_A_1121",
|
||||
"12007": "Weapon_B_Common_07",
|
||||
"14119": "Weapon_S_1191",
|
||||
"14124": "Weapon_S_1241",
|
||||
"13101": "Weapon_A_1011",
|
||||
"14110": "Weapon_S_1101",
|
||||
"12013": "Weapon_B_Common_13",
|
||||
"12006": "Weapon_B_Common_06",
|
||||
"13004": "Weapon_A_Common_04",
|
||||
"12014": "Weapon_B_Common_14",
|
||||
"13005": "Weapon_A_Common_05",
|
||||
"13127": "Weapon_A_1271",
|
||||
"13111": "Weapon_A_1111",
|
||||
"14121": "Weapon_S_1211",
|
||||
"14124": "Weapon_S_1241"
|
||||
"12010": "Weapon_B_Common_10",
|
||||
"13115": "Weapon_A_1151",
|
||||
"13009": "Weapon_A_Common_09",
|
||||
"13013": "Weapon_A_Common_13",
|
||||
"12004": "Weapon_B_Common_04",
|
||||
"14126": "Weapon_S_1261",
|
||||
"12008": "Weapon_B_Common_08",
|
||||
"12001": "Weapon_B_Common_01",
|
||||
"13106": "Weapon_A_1061",
|
||||
"14002": "Weapon_S_Common_02",
|
||||
"14125": "Weapon_S_1251",
|
||||
"13001": "Weapon_A_Common_01",
|
||||
"13006": "Weapon_A_Common_06",
|
||||
"12012": "Weapon_B_Common_12",
|
||||
"14003": "Weapon_S_Common_03",
|
||||
"13128": "Weapon_A_1281"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue