Add mod documentation in seven languages

This commit is contained in:
cthangover committed 2026-10-29 09:26:07 +01:00
1 parent bf58f76c79
commit de98c7a765
16 files changed
+358 -8

No files matched your search

+50
View File
@@ -0,0 +1,50 @@
# Recruiting — побеждённые враги, вступающие в отряд
Recruiting позволяет захватить врага, побеждённого в бою, и позже сражаться на стороне игрока. После победы у каждого поверженного врага есть шанс быть захваченным; захваченные персонажи попадают в панель **Рекруты**, и любого из них можно добавить в отряд или снова убрать. Пока рекрут в плену, он живёт по своим правилам — в Cthangover он проголодается.
Мод не зависит ни от одной боевой системы: он слушает событие платформы «персонажи побеждены», поэтому работает с FF Battle, Card Battle и с чем угодно ещё, что сообщает побеждённых персонажей. Кто может быть захвачен и при каких условиях — решают данные игры и другие моды.
## Панель «Рекруты»
Открывается кнопкой на панели инструментов. В начале Cthangover ещё никто не захвачен:
![Панель «Рекруты»: заголовок «Рекруты», строка «Захваченные враги · любого можно добавить в отряд», «Пока нет захваченных рекрутов», а внизу «Захвачено: 0 · в отряде: 0».](assets/recruits-panel.jpg)
Каждый захваченный рекрут получает строку с портретом, именем и здоровьем, а также кнопку: **В отряд** или **Из отряда**. Внизу счётчик показывает, сколько рекрутов захвачено и сколько из них в отряде.
## Как происходит захват
После победы для каждого поверженного врага:
1. В файле персонажа врага `RecruitmentChance` должен быть больше 0.
2. Рекрут каждого типа — только один: если этот тип уже захвачен, он пропускается.
3. Каждое зарегистрированное **условие** должно позволить захват. Этот мод приносит одно такое: у игрока должен быть навык `slave_master` (в Cthangover он у Марао есть с самого начала).
4. Бросок от 1 до 100 не должен превысить шанс.
Тогда враг попадает в ростер с 10 здоровья. В Cthangover единственный персонаж, которого можно захватить, встречается позже по сюжету, с шансом 50%:
```json
{ "Id": "werewolf_girl_1", "RecruitmentChance": 50 }
```
## В отряде
**В отряд** делает рекрута обычным членом отряда: он появляется на панели персонажей, сражается в боях своими действиями, может быть целью предметов и сохраняется вместе с отрядом. Потерянное в бою здоровье остаётся у рекрута. **Из отряда** сохраняет его действия и опыт до следующего возвращения.
## Нужды рекрутов
Каждый рекрут запускает зарегистрированные **поведения** на каждом тике игровых часов. Этот мод приносит одно — питание: рекрут, который не ел 24 игровых часа, теряет 1 здоровья за тик. В нынешней игре кормить рекрута пока нечем, поэтому захваченный рекрут начинает голодать через день после захвата.
Ростер, здоровье и состояние поведений сохраняются вместе с игрой.
## Авторам модов
- **Условие** — это класс, реализующий `IRecruitCondition`; мод recruiting находит его в любом загруженном моде. Верните false, чтобы запретить захват.
- **Поведение** реализует `IRecruitBehaviour`: оно настраивается при захвате рекрута, вызывается на каждом тике и удаляется вместе с рекрутом. Его состояние живёт в свойствах рекрута.
- Код может реагировать на `RecruitJoinedEvent` и `RecruitLeftEvent`.
## Если что-то пошло не так
1. **Никого не удаётся захватить.** У врага `RecruitmentChance` равен 0, условие запрещает (у игрока нет навыка `slave_master`) или бросок не удался.
2. **Тот же враг не захватывается дважды.** Один рекрут на тип врага — так задумано.
3. **Здоровье рекрута постоянно падает.** Это питание: он не ел сутки, а способа накормить его пока нет.