Изменено: - Поддержка новых типов товаров: "Механические приспособления" и "Религиозные товары". - Добавлена возможность случайной генерации уровня торговца. - Улучшена производительность при загрузке предметов из компендиумов. - Обновлены тексты описаний для категорий товаров. - Исправлена ошибка при добавлении предметов к торговцу (см. `module/data.mjs`, строки 2436-2446). - Исправлена проблема с отображением характеристик торговца в интерфейсе.
This commit is contained in:
Executable
+53
@@ -0,0 +1,53 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user