Создание наборов существ
Набор существ – это рисунки для существ, с которыми сражаются в Game Mode. Если набор выбран, противник, для которого в нем есть рисунок, изображается на поле боя этим рисунком, а не круглым жетоном. Рисунок повернут туда, куда противник двигался в последний раз, и рисуется в размере самого существа. Противник, для которого в наборе нет рисунка, остается жетоном. Как это выглядит в игре, смотрите в разделе Тактические бои и местность.
Набор – это один JSON-файл (.creatures.json). Проще всего создать его на вкладке Creatures (существа) в Pixelforge – внешнем инструменте, который собирает файл из одной картинки на каждое существо. Это руководство описывает сам файл для тех, кто собирает наборы другим способом.
Использование набора
Перед началом создайте или скачайте файл .creatures.json. Pixelforge – отдельное приложение для создания наборов, оно не входит в Marinara.
- Откройте вкладку Creatures в Pixelforge.
- Чтобы загрузить файл, нажмите Import a creature pack file (импортировать файл набора существ). Для набора, созданного в Pixelforge, нажмите Save to the library (сохранить в библиотеку).
- Нажмите Use for fights (использовать в боях).
Все бои рисуются одним набором. Чтобы вернуться к жетонам, удалите выбранный набор или нажмите Use tokens instead (использовать жетоны).
Файл
{
"creaturePackVersion": 1,
"id": "my-monsters",
"name": "My monsters",
"version": 1,
"author": "Robin",
"tileSize": 48,
"sheets": [{ "id": "s1", "png": "data:image/png;base64,iVBORw0KGgo...", "width": 2048, "height": 1536 }],
"creatures": [
{
"id": "goblin",
"match": ["5e-2014/creatures/goblin", "Goblin"],
"size": "small",
"w": 1,
"h": 2,
"frames": 1,
"variants": [
{ "sheet": "s1", "x": 0, "y": 0 },
{ "sheet": "s1", "x": 1, "y": 0 }
]
}
]
}| Поле | Что это |
creaturePackVersion | 1 или 2 для набора с рисунками полета (Capability API 1.352). |
id | Строчные латинские буквы, цифры, _ и -. Библиотека хранит импортированный набор под именем local/<id>. |
name, author | Показываются в библиотеке. author необязателен. |
version | Целое число. Версия никогда не перезаписывается: чтобы изменить набор, повысьте его версию. Повторный импорт того же файла ничего не меняет. |
tileSize | Размер одной клетки в пикселях, кратный 16, от 16 до 96. Сетка Game Mode – 48. |
sheets | До 64 картинок, каждая не больше 8192 пикселей по стороне. |
creatures | До 2000 существ. |
| Размер файла | Не больше 32 МБ. |
Листы
Поле png листа должно содержать PNG в виде data URL: data:image/png;base64,, затем base64 и больше ничего. Ссылка на изображение в другом месте отклоняется, как и любые данные после base64. Так набор может показывать только собственные картинки. width и height должны совпадать с настоящим размером PNG: Engine читает их из заголовка картинки и отклоняет набор, листы которого указывают другой размер.
Существо
| Поле | Что это |
id | Идентификатор существа в наборе, уникальный. |
match | Для чего предназначен рисунок, от 1 до 16 записей. Запись называет существо из набора правил или имя; можно указать записи обоих видов рядом. |
size | tiny, small, medium, large, huge или gargantuan. Это влияет только на внешний вид: любой боец по-прежнему занимает одну клетку. |
w, h | Размер одного кадра в клетках, от 1 до 6 по каждой стороне. |
frames | 1 для неподвижного существа, 3 для идущего (шаг, стойка, шаг). |
variants | Его облики, от 1 до 8. Для каждого указано, где на листе начинается его блок: sheet и левая верхняя клетка x, y. |
fly | Необязательное поле, требует creaturePackVersion 2: блоки полета, расположенные как блок ходьбы (три кадра по горизонтали, четыре направления по вертикали), размещенные так же, как variants. Один для всех обликов или по одному на облик в том же порядке. |
Полет
Существо с fly рисуется из блока полета с кадрами в порядке 0, 1, 2, 1, пока в бою оно показано в воздухе. Это значит, что у него есть хотя бы одно из перечисленного:
- скорость полета и нет скорости ходьбы
- парение
- положение над землей
- полет на этом ходу (шаг, возможный только в полете, например над водой)
Иначе оно рисуется из своего облика, как прежде.
Набору карт Experience, чьи наборы существ содержат рисунки полета, нужна Capability API 1.352.
Что называет match
- Существо из набора правил:
<catalog>/<entry>(например,creatures/goblin) совпадает с этой записью бестиария в любом наборе правил.<ruleset>/<catalog>/<entry>(например,5e-2014/creatures/goblin) совпадает с ней только в этом наборе правил. - Имя: совпадает с противником по его имени. Регистр и знаки препинания не учитываются, как и число в конце, поэтому "Goblin 2" – это тоже гоблин.
Боец из бестиария набора правил сначала сопоставляется по своей записи, затем по имени. Если два существа совпадают с одним и тем же, побеждает то, что указано в наборе раньше; Engine сообщает об этом при импорте набора.
Размеры
Кадры измеряются в клетках. Существо рисуется по центру своей клетки, стоящим на ее нижнем краю, поэтому крупное существо возвышается над соседними клетками. На сетке в 48 пикселей хорошо смотрятся такие размеры:
| Существо | Кадр (w на h) |
| Крошечное, а также маленькое или среднее четвероногое | 1 на 1 |
| Маленькое или среднее, стоящее прямо | 1 на 2 |
| Большое | 2 на 2 или 2 на 3, если стоит прямо (огр, голем) |
| Огромное | 3 на 3 или 3 на 4, если стоит прямо (великан) |
| Исполинское | 4 на 4 |
Блок: строки и кадры
Каждый облик – это блок на своем листе. Блок состоит из frames кадров в ширину и 4 строк в высоту, а каждый кадр занимает w на h клеток. Строки – это направления, куда смотрит существо, в таком порядке:
- вниз (к зрителю)
- влево
- вправо
- вверх (вид со спины)
Неподвижное существо (frames: 1) – это один столбец из четырех направлений. У идущего (frames: 3) в каждой строке идут шаг, стойка и шаг, как в обычном спрайт-листе ходьбы. Каждый блок должен целиком лежать внутри своего листа; Engine называет любой блок, выходящий за край.
Облики
Существо с несколькими обликами (другая одежда, цвета или оружие) дает каждому своему бойцу один из них. Боец сохраняет один и тот же облик при каждой отрисовке, а два гоблина в одном бою могут различаться. Все облики существа одного размера.
На вкладке Creatures в Pixelforge кнопка Add looks (добавить облики) рядом с существом добавляет новые картинки того же размера, что и первая, всего до восьми.