Files
mod_characters_base/docs/ru.md
T

85 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` карточки.