Sistemas de reglas
El lenguaje de los dados
Las fórmulas tras cada frase: notación de dados, valores que puede leer una tirada, cómo se interpreta una tirada, con recetas para mecánicas comunes.
Un pequeño lenguaje bajo cada frase
Cada número de un sistema de reglas es o un número sencillo o un pestaña Fórmula o en un pequeño lenguaje: los dados que tira una prueba, un objetivo, el máximo de una pista, el modificador de una característica, la salud de un enemigo por nivel, una cantidad en una carta de regla. Rara vez necesitas escribir uno: el editor de frases, el compositor y Hob los escriben por ti. La Avanzado muestra todas cuando quieras.
Es deliberadamente pequeño. No es un lenguaje de programación: no hay bucles, no alcanza valores fuera de los que se le entregan, nada que pueda comportarse mal. Una fórmula que no tiene sentido se rechaza al guardar, con una frase que dice qué falla.


Dados
| Escribe | Significa | Ejemplo |
|---|---|---|
d20 | Un dado de veinte caras | 13 |
3d6 | Tres dados de seis caras, sumados | 4 + 2 + 6 = 12 |
2d20kh1 | Dos d20, quédate con el más alto (ventaja) | (7, 16) → 16 |
2d20kl1 | Quédate con el más bajo (desventaja) | (19, 7) → 7 |
4d6kh3 | Cuatro d6, quédate con los tres mejores | (5, 2, 6, 3) → 14 |
(@stat)d6 | Tantos dados como indique un valor | Prowl 3 → 3d6 |
d(@dexterity) | Un dado tan grande como indique un valor, para juegos donde una característica es un dado | Dexterity 10 → d10 |
6d10>=6 | Cuenta los dados que saquen 6 o más: el valor es el recuento | (2, 6, 9, 10, 1, 7) → 4 |
3d6! | Explosivo: una cara máxima tira otro dado | (6, 2, 4) + 5 → 17 |
4dF | Dados Fate: cada uno −1, 0 o +1 | (+, 0, −, +) → +1 |
d100 | Percentil; d% es lo mismo | 47 |
d100t(1) | Porcentual con un dado de decenas de bonificación (quédate con la mejor decena); t(-1) un dado de penalización | (4 or 7, 3) → 43 |
d12[Hope] | Un dado con nombre: se muestra con su nombre y las cartas de regla pueden leerlo | Hope d12 (9) |
Cada cara se guarda en el registro de la tirada, para que la bandeja de dados pueda repetirla y la ficha de tirada pueda mostrarla. Todos los dados se tiran a partir de una semilla: la misma tirada, repetida en el mismo turno, da las mismas caras.
Números y lógica
- Aritmética
+ - * /y corchetes:floor((@str - 10) / 2)- Comparaciones
> >= < <= == !=, que da 1 o 0:@hp < 5- Lógica
y,o,no:@cond.blessed > 0 and @nerve >= 3- Opciones
if … then … else …:if @level >= 5 then 2 else 1. Solo se calcula la rama tomada, así que solo se tiran sus dados.- Funciones
floor ceil round abs min max clamp:clamp(@edge + @cond.edge, -1, 1)
Valores que una fórmula puede leer
| Escribe | Qué es | Dónde |
|---|---|---|
@str | El valor de una característica (por su id) | En cualquier sitio |
@str.mod | El modificador de una característica: su valor cuando no tiene uno | En cualquier sitio |
@stat | La característica que se tira; @stat.mod su modificador | La tirada y el objetivo de una prueba |
@hp | El valor actual de una pista; @hp.max su máximo | En cualquier sitio |
@proficiency | Un valor derivado (por su id) | En cualquier sitio |
@level | El nivel del personaje; @xp su xp. En una aptitud fijada a Escala con el nivel de una clase, sus propios usos, coste, efectos y modificadores leen @level como su nivel en esa clase, mientras la tengan | En cualquier sitio |
@class.hit_die | Lo que dice su clase para un valor (el valor por defecto del sistema cuando no dice nada, calculado como propio de esa clase; si no, 0). Con varias clases, el de cada una se suma: sumado, el más alto o el de su primera clase, según fije el sistema | En cualquier sitio |
@classlevel.wizard | Su nivel en una clase (por su id), 0 cuando no la tienen | En cualquier sitio |
@classlevel | Su nivel en esta clase: 2 * @classlevel crece con cada nivel en ella | Los valores propios de una clase, y los valores por defecto del sistema para las clases |
@classfirst | 1 para la clase que tomaron primero, 0 para cualquier otra: lo que solo recibe la primera clase | Los valores propios de una clase, y los valores por defecto del sistema para las clases |
@own.hit_die | El valor propio de esta clase para otro nombre (su dado de golpe), donde @class.hit_die leería el valor sumado | Los valores propios de una clase, y los valores por defecto del sistema para las clases |
@classes | Cuántas clases tienen; @mastered cuántas están en su límite | En cualquier sitio |
@rank | El rango de esta aptitud: 1 cuando se toma por primera vez, uno más cada vez que se vuelve a tomar | El coste propio de una aptitud, sus efectos, usos y modificadores |
@rank.toughened | El rango de una aptitud (por su id), 0 cuando no la conocen | En cualquier sitio |
@difficulty | El número tras la palabra que el narrador eligió para una etiqueta (Difícil → 20). Cada etiqueta se puede leer por su id: @edge, @position. | La tirada y el objetivo de una prueba |
@spend_push | 1 si el jugador pagó ese gasto antes de la tirada, si no 0 | La tirada de una prueba |
@cond.edge | Lo que suman las condiciones de la hoja como ventaja; @cond.mod como bonificador o penalizador | La tirada de una prueba |
@cond.poisoned | El nivel de una condición (0 si no está); @cond.poisoned.left sus turnos restantes | En cualquier sitio |
@opp.insight.mod | La característica o modificador del oponente, cuando una tirada va dirigida a alguien presente; @opp.tier su nivel | Los objetivos opuestos de una prueba |
@defence | La defensa del defensor | La prueba de ataque |
@second | Un valor que el golpe lee junto a su característica, por el nombre que le dé el sistema o el arma (Lo que lee cada ataque, Lo que lee su ataque): el segundo dado de una tirada de dos características, o cualquier otro nombre (@accuracy, @weapon_die) | La prueba de ataque y el daño |
@tier | El nivel del enemigo, de 1 a 6 | Plantillas de enemigo |
@this | La característica en sí; @linked la característica en la que se apoya | El modificador de una característica |
@group.Hope.high | La cara más alta de un dado con nombre; también .tops (caras más altas), .ones, .successes, .value | Resultados y cartas de regla tras una tirada |
@total | El total de la tirada; también @target, @margin (total − objetivo), @measure | Resultados y cartas de regla tras una tirada |
@event.amount | El daño del golpe que activó la carta | Cartas de daño |
@roll.high | El dado más alto de la tirada de ataque que asestó el golpe; @roll.low su más bajo; @group.First.value un dado con nombre. @roll.high + 5 es una tirada alta, sin dados propios | Daño (armas, aptitudes, enemigos, el del jugador) |
@thing.ship.hull | Un valor del primer objeto de un tipo del personaje | En cualquier sitio |
Cómo se lee una tirada
Una prueba tiene una tirada y una forma de leerla. La lectura convierte los dados en la medida de los tramos de resultado:
| Lectura | Medida | Opciones |
|---|---|---|
| Total frente a un objetivo | Un grado: −1 fallo grave, 0 fracaso, 1 éxito, 2 crítico | escalones: supera el objetivo en esta cantidad para un crítico, falla por ella para un fallo grave (PF2e: 10). naturales: una cara máxima o mínima en el primer dado fija o desplaza el grado. |
| Total en tramos | El total en sí | Tramos por rango: 10+, 7-9, 6- (PbtA). |
| Tirar por debajo | Un grado: −1 fallo grave, 0 fracaso, 1 éxito, 2 difícil, 3 extremo | grados (fracciones del objetivo), qué cuenta como crítico (un 1, sacar exactamente el objetivo, dobles), qué causa fallo grave, caras que siempre pasan o fallan, niveles de éxito en lugar de grados, o el dado de decenas de la propia tirada (tirar por debajo pero alto: mayor es mejor). |
| Dado más alto | La mejor cara; varias caras máximas cuentan uno más | Forged in the Dark. |
| Contar éxitos | El recuento | Parejas de una cara como éxitos extra y un crítico (decenas en un conjunto de d10). |
Además de cualquier lectura, una prueba puede comparar dos dados con nombre (Hope contra Fear): el que salga más alto suma una palabra al resultado y a sus propios efectos; dados iguales pueden ser un crítico (o solo si sale una cara alta, como dobles de 6 o más), y dados iguales bajos un fallo (dobles de 1).
Recetas
Ventaja de la quinta edición, con condiciones y agotamiento
(if @edge + clamp(@cond.edge + (if @exhaustion >= 1 then -1 else 0), -1, 1) > 0 then 2d20kh1 else if @edge + clamp(@cond.edge + (if @exhaustion >= 1 then -1 else 0), -1, 1) < 0 then 2d20kl1 else d20) + @stat.mod + @cond.mod
La prueba de característica de Classic d20: cualquier número de desventajas y ventajas cuenta una sola vez en cualquier sentido.
Esforzarte para un dado extra
if @stat + @spend_push <= 0 then 2d6kl1 else (@stat + @spend_push)d6
Forged in the Dark: cero puntos tira dos y se queda con el menor; pagar el gasto de «empuje» (2 Estrés) añade un dado.
Hope, Fear, y un d6 si gastas Hope
d12[Hope] + d12[Fear] + @stat + (if @spend_hope > 0 then d6 else 0)
Dos dados de característica: una característica es un dado
d(@stat)[First] + d(if @second_stat == 1 then @dexterity else @insight)[Second] + @cond.mod
lectura: total contra @difficulty; los dados iguales de 6 o más son un crítico, los dobles de 1 un fallo
ataque: d(@stat)[First] + d(@second)[Second] reads: { "second": "@might" }El del compositor dos dados de característica motor: cada característica es un tamaño de dado (d6 a d12), y el segundo dado es la característica que nombra la palabra que elige el juez. Una característica mostrada como dado siempre se lee como uno real: un +1 de equipo deja el d8 en d8, y un +2 lo sube a d10. Una condición que mueve una característica por escalones ya está en @stat: Aturdido, un escalón menos en Perspicacia, tira un d10 de Perspicacia como d8. Ver Las condiciones que mueven una característica. El segundo dado de un golpe es @second, que cada ataque lee como la característica de combate; un bastón cuyas lecturas digan { "second": "willpower" } tira WLP + WLP. Ver Lo que lee su ataque.
Un número que crece con una clase
"values": { "caster": "@classlevel", "kit": "2 * @classlevel", "hp": "5" }Los valores propios de una clase, en varias clases: un nivel de lanzador, 2 puntos de kit por nivel de clase y +5 puntos de golpe por tenerla. Sumados entre sus clases, un mago 2 / clérigo 3 tiene un nivel de lanzador de 5. Una aptitud heroica condicionada a la maestría se lee @classlevel.sentinel >= 10 o @mastered >= 1. Ver Números entre clases.
Puntos de golpe según el dado de cada clase
"hit_points": "@classfirst * (floor(@own.hit_die / 2) - 1) + @classlevel * (floor(@own.hit_die / 2) + 1)"
El valor por defecto de clase de Classic d20, calculado una vez para cada clase que tengan: el dado completo de la primera clase en su primer nivel, el promedio del dado en cada nivel posterior, y el promedio de una clase posterior desde su primer nivel. Un Guerrero 1 / Mago 1 obtiene 10 + 4. Ver Un valor por defecto calculado por clase.
Porcentual con dados de bonificación y penalización
d100t(@edge) lectura: tirar por debajo, objetivo @stat.mod * @difficulty
Una reserva de hambre: algunos dados son peligrosos
(@stat - @hunger)d10>=6 + (@hunger)d10[Hunger]>=6
Cuenta los éxitos de ambos grupos; luego una carta de regla lee @group.Hunger.ones para convertir un fallo con un 1 en un dado de Hambre en algo peor.
Grados de éxito de diez en diez
tirada: d20 + @stat.mod lectura: total frente a @difficulty, escalones de 10, naturales 20 / 1 desplazan el grado
Una mentira opuesta
opposed: { "deception": "10 + @opp.insight.mod" }Una mentira contada a alguien presente se tira contra su Perspicacia pasiva en lugar de una dificultad.