Formato del bestiario por enlace
Esta página no es una regla del juego: es para quien programa una herramienta que genere criaturas de Ashes of War y quiera que se impriman en las fichas oficiales.
Las fichas de /imprimir/bestiario aceptan un bestiario entero en la dirección. El enlace se abre y las fichas salen cargadas, sin cuentas ni servidores de por medio: las criaturas viajan adentro del enlace.
/imprimir/bestiario?bestiario=<base64url del JSON>El resto de los parámetros siguen valiendo y se combinan con este: era,
amenaza, bestias, blancos, densidad y traidas=0, que apaga las
criaturas de la dirección sin sacarlas del enlace.
Se puede probar sin escribir una línea de código: acá abajo se pega el JSON de un bestiario y sale su enlace, el mismo que armaría la herramienta.
Cargar un bestiario desde su JSON
El enlace que sale de acá es el que hay que guardar o compartir: lleva las criaturas enteras adentro.
El JSON
El sobre lleva una lista y no una criatura suelta, porque un bestiario es plural: una mesa manda las cinco de su aventura de una vez, y un enlace de una sola es una lista de uno.
Este es el del Matón, el secuaz de ejemplo del manual, tal cual lo leen las fichas. No está escrito acá: sale del mismo dato que imprime su ficha, así que no puede quedar viejo.
El JSON del Matón, entero
Así lo leen las fichas. El formato, y cómo se arma el enlace que lo imprime, están en /formato-bestia.
{
"format": 1,
"bestias": [
{
"id": "maton",
"name": "Matón",
"supplement": "nucleo",
"threat": "secuaz",
"template": "bipedo",
"role": "Bravucón o recluta sin entrenamiento",
"description": "Carne de cañón que pelea envalentonada por el número y se desbanda cuando las cosas se ponen feas.",
"skills": [
{
"name": "Combate Cuerpo a Cuerpo",
"ndp": 1
},
{
"name": "Esquivar",
"ndp": 1
},
{
"name": "Alerta",
"ndp": 1
}
],
"attacks": [
{
"name": "Arma improvisada o ligera",
"damage": "1d6",
"damageType": "contundente",
"reach": 1
}
],
"rd": 1,
"minion": true,
"tactics": [
"Carga en grupo contra el que ve más débil",
"Se desbanda cuando cae el primero de los suyos"
],
"notes": "Peligroso solo en grupo. Ideal para dar sensación de horda sin arriesgar un TPK."
}
]
}| Campo | Qué es |
|---|---|
format | Siempre 1. Es la versión del formato, no la de la criatura. Obligatorio. |
bestias | La lista de criaturas. Obligatorio. |
Y dentro de cada criatura:
| Campo | Qué es |
|---|---|
id | Un identificador en minúsculas y con guiones. No se imprime; sirve para nombrarla en el parámetro bestias. Obligatorio. |
name | El nombre que va en el encabezado de la ficha. Obligatorio. |
supplement | La ambientación: nucleo, medieval, moderno, cyberpunk o ciencia-ficcion. Obligatorio. |
threat | El escalón de amenaza: secuaz, competente, elite o jefe. Ver el diseño de encuentros. Obligatorio. |
template | La plantilla corporal, que decide qué filas tiene la rejilla de heridas. Ver abajo. Obligatorio. |
rd | La RD que se preimprime en todas las filas. Obligatorio. |
role | Un subtítulo corto, tipo “Depredador de manada”. |
description | Dos líneas, hasta 140 caracteres. Más largo empuja a los ataques. |
skills | Lista de { name, ndp }. Solo las que importan, tres a cinco. El nombre tiene que ser el de Habilidades, tal cual: Esquivar e Interceptar van separadas, porque el GdC del escudo suma solo a Interceptar. |
attacks | Lista de { name, damage, damageType, reach?, properties? }. Ver abajo. |
rdByLocation | Excepciones de RD por zona, por ejemplo { "Cabeza": 4 }. La etiqueta tiene que ser una fila de su plantilla. |
shieldGdc | El GdC del escudo. El bono a Interceptar se calcula solo, no se manda. |
movement | Solo si difiere del estándar (1 m libre, 6 m con la acción, 18 m corriendo con tirada de Correr). |
minion | true para la regla de secuaz: cae con una sola herida grave. |
woundsNote | Una salvedad sobre las casillas, que reemplaza al texto de la plantilla. |
tactics | Dos o tres viñetas: apertura, foco, cuándo huye. |
notes | Notas sueltas para el Narrador. |
Todo lo que no sea id, name, supplement, threat, template y rd se
puede omitir, y lo que falta se imprime en blanco. La ficha nunca escribe un
número que nadie mandó.
Los ataques
Cada ataque declara su nombre, su dado de daño ("1d8", "2d6") y su
damageType: cortante, perforante, contundente o energia. El tipo no
reduce la RD, pero decide qué estados provoca, así que es obligatorio.
reach son metros: la longitud en cuerpo a cuerpo, el alcance máximo a
distancia. properties es una lista de textos, y las que tocan la RD hay que
escribirlas o la herida se resuelve mal: "Aplastante 1", "Perforante 2",
"Área 3". Están todas en Armas.
Las plantillas corporales
La plantilla decide qué filas tiene la rejilla de heridas impresa y dónde mata una letal. El manual canoniza la bípeda en Combate; las otras cinco se derivan de ella para poder estatear bichos no humanoides.
template | Filas | Muere por |
|---|---|---|
bipedo | Cabeza, Torso, Brazo, Mano, Pierna, Pie | Cabeza o Torso |
cuadrupedo | Cabeza, Torso, Pata del., Pata tras. | Cabeza o Torso |
serpentino | Cabeza, Torso, Cuerpo ant., Cuerpo post. | Cabeza o Torso |
alado | Cabeza, Torso, Ala, Pata | Cabeza o Torso |
enjambre | Enjambre | No muere por ubicación |
coloso | Cabeza, Torso, Brazo, Pierna | Cabeza o Torso, con dos letales |
Las filas que van de a pares (Brazo, Mano, Pierna, Pie, Pata, Ala) se imprimen dos veces, derecha e izquierda. Eso no se manda: sale de la plantilla.
Qué se rechaza y qué se avisa
No se imprime el bestiario si el JSON está roto, si el format no es el que
leen estas fichas, si bestias no es una lista, o si a una criatura le falta el
identificador, el nombre, la ambientación, el escalón, la plantilla o la RD, o
alguno de esos no es lo que dice ser. Tanto el bloque de acá arriba como la
página dicen cuál es el problema.
Se imprime igual, con un aviso en pantalla (nunca en el papel) si hay una habilidad con un nombre que no existe, una zona de RD que la plantilla no tiene, una descripción de más de 140 caracteres, o un identificador que choca con el de una criatura del manual.
Lo que no se revisa es el balance de la criatura: cuántos NdP le corresponden a un jefe o cuánto daño es demasiado. Eso es la guía del Narrador, no una regla, y quien manda su propio bicho ya decidió.
El tamaño del enlace
Una criatura cargada da unos 900 caracteres, y cinco pasan los 4000. Si el JSON se comprime con gzip antes de pasarlo a base64url, baja a menos de la mitad: las fichas reconocen las dos formas solas, así que comprimir es opcional y se puede agregar después.