Build release archive / release (push) Failing after 28s
Изменено: - Поддержка новых типов товаров: "Механические приспособления" и "Религиозные товары". - Добавлена возможность случайной генерации уровня торговца. - Улучшена производительность при загрузке предметов из компендиумов. - Обновлены тексты описаний для категорий товаров. - Исправлена ошибка при добавлении предметов к торговцу (см. `module/data.mjs`, строки 2436-2446). - Исправлена проблема с отображением характеристик торговца в интерфейсе.
53 lines
1.7 KiB
JavaScript
Executable File
53 lines
1.7 KiB
JavaScript
Executable File
import { ErrorHandler } from './errorslog.mjs';
|
|
|
|
class Command {
|
|
execute() {}
|
|
}
|
|
|
|
/**
|
|
* Класс NewMerchantCommand создает нового торговца
|
|
*/
|
|
class NewMerchantCommand extends Command {
|
|
/**
|
|
* @param {Array} tokens - Токены для создания торговцев
|
|
* @param {Object} itemsTypes - Типы товаров
|
|
* @param {Object} categoriesTypes - Категории товаров
|
|
*/
|
|
constructor(tokens, itemsTypes, categoriesTypes) {
|
|
super();
|
|
this.tokens = tokens;
|
|
this.itemsTypes = itemsTypes;
|
|
this.categoriesTypes = categoriesTypes;
|
|
}
|
|
|
|
/**
|
|
* Основной метод выполнения команды
|
|
*/
|
|
async execute() {
|
|
// Получаем список компендиумов
|
|
const compendiumsNames = this.getCompendiumNames();
|
|
|
|
// Обрабатываем каждый токен
|
|
for (const token of this.tokens) {
|
|
// TODO: Добавить логику обработки токенов
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Получает список имен компендиумов с типом "Item"
|
|
* @returns {Array} Массив имен компендиумов
|
|
*/
|
|
getCompendiumNames() {
|
|
return game.packs
|
|
.map(pack => ({
|
|
name: pack.metadata.label,
|
|
collection: pack.collection,
|
|
entities: pack.index.size
|
|
}))
|
|
.filter(compendium => {
|
|
const pack = game.packs.get(compendium.collection);
|
|
return pack.metadata.type === "Item";
|
|
})
|
|
.map(compendium => compendium.collection);
|
|
}
|
|
} |