Add mod documentation in seven languages

This commit is contained in:
cthangover committed 2026-10-29 09:25:46 +01:00
1 parent e25421f925
commit e7c3d4d462
18 files changed
+456 -8

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
# Battle Formulas — habilidades de combate escritas como datos
Battle Formulas permite escribir una acción de combate por completo en datos: cuánto daña o cura lo decide una **fórmula** con las estadísticas de quien actúa y del objetivo; la acción puede costar maná, ignorar el escudo o aturdir. No hace falta código, y la misma habilidad funciona en los dos sistemas de combate, FF Battle y Card Battle. Así son el Power strike, el Fireball, el Heal y el Guard break de Classic RPG Rules.
Además, calcula los números de combate de los enemigos a partir de sus estadísticas y muestra las reservas como el maná en barras sobre las cartas de combate.
Las fórmulas usan el lenguaje de fórmulas de Stats Engine; las pantallas de combate son las de los sistemas de combate. Este mod es el enlace entre ambos.
## Una habilidad, paso a paso
El Power strike de Classic RPG Rules:
```json
{ "Id": "classic/power_strike", "Type": "ToEnemy",
"Values": [ "RequiredPoint=1", "Formula=a.atk * 1.5 + rand(0, a.str / 2)" ] }
```
En el menú de combate de FF la carta muestra la fórmula, y la pista es la descripción de la habilidad:
![El menú de acciones del héroe con Power strike seleccionado; su carta muestra Target enemy, 1 AP y Formula a.atk * 1.5 + rand(0, a.str / 2), junto con la descripción «Un golpe completo: ataque y medio, y un poco más por fuerza».](assets/formula-menu.jpg)
El guerrero de RPG Plus tiene ataque 12 y fuerza 9, así que el golpe hace 12 × 1.5 = 18 más un aleatorio de 0 a 4.5. En el combate capturado aquí hizo 22:
![El registro de combate: Hero: Power strike → Wolf; Wolf's shield absorbed 2 · left 0; Power strike: Hero → Wolf · -20 HP; después la Defence del lobo, +4 DEF (total 4).](assets/formula-log.jpg)
El escudo del lobo (2) absorbió la primera parte — Power strike no ignora escudos —, y el lobo perdió 20 de salud: de 31 a 11.
La misma carta en Card Battle:
![La carta de acción Power strike en Card Battle: Target enemy, 1 AP, Formula a.atk * 1.5 + rand(0, a.str / 2), RequiredPoint 1.](assets/formula-card.jpg)
## Los enemigos toman sus números de sus estadísticas
La salud 31 del lobo, su ataque 7 y su escudo 2 no están escritos como números en ningún sitio. RPG Plus le da al lobo estadísticas con un parche:
```json
{ "Id": "rpg_wolf", "Stats": { "str": 5, "vit": 5, "agi": 7 } }
```
Cuando empieza el combate, este mod calcula la hoja del lobo con Classic RPG Rules a su nivel 2: salud `12 + vit * 3 + level * 2` = 31, ataque `str + level` = 7, defensa `floor(vit / 2)` = 2. Un enemigo sin datos de estadísticas conserva los números de su archivo de personaje.
## Los valores de una acción con fórmula
Una entidad de acción (tipo `action`, véase Characters Engine) con un valor `Formula=`:
- `Formula=` — la cantidad; nunca por debajo de 0. `a.` es quien actúa, `b.` el objetivo: cualquiera de sus estadísticas, y además `hp`, `hp_max`, `attack`, `defence`, `point`. Funciones como `rand(lo, hi)`, `floor`, `min`, `max` vienen de Stats Engine.
- `Effect=damage` (lo predeterminado) o `Effect=heal`.
- `Cost=mp:4` — gasta 4 de una estadística de reserva; si a un miembro del grupo no le llega, la acción se rechaza y no se gasta nada. Los enemigos no pagan nada.
- `RequiredPoint=1` — puntos de acción, como en todo sistema de combate.
- `Pierce=1` — ignora el escudo del objetivo.
- `State=effect/physics/stun` con `StateTurns=1` y `StateChance=35` — un 35% de probabilidad de aplicar un efecto de estado al objetivo durante esos turnos.
- `Type` — `ToEnemy`, `ToSelf` o `ToAlias` (un aliado), como en cualquier acción.
El Fireball de Classic RPG Rules, por ejemplo:
```json
"Values": [ "RequiredPoint=1", "Cost=mp:4", "Pierce=1", "Formula=a.mag * 2 + rand(1, 6)" ]
```
## Si algo sale mal
1. **Una habilidad hace 0.** Algún nombre de la fórmula no es una estadística del juego (los nombres desconocidos cuentan como 0), o el resultado salió negativo.
2. **Una habilidad se rechaza.** Al personaje le faltan puntos de acción o la estadística de reserva nombrada en `Cost=`.
3. **Un enemigo tiene los números de su archivo, no de sus estadísticas.** No tiene `Stats`, `Archetype` ni `Traits`.