Add mod documentation in seven languages

This commit is contained in:
cthangover committed 2026-10-29 09:25:48 +01:00
1 parent 4f8ab24fea
commit 7ad73c00fc
17 files changed
+596 -8

No files matched your search

+84
View File
@@ -0,0 +1,84 @@
# Characters Engine — персонажи, их действия и отряд
Characters Engine определяет, кто участвует в боях: герой, спутники и враги — со здоровьем, атакой, защитой, очками действий и карточками действий, которые они могут применять. Мод также показывает панель **Действия персонажей**, где виден ваш отряд и где решается, какие карточки возьмёт в бой каждый персонаж, и поставляет портреты, которые появляются рядом с репликами диалогов.
Он входит в Cthangover и RPG Plus, а боевые моды, recruiting и редакторы строятся поверх него.
## Панель «Действия персонажей»
Открывается иконкой карт на панели инструментов.
![Панель «Действия персонажей» в Cthangover: Марао и Мураками с HP, AP, ATK и DEF, их карточки действий («Базовая атака», «Защита», «Оглушение») с целями, стоимостью и значениями, у каждого пустой третий слот, справа — пустой пул действий.](assets/character-panel.jpg)
- **Отряд** — все персонажи вашего отряда с портретом, здоровьем (HP), очками действий за ход (AP), атакой (ATK) и защитой (DEF).
- **Слоты** — у каждого персонажа три слота для карточек действий. Карточка показывает цель (враг, союзник, сам персонаж), стоимость в AP и свои значения.
- **Пул действий** — карточки, которые у вас есть, но ещё не раздали. Перетащите карточку в слот или выберите карточку, а затем слот; перетаскивание между слотами меняет их местами. Поиск и фильтры сужают пул.
- **Сброс** возвращает в слоты первые три действия из описания каждого персонажа; остальные его действия уходят в пул.
## Три разные картинки
Персонаж может появиться тремя способами, и каждый берётся из своего места:
![Слева: диалоговый портрет Марао (аватар «marao/sad»). В центре: изображение персонажа на его карточке. Справа: спрайт для карты (charset) героя RPG Plus — он принадлежит другой системе.](assets/three-pictures.jpg)
1. **Диалоговый портрет (аватар)** — картинка из папки `avatars/` мода, выбирается для каждой реплики в сценарии: `text "…" first=marao/sad` занимает первое место портрета, `second=…` — второе (для диалога двух людей). К описанию персонажа он не привязан.
2. **Изображение персонажа** — поле `Image` из описания персонажа; показывается на карточках в этой панели и в боях.
3. **Спрайт для карты (charset)** — шагающий спрайт на тайловых картах; его выбирает мод RPG (настройка **Внешность** игры или поле `Sprite` события), а не этот мод.
## Описание персонажа
Персонажи — это JSON-файлы вида `character` в папке `characters/` мода. Вот Марао из Cthangover — сравните с его карточкой на панели выше:
```json
{
"Kind": "character",
"Items": [
{
"Id": "Marao",
"Name": "characters/player/marao",
"Image": "characters/player/marao",
"Level": 1,
"Point": 1,
"Health": 16,
"Defence": 0,
"Attack": 5,
"Actions": ["physics/attack", "physics/defence"]
}
]
}
```
`Health 16` — это его **HP 16/16**, `Point 1` — **AP 1**, `Attack 5` — **ATK 5**, а два `Actions` — карточки **Базовая атака** и **Защита** в его слотах.
Прочие поля: `Behaviour` (боевой ИИ врага, например `base`), `Exp` (опыт за победу над ним), `RecruitmentChance` и `Loot` — список из `ItemId`, `MinCount`, `MaxCount` и `Probability`, что выпадает при победе над персонажем.
## Карточки действий
Действия — это JSON-файлы вида `action`. Этот мод кладёт в игру базовые физические — **Базовая атака**, **Защита** и **Оглушение**:
```json
{
"Id": "physics/attack",
"Name": "characters/action/physics_attack/name",
"Description": "characters/action/physics_attack/description",
"Image": "characters/actions/physics_attack",
"Type": "ToEnemy",
"Values": ["RequiredPoint=1", "Attack=1.0", "AttackType=Physics"]
}
```
`Type` задаёт цель (враг, союзник, сам персонаж) или делает карточку пассивной или активной; `RequiredPoint` — стоимость в AP. Что остальные значения делают в бою, решает используемый боевой мод.
## Добавить персонажа в отряд из сценария
```scenario
action party.add id=rpg_hero
```
Персонаж входит в отряд и в боевой состав. Тот, кто уже числится, сохраняет уровень и здоровье. RPG Demo использует эту строку, чтобы отдать игроку героя при первом входе в деревню.
## Если что-то пошло не так
1. **Персонаж показывает id вместо имени.** `Name` — ключ перевода; добавьте его в файлы `locale` мода.
2. **Рядом с репликой нет портрета.** Имя аватара после `first=` / `second=` должно совпадать с картинкой в папке `avatars/` какого-нибудь мода, например `avatars/marao/sad.png` для `marao/sad`.
3. **Карточку нельзя применить в бою.** У персонажа меньше AP, чем `RequiredPoint` карточки.