Add mod documentation in seven languages

This commit is contained in:
cthangover committed 2026-10-29 09:25:49 +01:00
1 parent c8e3619021
commit f4ee9f3413
18 files changed
+548 -16

No files matched your search

+76
View File
@@ -0,0 +1,76 @@
# Classic RPG Rules — готовый набор фэнтезийных правил
Classic RPG Rules — набор правил: внутри нет кода, только данные. Он даёт игре привычный фэнтезийный набор — шесть характеристик, здоровье и ману, три класса, три слота снаряжения, восемь предметов, тоник силы и четыре боевых навыка. На нём построен RPG Plus; визуальная новелла могла бы взять его разве что ради проверок харизмы.
Правила действуют через другие моды. Stats Engine считает числа и показывает лист, Equipment делает снаряжение надеваемым, Items Base хранит его в сумке, Characters Engine держит карты навыков, а Battle Formulas заставляет формулы навыков работать в бою. Этот набор только говорит, *что* есть.
## В игре
Плут 2-го уровня в RPG Plus с железным мечом:
![Лист персонажа плута 2-го уровня в RPG Plus: Сила 8, Ловкость 12, Интеллект 5, Выносливость 6, Харизма 9, Удача 9; Здоровье 34/34, Мана 14/14, Атака 18 (+8), Броня 3, Магия 7; Железный меч (ATK +5) в слоте Оружие.](assets/rogue-sheet.jpg)
Каждое число приходит из этого набора. Ловкость плута — `8 + level * 2` = 12. Атака — формула набора `str + level` = 8 + 2 = 10, плюс черта плута `floor(agi / 4)` = 3, плюс 5 от железного меча — **18**, из которых **+8** — бонусы. Сила 8 — это `5 + level` плута = 7 и один тоник силы.
## Что внутри набора
**Характеристики** (группа *Attributes*, по умолчанию 5): Сила `str`, Ловкость `agi`, Интеллект `int`, Выносливость `vit`, Харизма `cha`, Удача `luk`.
**Боевые статы** (группа *Combat*) вычисляются из характеристик:
```json
{ "Id": "hp", "Formula": "12 + vit * 3 + level * 2", "Binds": "health" },
{ "Id": "mp", "Formula": "int * 2 + level * 2", "Pool": true },
{ "Id": "atk", "Formula": "str + level", "Binds": "attack" },
{ "Id": "def", "Formula": "floor(vit / 2)", "Binds": "defence" },
{ "Id": "mag", "Formula": "int + level" }
```
Здоровье, атака и защита становятся боевыми числами; ману тратят навыки, и она восстанавливается.
**Классы** — каждый растит свои характеристики с уровнем, имеет черту и осваивает навыки:
- **Воин** — сильный и крепкий (`str 7 + level * 2`, `vit 6 + level * 2`), +10% здоровья; Power strike на 1-м уровне, Guard break на 3-м.
- **Маг** — `int 8 + level * 2`, +25% маны; Fireball на 1-м уровне, Heal на 2-м.
- **Плут** — `agi 8 + level * 2`, харизма и удача `7 + level`, атака + четверть ловкости; Power strike на 1-м уровне, Guard break на 2-м.
**Слоты**: Оружие (меч, посох, кинжал), Тело (броня, мантия), Украшение (оберег, кольцо).
**Снаряжение и тоник**:
![Предметы набора: деревянный меч, железный меч, дубовый посох, кинжал, кожаная куртка, мантия, клеверный оберег, серебряное кольцо, тоник силы.](assets/gear.jpg)
- Деревянный меч: атака +2. Железный меч (воин, плут): атака +5. Дубовый посох (маг): магия +4, мана +5. Кинжал: атака +3, ловкость +2.
- Кожаная куртка: защита +2, здоровье +6. Мантия: мана +6, интеллект +1.
- Клеверный оберег: удача +3. Серебряное кольцо: харизма +2.
- Тоник силы: сила +1 навсегда.
**Навыки** — боевые действия, чьи числа задают формулы (`a` — действующий, `b` — цель):
![Четыре карты навыков: Power strike, Fireball, Heal, Guard break.](assets/skills.jpg)
```json
{ "Id": "classic/fireball", "Type": "ToEnemy",
"Values": [ "RequiredPoint=1", "Cost=mp:4", "Pierce=1", "Formula=a.mag * 2 + rand(1, 6)" ] }
```
- Power strike: `a.atk * 1.5 + rand(0, a.str / 2)`.
- Fireball: стоит 4 маны, игнорирует броню, `a.mag * 2 + rand(1, 6)`.
- Heal: стоит 3 маны, лечит самого себя на `a.mag * 2 + 4`.
- Guard break: игнорирует броню, `a.atk + b.defence * 2`, с шансом 35% оглушает на ход.
## Как это использует RPG Plus
- Первый ответ в прологе даёт герою один из трёх классов и его стартовое оружие.
- Деревенский торговец продаёт мечи, кинжал, посох и броню (RPG Plus добавляет их в лавку патчем).
- Тренировочный двор даёт тоник силы; провидица — клеверный оберег.
- В боях навыки работают через Battle Formulas — и в обычной боевой системе, и в карточной.
## Как подключить к своей игре
Добавьте `classic_rpg_pack` в коллекцию игры — зависимые моды подгрузятся вместе с ним. Затем назначьте персонажу класс действием `action stat.archetype who=<id> id=classic/warrior` или задайте `\"Archetype\": \"classic/mage\"` в JSON персонажа. Чтобы поменять правило, выпустите ту же сущность с тем же id в моде, зависящем от этого набора, либо наложите патч.
## Если что-то пошло не так
1. **Навыки в бою ничего не делают.** Для значений `Formula=` игре нужен Battle Formulas.
2. **У персонажа на листе нет чисел.** У персонажа нет класса и собственных характеристик — назначьте ему архетип.