mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 21:27:47 +00:00
feature:支持Enka面板更新:%更新展柜面板
This commit is contained in:
parent
0fea67a389
commit
21b8915418
25 changed files with 36048 additions and 382 deletions
|
|
@ -1,8 +1,9 @@
|
|||
import settings from '../settings.js';
|
||||
import settings from '../settings.js'
|
||||
// import PartnerId2SpriteId from '../../resources/map/PartnerId2Data.json' assert { type: 'json' };
|
||||
import { getMapData } from '../../utils/file.js';
|
||||
import { getMapData } from '../../utils/file.js'
|
||||
|
||||
const PartnerId2SpriteId = getMapData('PartnerId2Data');
|
||||
/** @type {import('../../model/Enka/interface.js').Map.PartnerId2Data} */
|
||||
const PartnerId2Data = getMapData('PartnerId2Data')
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -12,12 +13,12 @@ const PartnerId2SpriteId = getMapData('PartnerId2Data');
|
|||
* @returns {string | null}
|
||||
*/
|
||||
export const IDToCharName = (id, full = true, en = false) => {
|
||||
const data = PartnerId2SpriteId?.[id];
|
||||
if (!data) return null;
|
||||
if (en) return data?.['en_name'];
|
||||
if (full) return data?.['full_name'];
|
||||
return data?.['name'];
|
||||
};
|
||||
const data = PartnerId2Data?.[id]
|
||||
if (!data) return null
|
||||
if (en) return data?.['en_name']
|
||||
if (full) return data?.['full_name']
|
||||
return data?.['name']
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -25,73 +26,73 @@ export const IDToCharName = (id, full = true, en = false) => {
|
|||
* @returns {string | null}
|
||||
*/
|
||||
export const IDToCharSprite = id => {
|
||||
const data = PartnerId2SpriteId?.[id];
|
||||
if (!data) return null;
|
||||
return data?.['sprite_id'];
|
||||
};
|
||||
const data = PartnerId2Data?.[id]
|
||||
if (!data) return null
|
||||
return data?.['sprite_id']
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @returns {number | null}
|
||||
*/
|
||||
export const charNameToID = name => {
|
||||
for (const [id, data] of Object.entries(PartnerId2SpriteId)) {
|
||||
if (data['name'] === name) return Number(id);
|
||||
for (const [id, data] of Object.entries(PartnerId2Data)) {
|
||||
if (data['name'] === name) return Number(id)
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @returns {string | null}
|
||||
*/
|
||||
export const charNameToSprite = name => {
|
||||
for (const [_id, data] of Object.entries(PartnerId2SpriteId)) {
|
||||
if (data['name'] === name) return data['sprite'];
|
||||
for (const [_id, data] of Object.entries(PartnerId2Data)) {
|
||||
if (data['name'] === name) return data['sprite_id']
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} _alias
|
||||
* @returns {string | null}
|
||||
*/
|
||||
export const aliasToName = _alias => {
|
||||
const alias = settings.getConfig('alias');
|
||||
const alias = settings.getConfig('alias')
|
||||
for (const [id, data] of Object.entries(alias)) {
|
||||
if (id === _alias) return id;
|
||||
if (data.includes(_alias)) return id;
|
||||
if (id === _alias) return id
|
||||
if (data.includes(_alias)) return id
|
||||
}
|
||||
// 判断PartnerId2SpriteId是否有对应的name
|
||||
for (const [_, data] of Object.entries(PartnerId2SpriteId)) {
|
||||
if (data['name'] === _alias) return data['name'];
|
||||
for (const [_, data] of Object.entries(PartnerId2Data)) {
|
||||
if (data['name'] === _alias) return data['name']
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} _alias
|
||||
* @returns {string | null}
|
||||
*/
|
||||
export const aliasToSprite = _alias => {
|
||||
const name = aliasToName(_alias);
|
||||
return charNameToSprite(name);
|
||||
};
|
||||
const name = aliasToName(_alias)
|
||||
return charNameToSprite(name)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @returns {number | null}
|
||||
*/
|
||||
export const aliasToID = name => {
|
||||
const _name = aliasToName(name);
|
||||
const id = charNameToID(_name);
|
||||
return id;
|
||||
};
|
||||
const _name = aliasToName(name)
|
||||
const id = charNameToID(_name)
|
||||
return id
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有角色ID
|
||||
* @returns {string[]}
|
||||
*/
|
||||
export const getAllCharactersID = () => {
|
||||
return Object.keys(PartnerId2SpriteId);
|
||||
};
|
||||
return Object.keys(PartnerId2Data)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { getMapData } from '../../utils/file.js';
|
||||
import { getMapData } from '../../utils/file.js'
|
||||
|
||||
const equipData = getMapData('EquipId2Data');
|
||||
/** @type {import('../../model/Enka/interface.js').Map.EquipId2Data} */
|
||||
const EquipId2Data = getMapData('EquipId2Data')
|
||||
|
||||
/**
|
||||
* 获取驱动盘装备的图片
|
||||
|
|
@ -8,14 +9,14 @@ const equipData = getMapData('EquipId2Data');
|
|||
* @returns {string | null}
|
||||
*/
|
||||
export function equipIdToSprite(equipId) {
|
||||
equipId = equipId.toString();
|
||||
equipId = equipId.toString()
|
||||
if (equipId.length === 5) {
|
||||
const suitId = equipId.slice(0, 3) + '00';
|
||||
if (equipData.hasOwnProperty(suitId)) {
|
||||
return equipData[suitId]['sprite_file'].replace('3D', '');
|
||||
const suitId = equipId.slice(0, 3) + '00'
|
||||
if (EquipId2Data.hasOwnProperty(suitId)) {
|
||||
return EquipId2Data[suitId]['sprite_file'].replace('3D', '')
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -23,5 +24,5 @@ export function equipIdToSprite(equipId) {
|
|||
* @returns {string[]}
|
||||
*/
|
||||
export function getAllEquipID() {
|
||||
return Object.keys(equipData);
|
||||
return Object.keys(EquipId2Data)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ export const idToShortName3 = id => {
|
|||
*/
|
||||
export const nameToShortName3 = propName => {
|
||||
for (const id in propertyData) {
|
||||
if (propertyData[id]?.[1] === propName) return propertyData[id][3];
|
||||
if (propertyData[id][1] === propName) return propertyData[id][3];
|
||||
};
|
||||
return propName;
|
||||
};
|
||||
|
|
@ -101,13 +101,15 @@ export const nameToShortName3 = propName => {
|
|||
/**
|
||||
* 属性名转id
|
||||
* @param {string} propName 属性名
|
||||
* @returns {string}
|
||||
* @returns {number}
|
||||
*/
|
||||
export const nameToId = (propName) => {
|
||||
for (const id in propertyData) {
|
||||
if (propertyData[id]?.[1] === propName) return Number(id);
|
||||
if (propertyData[id][1] === propName ||
|
||||
propertyData[id][1].replace('属性', '') === propName
|
||||
) return Number(id);
|
||||
};
|
||||
return '';
|
||||
return 0;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,32 +1,33 @@
|
|||
// import WeaponId2Sprite from '../../resources/map/WeaponId2Sprite.json' assert { type: 'json' };
|
||||
import { getMapData } from '../../utils/file.js';
|
||||
import { getMapData } from '../../utils/file.js'
|
||||
|
||||
const WeaponId2Sprite = getMapData('WeaponId2Sprite');
|
||||
/** @type {import('../../model/Enka/interface.js').Map.WeaponId2Data} */
|
||||
const WeaponId2Data = getMapData('WeaponId2Data')
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @returns string
|
||||
*/
|
||||
export const IDToWeaponFileName = id => {
|
||||
const data = WeaponId2Sprite?.[id];
|
||||
return data;
|
||||
};
|
||||
const data = WeaponId2Data?.[id]?.CodeName
|
||||
return data
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @returns string
|
||||
*/
|
||||
export const weaponFileNameToID = name => {
|
||||
for (const [id, data] of Object.entries(WeaponId2Sprite)) {
|
||||
if (data === name) return id;
|
||||
for (const [id, data] of Object.entries(WeaponId2Data)) {
|
||||
if (data.CodeName === name) return id
|
||||
}
|
||||
return null;
|
||||
};
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有武器的ID
|
||||
* @returns string[]
|
||||
*/
|
||||
export const getAllWeaponID = () => {
|
||||
return Object.keys(WeaponId2Sprite);
|
||||
};
|
||||
return Object.keys(WeaponId2Data)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue