Импорт из Foundry VTT - major1ink/Beacon-Table GitHub Wiki

Модуль или систему Foundry VTT можно перенести на стол по ссылке на манифест. Сцены, карточки, журналы и музыка разойдутся по разделам Beacon Table.

Как импортировать модуль

  1. В окне ведущего откройте панель «Справочник» и выберите «+ Импорт из Foundry VTT».
  2. Вставьте ссылку на манифест модуля или системы, это файл module.json или system.json. Ссылку дают на странице модуля.
  3. Нажмите «Проверить». Сервер скачает архив этой версии, распакует его и покажет список компендиумов с количеством записей по разделам.
  4. Отметьте, что переносить, и нажмите «Импортировать выбранное».

Диалог импорта из Foundry VTT: ссылка на манифест и список того, что будет перенесено

Импортировать может только ведущий. Прав на чужой платный контент импорт не даёт: переносится только то, что у вас уже есть.

Что куда переносится

В модуле Foundry В Beacon Table
Item: оружие, снаряжение, расходники Библиотека предметов
Item: заклинания Библиотека заклинаний
Item: классы, архетипы, виды, предыстории, черты Справочник
Item: эффекты (ActiveEffect) Библиотека состояний
Actor: NPC и персонажи Бестиарий
JournalEntry Журнал стола
Scene Сцены стола: фон, сетка, стены, двери, источники света, токены
Playlist Плейлисты ведущего
Adventure Разбирается на всё перечисленное выше
RollTable Справочник: карточка со случайной таблицей, её бросают на ширме
Macro, Cards Не переносятся

Записи журнала раскладываются по папкам <модуль>/<компендиум>/<папки модуля>. Они приходят закрытыми: по умолчанию у игроков нет к ним доступа, и что открыть, решаете вы.

Сцена приходит вместе со стенами, дверями и источниками света, перерисовывать ничего не нужно. Так выглядит стол сразу после импорта:

Сцена из импортированного модуля Foundry: пещера со стенами и источниками света

Картинки, карты и звук

Картинки, карты и звуковые дорожки из архива модуля попадают в библиотеку загрузок (uploads/…/foundry/<id модуля>), и карточки ссылаются уже на них. Это касается и картинок, вставленных прямо в текст журнала, и целых страниц-иллюстраций.

Если путь в документе не совпал с архивом буква в букву (другой регистр, файл переехал при сборке релиза), файл ищется по имени.

Если импорт не находит картинки

Ассеты самого Foundry (icons/magic/… и подобные) и арт, который модуль не распространяет, перенести неоткуда. Такие карточки приходят без картинки, а в заметке на месте иллюстрации остаётся строка «иллюстрация не перенесена — в архиве модуля нет файла …». Сколько файлов не нашлось, видно в отчёте импорта.

Ссылки внутри текстов

В Foundry перекрёстная ссылка выглядит так:

@UUID[Compendium.модуль.пак.JournalEntry.abc123]{Правила перемещения}

Для вставки чужого текста там есть @Embed[…]. Импорт переводит такие ссылки в ссылки Beacon Table на те же документы этого модуля. Если нажать на ссылку в заметке или в описании карточки, цель откроется в плавающем окне.

Ссылка на отдельную страницу журнала открывает заметку сразу на нужном разделе: страницы у нас становятся разделами одной заметки.

@Embed чужой текст не вставляет, на его месте остаётся ссылка.

Ссылка на таблицу случайностей, макрос или документ из другого модуля превращается в обычный текст подписи. Макросов Foundry в тексте не остаётся.

Броски внутри текстов

Инлайн-броски Foundry тоже переводятся. [[/r 2d6 + 3]] становится обычной формулой в тексте. Такую формулу приложение само делает кликабельной: по клику кубик бросается в общий лог стола, как в статблоках.

[[/save dex 15]] превращается во фразу «спасбросок: Лов (СЛ 15)», а [[/check ste 12]] во фразу «проверка: Скрытность (СЛ 12)». Если в тексте модуля следом и так написано «saving throw», слово не дублируется.

Форматы паков

Поддерживаются все три формата паков: LevelDB (Foundry v11 и новее), NeDB .db (v10 и раньше) и каталоги с .json.

Скачанный архив два часа хранится в кэше (data/…/foundry-cache), чтобы при импорте нескольких паков подряд не скачивать его заново.

Повторный импорт

Всё, что импортируется, сверяется с тем, что уже есть на столе. Карточки (предметы, заклинания, существа, справочник) ищутся по названию, состояния по slug, заметки по папке и заголовку.

Если запись нашлась и импорт ничего бы в ней не изменил, она молча пропускается. Если данные разошлись, импорт спросит, что делать: «Перезаписать», «Оставить обе» или «Пропустить». Галочка «Так же поступать с остальными» запоминает ответ, у каждого раздела она своя.

Карточка стандартного каталога доступна только для чтения, поэтому для неё будут только «Оставить обе» и «Пропустить».

Файлы из архива тоже переносятся один раз: повторный импорт узнаёт их и оставляет прежние ссылки.

⚠️ **GitHub.com Fallback** ⚠️