Files
test_tube_merchant/module/merchant.mjs
T
shiranui e21d8c5198
Build release archive / release (push) Failing after 28s
Релиз v1.2.9
Изменено:
 - Поддержка новых типов товаров: "Механические приспособления" и "Религиозные товары".
 - Добавлена возможность случайной генерации уровня торговца.
 - Улучшена производительность при загрузке предметов из компендиумов.
 - Обновлены тексты описаний для категорий товаров.
 - Исправлена ошибка при добавлении предметов к торговцу (см. `module/data.mjs`, строки 2436-2446).
 - Исправлена проблема с отображением характеристик торговца в интерфейсе.
2026-07-15 19:42:45 +03:00

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);
}
}